PageSourceSearch

https://www.wemake.jp/packs/7317-93d04de95900ae5d3cc4.js

js wemake.jp collected 2026-10-04 22:21:03 UTC 1,457,781 bytes, 2,139 lines download raw bytes

1/*! For license information please see 7317-93d04de95900ae5d3cc4.js.LICENSE.txt */
2(self.webpackChunk=self.webpackChunk||[]).push([[7317],{31940(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AwsCrc32=void 0;var n=i(38258),r=i(11784),o=i(50325),s=function(){function e(){this.crc32=new o.Crc32}return e.prototype.update=function(e){(0,r.isEmptyData)(e)||this.crc32.update((0,r.convertToBuffer)(e))},e.prototype.digest=function(){return n.__awaiter(this,void 0,void 0,function(){return n.__generator(this,function(e){return[2,(0,r.numToUint8)(this.crc32.digest())]})})},e.prototype.reset=function(){this.crc32=new o.Crc32},e}();t.AwsCrc32=s},50325(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AwsCrc32=t.Crc32=t.crc32=void 0;var n=i(38258),r=i(11784);t.crc32=function(e){return(new o).update(e).digest()};var o=function(){function e(){this.checksum=4294967295}return e.prototype.update=function(e){var t,i;try{for(var r=n.__values(e),o=r.next();!o.done;o=r.next()){var a=o.value;this.checksum=this.checksum>>>8^s[255&(this.checksum^a)]}}catch(e){t={error:e}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return this},e.prototype.digest=function(){return(4294967295^this.checksum)>>>0},e}();t.Crc32=o;var s=(0,r.uint32ArrayFrom)([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),a=i(31940);Object.defineProperty(t,"AwsCrc32",{enumerable:!0,get:function(){return a.AwsCrc32}})},38258(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2
2k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
2function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},98068(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},4989(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},31468(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},38080(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8072(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isMsWindow=void 0;var i=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];t.isMsWindow=function(e){if(function(e){return"MSInputMethodContext"in e&&"msCrypto"in e}(e)&&void 0!==e.msCrypto.subtle){var t=e.msCrypto,n=t.getRandomValues,r=t.subtle;return i.map(function(e){return r[e]}).concat(n).every(function(e){return"function"==typeof e})}return!1}},3986(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(3287);n.__exportStar(i(98068),t),n.__exportStar(i(4989),t),n.__exportStar(i(31468),t),n.__exportStar(i(38080),t),n.__exportStar(i(8072),t)},3287(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2
2k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
2function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},49999(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EMPTY_DATA_SHA_256=t.SHA_256_HMAC_ALGO=t.SHA_256_HASH=void 0,t.SHA_256_HASH={name:"SHA-256"},t.SHA_256_HMAC_ALGO={name:"HMAC",hash:t.SHA_256_HASH},t.EMPTY_DATA_SHA_256=new Uint8Array([227,176,196,66,152,252,28,20,154,251,244,200,153,111,185,36,39,174,65,228,100,155,147,76,164,149,153,27,120,82,184,85])},37414(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var n=i(5143),r=i(28386),o=i(28231),s=i(63937),a=i(3986),d=i(79334),c=i(11784),l=function(){function e(e){(0,s.supportsWebCrypto)((0,d.locateWindow)())?this.hash=new r.Sha256(e):(0,a.isMsWindow)((0,d.locateWindow)())?this.hash=new n.Sha256(e):this.hash=new o.Sha256(e)}return e.prototype.update=function(e,t){this.hash.update((0,c.convertToBuffer)(e))},e.prototype.digest=function(){return this.hash.digest()},e.prototype.reset=function(){this.hash.reset()},e}();t.Sha256=l},5143(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var n=i(81343),r=i(49999),o=i(57602),s=i(79334),a=function(){function e(e){this.secret=e,this.reset()}return e.prototype.update=function(e){var t=this;(0,n.isEmptyData)(e)||(this.operation=this.operation.then(function(i){return i.onerror=function(){t.operation=Promise.reject(new Error("Error encountered updating hash"))},i.process(d(e)),i}),this.operation.catch(function(){}))},e.prototype.digest=function(){return this.operation.then(function(e){return new Promise(function(t,i){e.onerror=function(){i(new Error("Error encountered finalizing hash"))},e.oncomplete=function(){e.result&&t(new Uint8Array(e.result)),i(new Error("Error encountered finalizing hash"))},e.finish()})})},e.prototype.reset=function(){var e;this.secret?(this.operation=(e=this.secret,new Promise(function(t,i){var n=(0,s.locateWindow)().msCrypto.subtle.importKey("raw",d(e),r.SHA_256_HMAC_ALGO,!1,["sign"]);n.oncomplete=function(){n.result&&t(n.result),i(new Error("ImportKey completed without importing key."))},n.onerror=function(){i(new Error("ImportKey failed to import key."))}})).then(function(e){return(0,s.locateWindow)().msCrypto.subtle.sign(r.SHA_256_HMAC_ALGO,e)}),this.operation.catch(function(){})):this.operation=Promise.resolve((0,s.locateWindow)().msCrypto.subtle.digest("SHA-256"))},e}();function d(e){return"string"==typeof e?(0,o.fromUtf8)(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}t.Sha256=a},44862(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebCryptoSha256=t.Ie11Sha256=void 0,i(58723).__exportStar(i(37414),t);var n=i(5143);Object.defineProperty(t,"Ie11Sha256",{enumerable:!0,get:function(){return n.Sha256}});var r=i(28386);Object.defineProperty(t,"WebCryptoSha256",{enumerable:!0,get:function(){return r.Sha256}})},81343(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},28386(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var n=i(11784),r=i(49999),o=i(79334),s=function(){function e(e){this.toHash=new Uint8Array(0),this.secret=e,this.reset()}return e.prototype.update=function(e){if(!(0,n.isEmptyData)(e)){var t=(0,n.convertToBuffer)(e),i=new Uint8Array(this.toHash.byteLength+t.byteLength);i.set(this.toHash,0),i.set(t,this.toHash.byteLength),this.toHash=i}},e.prototype.digest=function(){var e=this;return this.key?this.key.then(function(t){return(0,o.locateWindow)().crypto.subtle.sign(r.SHA_256_HMAC_ALGO,t,e.toHash).then(function(e){return new Uint8Array(e)})}):(0,n.isEmptyData)(this.toHash)?Promise.resolve(r.EMPTY_DATA_SHA_256):Promise.resolve().then(function(){return(0,o.locateWindow)().crypto.subtle.digest(r.SHA_256_HASH,e.toHash)}).then(function(e){return Promise.resolve(new Uint8Array(e))})},e.prototype.reset=function(){var e=this;this.toHash=new Uint8Array(0),this.secret&&void 0!==this.secret&&(this.key=new Promise(function(t,i){(0,o.locateWindow)().crypto.subtle.importKey("raw",(0,n.convertToBuffer)(e.secret),r.SHA_256_HMAC_ALGO,!1,["sign"]).then(t,i)}),this.key.catch(function(){}))},e}();t.Sha256=s},58723(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2
2k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
2function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},67918(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawSha256=void 0;var n=i(31914),r=function(){function e(){this.state=Int32Array.from(n.INIT),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=0,i=e.byteLength;if(this.bytesHashed+=i,8*this.bytesHashed>n.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;i>0;)this.buffer[this.bufferLength++]=e[t++],i--,this.bufferLength===n.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),i=this.bufferLength;if(t.setUint8(this.bufferLength++,128),i%n.BLOCK_SIZE>=n.BLOCK_SIZE-8){for(var r=this.bufferLength;r<n.BLOCK_SIZE;r++)t.setUint8(r,0);this.hashBuffer(),this.bufferLength=0}for(r=this.bufferLength;r<n.BLOCK_SIZE-8;r++)t.setUint8(r,0);t.setUint32(n.BLOCK_SIZE-8,Math.floor(e/4294967296),!0),t.setUint32(n.BLOCK_SIZE-4,e),this.hashBuffer(),this.finished=!0}var o=new Uint8Array(n.DIGEST_LENGTH);for(r=0;r<8;r++)o[4*r]=this.state[r]>>>24&255,o[4*r+1]=this.state[r]>>>16&255,o[4*r+2]=this.state[r]>>>8&255,o[4*r+3]=this.state[r]>>>0&255;return o},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,i=t[0],r=t[1],o=t[2],s=t[3],a=t[4],d=t[5],c=t[6],l=t[7],u=0;u<n.BLOCK_SIZE;u++){if(u<16)this.temp[u]=(255&e[4*u])<<24|(255&e[4*u+1])<<16|(255&e[4*u+2])<<8|255&e[4*u+3];else{var h=this.temp[u-2],p=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,f=((h=this.temp[u-15])>>>7|h<<25)^(h>>>18|h<<14)^h>>>3;this.temp[u]=(p+this.temp[u-7]|0)+(f+this.temp[u-16]|0)}var m=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&d^~a&c)|0)+(l+(n.KEY[u]+this.temp[u]|0)|0)|0,g=((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&r^i&o^r&o)|0;l=c,c=d,d=a,a=s+m|0,s=o,o=r,r=i,i=m+g|0}t[0]+=i,t[1]+=r,t[2]+=o,t[3]+=s,t[4]+=a,t[5]+=d,t[6]+=c,t[7]+=l},e}();t.RawSha256=r},31914(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_HASHABLE_LENGTH=t.INIT=t.KEY=t.DIGEST_LENGTH=t.BLOCK_SIZE=void 0,t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},28231(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i(75564).__exportStar(i(9899),t)},9899(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var n=i(75564),r=i(31914),o=i(67918),s=i(11784),a=function(){function e(e){this.secret=e,this.hash=new o.RawSha256,this.reset()}return e.prototype.update=function(e){if(!(0,s.isEmptyData)(e)&&!this.error)try{this.hash.update((0,s.convertToBuffer)(e))}catch(e){this.error=e}},e.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},e.prototype.digest=function(){return n.__awaiter(this,void 0,void 0,function(){return n.__generator(this,function(e){return[2,this.digestSync()]})})},e.prototype.reset=function(){if(this.hash=new o.RawSha256,this.secret){this.outer=new o.RawSha256;var e=function(e){var t=(0,s.convertToBuffer)(e);if(t.byteLength>r.BLOCK_SIZE){var i=new o.RawSha256;i.update(t),t=i.digest()}var n=new Uint8Array(r.BLOCK_SIZE);return n.set(t),n}(this.secret),t=new Uint8Array(r.BLOCK_SIZE);t.set(e);for(var i=0;i<r.BLOCK_SIZE;i++)e[i]^=54,t[i]^=92;for(this.hash.update(e),this.outer.update(t),i=0;i<e.byteLength;i++)e[i]=0}},e}();t.Sha256=a},75564(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2
2k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
2function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},63937(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i(49198).__exportStar(i(81770),t)},81770(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.supportsZeroByteGCM=t.supportsSubtleCrypto=t.supportsSecureRandom=t.supportsWebCrypto=void 0;var n=i(49198),r=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];function o(e){return"object"==typeof e&&"object"==typeof e.crypto&&"function"==typeof e.crypto.getRandomValues}function s(e){return e&&r.every(function(t){return"function"==typeof e[t]})}t.supportsWebCrypto=function(e){return!(!o(e)||"object"!=typeof e.crypto.subtle)&&s(e.crypto.subtle)},t.supportsSecureRandom=o,t.supportsSubtleCrypto=s,t.supportsZeroByteGCM=function(e){return n.__awaiter(this,void 0,void 0,function(){var t;return n.__generator(this,function(i){switch(i.label){case 0:if(!s(e))return[2,!1];i.label=1;case 1:return i.trys.push([1,4,,5]),[4,e.generateKey({name:"AES-GCM",length:128},!1,["encrypt"])];case 2:return t=i.sent(),[4,e.encrypt({name:"AES-GCM",iv:new Uint8Array(Array(12)),additionalData:new Uint8Array(Array(16)),tagLength:128},t,new Uint8Array(0))];case 3:return[2,16===i.sent().byteLength];case 4:return i.sent(),[2,!1];case 5:return[2]}})})}},49198(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2
2k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
2function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},88892(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertToBuffer=void 0;var n=i(57602),r="undefined"!=typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:n.fromUtf8;t.convertToBuffer=function(e){return e instanceof Uint8Array?e:"string"==typeof e?r(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}},11784(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=t.numToUint8=t.isEmptyData=t.convertToBuffer=void 0;var n=i(88892);Object.defineProperty(t,"convertToBuffer",{enumerable:!0,get:function(){return n.convertToBuffer}});var r=i(193);Object.defineProperty(t,"isEmptyData",{enumerable:!0,get:function(){return r.isEmptyData}});var o=i(42721);Object.defineProperty(t,"numToUint8",{enumerable:!0,get:function(){return o.numToUint8}});var s=i(69234);Object.defineProperty(t,"uint32ArrayFrom",{enumerable:!0,get:function(){return s.uint32ArrayFrom}})},193(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},42721(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numToUint8=void 0,t.numToUint8=function(e){return new Uint8Array([(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e])}},69234(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=void 0,t.uint32ArrayFrom=function(e){if(!Uint32Array.from){for(var t=new Uint32Array(e.length),i=0;i<e.length;)t[i]=e[i],i+=1;return t}return Uint32Array.from(e)}},31269(e,t,i){"use strict";i.r(t),i.d(t,{$Command:()=>oi,AllowNotifications:()=>dn,AssociateChannelFlowCommand:()=>vo,BadRequestException:()=>un,BatchChannelMembershipsFilterSensitiveLog:()=>Dn,BatchCreateChannelMembershipCommand:()=>bo,BatchCreateChannelMembershipResponseFilterSensitiveLog:()=>Fn,ChannelAssociatedWithFlowSummaryFilterSensitiveLog:()=>Nn,ChannelBanFilterSensitiveLog:()=>Bn,ChannelBanSummaryFilterSensitiveLog:()=>Vn,ChannelFilterSensitiveLog:()=>Ln,ChannelFlowCallbackCommand:()=>yo,ChannelFlowCallbackRequestFilterSensitiveLog:()=>Wn,ChannelFlowFilterSensitiveLog:()=>jn,ChannelFlowSummaryFilterSensitiveLog:()=>qn,ChannelMembershipFilterSensitiveLog:()=>Kn,ChannelMembershipForAppInstanceUserSummaryFilterSensitiveLog:()=>Jn,ChannelMembershipPreferencesFilterSensitiveLog:()=>Xn,ChannelMembershipSummaryFilterSensitiveLog:()=>Zn,ChannelMembershipType:()=>cn,ChannelMessageCallbackFilterSensitiveLog:()=>Hn,ChannelMessageFilterSensitiveLog:()=>Yn,ChannelMessagePersistenceType:()=>In,ChannelMessageStatus:()=>xn,ChannelMessageSummaryFilterSensitiveLog:()=>er,ChannelMessageType:()=>An,ChannelMode:()=>wn,ChannelModeratedByAppInstanceUserSummaryFilterSensitiveLog:()=>tr,ChannelModeratorFilterSensitiveLog:()=>ir,ChannelModeratorSummaryFilterSensitiveLog:()=>nr,ChannelPrivacy:()=>Cn,ChannelSummaryFilterSensitiveLog:()=>Gn,ChimeSDKMessaging:()=>ms,ChimeSDKMessagingClient:()=>sn,ChimeSDKMessagingServiceException:()=>an,ConflictException:()=>hn,CreateChannelBanCommand:()=>So,CreateChannelBanResponseFilterSensitiveLog:()=>sr,CreateChannelCommand:()=>wo,CreateChannelFlowCommand:()=>Co,CreateChannelFlowRequestFilterSensitiveLog:()=>ar,CreateChannelMembershipCommand:()=>ko,CreateChannelMembershipResponseFilterSensitiveLog:()=>dr,CreateChannelModeratorCommand:()=>Eo,CreateChannelModeratorResponseFilterSensitiveLog:()=>cr,CreateChannelRequestFilterSensitiveLog:()=>or,DeleteChannelBanCommand:()=>To,DeleteChannelCommand:()=>Io,DeleteChannelFlowCommand:()=>xo,DeleteChannelMembershipCommand:()=>Ao,DeleteChannelMessageCommand:()=>Po,DeleteChannelModeratorCommand:()=>Oo,DeleteMessagingStreamingConfigurationsCommand:()=>_o,DescribeChannelBanCommand:()=>Mo,DescribeChannelBanResponseFilterSensitiveLog:()=>ur,DescribeChannelCommand:()=>Ro,DescribeChannelFlowCommand:()=>Do,DescribeChannelFlowResponseFilterSensitiveLog:()=>hr,DescribeChannelMembershipCommand:()=>Fo,DescribeChannelMembershipForAppInstanceUserCommand:()=>Lo,DescribeChannelMembershipForAppInstanceUserResponseFilterSensitiveLog:()=>fr,DescribeChannelMembershipResponseFilterSensitiveLog:()=>pr,DescribeChannelModeratedByAppInstanceUserCommand:()=>No,DescribeChannelModeratedByAppInstanceUserResponseFilterSensitiveLog:()=>mr,DescribeChannelModeratorCommand:()=>Bo,DescribeChannelModeratorResponseFilterSensitiveLog:()=>gr,DescribeChannelResponseFilterSensitiveLog:()=>lr,DisassociateChannelFlowCommand:()=>Vo,ErrorCode:()=>
2ln,ExpirationCriterion:()=>Sn,FallbackAction:()=>En,ForbiddenException:()=>pn,GetChannelMembershipPreferencesCommand:()=>Uo,GetChannelMembershipPreferencesResponseFilterSensitiveLog:()=>vr,GetChannelMessageCommand:()=>jo,GetChannelMessageResponseFilterSensitiveLog:()=>br,GetChannelMessageStatusCommand:()=>zo,GetMessagingSessionEndpointCommand:()=>$o,GetMessagingStreamingConfigurationsCommand:()=>Ho,IdentityFilterSensitiveLog:()=>Rn,InvocationType:()=>kn,ListChannelBansCommand:()=>Wo,ListChannelBansRequestFilterSensitiveLog:()=>yr,ListChannelBansResponseFilterSensitiveLog:()=>Sr,ListChannelFlowsCommand:()=>qo,ListChannelFlowsRequestFilterSensitiveLog:()=>wr,ListChannelFlowsResponseFilterSensitiveLog:()=>Cr,ListChannelMembershipsCommand:()=>Ko,ListChannelMembershipsForAppInstanceUserCommand:()=>Go,ListChannelMembershipsForAppInstanceUserRequestFilterSensitiveLog:()=>Tr,ListChannelMembershipsForAppInstanceUserResponseFilterSensitiveLog:()=>Ir,ListChannelMembershipsRequestFilterSensitiveLog:()=>kr,ListChannelMembershipsResponseFilterSensitiveLog:()=>Er,ListChannelMessagesCommand:()=>Jo,ListChannelMessagesRequestFilterSensitiveLog:()=>xr,ListChannelMessagesResponseFilterSensitiveLog:()=>Ar,ListChannelModeratorsCommand:()=>Qo,ListChannelModeratorsRequestFilterSensitiveLog:()=>Pr,ListChannelModeratorsResponseFilterSensitiveLog:()=>Or,ListChannelsAssociatedWithChannelFlowCommand:()=>Xo,ListChannelsAssociatedWithChannelFlowRequestFilterSensitiveLog:()=>Rr,ListChannelsAssociatedWithChannelFlowResponseFilterSensitiveLog:()=>Dr,ListChannelsCommand:()=>Zo,ListChannelsModeratedByAppInstanceUserCommand:()=>Yo,ListChannelsModeratedByAppInstanceUserRequestFilterSensitiveLog:()=>Fr,ListChannelsModeratedByAppInstanceUserResponseFilterSensitiveLog:()=>Lr,ListChannelsRequestFilterSensitiveLog:()=>_r,ListChannelsResponseFilterSensitiveLog:()=>Mr,ListSubChannelsCommand:()=>es,ListSubChannelsRequestFilterSensitiveLog:()=>Nr,ListSubChannelsResponseFilterSensitiveLog:()=>Br,ListTagsForResourceCommand:()=>ts,ListTagsForResourceResponseFilterSensitiveLog:()=>Vr,MessageAttributeValueFilterSensitiveLog:()=>zn,MessagingDataType:()=>Pn,NotFoundException:()=>fn,ProcessorFilterSensitiveLog:()=>Un,PushNotificationConfigurationFilterSensitiveLog:()=>$n,PushNotificationPreferencesFilterSensitiveLog:()=>Qn,PushNotificationType:()=>Tn,PutChannelExpirationSettingsCommand:()=>is,PutChannelMembershipPreferencesCommand:()=>ns,PutChannelMembershipPreferencesRequestFilterSensitiveLog:()=>Ur,PutChannelMembershipPreferencesResponseFilterSensitiveLog:()=>jr,PutMessagingStreamingConfigurationsCommand:()=>rs,RedactChannelMessageCommand:()=>os,ResourceLimitExceededException:()=>yn,SearchChannelsCommand:()=>ss,SearchChannelsRequestFilterSensitiveLog:()=>zr,SearchChannelsResponseFilterSensitiveLog:()=>$r,SearchFieldKey:()=>_n,SearchFieldOperator:()=>Mn,SendChannelMessageCommand:()=>as,SendChannelMessageRequestFilterSensitiveLog:()=>Hr,ServiceFailureException:()=>mn,ServiceUnavailableException:()=>gn,SortOrder:()=>On,TagFilterSensitiveLog:()=>rr,TagResourceCommand:()=>ds,TagResourceRequestFilterSensitiveLog:()=>Wr,ThrottledClientException:()=>vn,UnauthorizedClientException:()=>bn,UntagResourceCommand:()=>cs,UntagResourceRequestFilterSensitiveLog:()=>qr,UpdateChannelCommand:()=>ls,UpdateChannelFlowCommand:()=>us,UpdateChannelFlowRequestFilterSensitiveLog:()=>Gr,UpdateChannelMessageCommand:()=>hs,UpdateChannelMessageRequestFilterSensitiveLog:()=>Jr,UpdateChannelReadMarkerCommand:()=>ps,UpdateChannelRequestFilterSensitiveLog:()=>Kr,__Client:()=>Jt,paginateListChannelBans:()=>vs,paginateListChannelFlows:()=>ys,paginateListChannelMemberships:()=>ks,paginateListChannelMembershipsForAppInstanceUser:()=>ws,paginateListChannelMessages:()=>Ts,paginateListChannelModerators:()=>xs,paginateListChannels:()=>Rs,paginateListChannelsAssociatedWithChannelFlow:()=>Ps,paginateListChannelsModeratedByAppInstanceUser:()=>_s,paginateListSubChannels:()=>Fs,paginateSearchChannels:()=>Ns});var n={};i.r(n),i.d(n,{getUserAgentPrefix:()=>Ce,isVirtualHostableS3Bucket:()=>Oe,parseArn:()=>_e,partition:()=>ye,setPartitionInfo:()=>Se,useDefaultPartitionInfo:()=>we});var r,o,s,a,d={};i.r(d),i.d(d,{aws:()=>n,booleanEquals:()=>Me,getAttr:()=>Re,isSet:()=>De,isValidHostLabel:()=>Pe,not:()=>Fe,parseURL:()=>ze,stringEquals:()=>$e,substring:()=>He,uriEncode:()=>We}),function(e){e.HEADER="header",e.QUERY="query"}(r||(r={})),function(e){e.HTTP="http",e.HTTPS="https"}(o||(o={})),function(e){e[e.HEADER=0]="HEADER",e[e.TRAILER=1]="TRAILER"}(s||(s={})),function(e){e.HTTP_0_9="http/0.9",e.HTTP_1_0="http/1.0",e.TDS_8_0="tds/8.0"}(a||(a={}));class c{constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?":"!==e.protocol.slice(-1)?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?"/"!==e.path.charAt(0)?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static isInstance(e){if(!e)return!1;const t=e;return"method"in t&&"protocol"in t&&"hostname"in t&&"path"in t&&"object"==typeof t.query&&"object"==typeof t.headers}clone(){const e=new c({...this,headers:{...this.headers}});var t;return e.query&&(e.query=(t=e.query,Object.keys(t).reduce((e,i)=>{const n=t[i];return{...e,[i]:Array.isArray(n)?[...n]:n}},{}))),e}}class l{constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){if(!e)return!1;const t=e;return"number"==typeof t.statusCode&&"object"==typeof t.headers}}const u={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},h={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},p="X-Amzn-Trace-Id",f={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:!0,priority:"low"};Error;const m=(e,t,i)=>{let n,r,o,s=!1;const a=async()=>{r||(r=e());try{n=await r,o=!0,s=!1}finally{r=void 0}return n};return void 0===t?async e=>(o&&!e?.forceRefresh||(n=await a()),n):async e=>(o&&!e?.forceRefresh||(n=await a()),s?n:i&&!i(n)?(s=!0,n):t(n)?(await a(),n):n)};i(50325);const g={},v={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();1===t.length&&(t=`0${t}`),g[e]=t,v[t]=e}function b(e){let t="";for(let i=0;i<e.byteLength;i++)t+=g[e[i]];return t}class y{constructor(e){if(this.bytes=e,8!==e.byteLength)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000)throw new Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);const t=new Uint8Array(8);for(let i=7,n=Math.abs(Math.round(e));i>-1&&n>0;i--,n/=256)t[i]=n;return e<0&&S(t),new y(t)}valueOf(){const e=this.bytes.slice(0),t=128&e[0];return t&&S(e),parseInt(b(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}}function S(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1&&(e[t]++,0===e[t]);t--);}class w{constructor(e,t){this.toUtf8=e,this.fromUtf8=t}format(e){const t=[];for(const i of Object.keys(e)){const n=this.fromUtf8(i);t.push(Uint8Array.from([n.byteLength]),n,this.formatHeaderValue(e[i]))}const i=new Uint8Array(t.reduce((e,t)=>
2e+t.byteLength,0));let n=0;for(const e of t)i.set(e,n),n+=e.byteLength;return i}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":const t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case"integer":const i=new DataView(new ArrayBuffer(5));return i.setUint8(0,4),i.setInt32(1,e.value,!1),new Uint8Array(i.buffer);case"long":const n=new Uint8Array(9);return n[0]=5,n.set(e.value.bytes,1),n;case"binary":const r=new DataView(new ArrayBuffer(3+e.value.byteLength));r.setUint8(0,6),r.setUint16(1,e.value.byteLength,!1);const o=new Uint8Array(r.buffer);return o.set(e.value,3),o;case"string":const s=this.fromUtf8(e.value),a=new DataView(new ArrayBuffer(3+s.byteLength));a.setUint8(0,7),a.setUint16(1,s.byteLength,!1);const d=new Uint8Array(a.buffer);return d.set(s,3),d;case"timestamp":const c=new Uint8Array(9);return c[0]=8,c.set(y.fromNumber(e.value.valueOf()).bytes,1),c;case"uuid":if(!M.test(e.value))throw new Error(`Invalid UUID received: ${e.value}`);const l=new Uint8Array(17);return l[0]=9,l.set(function(e){if(e.length%2!=0)throw new Error("Hex encoded strings must have an even number length");const t=new Uint8Array(e.length/2);for(let i=0;i<e.length;i+=2){const n=e.slice(i,i+2).toLowerCase();if(!(n in v))throw new Error(`Cannot decode unrecognized sequence ${n} as hexadecimal`);t[i/2]=v[n]}return t}(e.value.replace(/\-/g,"")),1),l}}parse(e){const t={};let i=0;for(;i<e.byteLength;){const n=e.getUint8(i++),r=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+i,n));switch(i+=n,e.getUint8(i++)){case 0:t[r]={type:k,value:!0};break;case 1:t[r]={type:k,value:!1};break;case 2:t[r]={type:E,value:e.getInt8(i++)};break;case 3:t[r]={type:T,value:e.getInt16(i,!1)},i+=2;break;case 4:t[r]={type:I,value:e.getInt32(i,!1)},i+=4;break;case 5:t[r]={type:x,value:new y(new Uint8Array(e.buffer,e.byteOffset+i,8))},i+=8;break;case 6:const n=e.getUint16(i,!1);i+=2,t[r]={type:A,value:new Uint8Array(e.buffer,e.byteOffset+i,n)},i+=n;break;case 7:const o=e.getUint16(i,!1);i+=2,t[r]={type:P,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+i,o))},i+=o;break;case 8:t[r]={type:O,value:new Date(new y(new Uint8Array(e.buffer,e.byteOffset+i,8)).valueOf())},i+=8;break;case 9:const s=new Uint8Array(e.buffer,e.byteOffset+i,16);i+=16,t[r]={type:_,value:`${b(s.subarray(0,4))}-${b(s.subarray(4,6))}-${b(s.subarray(6,8))}-${b(s.subarray(8,10))}-${b(s.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return t}}var C;!function(e){e[e.boolTrue=0]="boolTrue",e[e.boolFalse=1]="boolFalse",e[e.byte=2]="byte",e[e.short=3]="short",e[e.integer=4]="integer",e[e.long=5]="long",e[e.byteArray=6]="byteArray",e[e.string=7]="string",e[e.timestamp=8]="timestamp",e[e.uuid=9]="uuid"}(C||(C={}));const k="boolean",E="byte",T="short",I="integer",x="long",A="binary",P="string",O="timestamp",_="uuid",M=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;Symbol.asyncIterator,Symbol.asyncIterator,Symbol.asyncIterator,Symbol.asyncIterator;const R=e=>{if("function"==typeof e)return e;const t=Promise.resolve(e);return()=>t},D=e=>new TextDecoder("utf-8").decode(e),F=e=>(new TextEncoder).encode(e),L=e=>"string"==typeof e?F(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e),N="X-Amz-Date",B="X-Amz-Signature",V="X-Amz-Security-Token",U="authorization",j=N.toLowerCase(),z=[U,j,"date"],$=B.toLowerCase(),H="x-amz-content-sha256",W=V.toLowerCase(),q={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},K=/^proxy-/,G=/^sec-/,J="AWS4-HMAC-SHA256",Q="AWS4-HMAC-SHA256-PAYLOAD",X="aws4_request",Z={},Y=[],ee=(e,t,i)=>`${e}/${t}/${i}/${X}`,te=(e,t,i)=>{const n=new e(t);return n.update(L(i)),n.digest()},ie=({headers:e},t,i)=>{const n={};for(const r of Object.keys(e).sort()){if(null==e[r])continue;const o=r.toLowerCase();(o in q||t?.has(o)||K.test(o)||G.test(o))&&(!i||i&&!i.has(o))||(n[o]=e[r].trim().replace(/\s+/g," "))}return n},ne=e=>encodeURIComponent(e).replace(/[!'()*]/g,re),re=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`,oe=async({headers:e,body:t},i)=>{for(const t of Object.keys(e))if(t.toLowerCase()===H)return e[t];if(null==t)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if("string"==typeof t||ArrayBuffer.isView(t)||(n=t,"function"==typeof ArrayBuffer&&n instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(n))){const e=new i;return e.update(L(t)),b(await e.digest())}var n;return"UNSIGNED-PAYLOAD"},se=({headers:e,query:t,...i})=>({...i,headers:{...e},query:t?ae(t):void 0}),ae=e=>Object.keys(e).reduce((t,i)=>{const n=e[i];return{...t,[i]:Array.isArray(n)?[...n]:n}},{}),de=e=>{e="function"==typeof e.clone?e.clone():se(e);for(const t of Object.keys(e.headers))z.indexOf(t.toLowerCase())>-1&&delete e.headers[t];return e};class ce{constructor({applyChecksum:e,credentials:t,region:i,service:n,sha256:r,uriEscapePath:o=!0}){this.headerMarshaller=new w(D,F),this.service=n,this.sha256=r,this.uriEscapePath=o,this.applyChecksum="boolean"!=typeof e||e,this.regionProvider=R(i),this.credentialProvider=R(t)}async presign(e,t={}
2){const{signingDate:i=new Date,expiresIn:n=3600,unsignableHeaders:r,unhoistableHeaders:o,signableHeaders:s,signingRegion:a,signingService:d}=t,c=await this.credentialProvider();this.validateResolvedCredentials(c);const l=a??await this.regionProvider(),{longDate:u,shortDate:h}=le(i);if(n>604800)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");const p=ee(h,l,d??this.service),f=((e,t={})=>{const{headers:i,query:n={}}="function"==typeof e.clone?e.clone():se(e);for(const e of Object.keys(i)){const r=e.toLowerCase();"x-amz-"!==r.slice(0,6)||t.unhoistableHeaders?.has(r)||(n[e]=i[e],delete i[e])}return{...e,headers:i,query:n}})(de(e),{unhoistableHeaders:o});c.sessionToken&&(f.query[V]=c.sessionToken),f.query["X-Amz-Algorithm"]=J,f.query["X-Amz-Credential"]=`${c.accessKeyId}/${p}`,f.query[N]=u,f.query["X-Amz-Expires"]=n.toString(10);const m=ie(f,r,s);return f.query["X-Amz-SignedHeaders"]=ue(m),f.query[B]=await this.getSignature(u,p,this.getSigningKey(c,l,h,d),this.createCanonicalRequest(f,m,await oe(e,this.sha256))),f}async sign(e,t){return"string"==typeof e?this.signString(e,t):e.headers&&e.payload?this.signEvent(e,t):e.message?this.signMessage(e,t):this.signRequest(e,t)}async signEvent({headers:e,payload:t},{signingDate:i=new Date,priorSignature:n,signingRegion:r,signingService:o}){const s=r??await this.regionProvider(),{shortDate:a,longDate:d}=le(i),c=ee(a,s,o??this.service),l=await oe({headers:{},body:t},this.sha256),u=new this.sha256;u.update(e);const h=b(await u.digest()),p=[Q,d,c,n,h,l].join("\n");return this.signString(p,{signingDate:i,signingRegion:s,signingService:o})}async signMessage(e,{signingDate:t=new Date,signingRegion:i,signingService:n}){return this.signEvent({headers:this.headerMarshaller.format(e.message.headers),payload:e.message.body},{signingDate:t,signingRegion:i,signingService:n,priorSignature:e.priorSignature}).then(t=>({message:e.message,signature:t}))}async signString(e,{signingDate:t=new Date,signingRegion:i,signingService:n}={}){const r=await this.credentialProvider();this.validateResolvedCredentials(r);const o=i??await this.regionProvider(),{shortDate:s}
2=le(t),a=new this.sha256(await this.getSigningKey(r,o,s,n));return a.update(L(e)),b(await a.digest())}async signRequest(e,{signingDate:t=new Date,signableHeaders:i,unsignableHeaders:n,signingRegion:r,signingService:o}={}){const s=await this.credentialProvider();this.validateResolvedCredentials(s);const a=r??await this.regionProvider(),d=de(e),{longDate:c,shortDate:l}=le(t),u=ee(l,a,o??this.service);d.headers[j]=c,s.sessionToken&&(d.headers[W]=s.sessionToken);const h=await oe(d,this.sha256);!((e,t)=>{e=e.toLowerCase();for(const i of Object.keys(t))if(e===i.toLowerCase())return!0;return!1})(H,d.headers)&&this.applyChecksum&&(d.headers[H]=h);const p=ie(d,n,i),f=await this.getSignature(c,u,this.getSigningKey(s,a,l,o),this.createCanonicalRequest(d,p,h));return d.headers[U]=`${J} Credential=${s.accessKeyId}/${u}, SignedHeaders=${ue(p)}, Signature=${f}`,d}createCanonicalRequest(e,t,i){const n=Object.keys(t).sort();return`${e.method}\n${this.getCanonicalPath(e)}\n${(({query:e={}})=>{const t=[],i={};for(const n of Object.keys(e).sort()){if(n.toLowerCase()===$)continue;t.push(n);const r=e[n];"string"==typeof r?i[n]=`${ne(n)}=${ne(r)}`:Array.isArray(r)&&(i[n]=r.slice(0).sort().reduce((e,t)=>e.concat([`${ne(n)}=${ne(t)}`]),[]).join("&"))}return t.map(e=>i[e]).filter(e=>e).join("&")})(e)}\n${n.map(e=>`${e}:${t[e]}`).join("\n")}\n\n${n.join(";")}\n${i}`}async createStringToSign(e,t,i){const n=new this.sha256;n.update(L(i));const r=await n.digest();return`${J}\n${e}\n${t}\n${b(r)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){const t=[];for(const i of e.split("/"))0!==i?.length&&"."!==i&&(".."===i?t.pop():t.push(i));const i=`${e?.startsWith("/")?"/":""}${t.join("/")}${t.length>0&&e?.endsWith("/")?"/":""}`;return encodeURIComponent(i).replace(/%2F/g,"/")}return e}async getSignature(e,t,i,n){const r=await this.createStringToSign(e,t,n),o=new this.sha256(await i);return o.update(L(r)),b(await o.digest())}getSigningKey(e,t,i,n){return(async(e,t,i,n,r)=>{const o=`${i}:${n}:${r}:${b(await te(e,t.secretAccessKey,t.accessKeyId))}:${t.sessionToken}`;if(o in Z)return Z[o];for(Y.push(o);Y.length>50;)delete Z[Y.shift()];let s=`AWS4${t.secretAccessKey}`;for(const t of[i,n,r,X])s=await te(e,s,t);return Z[o]=s})(this.sha256,e,i,t,n||this.service)}validateResolvedCredentials(e){if("object"!=typeof e||"string"!=typeof e.accessKeyId||"string"!=typeof e.secretAccessKey)throw new Error("Resolved credential object is not valid")}}const le=e=>{const t=(i=e,(e=>"number"==typeof e?new Date(1e3*e):"string"==typeof e?Number(e)?new Date(1e3*Number(e)):new Date(e):e)(i).toISOString().replace(/\.\d{3}Z$/,"Z")).replace(/[\-:]/g,"");var i;return{longDate:t,shortDate:t.slice(0,8)}},ue=e=>Object.keys(e).sort().join(";"),he=e=>new Date(Date.now()+e),pe=(e,t)=>{const i=Date.parse(e);return((e,t)=>Math.abs(he(t).getTime()-e)>=3e5)(i,t)?i-Date.now():t},fe=e=>l.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,me={name:"awsAuthMiddleware",tags:["SIGNATURE","AWSAUTH"],relation:"after",toMiddleware:"retryMiddleware",override:!0},ge=JSON.parse('{"partitions":[{"id":"aws","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","name":"aws","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^(us|eu|ap|sa|ca|me|af)\\\\-\\\\w+\\\\-\\\\d+$","regions":{"af-south-1":{"description":"Africa (Cape Town)"},"ap-east-1":{"description":"Asia Pacific (Hong Kong)"},"ap-northeast-1":{"description":"Asia Pacific (Tokyo)"},"ap-northeast-2":{"description":"Asia Pacific (Seoul)"},"ap-northeast-3":{"description":"Asia Pacific (Osaka)"},"ap-south-1":{"description":"Asia Pacific (Mumbai)"},"ap-south-2":{"description":"Asia Pacific (Hyderabad)"},"ap-southeast-1":{"description":"Asia Pacific (Singapore)"},"ap-southeast-2":{"description":"Asia Pacific (Sydney)"},"ap-southeast-3":{"description":"Asia Pacific (Jakarta)"},"ap-southeast-4":{"description":"Asia Pacific (Melbourne)"},"aws-global":{"description":"AWS Standard global region"},"ca-central-1":{"description":"Canada (Central)"},"eu-central-1":{"description":"Europe (Frankfurt)"},"eu-central-2":{"description":"Europe (Zurich)"},"eu-north-1":{"description":"Europe (Stockholm)"},"eu-south-1":{"description":"Europe (Milan)"},"eu-south-2":{"description":"Europe (Spain)"},"eu-west-1":{"description":"Europe (Ireland)"},"eu-west-2":{"description":"Europe (London)"},"eu-west-3":{"description":"Europe (Paris)"},"me-central-1":{"description":"Middle East (UAE)"},"me-south-1":{"description":"Middle East (Bahrain)"},"sa-east-1":{"description":"South America (Sao Paulo)"},"us-east-1":{"description":"US East (N. Virginia)"},"us-east-2":{"description":"US East (Ohio)"},"us-west-1":{"description":"US West (N. California)"},"us-west-2":{"description":"US West (Oregon)"}}},{"id":"aws-cn","outputs":{"dnsSuffix":"amazonaws.com.cn","dualStackDnsSuffix":"api.amazonwebservices.com.cn","name":"aws-cn","supportsDualStack":true,"supportsFIPS":true}
2,"regionRegex":"^cn\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-cn-global":{"description":"AWS China global region"},"cn-north-1":{"description":"China (Beijing)"},"cn-northwest-1":{"description":"China (Ningxia)"}}},{"id":"aws-us-gov","outputs":{"dnsSuffix":"amazonaws.com","dualStackDnsSuffix":"api.aws","name":"aws-us-gov","supportsDualStack":true,"supportsFIPS":true},"regionRegex":"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-us-gov-global":{"description":"AWS GovCloud (US) global region"},"us-gov-east-1":{"description":"AWS GovCloud (US-East)"},"us-gov-west-1":{"description":"AWS GovCloud (US-West)"}}},{"id":"aws-iso","outputs":{"dnsSuffix":"c2s.ic.gov","dualStackDnsSuffix":"c2s.ic.gov","name":"aws-iso","supportsDualStack":false,"supportsFIPS":true},"regionRegex":"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-global":{"description":"AWS ISO (US) global region"},"us-iso-east-1":{"description":"US ISO East"},"us-iso-west-1":{"description":"US ISO WEST"}}},{"id":"aws-iso-b","outputs":{"dnsSuffix":"sc2s.sgov.gov","dualStackDnsSuffix":"sc2s.sgov.gov","name":"aws-iso-b","supportsDualStack":false,"supportsFIPS":true},"regionRegex":"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$","regions":{"aws-iso-b-global":{"description":"AWS ISOB (US) global region"},"us-isob-east-1":{"description":"US ISOB East (Ohio)"}}},{"id":"aws-iso-e","outputs":{"dnsSuffix":"cloud.adc-e.uk","dualStackDnsSuffix":"cloud.adc-e.uk","name":"aws-iso-e","supportsDualStack":false,"supportsFIPS":true},"regionRegex":"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$","regions":{}},{"id":"aws-iso-f","outputs":{"dnsSuffix":"csp.hci.ic.gov","dualStackDnsSuffix":"csp.hci.ic.gov","name":"aws-iso-f","supportsDualStack":false,"supportsFIPS":true},"regionRegex":"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$","regions":{}}],"version":"1.1"}');let ve=ge,be="";const ye=e=>{const{partitions:t}=ve;for(const i of t){const{regions:t,outputs:n}=i;for(const[i,r]of Object.entries(t))if(i===e)return{...n,...r}}for(const i of t){const{regionRegex:t,outputs:n}=i;if(new RegExp(t).test(e))return{...n}}const i=t.find(e=>"aws"===e.id);if(!i)throw new Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...i.outputs}},Se=(e,t="")=>{ve=e,be=t},we=()=>{Se(ge,"")},Ce=()=>be,ke="endpoints";function Ee(e){return"object"!=typeof e||null==e?e:"ref"in e?`$${Ee(e.ref)}`:"fn"in e?`${e.fn}(${(e.argv||[]).map(Ee).join(", ")})`:JSON.stringify(e,null,2)}class Te extends Error{constructor(e){super(e),this.name="EndpointError"}}const Ie=new RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$"),xe=e=>Ie.test(e)||e.startsWith("[")&&e.endsWith("]"),Ae=new RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),Pe=(e,t=!1)=>{if(!t)return Ae.test(e);const i=e.split(".");for(const e of i)if(!Pe(e))return!1;return!0},Oe=(e,t=!1)=>{if(t){for(const t of e.split("."))if(!Oe(t))return!1;return!0}return!(!Pe(e)||e.length<3||e.length>63||e!==e.toLowerCase()||xe(e))},_e=e=>{const t=e.split(":");if(t.length<6)return null;const[i,n,r,o,s,...a]=t;return"arn"!==i||""===n||""===r||""===a[0]?null:{partition:n,service:r,region:o,accountId:s,resourceId:a[0].includes("/")?a[0].split("/"):a}},Me=(e,t)=>e===t,Re=(e,t)=>(e=>{const t=e.split("."),i=[];for(const n of t){const t=n.indexOf("[");if(-1!==t){if(n.indexOf("]")!==n.length-1)throw new Te(`Path: '${e}' does not end with ']'`);const r=n.slice(t+1,-1);if(Number.isNaN(parseInt(r)))throw new Te(`Invalid array index: '${r}' in path: '${e}'`);0!==t&&i.push(n.slice(0,t)),i.push(r)}else i.push(n)}return i})(t).reduce((i,n)=>{if("object"!=typeof i)throw new Te(`Index '${n}' in '${t}' not found in '${JSON.stringify(e)}'`);return Array.isArray(i)?i[parseInt(n)]:i[n]},e),De=e=>null!=e,Fe=e=>!e;var Le,Ne,Be,Ve,Ue;!function(e){e.HEADER="header",e.QUERY="query"}(Le||(Le={})),function(e){e.HTTP="http",e.HTTPS="https"}(Ne||(Ne={})),function(e){e[e.HEADER=0]="HEADER",e[e.TRAILER=1]="TRAILER"}(Be||(Be={})),function(e){e.HTTP_0_9="http/0.9",e.HTTP_1_0="http/1.0",e.TDS_8_0="tds/8.0"}(Ve||(Ve={})),function(e){e.AAAA="AAAA",e.A="A"}(Ue||(Ue={}));const je={[Ne.HTTP]:80,[Ne.HTTPS]:443},ze=e=>{const t=(()=>{try{if(e instanceof URL)return e;if("object"==typeof e&&"hostname"in e){const{hostname:t,port:i,protocol:n="",path:r="",query:o={}}=e,s=new URL(`${n}//${t}${i?`:${i}`:""}${r}`);return s.search=Object.entries(o).map(([e,t])=>`${e}=${t}`).join("&"),s}return new URL(e)}catch(e){return null}})();if(!t)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;const i=t.href,{host:n,hostname:r,pathname:o,protocol:s,search:a}=t;if(a)return null;const d=s.slice(0,-1);if(!Object.values(Ne).includes(d))return null;const c=xe(r);return{scheme:d,authority:`${n}${i.includes(`${n}:${je[d]}`)||"string"==typeof e&&e.includes(`${n}:${je[d]}`)?`:${je[d]}`:""}`,path:o,normalizedPath:o.endsWith("/")?o:`${o}/`,isIp:c}},$e=(e,t)=>
2e===t,He=(e,t,i,n)=>t>=i||e.length<i?null:n?e.substring(e.length-i,e.length-t):e.substring(t,i),We=e=>encodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),qe=(e,t)=>{const i=[],n={...t.endpointParams,...t.referenceRecord};let r=0;for(;r<e.length;){const t=e.indexOf("{",r);if(-1===t){i.push(e.slice(r));break}i.push(e.slice(r,t));const o=e.indexOf("}",t);if(-1===o){i.push(e.slice(t));break}"{"===e[t+1]&&"}"===e[o+1]&&(i.push(e.slice(t+1,o)),r=o+2);const s=e.substring(t+1,o);if(s.includes("#")){const[e,t]=s.split("#");i.push(Re(n[e],t))}else i.push(n[s]);r=o+1}return i.join("")},Ke=(e,t,i)=>{if("string"==typeof e)return qe(e,i);if(e.fn)return Ge(e,i);if(e.ref)return(({ref:e},t)=>({...t.endpointParams,...t.referenceRecord}[e]))(e,i);throw new Te(`'${t}': ${String(e)} is not a string, function or reference.`)},Ge=({fn:e,argv:t},i)=>{const n=t.map(e=>["boolean","number"].includes(typeof e)?e:Ke(e,"arg",i));return e.split(".").reduce((e,t)=>e[t],d)(...n)},Je=({assign:e,...t},i)=>{if(e&&e in i.referenceRecord)throw new Te(`'${e}' is already defined in Reference Record.`);const n=Ge(t,i);return i.logger?.debug?.(ke,`evaluateCondition: ${Ee(t)} = ${Ee(n)}`),{result:""===n||!!n,...null!=e&&{toAssign:{name:e,value:n}}}},Qe=(e=[],t)=>{const i={};for(const n of e){const{result:e,toAssign:r}=Je(n,{...t,referenceRecord:{...t.referenceRecord,...i}});if(!e)return{result:e};r&&(i[r.name]=r.value,t.logger?.debug?.(ke,`assign: ${r.name} := ${Ee(r.value)}`))}return{result:!0,referenceRecord:i}},Xe=(e,t)=>Object.entries(e).reduce((e,[i,n])=>({...e,[i]:n.map(e=>{const n=Ke(e,"Header value entry",t);if("string"!=typeof n)throw new Te(`Header '${i}' value '${n}' is not a string`);return n})}),{}),Ze=(e,t)=>{if(Array.isArray(e))return e.map(e=>Ze(e,t));switch(typeof e){case"string":return qe(e,t);case"object":if(null===e)throw new Te(`Unexpected endpoint property: ${e}`);return Ye(e,t);case"boolean":return e;default:throw new Te("Unexpected endpoint property type: "+typeof e)}},Ye=(e,t)=>Object.entries(e).reduce((e,[i,n])=>({...e,[i]:Ze(n,t)}),{}),et=(e,t)=>{const i=Ke(e,"Endpoint URL",t);if("string"==typeof i)try{return new URL(i)}catch(e){throw console.error(`Failed to construct URL with ${i}`,e),e}throw new Te("Endpoint URL must be a string, got "+typeof i)},tt=(e,t)=>{const{conditions:i,endpoint:n}=e,{result:r,referenceRecord:o}=Qe(i,t);if(!r)return;const s={...t,referenceRecord:{...t.referenceRecord,...o}},{url:a,properties:d,headers:c}=n;return t.logger?.debug?.(ke,`Resolving endpoint from template: ${Ee(n)}`),{...null!=c&&{headers:Xe(c,s)},...null!=d&&{properties:Ye(d,s)},url:et(a,s)}},it=(e,t)=>{const{conditions:i,error:n}=e,{result:r,referenceRecord:o}=Qe(i,t);if(r)throw new Te(Ke(n,"Error",{...t,referenceRecord:{...t.referenceRecord,...o}}))},nt=(e,t)=>{const{conditions:i,rules:n}=e,{result:r,referenceRecord:o}=Qe(i,t);if(r)return rt(n,{...t,referenceRecord:{...t.referenceRecord,...o}})},rt=(e,t)=>{for(const i of e)if("endpoint"===i.type){const e=tt(i,t);if(e)return e}else if("error"===i.type)it(i,t);else{if("tree"!==i.type)throw new Te(`Unknown endpoint rule: ${i}`);{const e=nt(i,t);if(e)return e}}throw new Te("Rules evaluation failed")},ot="user-agent",st="x-amz-user-agent",at=/[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g,dt=/[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g,ct=e=>{const t=e[0].split("/").map(e=>e.replace(at,"-")).join("/"),i=e[1]?.replace(dt,"-"),n=t.indexOf("/"),r=t.substring(0,n);let o=t.substring(n+1);return"api"===r&&(o=o.toLowerCase()),[r,o,i].filter(e=>e&&e.length>0).reduce((e,t,i)=>{switch(i){case 0:return t;case 1:return`${e}/${t}`;default:return`${e}#${t}`}},"")},lt={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0};var ut;!function(e){e.ENV="env",e.CONFIG="shared config entry"}(ut||(ut={}));const ht=e=>"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips")),pt=e=>ht(e)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e,ft="content-length",mt={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0}
2,gt={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},vt={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function bt(e,t,i){return{applyToStack:n=>{n.add(((e,t)=>(i,n)=>async n=>{const{response:r}=await i(n);try{return{response:r,output:await t(r,e)}}catch(e){if(Object.defineProperty(e,"$response",{value:r}),!("$metadata"in e)){const t="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";e.message+="\n  "+t}throw e}})(e,i),gt),n.add(((e,t)=>(i,n)=>async r=>{const o=n.endpointV2?.url&&e.urlParser?async()=>e.urlParser(n.endpointV2.url):e.endpoint;if(!o)throw new Error("No valid endpoint provider available.");const s=await t(r.input,{...e,endpoint:o});return i({...r,request:s})})(e,t),vt)}}}const yt=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,St=/(\d+\.){3}\d+/,wt=/\.\./,Ct=(e,t,i)=>{const n=async()=>{const n=i[e]??i[t];return"function"==typeof n?n():n};return"endpoint"===e||"endpoint"===t?async()=>{const e=await n();if(e&&"object"==typeof e){if("url"in e)return e.url.href;if("hostname"in e){const{protocol:t,hostname:i,port:n,path:r}=e;return`${t}//${i}${n?":"+n:""}${r}`}}return e}:n},kt=async(e,t,i)=>{const n={},r=t?.getEndpointParameterInstructions?.()||{};for(const[t,o]of Object.entries(r))switch(o.type){case"staticContextParams":n[t]=o.value;break;case"contextParams":n[t]=e[o.name];break;case"clientContextParams":case"builtInParams":n[t]=await Ct(o.name,t,i)();break;default:throw new Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(o))}return 0===Object.keys(r).length&&Object.assign(n,i),"s3"===String(i.serviceId).toLowerCase()&&await(async e=>{const t=e?.Bucket||"";if("string"==typeof e.Bucket&&(e.Bucket=t.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),(e=>{const[t,i,n,r,o,s]=e.split(":"),a="arn"===t&&e.split(":").length>=6,d=5===[t,i,n,o,s].filter(Boolean).length;if(a&&!d)throw new Error(`Invalid ARN: ${e} was an invalid ARN.`);return!!("arn"===t&&i&&n&&o&&s)})(t)){if(!0===e.ForcePathStyle)throw new Error("Path-style addressing cannot be used with ARN buckets")}else i=t,(!yt.test(i)||St.test(i)||wt.test(i)||-1!==t.indexOf(".")&&!String(e.Endpoint).startsWith("http:")||t.toLowerCase()!==t||t.length<3)&&(e.ForcePathStyle=!0);var i;return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e})(n),n},Et={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:vt.name},Tt=(e,t)=>({applyToStack:i=>{i.addRelativeTo((({config:e,instructions:t})=>(i,n)=>async r=>{const o=await(async(e,t,i,n)=>{const r=await kt(e,t,i);if("function"!=typeof i.endpointProvider)throw new Error("config.endpointProvider is not set.");return i.endpointProvider(r,n)})(r.input,{getEndpointParameterInstructions:()=>t},{...e},n);n.endpointV2=o,n.authSchemes=o.properties?.authSchemes;const s=n.authSchemes?.[0];return s&&(n.signing_region=s.signingRegion,n.signing_service=s.signingName),i({...r})})({config:e,instructions:t}),Et)}}),It=e=>{if("string"==typeof e)return It(new URL(e));const{hostname:t,pathname:i,port:n,protocol:r,search:o}=e;let s;return o&&(s=function(e){const t={};if(e=e.replace(/^\?/,""))for(const i of e.split("&")){let[e,n=null]=i.split("=");e=decodeURIComponent(e),n&&(n=decodeURIComponent(n)),e in t?Array.isArray(t[e])?t[e].push(n):t[e]=[t[e],n]:t[e]=n}return t}(o)),{hostname:t,port:n?parseInt(n):void 0,protocol:r,path:i,query:s}};var xt;!function(e){e.STANDARD="standard",e.ADAPTIVE="adaptive"}(xt||(xt={}));const At=xt.STANDARD,Pt=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],Ot=["TimeoutError","RequestTimeout","RequestTimeoutException"],_t=[500,502,503,504],Mt=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],Rt=e=>429===e.$metadata?.httpStatusCode||Pt.includes(e.name)||1==e.$retryable?.throttling,Dt=e=>Ot.includes(e.name)||Mt.includes(e?.code||"")||_t.includes(e.$metadata?.httpStatusCode||0);class Ft{constructor(e){this.currentCapacity=0,this.enabled=!1,this.lastMaxRate=0,this.measuredTxRate=0,this.requestCount=0,this.lastTimestamp=0,this.timeWindow=0,this.beta=e?.beta??.7,this.minCapacity=e?.minCapacity??1,this.minFillRate=e?.minFillRate??.5,this.scaleConstant=e?.scaleConstant??.4,this.smooth=e?.smooth??.8;const t=this.getCurrentTimeInSeconds();this.lastThrottleTime=t,this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}getCurrentTimeInSeconds(){return Date.now()/1e3}async getSendToken(){return this.acquireTokenBucket(1)}async acquireTokenBucket(e){if(this.enabled){if(this.refillTokenBucket(),e>this.currentCapacity){const t=(e-this.currentCapacity)/this.fillRate*1e3;await new Promise(e=>setTimeout(e,t))}this.currentCapacity=this.currentCapacity-e}}refillTokenBucket(){const e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp)return void(this.lastTimestamp=e);const t=(e-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+t),this.lastTimestamp=e}updateClientSendingRate(e){let t;if(this.updateMeasuredRate(),Rt(e)){const e=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=e,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),t=this.cubicThrottle(e),this.enableTokenBucket()}else this.calculateTimeWindow(),t=this.cubicSuccess(this.getCurrentTimeInSeconds());const i=Math.min(t,2*this.measuredTxRate);this.updateTokenBucketRate(i)}
2calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3))}cubicThrottle(e){return this.getPrecise(e*this.beta)}cubicSuccess(e){return this.getPrecise(this.scaleConstant*Math.pow(e-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(e){this.refillTokenBucket(),this.fillRate=Math.max(e,this.minFillRate),this.maxCapacity=Math.max(e,this.minCapacity),this.currentCapacity=Math.min(this.currentCapacity,this.maxCapacity)}updateMeasuredRate(){const e=this.getCurrentTimeInSeconds(),t=Math.floor(2*e)/2;if(this.requestCount++,t>this.lastTxRateBucket){const e=this.requestCount/(t-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(e*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=t}}getPrecise(e){return parseFloat(e.toFixed(8))}}const Lt=({retryDelay:e,retryCount:t,retryCost:i})=>({getRetryCount:()=>t,getRetryDelay:()=>Math.min(2e4,e),getRetryCost:()=>i});class Nt{constructor(e){this.maxAttempts=e,this.mode=xt.STANDARD,this.capacity=500,this.retryBackoffStrategy=(()=>{let e=100;return{computeNextBackoffDelay:t=>Math.floor(Math.min(2e4,Math.random()*2**t*e)),setDelayBase:t=>{e=t}}})(),this.maxAttemptsProvider="function"==typeof e?e:async()=>e}async acquireInitialRetryToken(e){return Lt({retryDelay:100,retryCount:0})}async refreshRetryTokenForRetry(e,t){const i=await this.getMaxAttempts();if(this.shouldRetry(e,t,i)){const i=t.errorType;this.retryBackoffStrategy.setDelayBase("THROTTLING"===i?500:100);const n=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),r=t.retryAfterHint?Math.max(t.retryAfterHint.getTime()-Date.now()||0,n):n,o=this.getCapacityCost(i);return this.capacity-=o,Lt({retryDelay:r,retryCount:e.getRetryCount()+1,retryCost:o})}throw new Error("No retry token available")}recordSuccess(e){this.capacity=Math.max(500,this.capacity+(e.getRetryCost()??1))}getCapacity(){return this.capacity}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(e){return console.warn("Max attempts provider could not resolve. Using default of 3"),3}}shouldRetry(e,t,i){return e.getRetryCount()+1<i&&this.capacity>=this.getCapacityCost(t.errorType)&&this.isRetryableError(t.errorType)}getCapacityCost(e){return"TRANSIENT"===e?10:5}isRetryableError(e){return"THROTTLING"===e||"TRANSIENT"===e}}class Bt{constructor(e,t){this.maxAttemptsProvider=e,this.mode=xt.ADAPTIVE;const{rateLimiter:i}=t??{};this.rateLimiter=i??new Ft,this.standardRetryStrategy=new Nt(e)}async acquireInitialRetryToken(e){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,t){return this.rateLimiter.updateClientSendingRate(t),this.standardRetryStrategy.refreshRetryTokenForRetry(e,t)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}}var Vt=i(95391);const Ut=e=>e instanceof Error?e:e instanceof Object?Object.assign(new Error,e):"string"==typeof e?new Error(e):new Error(`AWS SDK error wrapper for ${e}`),jt=e=>{const t={errorType:zt(e)},i=Ht(e.$response);return i&&(t.retryAfterHint=i),t},zt=e=>Rt(e)?"THROTTLING":Dt(e)?"TRANSIENT":(e=>{if(void 0!==e.$metadata?.httpStatusCode){const t=e.$metadata.httpStatusCode;return 500<=t&&t<=599&&!Dt(e)}return!1})(e)?"SERVER_ERROR":"CLIENT_ERROR",$t={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0},Ht=e=>{if(!l.isInstance(e))return;const t=Object.keys(e.headers).find(e=>"retry-after"===e.toLowerCase());if(!t)return;const i=e.headers[t],n=Number(i);return Number.isNaN(n)?new Date(i):new Date(1e3*n)};class Wt{trace(){}debug(){}info(){}warn(){}error(){}}const qt=()=>{let e=[],t=[];const i=new Set,n=i=>(e.forEach(e=>{i.add(e.middleware,{...e})}),t.forEach(e=>{i.addRelativeTo(e.middleware,{...e})}),i),r=e=>{const t=[];return e.before.forEach(e=>{0===e.before.length&&0===e.after.length?t.push(e):t.push(...r(e))}),t.push(e),e.after.reverse().forEach(e=>{0===e.before.length&&0===e.after.length?t.push(e):t.push(...r(e))}),t},o=(i=!1)=>{const n=[],o=[],s={};
2e.forEach(e=>{const t={...e,before:[],after:[]};t.name&&(s[t.name]=t),n.push(t)}),t.forEach(e=>{const t={...e,before:[],after:[]};t.name&&(s[t.name]=t),o.push(t)}),o.forEach(e=>{if(e.toMiddleware){const t=s[e.toMiddleware];if(void 0===t){if(i)return;throw new Error(`${e.toMiddleware} is not found when adding ${e.name||"anonymous"} middleware ${e.relation} ${e.toMiddleware}`)}"after"===e.relation&&t.after.push(e),"before"===e.relation&&t.before.push(e)}});const a=(d=n,d.sort((e,t)=>Kt[t.step]-Kt[e.step]||Gt[t.priority||"normal"]-Gt[e.priority||"normal"])).map(r).reduce((e,t)=>(e.push(...t),e),[]);var d;return a},s={add:(t,n={})=>{const{name:r,override:o}=n,s={step:"initialize",priority:"normal",middleware:t,...n};if(r){if(i.has(r)){if(!o)throw new Error(`Duplicate middleware name '${r}'`);const t=e.findIndex(e=>e.name===r),i=e[t];if(i.step!==s.step||i.priority!==s.priority)throw new Error(`"${r}" middleware with ${i.priority} priority in ${i.step} step cannot be overridden by same-name middleware with ${s.priority} priority in ${s.step} step.`);e.splice(t,1)}i.add(r)}e.push(s)},addRelativeTo:(e,n)=>{const{name:r,override:o}=n,s={middleware:e,...n};if(r){if(i.has(r)){if(!o)throw new Error(`Duplicate middleware name '${r}'`);const e=t.findIndex(e=>e.name===r),i=t[e];if(i.toMiddleware!==s.toMiddleware||i.relation!==s.relation)throw new Error(`"${r}" middleware ${i.relation} "${i.toMiddleware}" middleware cannot be overridden by same-name middleware ${s.relation} "${s.toMiddleware}" middleware.`);t.splice(e,1)}i.add(r)}t.push(s)},clone:()=>n(qt()),use:e=>{e.applyToStack(s)},remove:n=>"string"==typeof n?(n=>{let r=!1;const o=e=>!e.name||e.name!==n||(r=!0,i.delete(n),!1);return e=e.filter(o),t=t.filter(o),r})(n):(n=>{let r=!1;const o=e=>e.middleware!==n||(r=!0,e.name&&i.delete(e.name),!1);return e=e.filter(o),t=t.filter(o),r})(n),removeByTag:n=>{let r=!1;const o=e=>{const{tags:t,name:o}=e;return!t||!t.includes(n)||(o&&i.delete(o),r=!0,!1)};return e=e.filter(o),t=t.filter(o),r},concat:e=>{const t=n(qt());return t.use(e),t},applyToStack:n,identify:()=>o(!0).map(e=>e.name+": "+(e.tags||[]).join(",")),resolve:(e,t)=>{for(const i of o().map(e=>e.middleware).reverse())e=i(e,t);return e}};return s},Kt={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},Gt={high:3,normal:2,low:1};class Jt{constructor(e){this.middlewareStack=qt(),this.config=e}send(e,t,i){const n="function"!=typeof t?t:void 0,r="function"==typeof t?t:i,o=e.resolveMiddleware(this.middlewareStack,this.config,n);if(!r)return o(e).then(e=>e.output);o(e).then(e=>r(null,e.output),e=>r(e)).catch(()=>{})}destroy(){this.config.requestHandler.destroy&&this.config.requestHandler.destroy()}}const Qt={},Xt=new Array(64);for(let e=0,t="A".charCodeAt(0),i="Z".charCodeAt(0);e+t<=i;e++){const i=String.fromCharCode(e+t);Qt[i]=e,Xt[e]=i}for(let e=0,t="a".charCodeAt(0),i="z".charCodeAt(0);e+t<=i;e++){const i=String.fromCharCode(e+t),n=e+26;Qt[i]=n,Xt[n]=i}for(let e=0;e<10;e++){Qt[e.toString(10)]=e+52;const t=e.toString(10),i=e+52;Qt[t]=i,Xt[i]=t}Qt["+"]=62,Xt[62]="+",Qt["/"]=63,Xt[63]="/";const Zt=e=>{let t=e.length/4*3;"=="===e.slice(-2)?t-=2:"="===e.slice(-1)&&t--;const i=new ArrayBuffer(t),n=new DataView(i);for(let t=0;t<e.length;t+=4){let i=0,r=0;for(let n=t,o=t+3;n<=o;n++)if("="!==e[n]){if(!(e[n]in Qt))throw new TypeError(`Invalid character ${e[n]} in base64 string.`);i|=Qt[e[n]]<<6*(o-n),r+=6}else i>>=6;const o=t/4*3;i>>=r%8;const s=Math.floor(r/8);for(let e=0;e<s;e++){const t=8*(s-e-1);n.setUint8(o+e,(i&255<<t)>>t)}}return new Uint8Array(i)};function Yt(e){let t="";for(let i=0;i<e.length;i+=3){let n=0,r=0;for(let t=i,o=Math.min(i+3,e.length);t<o;t++)n|=e[t]<<8*(o-t-1),r+=8;const o=Math.ceil(r/6);n<<=6*o-r;for(let e=1;e<=o;e++){const i=6*(o-e);t+=Xt[(n&63<<i)>>i]}
2t+="==".slice(0,4-o)}return t}class ei extends Uint8Array{static fromString(e,t="utf-8"){if("string"==typeof e)return function(e,t){return"base64"===t?ei.mutate(Zt(e)):ei.mutate(F(e))}(e,t);throw new Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,ei.prototype),e}transformToString(e="utf-8"){return function(e,t="utf-8"){return"base64"===t?Yt(e):D(e)}(this,e)}}function ti(e=0){return new Promise((t,i)=>{e&&setTimeout(()=>{const t=new Error(`Request did not complete within ${e} ms`);t.name="TimeoutError",i(t)},e)})}class ii{constructor(e){"function"==typeof e?this.configProvider=e().then(e=>e||{}):(this.config=e??{},this.configProvider=Promise.resolve(this.config))}destroy(){}async handle(e,{abortSignal:t}={}){this.config||(this.config=await this.configProvider);const i=this.config.requestTimeout;if(t?.aborted){const e=new Error("Request aborted");return e.name="AbortError",Promise.reject(e)}let n=e.path;const r=function(e){const t=[];for(let i of Object.keys(e).sort()){const n=e[i];if(i=ne(i),Array.isArray(n))for(let e=0,r=n.length;e<r;e++)t.push(`${i}=${ne(n[e])}`);else{let e=i;(n||"string"==typeof n)&&(e+=`=${ne(n)}`),t.push(e)}}return t.join("&")}(e.query||{});r&&(n+=`?${r}`),e.fragment&&(n+=`#${e.fragment}`);let o="";null==e.username&&null==e.password||(o=`${e.username??""}:${e.password??""}@`);const{port:s,method:a}=e,d=`${e.protocol}//${o}${e.hostname}${s?`:${s}`:""}${n}`,c={body:"GET"===a||"HEAD"===a?void 0:e.body,headers:new Headers(e.headers),method:a};"undefined"!=typeof AbortController&&(c.signal=t);const u=new Request(d,c),h=[fetch(u).then(e=>{const t=e.headers,i={};for(const e of t.entries())i[e[0]]=e[1];return null!=e.body?{response:new l({headers:i,reason:e.statusText,statusCode:e.status,body:e.body})}:e.blob().then(t=>({response:new l({headers:i,reason:e.statusText,statusCode:e.status,body:t})}))}),ti(i)];return t&&h.push(new Promise((e,i)=>{t.onabort=()=>{const e=new Error("Request aborted");e.name="AbortError",i(e)}})),Promise.race(h)}}const ni=e=>"function"==typeof Blob&&e instanceof Blob?async function(e){const t=await function(e){return new Promise((t,i)=>{const n=new FileReader;n.onloadend=()=>{if(2!==n.readyState)return i(new Error("Reader aborted too early"));const e=n.result??"",r=e.indexOf(","),o=r>-1?r+1:e.length;t(e.substring(o))},n.onabort=()=>i(new Error("Read aborted")),n.onerror=()=>i(n.error),n.readAsDataURL(e)})}(e),i=Zt(t);return new Uint8Array(i)}(e):async function(e){let t=new Uint8Array(0);const i=e.getReader();let n=!1;for(;!n;){const{done:e,value:r}=await i.read();if(r){const e=t;t=new Uint8Array(e.length+r.length),t.set(e),t.set(r,e.length)}n=e}return t}(e),ri=async(e=new Uint8Array,t)=>{if(e instanceof Uint8Array)return ei.mutate(e);if(!e)return ei.mutate(new Uint8Array);const i=t.streamCollector(e);return ei.mutate(await i)};class oi{constructor(){this.middlewareStack=qt()}}const si="***SensitiveInformation***",ai=e=>{if(null!=e){if("number"==typeof e){if(0!==e&&1!==e||mi.warn(fi(`Expected boolean, got ${typeof e}: ${e}`)),0===e)return!1;if(1===e)return!0}if("string"==typeof e){const t=e.toLowerCase();if("false"!==t&&"true"!==t||mi.warn(fi(`Expected boolean, got ${typeof e}: ${e}`)),"false"===t)return!1;if("true"===t)return!0}if("boolean"==typeof e)return e;throw new TypeError(`Expected boolean, got ${typeof e}: ${e}`)}},di=e=>{if(null!=e){if("string"==typeof e){const t=parseFloat(e);if(!Number.isNaN(t))return String(t)!==String(e)&&mi.warn(fi(`Expected number but observed string: ${e}`)),t}if("number"==typeof e)return e;throw new TypeError(`Expected number, got ${typeof e}: ${e}`)}},ci=(Math.ceil(2**127*(2-2**-23)),(e,t)=>{if(null==e){if(t)throw new TypeError(`Expected a non-null value for ${t}`);throw new TypeError("Expected a non-null value")}return e}),li=e=>{if(null==e)return;if("object"==typeof e&&!Array.isArray(e))return e;const t=Array.isArray(e)?"array":typeof e;throw new TypeError(`Expected object, got ${t}: ${e}`)},ui=e=>{if(null!=e){if("string"==typeof e)return e;if(["boolean","number","bigint"].includes(typeof e))return mi.warn(fi(`Expected string, got ${typeof e}: ${e}`)),String(e);throw new TypeError(`Expected string, got ${typeof e}: ${e}`)}},hi=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,pi=e=>{const t=e.match(hi);if(null===t||t[0].length!==e.length)throw new TypeError("Expected real number, got implicit NaN");return parseFloat(e)},fi=e=>String(new TypeError(e).stack||e).split("\n").slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join("\n"),mi={warn:console.warn},gi=e=>{if(null==e)return;let t;if("number"==typeof e)t=e;else{if("string"!=typeof e)throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");t=(e=>di("string"==typeof e?pi(e):e))(e)}if(Number.isNaN(t)||t===1/0||t===-1/0)throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(1e3*t))};
2class vi extends Error{constructor(e){super(e.message),Object.setPrototypeOf(this,vi.prototype),this.name=e.name,this.$fault=e.$fault,this.$metadata=e.$metadata}}const bi=(e,t={})=>{Object.entries(t).filter(([,e])=>void 0!==e).forEach(([t,i])=>{null!=e[t]&&""!==e[t]||(e[t]=i)});const i=e.message||e.Message||"UnknownError";return e.message=i,delete e.Message,e},yi=e=>{switch(e){case"standard":case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"mobile":return{retryMode:"standard",connectionTimeout:3e4};default:return{}}},Si=function(){const e=Object.getPrototypeOf(this).constructor,t=new(Function.bind.apply(String,[null,...arguments]));return Object.setPrototypeOf(t,e.prototype),t};function wi(e,t,i){let n,r,o;if(void 0===t&&void 0===i)n={},o=e;else{if(n=e,"function"==typeof t)return r=t,o=i,ki(n,r,o);o=t}for(const e of Object.keys(o))Array.isArray(o[e])?Ei(n,null,o,e):n[e]=o[e];return n}Si.prototype=Object.create(String.prototype,{constructor:{value:Si,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(Si,String);const Ci=(e,t)=>{const i={};for(const n in t)Ei(i,e,t,n);return i},ki=(e,t,i)=>wi(e,Object.entries(i).reduce((e,[i,n])=>(Array.isArray(n)?e[i]=n:e[i]="function"==typeof n?[t,n()]:[t,n],e),{})),Ei=(e,t,i,n)=>{if(null!==t){let r=i[n];"function"==typeof r&&(r=[,r]);const[o=Ti,s=Ii,a=n]=r;return void(("function"==typeof o&&o(t[a])||"function"!=typeof o&&o)&&(e[n]=s(t[a])))}let[r,o]=i[n];if("function"==typeof o){let t;const i=void 0===r&&null!=(t=o()),s="function"==typeof r&&!!r(void 0)||"function"!=typeof r&&!!r;i?e[n]=t:s&&(e[n]=o())}else{const t=void 0===r&&null!=o,i="function"==typeof r&&!!r(o)||"function"!=typeof r&&!!r;(t||i)&&(e[n]=o)}},Ti=e=>null!=e,Ii=e=>e;function xi(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}const Ai=(e,t,i,n,r,o)=>{if(null==t||void 0===t[i])throw new Error("No value provided for input HTTP label: "+i+".");{const t=n();if(t.length<=0)throw new Error("Empty value provided for input HTTP label: "+i+".");e=e.replace(r,o?t.split("/").map(e=>xi(e)).join("/"):xi(t))}return e},Pi=e=>{if(null==e)return{};if(Array.isArray(e))return e.filter(e=>null!=e);if("object"==typeof e){const t={};for(const i of Object.keys(e))null!=e[i]&&(t[i]=Pi(e[i]));return t}return e};var Oi=i(44862),_i=i(86636),Mi=i.n(_i);const Ri=({serviceId:e,clientVersion:t})=>async()=>{const i="undefined"!=typeof window&&window?.navigator?.userAgent?Mi().parse(window.navigator.userAgent):void 0,n=[["aws-sdk-js",t],["ua","2.0"],[`os/${i?.os?.name||"other"}`,i?.os?.version],["lang/js"],["md/browser",`${i?.browser?.name??"unknown"}_${i?.browser?.version??"unknown"}`]];return e&&n.push([`api/${e}`,t]),n},Di=e=>{if("string"==typeof e){let t=e.length;for(let i=t-1;i>=0;i--){const n=e.charCodeAt(i);n>127&&n<=2047?t++:n>2047&&n<=65535&&(t+=2),n>=56320&&n<=57343&&i--}return t}if("number"==typeof e.byteLength)return e.byteLength;if("number"==typeof e.size)return e.size;throw new Error(`Body Length computation failed for ${e}`)},Fi="required",Li="fn",Ni="argv",Bi="ref",Vi="isSet",Ui="tree",ji="error",zi="endpoint",$i="PartitionResult",Hi={[Fi]:!1,type:"String"},Wi={[Fi]:!0,default:!1,type:"Boolean"},qi={[Bi]:"Endpoint"},Ki={[Li]:"booleanEquals",[Ni]:[{[Bi]:"UseFIPS"},!0]},Gi={[Li]:"booleanEquals",[Ni]:[{[Bi]:"UseDualStack"},!0]},Ji={},Qi={[Li]:"booleanEquals",[Ni]:[!0,{[Li]:"getAttr",[Ni]:[{[Bi]:$i},"supportsFIPS"]}]},Xi={[Li]:"booleanEquals",[Ni]:[!0,{[Li]:"getAttr",[Ni]:[{[Bi]:$i},"supportsDualStack"]}]},Zi=[Ki],Yi=[Gi],en=[{[Bi]:"Region"}],tn={version:"1.0",parameters:{Region:Hi,UseDualStack:Wi,UseFIPS:Wi,Endpoint:Hi},rules:[{conditions:[{[Li]:Vi,[Ni]:[qi]}],type:Ui,rules:[{conditions:Zi,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:ji},{type:Ui,rules:[{conditions:Yi,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:ji},{endpoint:{url:qi,properties:Ji,headers:Ji},type:zi}]}]},{type:Ui,rules:[{conditions:[{[Li]:Vi,[Ni]:en}],type:Ui,rules:[{conditions:[{[Li]:"aws.partition",[Ni]:en,assign:$i}],type:Ui,rules:[{conditions:[Ki,Gi],type:Ui,rules:[{conditions:[Qi,Xi],type:Ui,rules:[{type:Ui,rules:[{endpoint:{url:"https://messaging-chime-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:Ji,headers:Ji},type:zi}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:ji}]},{conditions:Zi,type:Ui,rules:[{conditions:[Qi],type:Ui,rules:[{type:Ui,rules:[{endpoint:{url:"https://messaging-chime-fips.{Region}.{PartitionResult#dnsSuffix}",properties:Ji,headers:Ji},type:zi}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:ji}]},{conditions:Yi,type:Ui,rules:[{conditions:[Xi],type:Ui,rules:[{type:Ui,rules:[{endpoint:{url:"https://messaging-chime.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:Ji,headers:Ji},type:zi}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:ji}]},{type:Ui,rules:[{endpoint:{url:"https://messaging-chime.{Region}.{PartitionResult#dnsSuffix}",properties:Ji,headers:Ji},type:zi}]}]}]},{error:"Invalid Configuration: Missing Region",type:ji}]}]},nn=(e,t={})=>((e,t)=>{const{endpointParams:i,logger:n}=t,{parameters:r,rules:o}=e;t.logger?.debug?.(`${ke} Initial EndpointParams: ${Ee(i)}`);const s=Object.entries(r).filter(([,e])=>null!=e.default).map(([e,t])=>[e,t.default]);if(s.length>0)for(const[e,t]of s)i[e]=i[e]??t;const a=Object.entries(r).filter(([,e])=>e.required).map(([e])=>e);for(const e of a)if(null==i[e])throw new Te(`Missing required parameter: '${e}'`);const d=rt(o,{endpointParams:i,logger:n,referenceRecord:{}});if(t.endpointParams?.Endpoint)try{const e=new URL(t.endpointParams.Endpoint),{protocol:i,port:n}=e;d.url.protocol=i,d.url.port=n}catch(e){}return t.logger?.debug?.(`${ke} Resolved endpoint: ${Ee(d)}`),d})(tn,{endpointParams:e,logger:t.logger}),rn=["in-region","cross-region","mobile","standard","legacy"],on=e=>{const t=(({defaultsMode:e}={})=>m(async()=>{const t="function"==typeof e?await e():e;switch(t?.toLowerCase()){case"auto":return Promise.resolve((()=>{const e="undefined"!=typeof window&&window?.navigator?.userAgent?Mi().parse(window.navigator.userAgent):void 0,t=e?.platform?.type;return"tablet"===t||"mobile"===t})()?"mobile":"standard");case"mobile":case"in-region":case"cross-region":case"standard":case"legacy":return Promise.resolve(t?.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw new Error(`Invalid parameter for "defaultsMode", expect ${rn.join(", ")}, got ${t}`)}}))(e),i=()=>t().then(yi),n=(e=>({apiVersion:"2021-05-15",base64Decoder:e?.base64Decoder??Zt,base64Encoder:e?.base64Encoder??Yt,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??nn,logger:e?.logger??new Wt,serviceId:e?.
2serviceId??"Chime SDK Messaging",urlParser:e?.urlParser??It,utf8Decoder:e?.utf8Decoder??F,utf8Encoder:e?.utf8Encoder??D}))(e);return{...n,...e,runtime:"browser",defaultsMode:t,bodyLengthChecker:e?.bodyLengthChecker??Di,credentialDefaultProvider:e?.credentialDefaultProvider??(e=>()=>Promise.reject(new Error("Credential is missing"))),defaultUserAgentProvider:e?.defaultUserAgentProvider??Ri({serviceId:n.serviceId,clientVersion:"3.369.0"}),maxAttempts:e?.maxAttempts??3,region:e?.region??(()=>Promise.reject("Region is missing")),requestHandler:e?.requestHandler??new ii(i),retryMode:e?.retryMode??(async()=>(await i()).retryMode||At),sha256:e?.sha256??Oi.Sha256,streamCollector:e?.streamCollector??ni,useDualstackEndpoint:e?.useDualstackEndpoint??(()=>Promise.resolve(!1)),useFipsEndpoint:e?.useFipsEndpoint??(()=>Promise.resolve(!1))}};class sn extends Jt{constructor(e){var t;const i=(e=>{const{region:t,useFipsEndpoint:i}=e;if(!t)throw new Error("Region is missing");return{...e,region:async()=>{if("string"==typeof t)return pt(t);const e=await t();return pt(e)},useFipsEndpoint:async()=>{const e="string"==typeof t?t:await t();return!!ht(e)||("function"!=typeof i?Promise.resolve(!!i):i())}}})((t=on(e),{...t,useDualstackEndpoint:t.useDualstackEndpoint??!1,useFipsEndpoint:t.useFipsEndpoint??!1,defaultSigningName:"chime"})),n=(e=>{const{retryStrategy:t}=e,i=R(e.maxAttempts??3);return{...e,maxAttempts:i,retryStrategy:async()=>t||(await R(e.retryMode)()===xt.ADAPTIVE?new Bt(i):new Nt(i))}})((e=>{const t=e.tls??!0,{endpoint:i}=e,n=null!=i?async()=>(e=>"object"==typeof e?"url"in e?It(e.url):e:It(e))(await R(i)()):void 0,r=!!i;return{...e,endpoint:n,tls:t,isCustomEndpoint:r,useDualstackEndpoint:R(e.useDualstackEndpoint??!1),useFipsEndpoint:R(e.useFipsEndpoint??!1)}})(i)),r=(e=>{const t=e.credentials?"function"==typeof(o=e.credentials)?m(o,e=>void 0!==e.expiration&&e.expiration.getTime()-Date.now()<3e5,e=>void 0!==e.expiration):R(o):e.credentialDefaultProvider(e),{signingEscapePath:i=!0,systemClockOffset:n=e.systemClockOffset||0,sha256:r}=e;var o;let s;return s=e.signer?R(e.signer):e.regionInfoProvider?()=>R(e.region)().then(async t=>[await e.regionInfoProvider(t,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},t]).then(([n,o])=>{const{signingRegion:s,signingService:a}=n;e.signingRegion=e.signingRegion||s||o,e.signingName=e.signingName||a||e.serviceId;const d={...e,credentials:t,region:e.signingRegion,service:e.signingName,sha256:r,uriEscapePath:i};return new(e.signerConstructor||ce)(d)}):async n=>{const o=(n=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await R(e.region)(),properties:{}},n)).signingRegion,s=n.signingName;e.signingRegion=e.signingRegion||o,e.signingName=e.signingName||s||e.serviceId;const a={...e,credentials:t,region:e.signingRegion,service:e.signingName,sha256:r,uriEscapePath:i};return new(e.signerConstructor||ce)(a)},{...e,systemClockOffset:n,signingEscapePath:i,credentials:t,signer:s}})(n),o=(s=r,{...s,customUserAgent:"string"==typeof s.customUserAgent?[[s.customUserAgent]]:s.customUserAgent});var s,a;super(o),this.config=o,this.middlewareStack.use((e=>({applyToStack:t=>{t.add((e=>(t,i)=>async n=>{let r=await e.retryStrategy();const o=await e.maxAttempts();if(!(e=>void 0!==e.acquireInitialRetryToken&&void 0!==e.refreshRetryTokenForRetry&&void 0!==e.recordSuccess)(r))return r?.mode&&(i.userAgent=[...i.userAgent||[],["cfg/retry-mode",r.mode]]),r.retry(t,n);{let e=await r.acquireInitialRetryToken(i.partition_id),s=new Error,a=0,d=0;const{request:l}=n;for(c.isInstance(l)&&(l.headers["amz-sdk-invocation-id"]=(0,Vt.A)());;)try{c.isInstance(l)&&(l.headers["amz-sdk-request"]=`attempt=${a+1}; max=${o}`);const{response:i,output:s}=await t(n);return r.recordSuccess(e),s.$metadata.attempts=a+1,s.$metadata.totalRetryDelay=d,{response:i,output:s}}catch(t){const i=jt(t);s=Ut(t);try{e=await r.refreshRetryTokenForRetry(e,i)}catch(e){throw s.$metadata||(s.$metadata={}),s.$metadata.attempts=a+1,s.$metadata.totalRetryDelay=d,s}a=e.getRetryCount();const n=e.getRetryDelay();d+=n,await new Promise(e=>setTimeout(e,n))}}})(e),$t)}}))(this.config)),this.middlewareStack.use((e=>({applyToStack:t=>{var i;t.add((i=e.bodyLengthChecker,e=>async t=>{const n=t.request;if(c.isInstance(n)){const{body:e,headers:t}=n;if(e&&-1===Object.keys(t).map(e=>e.toLowerCase()).indexOf(ft))try{const t=i(e);n.headers={...n.headers,[ft]:String(t)}}catch(e){}}return e({...t,request:n})}),mt)}}))(this.config)),this.middlewareStack.use((e=>({applyToStack:t=>{t.add((e=>t=>async i=>{if(!c.isInstance(i.request))return t(i);const{request:n}=i,{handlerProtocol:r=""}=e.requestHandler.metadata||{};if(r.indexOf("h2")>=0&&!n.headers[":authority"])delete n.headers.host,n.headers[":authority"]="";else if(!n.headers.host){let e=n.hostname;null!=n.port&&(e+=`:${n.port}`),n.headers.host=e}return t(i)})(e),u)}}))(this.config)),this.middlewareStack.use((this.config,{applyToStack:e=>{e.add((e,t)=>async i=>{try{const n=await e(i),{clientName:r,commandName:o,logger:s,dynamoDbDocumentClientOptions:a={}}=t,{overrideInputFilterSensitiveLog:d,overrideOutputFilterSensitiveLog:c}=a,l=d??t.inputFilterSensitiveLog,u=c??t.outputFilterSensitiveLog,{$metadata:h,...p}=n.output;
2return s?.info?.({clientName:r,commandName:o,input:l(i.input),output:u(p),metadata:h}),n}catch(e){const{clientName:n,commandName:r,logger:o,dynamoDbDocumentClientOptions:s={}}=t,{overrideInputFilterSensitiveLog:a}=s,d=a??t.inputFilterSensitiveLog;throw o?.error?.({clientName:n,commandName:r,input:d(i.input),error:e,metadata:e.$metadata}),e}},h)}})),this.middlewareStack.use((e=>({applyToStack:t=>{t.add((e=>t=>async i=>{const{request:n}=i;if(!c.isInstance(n)||"node"!==e.runtime||n.headers.hasOwnProperty(p))return t(i);const r=process.env.AWS_LAMBDA_FUNCTION_NAME,o=process.env._X_AMZN_TRACE_ID,s=e=>"string"==typeof e&&e.length>0;return s(r)&&s(o)&&(n.headers[p]=o),t({...i,request:n})})(e),f)}}))(this.config)),this.middlewareStack.use((e=>({applyToStack:t=>{t.addRelativeTo((e=>(t,i)=>async function(n){if(!c.isInstance(n.request))return t(n);const r=i.endpointV2?.properties?.authSchemes?.[0],o="sigv4a"===r?.name?r?.signingRegionSet?.join(","):void 0,s=await e.signer(r),a=await t({...n,request:await s.sign(n.request,{signingDate:he(e.systemClockOffset),signingRegion:o||i.signing_region,signingService:i.signing_service})}).catch(t=>{const i=t.ServerTime??fe(t.$response);throw i&&(e.systemClockOffset=pe(i,e.systemClockOffset)),t}),d=fe(a.response);return d&&(e.systemClockOffset=pe(d,e.systemClockOffset)),a})(e),me)}}))(this.config)),this.middlewareStack.use((a=this.config,{applyToStack:e=>{var t;e.add((t=a,(e,i)=>async n=>{const{request:r}=n;if(!c.isInstance(r))return e(n);const{headers:o}=r,s=i?.userAgent?.map(ct)||[],a=(await t.defaultUserAgentProvider()).map(ct),d=t?.customUserAgent?.map(ct)||[],l=Ce(),u=(l?[l]:[]).concat([...a,...s,...d]).join(" "),h=[...a.filter(e=>e.startsWith("aws-sdk-")),...d].join(" ");return"browser"!==t.runtime?(h&&(o[st]=o[st]?`${o[ot]} ${h}`:h),o[ot]=u):o[st]=u,e({...n,request:r})}),lt)}}))}destroy(){super.destroy()}}class an extends vi{constructor(e){super(e),Object.setPrototypeOf(this,an.prototype)}}const dn={ALL:"ALL",FILTERED:"FILTERED",NONE:"NONE"},cn={DEFAULT:"DEFAULT",HIDDEN:"HIDDEN"},ln={AccessDenied:"AccessDenied",BadRequest:"BadRequest",Conflict:"Conflict",Forbidden:"Forbidden",NotFound:"NotFound",PhoneNumberAssociationsExist:"PhoneNumberAssociationsExist",PreconditionFailed:"PreconditionFailed",ResourceLimitExceeded:"ResourceLimitExceeded",ServiceFailure:"ServiceFailure",ServiceUnavailable:"ServiceUnavailable",Throttled:"Throttled",Throttling:"Throttling",Unauthorized:"Unauthorized",Unprocessable:"Unprocessable",VoiceConnectorGroupAssociationsExist:"VoiceConnectorGroupAssociationsExist"};class un extends an{constructor(e){super({name:"BadRequestException",$fault:"client",...e}),this.name="BadRequestException",this.$fault="client",Object.setPrototypeOf(this,un.prototype),this.Code=e.Code,this.Message=e.Message}}class hn extends an{constructor(e){super({name:"ConflictException",$fault:"client",...e}),this.name="ConflictException",this.$fault="client",Object.setPrototypeOf(this,hn.prototype),this.Code=e.Code,this.Message=e.Message}}class pn extends an{constructor(e){super({name:"ForbiddenException",$fault:"client",...e}),this.name="ForbiddenException",this.$fault="client",Object.setPrototypeOf(this,pn.prototype),this.Code=e.Code,this.Message=e.Message}}class fn extends an{constructor(e){super({name:"NotFoundException",$fault:"client",...e}),this.name="NotFoundException",this.$fault="client",Object.setPrototypeOf(this,fn.prototype),this.Code=e.Code,this.Message=e.Message}}class mn extends an{constructor(e){super({name:"ServiceFailureException",$fault:"server",...e}),this.name="ServiceFailureException",this.$fault="server",Object.setPrototypeOf(this,mn.prototype),this.Code=e.Code,this.Message=e.Message}}class gn extends an{constructor(e){super({name:"ServiceUnavailableException",$fault:"server",...e}),this.name="ServiceUnavailableException",this.$fault="server",Object.setPrototypeOf(this,gn.prototype),this.Code=e.Code,this.Message=e.Message}}class vn extends an{constructor(e){super({name:"ThrottledClientException",$fault:"client",...e}),this.name="ThrottledClientException",this.$fault="client",Object.setPrototypeOf(this,vn.prototype),this.Code=e.Code,this.Message=e.Message}}class bn extends an{constructor(e){super({name:"UnauthorizedClientException",$fault:"client",...e}),this.name="UnauthorizedClientException",this.$fault="client",Object.setPrototypeOf(this,bn.prototype),this.Code=e.Code,this.Message=e.Message}}class yn extends an{constructor(e){super({name:"ResourceLimitExceededException",$fault:"client",...e}),this.name="ResourceLimitExceededException",this.$fault="client",Object.setPrototypeOf(this,yn.prototype),this.Code=e.Code,this.Message=e.Message}}const Sn={CREATED_TIMESTAMP:"CREATED_TIMESTAMP",LAST_MESSAGE_TIMESTAMP:"LAST_MESSAGE_TIMESTAMP"},wn={RESTRICTED:"RESTRICTED",UNRESTRICTED:"UNRESTRICTED"},Cn={PRIVATE:"PRIVATE",PUBLIC:"PUBLIC"},kn={ASYNC:"ASYNC"},En={ABORT:"ABORT",CONTINUE:"CONTINUE"},Tn={DEFAULT:"DEFAULT",VOIP:"VOIP"},In={NON_PERSISTENT:"NON_PERSISTENT",PERSISTENT:"PERSISTENT"},xn={DENIED:"DENIED",FAILED:"FAILED",PENDING:"PENDING",SENT:"SENT"}
2,An={CONTROL:"CONTROL",STANDARD:"STANDARD"},Pn={Channel:"Channel",ChannelMessage:"ChannelMessage"},On={ASCENDING:"ASCENDING",DESCENDING:"DESCENDING"},_n={MEMBERS:"MEMBERS"},Mn={EQUALS:"EQUALS",INCLUDES:"INCLUDES"},Rn=e=>({...e,...e.Name&&{Name:si}}),Dn=e=>({...e,...e.InvitedBy&&{InvitedBy:Rn(e.InvitedBy)},...e.Members&&{Members:e.Members.map(e=>Rn(e))}}),Fn=e=>({...e,...e.BatchChannelMemberships&&{BatchChannelMemberships:Dn(e.BatchChannelMemberships)}}),Ln=e=>({...e,...e.Name&&{Name:si},...e.Metadata&&{Metadata:si},...e.CreatedBy&&{CreatedBy:Rn(e.CreatedBy)}}),Nn=e=>({...e,...e.Name&&{Name:si},...e.Metadata&&{Metadata:si}}),Bn=e=>({...e,...e.Member&&{Member:Rn(e.Member)},...e.CreatedBy&&{CreatedBy:Rn(e.CreatedBy)}}),Vn=e=>({...e,...e.Member&&{Member:Rn(e.Member)}}),Un=e=>({...e,...e.Name&&{Name:si}}),jn=e=>({...e,...e.Processors&&{Processors:e.Processors.map(e=>Un(e))},...e.Name&&{Name:si}}),zn=e=>({...e,...e.StringValues&&{StringValues:si}}),$n=e=>({...e,...e.Title&&{Title:si},...e.Body&&{Body:si}}),Hn=e=>({...e,...e.Content&&{Content:si},...e.Metadata&&{Metadata:si},...e.PushNotification&&{PushNotification:$n(e.PushNotification)},...e.MessageAttributes&&{MessageAttributes:Object.entries(e.MessageAttributes).reduce((e,[t,i])=>(e[t]=zn(i),e),{})},...e.ContentType&&{ContentType:si}}),Wn=e=>({...e,...e.ChannelMessage&&{ChannelMessage:Hn(e.ChannelMessage)}}),qn=e=>({...e,...e.Name&&{Name:si},...e.Processors&&{Processors:e.Processors.map(e=>Un(e))}}),Kn=e=>({...e,...e.InvitedBy&&{InvitedBy:Rn(e.InvitedBy)},...e.Member&&{Member:Rn(e.Member)}}),Gn=e=>({...e,...e.Name&&{Name:si},...e.Metadata&&{Metadata:si}}),Jn=e=>({...e,...e.ChannelSummary&&{ChannelSummary:Gn(e.ChannelSummary)}}),Qn=e=>({...e,...e.FilterRule&&{FilterRule:si}}),Xn=e=>({...e,...e.PushNotifications&&{PushNotifications:Qn(e.PushNotifications)}}),Zn=e=>({...e,...e.Member&&{Member:Rn(e.Member)}}),Yn=e=>({...e,...e.Content&&{Content:si},...e.Metadata&&{Metadata:si},...e.Sender&&{Sender:Rn(e.Sender)},...e.MessageAttributes&&{MessageAttributes:Object.entries(e.MessageAttributes).reduce((e,[t,i])=>(e[t]=zn(i),e),{})},...e.ContentType&&{ContentType:si}}),er=e=>({...e,...e.Content&&{Content:si},...e.Metadata&&{Metadata:si},...e.Sender&&{Sender:Rn(e.Sender)},...e.MessageAttributes&&{MessageAttributes:Object.entries(e.MessageAttributes).reduce((e,[t,i])=>(e[t]=zn(i),e),{})},...e.ContentType&&{ContentType:si}}),tr=e=>({...e,...e.ChannelSummary&&{ChannelSummary:Gn(e.ChannelSummary)}}),ir=e=>({...e,...e.Moderator&&{Moderator:Rn(e.Moderator)},...e.CreatedBy&&{CreatedBy:Rn(e.CreatedBy)}}),nr=e=>({...e,...e.Moderator&&{Moderator:Rn(e.Moderator)}}),rr=e=>({...e,...e.Key&&{Key:si},...e.Value&&{Value:si}}),or=e=>({...e,...e.Name&&{Name:si},...e.Metadata&&{Metadata:si},...e.ClientRequestToken&&{ClientRequestToken:si},...e.Tags&&{Tags:e.Tags.map(e=>rr(e))},...e.ChannelId&&{ChannelId:si}}),sr=e=>({...e,...e.Member&&{Member:Rn(e.Member)}}),ar=e=>({...e,...e.Processors&&{Processors:e.Processors.map(e=>Un(e))},...e.Name&&{Name:si},...e.Tags&&{Tags:e.Tags.map(e=>rr(e))},...e.ClientRequestToken&&{ClientRequestToken:si}}),dr=e=>({...e,...e.Member&&{Member:Rn(e.Member)}}),cr=e=>({...e,...e.ChannelModerator&&{ChannelModerator:Rn(e.ChannelModerator)}}),lr=e=>({...e,...e.Channel&&{Channel:Ln(e.Channel)}}),ur=e=>({...e,...e.ChannelBan&&{ChannelBan:Bn(e.ChannelBan)}}),hr=e=>({...e,...e.ChannelFlow&&{ChannelFlow:jn(e.ChannelFlow)}}),pr=e=>({...e,...e.ChannelMembership&&{ChannelMembership:Kn(e.ChannelMembership)}}),fr=e=>({...e,...e.ChannelMembership&&{ChannelMembership:Jn(e.ChannelMembership)}}),mr=e=>({...e,...e.Channel&&{Channel:tr(e.Channel)}}),gr=e=>({...e,...e.ChannelModerator&&{ChannelModerator:ir(e.ChannelModerator)}}),vr=e=>({...e,...e.Member&&{Member:Rn(e.Member)},...e.Preferences&&{Preferences:Xn(e.Preferences)}}),br=e=>({...e,...e.ChannelMessage&&{ChannelMessage:Yn(e.ChannelMessage)}}),yr=e=>({...e,...e.NextToken&&{NextToken:si}}),Sr=e=>({...e,...e.NextToken&&{NextToken:si},...e.ChannelBans&&{ChannelBans:e.ChannelBans.map(e=>Vn(e))}}),wr=e=>({...e,...e.NextToken&&{NextToken:si}}),Cr=e=>({...e,...e.ChannelFlows&&{ChannelFlows:e.ChannelFlows.map(e=>qn(e))},...e.NextToken&&{NextToken:si}}),kr=e=>({...e,...e.NextToken&&{NextToken:si}}),Er=e=>({...e,...e.ChannelMemberships&&{ChannelMemberships:e.ChannelMemberships.map(e=>Zn(e))},...e.NextToken&&{NextToken:si}}),Tr=e=>({...e,...e.NextToken&&{NextToken:si}}),Ir=e=>({...e,...e.ChannelMemberships&&{ChannelMemberships:e.ChannelMemberships.map(e=>Jn(e))},...e.NextToken&&{NextToken:si}}),xr=e=>({...e,...e.NextToken&&{NextToken:si}}),Ar=e=>({...e,...e.NextToken&&{NextToken:si},...e.ChannelMessages&&{ChannelMessages:e.ChannelMessages.map(e=>er(e))}}),Pr=e=>({...e,...e.NextToken&&{NextToken:si}}),Or=e=>({...e,...e.NextToken&&{NextToken:si},...e.ChannelModerators&&{ChannelModerators:e.ChannelModerators.map(e=>nr(e))}}),_r=e=>({...e,...e.NextToken&&{NextToken:si}}),Mr=e=>({...e,...e.Channels&&{Channels:e.Channels.map(e=>Gn(e))},...e.NextToken&&{NextToken:si}}),Rr=e=>({...e,...e.NextToken&&{NextToken:si}}),Dr=e=>({...e,...e.Channels&&{Channels:e.Channels.map(e=>Nn(e))},...e.NextToken&&{NextToken:si}}),Fr=e=>({...e,...e.NextToken&&{NextToken:si}}),Lr=e=>({...e,...e.Channels&&{Channels:e.Channels.map(e=>tr(e))},...e.NextToken&&{NextToken:si}}),Nr=e=>({...e,...e.NextToken&&{NextToken:si}}),Br=e=>({...e,...e.NextToken&&{NextToken:si}}),Vr=e=>({...e,...e.Tags&&{Tags:e.Tags.map(e=>rr(e))}}),Ur=e=>({...e,...e.Preferences&&{Preferences:Xn(e.Preferences)}}),jr=e=>({...e,...e.Member&&{Member:Rn(e.Member)},...e.Preferences&&{Preferences:Xn(e.Preferences)}}),zr=e=>({...e,...e.NextToken&&{NextToken:si}}),$r=e=>({...e,...e.Channels&&{Channels:e.Channels.map(e=>Gn(e))},...e.NextToken&&{NextToken:si}}),Hr=e=>({...e,...e.Content&&{Content:si},...e.Metadata&&{Metadata:si},...e.ClientRequestToken&&{ClientRequestToken:si},...e.PushNotification&&{PushNotification:$n(e.PushNotification)},...e.MessageAttributes&&{MessageAttributes:Object.entries(e.MessageAttributes).reduce((e,[t,i])=>(e[t]=zn(i),e),{})},...e.ContentType&&{ContentType:si}}),Wr=e=>({...e,...e.Tags&&{Tags:e.Tags.map(e=>rr(e))}}),qr=e=>({...e,...e.TagKeys&&{TagKeys:si}}),Kr=e=>({...e,...e.Name&&{Name:si},...e.Metadata&&{Metadata:si}}),Gr=e=>({...e,...e.Processors&&{Processors:e.Processors.map(e=>Un(e))},...e.Name&&{Name:si}}
2),Jr=e=>({...e,...e.Content&&{Content:si},...e.Metadata&&{Metadata:si},...e.ContentType&&{ContentType:si}}),Qr=(Xr=an,({output:e,parsedBody:t,errorCode:i})=>{(({output:e,parsedBody:t,exceptionCtor:i,errorCode:n})=>{const r=(e=>({httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}))(e),o=r.httpStatusCode?r.httpStatusCode+"":void 0,s=new i({name:t?.code||t?.Code||n||o||"UnknownError",$fault:"client",$metadata:r});throw bi(s,t)})({output:e,parsedBody:t,exceptionCtor:Xr,errorCode:i})});var Xr;const Zr=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new un({$metadata:ho(e),...i});return bi(o,e.body)},Yr=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new hn({$metadata:ho(e),...i});return bi(o,e.body)},eo=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new pn({$metadata:ho(e),...i});return bi(o,e.body)},to=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new fn({$metadata:ho(e),...i});return bi(o,e.body)},io=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new yn({$metadata:ho(e),...i});return bi(o,e.body)},no=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new mn({$metadata:ho(e),...i});return bi(o,e.body)},ro=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new gn({$metadata:ho(e),...i});return bi(o,e.body)},oo=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new vn({$metadata:ho(e),...i});return bi(o,e.body)},so=async(e,t)=>{const i=wi({}),n=e.body,r=Ci(n,{Code:ui,Message:ui});Object.assign(i,r);const o=new bn({$metadata:ho(e),...i});return bi(o,e.body)},ao=(e,t)=>Ci(e,{AppInstanceUserMembershipSummary:e=>(e=>Ci(e,{ReadMarkerTimestamp:e=>ci(gi(di(e))),SubChannelId:ui,Type:ui}))(e),ChannelSummary:e=>lo(e,t)}),co=(e,t)=>Ci(e,{ChannelSummary:e=>lo(e,t)}),lo=(e,t)=>Ci(e,{ChannelArn:ui,LastMessageTimestamp:e=>ci(gi(di(e))),Metadata:ui,Mode:ui,Name:ui,Privacy:ui}),uo=(e,t)=>{const i=(e||[]).filter(e=>null!=e).map(e=>lo(e,t));return i},ho=e=>({httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}),po=e=>!(null==e||""===e||Object.getOwnPropertyNames(e).includes("length")&&0==e.length||Object.getOwnPropertyNames(e).includes("size")&&0==e.size),fo=(e,t)=>((e,t)=>ri(e,t).then(e=>t.utf8Encoder(e)))(e,t).then(e=>e.length?JSON.parse(e):{}),mo=async(e,t)=>{const i=await fo(e,t);return i.message=i.message??i.Message,i},go=(e,t)=>{const i=e=>{let t=e;return"number"==typeof t&&(t=t.toString()),t.indexOf(",")>=0&&(t=t.split(",")[0]),t.indexOf(":")>=0&&(t=t.split(":")[0]),t.indexOf("#")>=0&&(t=t.split("#")[1]),t},n=(r=e.headers,Object.keys(r).find(e=>e.toLowerCase()==="x-amzn-errortype".toLowerCase()));var r;return void 0!==n?i(e.headers[n]):void 0!==t.code?i(t.code):void 0!==t.__type?i(t.__type):void 0};class vo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,vo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"AssociateChannelFlowCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/channel-flow`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{ChannelFlowArn:[]})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class bo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,bo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"BatchCreateChannelMembershipCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:Fn},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({operation:[,"batch-create"]});let l;return l=JSON.stringify(Ci(e,{MemberArns:e=>Pi(e),SubChannelId:[],Type:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:a,query:d,body:l})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{BatchChannelMemberships:Pi,Errors:Pi});return Object.assign(i,r),i})(e,t)}}class yo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,yo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ChannelFlowCallbackCommand",inputFilterSensitiveLog:Wn,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;s=Ai(s,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const a=wi({operation:[,"channel-flow-callback"]});let d;return d=JSON.stringify(Ci(e,{CallbackId:[!0,e=>e??(0,Vt.A)()],ChannelMessage:e=>Pi(e),DeleteResource:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:{"content-type":"application/json"},path:s,query:a,body:d})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{CallbackId:ui,ChannelArn:ui});return Object.assign(i,r),i})(e,t)}}
2class So extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,So.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"CreateChannelBanCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:sr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/bans`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{MemberArn:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,Member:Pi});return Object.assign(i,r),i})(e,t)}}class wo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,wo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"CreateChannelCommand",inputFilterSensitiveLog:or,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer}),a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`;let d;return d=JSON.stringify(Ci(e,{AppInstanceArn:[],ChannelId:[],ClientRequestToken:[!0,e=>e??(0,Vt.A)()],ElasticChannelConfiguration:e=>Pi(e),ExpirationSettings:e=>Pi(e),MemberArns:e=>Pi(e),Metadata:[],Mode:[],ModeratorArns:e=>Pi(e),Name:[],Privacy:[],Tags:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:a,body:d})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui});return Object.assign(i,r),i})(e,t)}}
2class Co extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Co.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"CreateChannelFlowCommand",inputFilterSensitiveLog:ar,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channel-flows`;let a;return a=JSON.stringify(Ci(e,{AppInstanceArn:[],ClientRequestToken:[!0,e=>e??(0,Vt.A)()],Name:[],Processors:e=>Pi(e),Tags:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:{"content-type":"application/json"},path:s,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelFlowArn:ui});return Object.assign(i,r),i})(e,t)}}class ko extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ko.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"CreateChannelMembershipCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:dr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{MemberArn:[],SubChannelId:[],Type:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,Member:Pi,SubChannelId:ui});return Object.assign(i,r),i})(e,t)}}
2class Eo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Eo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"CreateChannelModeratorCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:cr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/moderators`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{ChannelModeratorArn:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ChannelModerator:Pi});return Object.assign(i,r),i})(e,t)}}class To extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,To.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelBanCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/bans/{MemberArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class Io extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Io.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}class xo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,xo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelFlowCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channel-flows/{ChannelFlowArn}`;return s=Ai(s,e,"ChannelFlowArn",()=>e.ChannelFlowArn,"{ChannelFlowArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:{},path:s,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class Ao extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Ao.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelMembershipCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships/{MemberArn}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1);const d=wi({"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}class Po extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Po.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelMessageCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages/{MessageId}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MessageId",()=>e.MessageId,"{MessageId}",!1);const d=wi({"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class Oo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Oo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteChannelModeratorCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/moderators/{ChannelModeratorArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"ChannelModeratorArn",()=>e.ChannelModeratorArn,"{ChannelModeratorArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}class _o extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,_o.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DeleteMessagingStreamingConfigurationsCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/app-instances/{AppInstanceArn}/streaming-configurations`;return s=Ai(s,e,"AppInstanceArn",()=>e.AppInstanceArn,"{AppInstanceArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:{},path:s,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class Mo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Mo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelBanCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:ur},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/bans/{MemberArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelBan:e=>(e=>Ci(e,{ChannelArn:ui,CreatedBy:Pi,CreatedTimestamp:e=>ci(gi(di(e))),Member:Pi}))(e)});return Object.assign(i,r),i})(e,t)}}class Ro extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Ro.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:lr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channel:e=>(e=>Ci(e,{ChannelArn:ui,ChannelFlowArn:ui,CreatedBy:Pi,CreatedTimestamp:e=>ci(gi(di(e))),ElasticChannelConfiguration:Pi,ExpirationSettings:Pi,LastMessageTimestamp:e=>ci(gi(di(e))),LastUpdatedTimestamp:e=>ci(gi(di(e))),Metadata:ui,Mode:ui,Name:ui,Privacy:ui}))(e)});return Object.assign(i,r),i})(e,t)}}
2class Do extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Do.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelFlowCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:hr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channel-flows/{ChannelFlowArn}`;return s=Ai(s,e,"ChannelFlowArn",()=>e.ChannelFlowArn,"{ChannelFlowArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:{},path:s,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelFlow:e=>(e=>Ci(e,{ChannelFlowArn:ui,CreatedTimestamp:e=>ci(gi(di(e))),LastUpdatedTimestamp:e=>ci(gi(di(e))),Name:ui,Processors:Pi}))(e)});return Object.assign(i,r),i})(e,t)}}class Fo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Fo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelMembershipCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:pr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships/{MemberArn}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1);const d=wi({"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelMembership:e=>(e=>Ci(e,{ChannelArn:ui,CreatedTimestamp:e=>ci(gi(di(e))),InvitedBy:Pi,LastUpdatedTimestamp:e=>ci(gi(di(e))),Member:Pi,SubChannelId:ui,Type:ui}))(e)});return Object.assign(i,r),i})(e,t)}}
2class Lo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Lo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelMembershipForAppInstanceUserCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:fr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({scope:[,"app-instance-user-membership"],"app-instance-user-arn":[,ci(e.AppInstanceUserArn,"AppInstanceUserArn")]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelMembership:e=>ao(e,t)});return Object.assign(i,r),i})(e,t)}}class No extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,No.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelModeratedByAppInstanceUserCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:mr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({scope:[,"app-instance-user-moderated-channel"],"app-instance-user-arn":[,ci(e.AppInstanceUserArn,"AppInstanceUserArn")]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channel:e=>co(e,t)});return Object.assign(i,r),i})(e,t)}}
2class Bo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Bo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DescribeChannelModeratorCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:gr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/moderators/{ChannelModeratorArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"ChannelModeratorArn",()=>e.ChannelModeratorArn,"{ChannelModeratorArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelModerator:e=>(e=>Ci(e,{ChannelArn:ui,CreatedBy:Pi,CreatedTimestamp:e=>ci(gi(di(e))),Moderator:Pi}))(e)});return Object.assign(i,r),i})(e,t)}}class Vo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Vo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"DisassociateChannelFlowCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/channel-flow/{ChannelFlowArn}`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"ChannelFlowArn",()=>e.ChannelFlowArn,"{ChannelFlowArn}",!1),new c({protocol:n,hostname:i,port:r,method:"DELETE",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class Uo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Uo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"GetChannelMembershipPreferencesCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:vr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships/{MemberArn}/preferences`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,Member:Pi,Preferences:Pi});return Object.assign(i,r),i})(e,t)}}class jo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,jo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"GetChannelMessageCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:br},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages/{MessageId}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MessageId",()=>e.MessageId,"{MessageId}",!1);const d=wi({"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelMessage:e=>(e=>Ci(e,{ChannelArn:ui,Content:ui,ContentType:ui,CreatedTimestamp:e=>ci(gi(di(e))),LastEditedTimestamp:e=>ci(gi(di(e))),LastUpdatedTimestamp:e=>ci(gi(di(e))),MessageAttributes:Pi,MessageId:ui,Metadata:ui,Persistence:ui,Redacted:ai,Sender:Pi,Status:Pi,SubChannelId:ui,Target:Pi,Type:ui}))(e)});return Object.assign(i,r),i})(e,t)}}
2class zo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,zo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"GetChannelMessageStatusCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages/{MessageId}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MessageId",()=>e.MessageId,"{MessageId}",!1);const d=wi({scope:[,"message-status"],"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Status:Pi});return Object.assign(i,r),i})(e,t)}}class $o extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,$o.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"GetMessagingSessionEndpointCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/endpoints/messaging-session`;let a;return a="",new c({protocol:n,hostname:i,port:r,method:"GET",headers:{"content-type":"application/json"},path:s,body:""})})(0,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Endpoint:Pi});return Object.assign(i,r),i})(e,t)}}
2class Ho extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Ho.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"GetMessagingStreamingConfigurationsCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/app-instances/{AppInstanceArn}/streaming-configurations`;return s=Ai(s,e,"AppInstanceArn",()=>e.AppInstanceArn,"{AppInstanceArn}",!1),new c({protocol:n,hostname:i,port:r,method:"GET",headers:{},path:s,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{StreamingConfigurations:Pi});return Object.assign(i,r),i})(e,t)}}class Wo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Wo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelBansCommand",inputFilterSensitiveLog:yr,outputFilterSensitiveLog:Sr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/bans`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ChannelBans:Pi,NextToken:ui});return Object.assign(i,r),i})(e,t)}}
2class qo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,qo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelFlowsCommand",inputFilterSensitiveLog:wr,outputFilterSensitiveLog:Cr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channel-flows`,a=wi({"app-instance-arn":[,ci(e.AppInstanceArn,"AppInstanceArn")],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:{},path:s,query:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelFlows:Pi,NextToken:ui});return Object.assign(i,r),i})(e,t)}}class Ko extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Ko.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelMembershipsCommand",inputFilterSensitiveLog:kr,outputFilterSensitiveLog:Er},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({type:[,e.Type],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken],"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ChannelMemberships:Pi,NextToken:ui});return Object.assign(i,r),i})(e,t)}}
2class Go extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Go.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelMembershipsForAppInstanceUserCommand",inputFilterSensitiveLog:Tr,outputFilterSensitiveLog:Ir},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer}),a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`,d=wi({scope:[,"app-instance-user-memberships"],"app-instance-user-arn":[,e.AppInstanceUserArn],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelMemberships:e=>((e,t)=>{const i=(e||[]).filter(e=>null!=e).map(e=>ao(e,t));return i})(e,t),NextToken:ui});return Object.assign(i,r),i})(e,t)}}class Jo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Jo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelMessagesCommand",inputFilterSensitiveLog:xr,outputFilterSensitiveLog:Ar},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({"sort-order":[,e.SortOrder],"not-before":[()=>void 0!==e.NotBefore,()=>(e.NotBefore.toISOString().split(".")[0]+"Z").toString()],"not-after":[()=>void 0!==e.NotAfter,()=>(e.NotAfter.toISOString().split(".")[0]+"Z").toString()],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken],"sub-channel-id":[,e.SubChannelId]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ChannelMessages:e=>(e=>{const t=(e||[]).filter(e=>null!=e).map(e=>(e=>Ci(e,{Content:ui,ContentType:ui,CreatedTimestamp:e=>ci(gi(di(e))),LastEditedTimestamp:e=>ci(gi(di(e))),LastUpdatedTimestamp:e=>ci(gi(di(e))),MessageAttributes:Pi,MessageId:ui,Metadata:ui,Redacted:ai,Sender:Pi,Status:Pi,Target:Pi,Type:ui}))(e));return t})(e),NextToken:ui,SubChannelId:ui});return Object.assign(i,r),i})(e,t)}}
2class Qo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Qo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelModeratorsCommand",inputFilterSensitiveLog:Pr,outputFilterSensitiveLog:Or},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/moderators`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ChannelModerators:Pi,NextToken:ui});return Object.assign(i,r),i})(e,t)}}class Xo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Xo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelsAssociatedWithChannelFlowCommand",inputFilterSensitiveLog:Rr,outputFilterSensitiveLog:Dr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`,a=wi({scope:[,"channel-flow-associations"],"channel-flow-arn":[,ci(e.ChannelFlowArn,"ChannelFlowArn")],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:{},path:s,query:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channels:Pi,NextToken:ui});return Object.assign(i,r),i})(e,t)}}
2class Zo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Zo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelsCommand",inputFilterSensitiveLog:_r,outputFilterSensitiveLog:Mr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer}),a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`,d=wi({"app-instance-arn":[,ci(e.AppInstanceArn,"AppInstanceArn")],privacy:[,e.Privacy],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channels:e=>uo(e,t),NextToken:ui});return Object.assign(i,r),i})(e,t)}}class Yo extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,Yo.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListChannelsModeratedByAppInstanceUserCommand",inputFilterSensitiveLog:Fr,outputFilterSensitiveLog:Lr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer}),a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`,d=wi({scope:[,"app-instance-user-moderated-channels"],"app-instance-user-arn":[,e.AppInstanceUserArn],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channels:e=>((e,t)=>{const i=(e||[]).filter(e=>null!=e).map(e=>co(e,t));return i})(e,t),NextToken:ui});return Object.assign(i,r),i})(e,t)}}
2class es extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,es.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListSubChannelsCommand",inputFilterSensitiveLog:Nr,outputFilterSensitiveLog:Br},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/subchannels`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1);const d=wi({"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:s,path:a,query:d,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,NextToken:ui,SubChannels:Pi});return Object.assign(i,r),i})(e,t)}}class ts extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ts.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"ListTagsForResourceCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:Vr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/tags`,a=wi({arn:[,ci(e.ResourceARN,"ResourceARN")]});return new c({protocol:n,hostname:i,port:r,method:"GET",headers:{},path:s,query:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Tags:Pi});return Object.assign(i,r),i})(e,t)}}
2class is extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,is.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"PutChannelExpirationSettingsCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/expiration-settings`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{ExpirationSettings:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,ExpirationSettings:Pi});return Object.assign(i,r),i})(e,t)}}class ns extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ns.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"PutChannelMembershipPreferencesCommand",inputFilterSensitiveLog:Ur,outputFilterSensitiveLog:jr},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/memberships/{MemberArn}/preferences`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),d=Ai(d,e,"MemberArn",()=>e.MemberArn,"{MemberArn}",!1),a=JSON.stringify(Ci(e,{Preferences:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,Member:Pi,Preferences:Pi});return Object.assign(i,r),i})(e,t)}}
2class rs extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,rs.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"PutMessagingStreamingConfigurationsCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s,a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/app-instances/{AppInstanceArn}/streaming-configurations`;return a=Ai(a,e,"AppInstanceArn",()=>e.AppInstanceArn,"{AppInstanceArn}",!1),s=JSON.stringify(Ci(e,{StreamingConfigurations:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:{"content-type":"application/json"},path:a,body:s})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"NotFoundException":case"com.amazonaws.chimesdkmessaging#NotFoundException":throw await to(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{StreamingConfigurations:Pi});return Object.assign(i,r),i})(e,t)}}class os extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,os.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"RedactChannelMessageCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages/{MessageId}`;a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=Ai(a,e,"MessageId",()=>e.MessageId,"{MessageId}",!1);const d=wi({operation:[,"redact"]});let l;return l=JSON.stringify(Ci(e,{SubChannelId:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:a,query:d,body:l})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,MessageId:ui,SubChannelId:ui});return Object.assign(i,r),i})(e,t)}}
2class ss extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ss.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"SearchChannelsCommand",inputFilterSensitiveLog:zr,outputFilterSensitiveLog:$r},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer}),a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels`,d=wi({operation:[,"search"],"max-results":[()=>void 0!==e.MaxResults,()=>e.MaxResults.toString()],"next-token":[,e.NextToken]});let l;return l=JSON.stringify(Ci(e,{Fields:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:a,query:d,body:l})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{Channels:e=>uo(e,t),NextToken:ui});return Object.assign(i,r),i})(e,t)}}class as extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,as.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"SendChannelMessageCommand",inputFilterSensitiveLog:Hr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{ClientRequestToken:[!0,e=>e??(0,Vt.A)()],Content:[],ContentType:[],MessageAttributes:e=>Pi(e),Metadata:[],Persistence:[],PushNotification:e=>Pi(e),SubChannelId:[],Target:e=>Pi(e),Type:[]})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(201!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,MessageId:ui,Status:Pi,SubChannelId:ui});return Object.assign(i,r),i})(e,t)}}
2class ds extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ds.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"TagResourceCommand",inputFilterSensitiveLog:Wr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/tags`,a=wi({operation:[,"tag-resource"]});let d;return d=JSON.stringify(Ci(e,{ResourceARN:[],Tags:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:{"content-type":"application/json"},path:s,query:a,body:d})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ResourceLimitExceededException":case"com.amazonaws.chimesdkmessaging#ResourceLimitExceededException":throw await io(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}class cs extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,cs.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"UntagResourceCommand",inputFilterSensitiveLog:qr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=`${o?.endsWith("/")?o.slice(0,-1):o||""}/tags`,a=wi({operation:[,"untag-resource"]});let d;return d=JSON.stringify(Ci(e,{ResourceARN:[],TagKeys:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"POST",headers:{"content-type":"application/json"},path:s,query:a,body:d})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(204!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)});return await ri(e.body,t),i})(e,t)}}
2class ls extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ls.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"UpdateChannelCommand",inputFilterSensitiveLog:Kr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),a=JSON.stringify(Ci(e,{Metadata:[],Mode:[],Name:[]})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui});return Object.assign(i,r),i})(e,t)}}class us extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,us.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"Update
2ChannelFlowCommand",inputFilterSensitiveLog:Gr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint();let s,a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channel-flows/{ChannelFlowArn}`;return a=Ai(a,e,"ChannelFlowArn",()=>e.ChannelFlowArn,"{ChannelFlowArn}",!1),s=JSON.stringify(Ci(e,{Name:[],Processors:e=>Pi(e)})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:{"content-type":"application/json"},path:a,body:s})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelFlowArn:ui});return Object.assign(i,r),i})(e,t)}}class hs extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,hs.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"Update
2ChannelMessageCommand",inputFilterSensitiveLog:Jr,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"content-type":"application/json","x-amz-chime-bearer":e.ChimeBearer});let a,d=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/messages/{MessageId}`;return d=Ai(d,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),d=Ai(d,e,"MessageId",()=>e.MessageId,"{MessageId}",!1),a=JSON.stringify(Ci(e,{Content:[],ContentType:[],Metadata:[],SubChannelId:[]})),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:d,body:a})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui,MessageId:ui,Status:Pi,SubChannelId:ui});return Object.assign(i,r),i})(e,t)}}class ps extends oi{static getEndpointParameterInstructions(){return{UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}}}constructor(e){super(),this.input=e}resolveMiddleware(e,t,i){this.middlewareStack.use(bt(t,this.serialize,this.deserialize)),this.middlewareStack.use(Tt(t,ps.getEndpointParameterInstructions()));const n=e.concat(this.middlewareStack),{logger:r}=t,o={logger:r,clientName:"ChimeSDKMessagingClient",commandName:"Update
2ChannelReadMarkerCommand",inputFilterSensitiveLog:e=>e,outputFilterSensitiveLog:e=>e},{requestHandler:s}=t;return n.resolve(e=>s.handle(e.request,i||{}),o)}serialize(e,t){return(async(e,t)=>{const{hostname:i,protocol:n="https",port:r,path:o}=await t.endpoint(),s=wi({},po,{"x-amz-chime-bearer":e.ChimeBearer});let a=`${o?.endsWith("/")?o.slice(0,-1):o||""}/channels/{ChannelArn}/readMarker`;return a=Ai(a,e,"ChannelArn",()=>e.ChannelArn,"{ChannelArn}",!1),new c({protocol:n,hostname:i,port:r,method:"PUT",headers:s,path:a,body:void 0})})(e,t)}deserialize(e,t){return(async(e,t)=>{if(200!==e.statusCode&&e.statusCode>=300)return(async(e,t)=>{const i={...e,body:await mo(e.body,t)},n=go(e,i.body);switch(n){case"BadRequestException":case"com.amazonaws.chimesdkmessaging#BadRequestException":throw await Zr(i,t);case"ConflictException":case"com.amazonaws.chimesdkmessaging#ConflictException":throw await Yr(i,t);case"ForbiddenException":case"com.amazonaws.chimesdkmessaging#ForbiddenException":throw await eo(i,t);case"ServiceFailureException":case"com.amazonaws.chimesdkmessaging#ServiceFailureException":throw await no(i,t);case"ServiceUnavailableException":case"com.amazonaws.chimesdkmessaging#ServiceUnavailableException":throw await ro(i,t);case"ThrottledClientException":case"com.amazonaws.chimesdkmessaging#ThrottledClientException":throw await oo(i,t);case"UnauthorizedClientException":case"com.amazonaws.chimesdkmessaging#UnauthorizedClientException":throw await so(i,t);default:const r=i.body;return Qr({output:e,parsedBody:r,errorCode:n})}})(e,t);const i=wi({$metadata:ho(e)}),n=ci(li(await fo(e.body,t)),"body"),r=Ci(n,{ChannelArn:ui});return Object.assign(i,r),i})(e,t)}}const fs={AssociateChannelFlowCommand:vo,BatchCreateChannelMembershipCommand:bo,ChannelFlowCallbackCommand:yo,CreateChannelCommand:wo,CreateChannelBanCommand:So,CreateChannelFlowCommand:Co,CreateChannelMembershipCommand:ko,CreateChannelModeratorCommand:Eo,DeleteChannelCommand:Io,DeleteChannelBanCommand:To,DeleteChannelFlowCommand:xo,DeleteChannelMembershipCommand:Ao,DeleteChannelMessageCommand:Po,DeleteChannelModeratorCommand:Oo,DeleteMessagingStreamingConfigurationsCommand:_o,DescribeChannelCommand:Ro,DescribeChannelBanCommand:Mo,DescribeChannelFlowCommand:Do,DescribeChannelMembershipCommand:Fo,DescribeChannelMembershipForAppInstanceUserCommand:Lo,DescribeChannelModeratedByAppInstanceUserCommand:No,DescribeChannelModeratorCommand:Bo,DisassociateChannelFlowCommand:Vo,GetChannelMembershipPreferencesCommand:Uo,GetChannelMessageCommand:jo,GetChannelMessageStatusCommand:zo,GetMessagingSessionEndpointCommand:$o,GetMessagingStreamingConfigurationsCommand:Ho,ListChannelBansCommand:Wo,ListChannelFlowsCommand:qo,ListChannelMembershipsCommand:Ko,ListChannelMembershipsForAppInstanceUserCommand:Go,ListChannelMessagesCommand:Jo,ListChannelModeratorsCommand:Qo,ListChannelsCommand:Zo,ListChannelsAssociatedWithChannelFlowCommand:Xo,ListChannelsModeratedByAppInstanceUserCommand:Yo,ListSubChannelsCommand:es,ListTagsForResourceCommand:ts,PutChannelExpirationSettingsCommand:is,PutChannelMembershipPreferencesCommand:ns,PutMessagingStreamingConfigurationsCommand:rs,RedactChannelMessageCommand:os,SearchChannelsCommand:ss,SendChannelMessageCommand:as,TagResourceCommand:ds,UntagResourceCommand:cs,UpdateChannelCommand:ls,UpdateChannelFlowCommand:us,UpdateChannelMessageCommand:hs,UpdateChannelReadMarkerCommand:ps};class ms extends sn{}((e,t)=>{for(const i of Object.keys(e)){const n=e[i],r=async function(e,t,i){const r=new n(e);if("function"==typeof t)this.send(r,t);else{if("function"!=typeof i)return this.send(r,t);if("object"!=typeof t)throw new Error("Expected http options but got "+typeof t);this.send(r,t||{},i)}},o=(i[0].toLowerCase()+i.slice(1)).replace(/Command$/,"");t.prototype[o]=r}})(fs,ms);const gs=async(e,t,...i)=>await e.send(new Wo(t),...i);async function*vs(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await gs(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const bs=async(e,t,...i)=>await e.send(new qo(t),...i);async function*ys(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await bs(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Ss=async(e,t,...i)=>await e.send(new Go(t),...i);async function*ws(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Ss(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Cs=async(e,t,...i)=>await e.send(new Ko(t),...i);async function*ks(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Cs(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Es=async(e,t,...i)=>await e.send(new Jo(t),...i);async function*Ts(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Es(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Is=async(e,t,...i)=>await e.send(new Qo(t),...i);async function*xs(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Is(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const As=async(e,t,...i)=>await e.send(new Xo(t),...i);async function*Ps(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await As(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Os=async(e,t,...i)=>await e.send(new Yo(t),...i);async function*_s(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");
2n=await Os(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Ms=async(e,t,...i)=>await e.send(new Zo(t),...i);async function*Rs(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Ms(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Ds=async(e,t,...i)=>await e.send(new es(t),...i);async function*Fs(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Ds(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}const Ls=async(e,t,...i)=>await e.send(new ss(t),...i);async function*Ns(e,t,...i){let n,r=e.startingToken||void 0,o=!0;for(;o;){if(t.NextToken=r,t.MaxResults=e.pageSize,!(e.client instanceof sn))throw new Error("Invalid client, expected ChimeSDKMessaging | ChimeSDKMessagingClient");n=await Ls(e.client,t,...i),yield n;const s=r;r=n.NextToken,o=!(!r||e.stopOnSameToken&&r===s)}}},76572(e,t,i){"use strict";i.r(t),i.d(t,{fromHex:()=>o,toHex:()=>s});const n={},r={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();1===t.length&&(t=`0${t}`),n[e]=t,r[t]=e}function o(e){if(e.length%2!=0)throw new Error("Hex encoded strings must have an even number length");const t=new Uint8Array(e.length/2);for(let i=0;i<e.length;i+=2){const n=e.slice(i,i+2).toLowerCase();if(!(n in r))throw new Error(`Cannot decode unrecognized sequence ${n} as hexadecimal`);t[i/2]=r[n]}return t}function s(e){let t="";for(let i=0;i<e.byteLength;i++)t+=n[e[i]];return t}},79334(e,t,i){"use strict";i.r(t),i.d(t,{locateWindow:()=>r});const n={};function r(){return"undefined"!=typeof window?window:"undefined"!=typeof self?self:n}},57602(e,t,i){"use strict";i.r(t),i.d(t,{fromUtf8:()=>n,toUtf8:()=>r});const n=e=>"function"==typeof TextEncoder?function(e){return(new TextEncoder).encode(e)}(e):(e=>{const t=[];for(let i=0,n=e.length;i<n;i++){const n=e.charCodeAt(i);if(n<128)t.push(n);else if(n<2048)t.push(n>>6|192,63&n|128);else if(i+1<e.length&&55296==(64512&n)&&56320==(64512&e.charCodeAt(i+1))){const r=65536+((1023&n)<<10)+(1023&e.charCodeAt(++i));t.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else t.push(n>>12|224,n>>6&63|128,63&n|128)}return Uint8Array.from(t)})(e),r=e=>"function"==typeof TextDecoder?function(e){return new TextDecoder("utf-8").decode(e)}(e):(e=>{let t="";for(let i=0,n=e.length;i<n;i++){const n=e[i];if(n<128)t+=String.fromCharCode(n);else if(192<=n&&n<224){const r=e[++i];t+=String.fromCharCode((31&n)<<6|63&r)}else if(240<=n&&n<365){const r="%"+[n,e[++i],e[++i],e[++i]].map(e=>e.toString(16)).join("%");t+=decodeURIComponent(r)}else t+=String.fromCharCode((15&n)<<12|(63&e[++i])<<6|63&e[++i])}return t})(e)},86233(e){"use strict";e.exports=function(e,t){for(var i=new Array(arguments.length-1),n=0,r=2,o=!0;r<arguments.length;)i[n++]=arguments[r++];return new Promise(function(r,s){i[n]=function(e){if(o)if(o=!1,e)s(e);else{for(var t=new Array(arguments.length-1),i=0;i<t.length;)t[i++]=arguments[i];r.apply(null,t)}};try{e.apply(t||null,i)}catch(e){o&&(o=!1,s(e))}})}},1979(e,t){"use strict";var i=t;i.length=function(e){var t=e.length;if(!t)return 0;for(var i=0;--t%4>1&&"="===e.charAt(t);)++i;return Math.ceil(3*e.length)/4-i};for(var n=new Array(64),r=new Array(123),o=0;o<64;)r[n[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;i.encode=function(e,t,i){for(var r,o=null,s=[],a=0,d=0;t<i;){var c=e[t++];switch(d){case 0:s[a++]=n[c>>2],r=(3&c)<<4,d=1;break;case 1:s[a++]=n[r|c>>4],r=(15&c)<<2,d=2;break;case 2:s[a++]=n[r|c>>6],s[a++]=n[63&c],d=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0)}return d&&(s[a++]=n[r],s[a++]=61,1===d&&(s[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};var s="invalid encoding";i.decode=function(e,t,i){for(var n,o=i,a=0,d=0;d<e.length;){var c=e.charCodeAt(d++);if(61===c&&a>1)break;
vendor: 2,535 bytes, line 2
2if(void 0===(c=r[c]))throw Error(s);switch(a){case 0:n=c,a=1;break;case 1:t[i++]=n<<2|(48&c)>>4,n=c,a=2;break;case 2:t[i++]=(15&n)<<4|(60&c)>>2,n=c,a=3;break;case 3:t[i++]=(3&n)<<6|c,a=0}}if(1===a)throw Error(s);return i-o},i.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},23474(e){"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,i){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:i||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var i=this._listeners[e],n=0;n<i.length;)i[n].fn===t?i.splice(n,1):++n;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var i=[],n=1;n<arguments.length;)i.push(arguments[n++]);for(n=0;n<t.length;)t[n].fn.apply(t[n++].ctx,i)}return this}},45750(e){"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),i=new Uint8Array(t.buffer),n=128===i[3];function r(e,n,r){t[0]=e,n[r]=i[0],n[r+1]=i[1],n[r+2]=i[2],n[r+3]=i[3]}function o(e,n,r){t[0]=e,n[r]=i[3],n[r+1]=i[2],n[r+2]=i[1],n[r+3]=i[0]}function s(e,n){return i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],t[0]}function a(e,n){return i[3]=e[n],i[2]=e[n+1],i[1]=e[n+2],i[0]=e[n+3],t[0]}e.writeFloatLE=n?r:o,e.writeFloatBE=n?o:r,e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(e,t,i,n){var r=t<0?1:0;if(r&&(t=-t),0===t)e(1/t>0?0:2147483648,i,n);else if(isNaN(t))e(2143289344,i,n);else if(t>34028234663852886e22)e((r<<31|2139095040)>>>0,i,n);else if(t<11754943508222875e-54)e((r<<31|Math.round(t/1401298464324817e-60))>>>0,i,n);else{var o=Math.floor(Math.log(t)/Math.LN2);e((r<<31|o+127<<23|8388607&Math.round(t*Math.pow(2,-o)*8388608))>>>0,i,n)}}function s(e,t,i){var n=e(t,i),r=2*(n>>31)+1,o=n>>>23&255,s=8388607&n;return 255===o?s?NaN:r*(1/0):0===o?1401298464324817e-60*r*s:r*Math.pow(2,o-150)*(s+8388608)}e.writeFloatLE=t.bind(null,i),e.writeFloatBE=t.bind(null,n),e.readFloatLE=s.bind(null,r),e.readFloatBE=s.bind(null,o)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),i=new Uint8Array(t.buffer),n=128===i[7];function r(e,n,r){t[0]=e,n[r]=i[0],n[r+1]=i[1],n[r+2]=i[2],n[r+3]=i[3],n[r+4]=i[4],n[r+5]=i[5],n[r+6]=i[6],n[r+7]=i[7]}function o(e,n,r){t[0]=e,n[r]=i[7],n[r+1]=i[6],n[r+2]=i[5],n[r+3]=i[4],n[r+4]=i[3],n[r+5]=i[2],n[r+6]=i[1],n[r+7]=i[0]}function s(e,n){return i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[
26]=e[n+6],i[7]=e[n+7],t[0]}function a(e,n){return i[7]=e[n],i[6]=e[n+1],i[5]=e[n+2],i[4]=e[n+3],i[3]=e[n+4],i[2]=e[n+5],i[1]=e[n+6],i[0]=e[n+7],t[0]}e.writeDoubleLE=n?r:o,e.writeDoubleBE=n?o:r,e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(e,t,i,n,r,o){var s=n<0?1:0;if(s&&(n=-n),0===n)e(0,r,o+t),e(1/n>0?0:2147483648,r,o+i);else if(isNaN(n))e(0,r,o+t),e(2146959360,r,o+i);else if(n>17976931348623157e292)e(0,r,o+t),e((s<<31|2146435072)>>>0,r,o+i);else{var a;if(n<22250738585072014e-324)e((a=n/5e-324)>>>0,r,o+t),e((s<<31|a/4294967296)>>>0,r,o+i);else{var d=Math.floor(Math.log(n)/Math.LN2);1024===d&&(d=1023),e(4503599627370496*(a=n*Math.pow(2,-d))>>>0,r,o+t),e((s<<31|d+1023<<20|1048576*a&1048575)>>>0,r,o+i)}}}function s(e,t,i,n,r){var o=e(n,r+t),s=e(n,r+i),a=2*(s>>31)+1,d=s>>>20&2047,c=4294967296*(1048575&s)+o;return 2047===d?c?NaN:a*(1/0):0===d?5e-324*a*c:a*Math.pow(2,d-1075)*(c+4503599627370496)}e.writeDoubleLE=t.bind(null,i,0,4),e.writeDoubleBE=t.bind(null,n,4,0),e.readDoubleLE=s.bind(null,r,0,4),e.readDoubleBE=s.bind(null,o,4,0)}(),e}function i(e,t,i){t[i]=255&e,t[i+1]=e>>>8&255,t[i+2]=e>>>16&255,t[i+3]=e>>>24}function n(e,t,i){t[i]=e>>>24,t[i+1]=e>>>16&255,t[i+2]=e>>>8&255,t[i+3]=255&e}function r(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function o(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},61925(module){"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},44226(e){"use strict";e.exports=function(e,t,i){var n=i||8192,r=n>>>1,o=null,s=n;return function(i){if(i<1||i>r)return e(i);s+i>n&&(o=e(n),s=0);var a=t.call(o,s,s+=i);return 7&s&&(s=1+(7|s)),a}}},82971(e,t){"use strict";var i=t;i.length=function(e){for(var t=0,i=0,n=0;n<e.length;++n)(i=e.charCodeAt(n))<128?t+=1:i<2048?t+=2:55296==(64512&i)&&56320==(64512&e.charCodeAt(n+1))?(++n,t+=4):t+=3;return t},i.read=function(e,t,i){if(i-t<1)return"";for(var n,r=null,o=[],s=0;t<i;)(n=e[t++])<128?o[s++]=n:n>191&&n<224?o[s++]=(31&n)<<6|63&e[t++]:n>239&&n<365?(n=((7&n)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[s++]=55296+(n>>10),o[s++]=56320+(1023&n)):o[s++]=(15&n)<<12|(63&e[t++])<<6|63&e[t++],s>8191&&((r||(r=[])).push(String.fromCharCode.apply(String,o)),s=0);return r?(s&&r.push(String.fromCharCode.apply(String,o.slice(0,s))),r.join("")):String.fromCharCode.apply(String,o.slice(0,s))},i.write=function(e,t,i){for(var n,r,o=i,s=0;s<e.length;++s)(n=e.charCodeAt(s))<128?t[i++]=n:n<2048?(t[i++]=n>>6|192,t[i++]=63&n|128):55296==(64512&n)&&56320==(64512&(r=e.charCodeAt(s+1)))?(n=65536+((1023&n)<<10)+(1023&r),++s,t[i++]=n>>18|240,t[i++]=n>>12&63|128,t[i++]=n>>6&63|128,t[i++]=63&n|128):(t[i++]=n>>12|224,t[i++]=n>>6&63|128,t[i++]=63&n|128);return i-o}},7598(e,t,i){"use strict";i.d(t,{DNH:()=>Cs,Fjh:()=>rs,e0s:()=>ko,phq:()=>_r,IPJ:()=>ys,xtX:()=>us,gDU:()=>fs,n3W:()=>ds,F6c:()=>ks,KPF:()=>Fo,TDp:()=>Do,a2e:()=>xs,oCg:()=>Jo,GYC:()=>os,Abl:()=>es,abu:()=>Es,O54:()=>vs});var n=i(62540),r=i(71172),o=i(21664),s=i.n(o),a=function(e,t){var i=s()({},e,t);for(var n in e){var r;e[n]&&"object"==typeof t[n]&&s()(i,((r={})[n]=s()(e[n],t[n]),r))}return i},d={breakpoints:[40,52,64].map(function(e){return e+"em"})},c=function(e){return"@media screen and (min-width: "+e+")"},l=function(e,t){return u(t,e,e)},u=function(e,t,i,n,r){for(t=t&&t.split?t.split("."):[t],n=0;n<t.length;n++)e=e?e[t[n]]:r;return e===r?i:e},h=function e(t){var i={},n=function(e){var n,r,o={},l=!1,h=e.theme&&e.theme.disableStyledSystemCache;for(var m in e)if(t[m]){var g=t[m],v=e[m],b=u(e.theme,g.scale,g.defaults);if("object"!=typeof v)s()(o,g(v,b,e));else{if(i.breakpoints=!h&&i.breakpoints||u(e.theme,"breakpoints",d.breakpoints),Array.isArray(v)){i.media=!h&&i.media||[null].concat(i.breakpoints.map(c)),o=a(o,p(i.media,g,b,v,e));continue}null!==v&&(o=a(o,f(i.breakpoints,g,b,v,e)),l=!0)}}return l&&(n=o,r={},Object.keys(n).sort(function(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}).forEach(function(e){r[e]=n[e]}),o=r),o};n.config=t,n.propNames=Object.keys(t),n.cache=i;var r=Object.keys(t).filter(function(e){return"config"!==e});return r.length>1&&r.forEach(function(i){var r;n[i]=e(((r={})[i]=t[i],r))}),n},p=function(e,t,i,n,r){var o={};
2return n.slice(0,e.length).forEach(function(n,a){var d,c=e[a],l=t(n,i,r);c?s()(o,((d={})[c]=s()({},o[c],l),d)):s()(o,l)}),o},f=function(e,t,i,n,r){var o={};for(var a in n){var d=e[a],l=t(n[a],i,r);if(d){var u,h=c(d);s()(o,((u={})[h]=s()({},o[h],l),u))}else s()(o,l)}return o},m=function(e){var t=e.properties,i=e.property,n=e.scale,r=e.transform,o=void 0===r?l:r,s=e.defaultScale;t=t||[i];var a=function(e,i,n){var r={},s=o(e,i,n);if(null!==s)return t.forEach(function(e){r[e]=s}),r};return a.scale=n,a.defaults=s,a},g=function(e){void 0===e&&(e={});var t={};return Object.keys(e).forEach(function(i){var n=e[i];t[i]=!0!==n?"function"!=typeof n?m(n):n:m({property:i,scale:i})}),h(t)};const v=g({width:{property:"width",scale:"sizes",transform:function(e,t){return u(t,e,!function(e){return"number"==typeof e&&!isNaN(e)}(e)||e>1?e:100*e+"%")}},height:{property:"height",scale:"sizes"},minWidth:{property:"minWidth",scale:"sizes"},minHeight:{property:"minHeight",scale:"sizes"},maxWidth:{property:"maxWidth",scale:"sizes"},maxHeight:{property:"maxHeight",scale:"sizes"},size:{properties:["width","height"],scale:"sizes"},overflow:!0,overflowX:!0,overflowY:!0,display:!0,verticalAlign:!0});var b={color:{property:"color",scale:"colors"},backgroundColor:{property:"backgroundColor",scale:"colors"},opacity:!0};b.bg=b.backgroundColor;const y=g(b),S=g({fontFamily:{property:"fontFamily",scale:"fonts"},fontSize:{property:"fontSize",scale:"fontSizes",defaultScale:[12,14,16,20,24,32,48,64,72]},fontWeight:{property:"fontWeight",scale:"fontWeights"},lineHeight:{property:"lineHeight",scale:"lineHeights"},letterSpacing:{property:"letterSpacing",scale:"letterSpacings"},textAlign:!0,fontStyle:!0}),w=g({alignItems:!0,alignContent:!0,justifyItems:!0,justifyContent:!0,flexWrap:!0,flexDirection:!0,flex:!0,flexGrow:!0,flexShrink:!0,flexBasis:!0,justifySelf:!0,alignSelf:!0,order:!0});var C={space:[0,4,8,16,32,64,128,256,512]},k=g({gridGap:{property:"gridGap",scale:"space",defaultScale:C.space},gridColumnGap:{property:"gridColumnGap",scale:"space",defaultScale:C.space},gridRowGap:{property:"gridRowGap",scale:"space",defaultScale:C.space},gridColumn:!0,gridRow:!0,gridAutoFlow:!0,gridAutoColumns:!0,gridAutoRows:!0,gridTemplateColumns:!0,gridTemplateRows:!0,gridTemplateAreas:!0,gridArea:!0});const E=k;const T=g({border:{property:"border",scale:"borders"},borderWidth:{property:"borderWidth",scale:"borderWidths"},borderStyle:{property:"borderStyle",scale:"borderStyles"},borderColor:{property:"borderColor",scale:"colors"},borderRadius:{property:"borderRadius",scale:"radii"},borderTop:{property:"borderTop",scale:"borders"},borderTopLeftRadius:{property:"borderTopLeftRadius",scale:"radii"},borderTopRightRadius:{property:"borderTopRightRadius",scale:"radii"},borderRight:{property:"borderRight",scale:"borders"},borderBottom:{property:"borderBottom",scale:"borders"},borderBottomLeftRadius:{property:"borderBottomLeftRadius",scale:"radii"},borderBottomRightRadius:{property:"borderBottomRightRadius",scale:"radii"},borderLeft:{property:"borderLeft",scale:"borders"},borderX:{properties:["borderLeft","borderRight"],scale:"borders"},borderY:{properties:["borderTop","borderBottom"],scale:"borders"},borderTopWidth:{property:"borderTopWidth",scale:"borderWidths"},borderTopColor:{property:"borderTopColor",scale:"colors"},borderTopStyle:{property:"borderTopStyle",scale:"borderStyles"},borderBottomWidth:{property:"borderBottomWidth",scale:"borderWidths"},borderBottomColor:{property:"borderBottomColor",scale:"colors"},borderBottomStyle:{property:"borderBottomStyle",scale:"borderStyles"},borderLeftWidth:{property:"borderLeftWidth",scale:"borderWidths"},borderLeftColor:{property:"borderLeftColor",scale:"colors"},borderLeftStyle:{property:"borderLeftStyle",scale:"borderStyles"},borderRightWidth:{property:"borderRightWidth",scale:"borderWidths"},borderRightColor:{property:"borderRightColor",scale:"colors"},borderRightStyle:{property:"borderRightStyle",scale:"borderStyles"}});var I={background:!0,backgroundImage:!0,backgroundSize:!0,backgroundPosition:!0,backgroundRepeat:!0};I.bgImage=I.backgroundImage,I.bgSize=I.backgroundSize,I.bgPosition=I.backgroundPosition,I.bgRepeat=I.backgroundRepeat;const x=g(I);var A={space:[0,4,8,16,32,64,128,256,512]};const P=g({position:!0,zIndex:{property:"zIndex",scale:"zIndices"},top:{property:"top",scale:"space",defaultScale:A.space},right:{property:"right",scale:"space",defaultScale:A.space},bottom:{property:"bottom",scale:"space",defaultScale:A.space},left:{property:"left",scale:"space",defaultScale:A.space}});
2var O={space:[0,4,8,16,32,64,128,256,512]},_=function(e){return"number"==typeof e&&!isNaN(e)},M=function(e,t){if(!_(e))return u(t,e,e);var i=e<0,n=Math.abs(e),r=u(t,n,n);return _(r)?r*(i?-1:1):i?"-"+r:r},R={};R.margin={margin:{property:"margin",scale:"space",transform:M,defaultScale:O.space},marginTop:{property:"marginTop",scale:"space",transform:M,defaultScale:O.space},marginRight:{property:"marginRight",scale:"space",transform:M,defaultScale:O.space},marginBottom:{property:"marginBottom",scale:"space",transform:M,defaultScale:O.space},marginLeft:{property:"marginLeft",scale:"space",transform:M,defaultScale:O.space},marginX:{properties:["marginLeft","marginRight"],scale:"space",transform:M,defaultScale:O.space},marginY:{properties:["marginTop","marginBottom"],scale:"space",transform:M,defaultScale:O.space}},R.margin.m=R.margin.margin,R.margin.mt=R.margin.marginTop,R.margin.mr=R.margin.marginRight,R.margin.mb=R.margin.marginBottom,R.margin.ml=R.margin.marginLeft,R.margin.mx=R.margin.marginX,R.margin.my=R.margin.marginY,R.padding={padding:{property:"padding",scale:"space",defaultScale:O.space},paddingTop:{property:"paddingTop",scale:"space",defaultScale:O.space},paddingRight:{property:"paddingRight",scale:"space",defaultScale:O.space},paddingBottom:{property:"paddingBottom",scale:"space",defaultScale:O.space},paddingLeft:{property:"paddingLeft",scale:"space",defaultScale:O.space},paddingX:{properties:["paddingLeft","paddingRight"],scale:"space",defaultScale:O.space},paddingY:{properties:["paddingTop","paddingBottom"],scale:"space",defaultScale:O.space}},R.padding.p=R.padding.padding,R.padding.pt=R.padding.paddingTop,R.padding.pr=R.padding.paddingRight,R.padding.pb=R.padding.paddingBottom,R.padding.pl=R.padding.paddingLeft,R.padding.px=R.padding.paddingX,R.padding.py=R.padding.paddingY;var D=function(){for(var e={},t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];return i.forEach(function(t){t&&t.config&&s()(e,t.config)}),h(e)}(g(R.margin),g(R.padding));function F(){return F=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},F.apply(this,arguments)}g({boxShadow:{property:"boxShadow",scale:"shadows"},textShadow:{property:"textShadow",scale:"shadows"}});var L=function(e,t,i,n,r){for(t=t&&t.split?t.split("."):[t],n=0;n<t.length;n++)e=e?e[t[n]]:r;return e===r?i:e},N=[40,52,64].map(function(e){return e+"em"}),B={space:[0,4,8,16,32,64,128,256,512],fontSizes:[12,14,16,20,24,32,48,64,72]},V={bg:"backgroundColor",m:"margin",mt:"marginTop",mr:"marginRight",mb:"marginBottom",ml:"marginLeft",mx:"marginX",my:"marginY",p:"padding",pt:"paddingTop",pr:"paddingRight",pb:"paddingBottom",pl:"paddingLeft",px:"paddingX",py:"paddingY"},U={marginX:["marginLeft","marginRight"],marginY:["marginTop","marginBottom"],paddingX:["paddingLeft","paddingRight"],paddingY:["paddingTop","paddingBottom"],size:["width","height"]},j={color:"colors",backgroundColor:"colors",borderColor:"colors",margin:"space",marginTop:"space",marginRight:"space",marginBottom:"space",marginLeft:"space",marginX:"space",marginY:"space",padding:"space",paddingTop:"space",paddingRight:"space",paddingBottom:"space",paddingLeft:"space",paddingX:"space",paddingY:"space",top:"space",right:"space",bottom:"space",left:"space",gridGap:"space",gridColumnGap:"space",gridRowGap:"space",gap:"space",columnGap:"space",rowGap:"space",fontFamily:"fonts",fontSize:"fontSizes",fontWeight:"fontWeights",lineHeight:"lineHeights",letterSpacing:"letterSpacings",border:"borders",borderTop:"borders",borderRight:"borders",borderBottom:"borders",borderLeft:"borders",borderWidth:"borderWidths",borderStyle:"borderStyles",borderRadius:"radii",borderTopRightRadius:"radii",borderTopLeftRadius:"radii",borderBottomRightRadius:"radii",borderBottomLeftRadius:"radii",borderTopWidth:"borderWidths",borderTopColor:"colors",borderTopStyle:"borderStyles",borderBottomWidth:"borderWidths",borderBottomColor:"colors",borderBottomStyle:"borderStyles",borderLeftWidth:"borderWidths",borderLeftColor:"colors",borderLeftStyle:"borderStyles",borderRightWidth:"borderWidths",borderRightColor:"colors",borderRightStyle:"borderStyles",outlineColor:"colors",boxShadow:"shadows",textShadow:"shadows",zIndex:"zIndices",width:"sizes",minWidth:"sizes",maxWidth:"sizes",height:"sizes",minHeight:"sizes",maxHeight:"sizes",flexBasis:"sizes",size:"sizes",fill:"colors",stroke:"colors"},z=function(e,t){if("number"!=typeof t||t>=0)return L(e,t,t);var i=Math.abs(t),n=L(e,i,i);return"string"==typeof n?"-"+n:-1*n},$=["margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","to
2p","bottom","left","right"].reduce(function(e,t){var i;return F({},e,((i={})[t]=z,i))},{});const H=function e(t){return function(i){void 0===i&&(i={});var n=F({},B,{},i.theme||i),r={},o=function(e){return function(t){var i={},n=L(t,"breakpoints",N),r=[null].concat(n.map(function(e){return"@media screen and (min-width: "+e+")"}));for(var o in e){var s="function"==typeof e[o]?e[o](t):e[o];if(null!=s)if(Array.isArray(s))for(var a=0;a<s.slice(0,r.length).length;a++){var d=r[a];d?(i[d]=i[d]||{},null!=s[a]&&(i[d][o]=s[a])):i[o]=s[a]}else i[o]=s}return i}}("function"==typeof t?t(n):t)(n);for(var s in o){var a=o[s],d="function"==typeof a?a(n):a;if("variant"!==s)if(d&&"object"==typeof d)r[s]=e(d)(n);else{var c=L(V,s,s),l=L(j,c),u=L(n,l,L(n,c,{})),h=L($,c,L)(u,d,d);if(U[c])for(var p=U[c],f=0;f<p.length;f++)r[p[f]]=h;else r[c]=h}else r=F({},r,{},e(L(n,d))(n))}return r}};var W=function(e){var t,i,n=e.scale,r=e.prop,o=void 0===r?"variant":r,s=e.variants,a=void 0===s?{}:s,d=e.key;i=Object.keys(a).length?function(e,t,i){return H(u(t,e,null))(i.theme)}:function(e,t){return u(t,e,null)},i.scale=n||d,i.defaults=a;var c=((t={})[o]=i,t);return h(c)};W({key:"buttons"}),W({key:"textStyles",prop:"textStyle"}),W({key:"colorStyles",prop:"colors"}),v.width,v.height,v.minWidth,v.minHeight,v.maxWidth,v.maxHeight,v.size,v.verticalAlign,v.display,v.overflow,v.overflowX,v.overflowY,y.opacity,S.fontSize,S.fontFamily,S.fontWeight,S.lineHeight,S.textAlign,S.fontStyle,S.letterSpacing,w.alignItems,w.alignContent,w.justifyItems,w.justifyContent,w.flexWrap,w.flexDirection,w.flex,w.flexGrow,w.flexShrink,w.flexBasis,w.justifySelf,w.alignSelf,w.order,E.gridGap,E.gridColumnGap,E.gridRowGap,E.gridColumn,E.gridRow,E.gridAutoFlow,E.gridAutoColumns,E.gridAutoRows,E.gridTemplateColumns,E.gridTemplateRows,E.gridTemplateAreas,E.gridArea,T.borderWidth,T.borderStyle,T.borderColor,T.borderTop,T.borderRight,T.borderBottom,T.borderLeft,T.borderRadius,x.backgroundImage,x.backgroundSize,x.backgroundPosition,x.backgroundRepeat,P.zIndex,P.top,P.right,P.bottom,P.left;var q=i(63696),K=i.t(q,2),G=i(78325),J=i(53028),Q=i(95391);function X(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function Z(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function Y(e){var t=Object.create(null);return function(i){return void 0===t[i]&&(t[i]=e(i)),t[i]}}"function"==typeof SuppressedError&&SuppressedError;var ee=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRen
2dering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,te=Y(function(e){return ee.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91});const ie=r.AH`
3  clip: rect(1px, 1px, 1px, 1px);
4  height: 1px;
5  width: 1px;
6  overflow: hidden;
7  position: absolute !important;
8`,ne=r.AH`
9  overflow: hidden;
10  white-space: nowrap;
11  text-overflow: ellipsis;
12`,re=r.AH`
13  position: absolute;
14  top: 50%;
15  left: 50%;
16  transform: translate(-50%, -50%);
17`,oe=(e,t=1)=>{var i;if(!(e=>/^#[0-9A-F]{6}$/i.test(e))(e))return"";const[n,r,o]=null===(i=e.match(/\w\w/g))||void 0===i?void 0:i.map(e=>parseInt(e,16));return`rgba(${n}, ${r}, ${o}, ${t||1})`},se=((e=[])=>({shouldForwardProp:t=>!!e.includes(t)||te(t)}))(),ae=({css:e})=>e?`@media { ${e} };`:"",de=e=>D(e),ce=(r.Ay.span.withConfig(se)`
18  ${e=>{if("object"==typeof e.value){const t=e.value;return`width: ${t.props&&t.props.width||"1rem"};`}return null}}
19  display: inline-block;
20  padding: ${e=>"object"==typeof e.value?"0":"0.1rem 0.4rem 0.125rem"};
21  border-radius: 0.5rem;
22  line-height: ${e=>"object"==typeof e.value?"1":"1.43"};
23  color: ${e=>e.theme.colors.greys.white};
24  font-size: 0.65rem;
25  background-color: ${e=>"alert"===e.status?e.theme.colors.error.primary:e.theme.colors.greys.grey60};
26
27  ${de};
28  ${ae}
29`,r.Ay.button.withConfig(se)`
30  border-radius: ${e=>e.theme.radii.default};
31  font-size: ${e=>e.theme.fontSizes.text.fontSize};
32  padding: 0.5rem 1rem;
33  border-color: transparent;
34  transition: background-color 0.1s ease;
35  display: inline-flex;
36  align-items: center;
37  justify-content: center;
38
39  &:hover {
40    cursor: pointer;
41  }
42
43  &:focus {
44    outline: none;
45  }
46
47  .ch-icon {
48    width: ${e=>e.theme.iconButtonSizes[e.iconSize||"sm"]};
49    height: ${e=>e.theme.iconButtonSizes[e.iconSize||"sm"]};
50    margin-right: 0.25rem;
51  }
52
53  /* variant styles */
54  ${e=>"primary"===e.variant&&le}
55  ${e=>"secondary"===e.variant&&ue}
56  ${e=>"icon"===e.variant&&pe}
57
58  ${de}
59  ${ae}
60`),le=r.AH`
61  background-color: ${e=>e.selected?e.theme.buttons.primary.selected.bgd:e.theme.buttons.primary.static.bgd};
62  color: ${e=>e.selected?e.theme.buttons.primary.selected.text:e.theme.buttons.primary.static.text};
63  border: ${e=>e.selected?e.theme.buttons.primary.selected.border:e.theme.buttons.primary.static.border};
64  box-shadow: ${e=>e.theme.buttons.primary.static.shadow};
65
66  &:focus {
67    background-color: ${e=>e.theme.buttons.primary.focus.bgd};
68    border: ${e=>e.theme.buttons.primary.focus.border};
69    color: ${e=>e.theme.buttons.primary.focus.text};
70    box-shadow: ${e=>e.theme.buttons.primary.focus.shadow};
71  }
72
73  &:hover {
74    background-color: ${e=>e.theme.buttons.primary.hover.bgd};
75    border: ${e=>e.theme.buttons.primary.hover.border};
76    color: ${e=>e.theme.buttons.primary.hover.text};
77    box-shadow: ${e=>e.theme.buttons.primary.hover.shadow};
78  }
79
80  &:focus:hover {
81    box-shadow: ${e=>e.theme.buttons.primary.focus.shadow};
82  }
83
84  &:active {
85    background-color: ${e=>e.theme.buttons.primary.active.bgd};
86    border: ${e=>e.theme.buttons.primary.active.border};
87    color: ${e=>e.theme.buttons.primary.active.text};
88    box-shadow: ${e=>e.theme.buttons.primary.active.shadow};
89  }
90
91  &:disabled {
92    background-color: ${e=>e.theme.buttons.primary.disabled.bgd};
93    border: ${e=>e.theme.buttons.primary.disabled.border};
94    color: ${e=>e.theme.buttons.primary.disabled.text};
95    cursor: not-allowed;
96  }
97`,ue=r.AH`
98  background-color: ${e=>e.selected?e.theme.buttons.secondary.selected.bgd:e.theme.buttons.secondary.static.bgd};
99  color: ${e=>e.selected?e.theme.buttons.secondary.selected.text:e.theme.buttons.secondary.static.text};
100  border: ${e=>e.selected?e.theme.buttons.secondary.selected.border:e.theme.buttons.secondary.static.border};
101  box-shadow: ${e=>e.theme.buttons.secondary.shadow};
102
103  &:focus {
104    background-color: ${e=>e.theme.buttons.secondary.focus.bgd};
105    border: ${e=>e.theme.buttons.secondary.focus.border};
106    color: ${e=>e.theme.buttons.secondary.focus.text};
107    box-shadow: ${e=>e.theme.buttons.secondary.focus.shadow};
108  }
109
110  &:hover {
111    background-color: ${e=>e.theme.buttons.secondary.hover.bgd};
112    border: ${e=>e.theme.buttons.secondary.hover.border};
113    color: ${e=>e.theme.buttons.secondary.hover.text};
114    box-shadow: ${e=>e.theme.buttons.secondary.hover.shadow};
115  }
116
117  &:focus:hover {
118    box-shadow: ${e=>e.theme.buttons.secondary.focus.shadow};
119  }
120
121  &:active {
122    background-color: ${e=>e.theme.buttons.secondary.active.bgd};
123    border: ${e=>e.theme.buttons.secondary.active.border};
124    color: ${e=>e.theme.buttons.secondary.active.text};
125    box-shadow: ${e=>e.theme.buttons.secondary.focus.shadow};
126  }
127
128  &:disabled {
129    background-color: ${e=>e.theme.buttons.secondary.disabled.bgd};
130    border: ${e=>e.theme.buttons.secondary.disabled.border};
131    color: ${e=>e.theme.buttons.secondary.disabled.text};
132    cursor: not-allowed;
133  }
134`,he={sm:r.AH`
135    top: -15%;
136    left: 76%;
137  `,md:r.AH`
138    top: 4%;
139    left: 76%;
140  `,lg:r.AH`
141    top: 10%;
142    left: 76%;
143  `},pe=r.AH`
144  background-color: ${e=>e.selected?e.theme.buttons.icon.selected.bgd:e.theme.buttons.icon.static.bgd};
145  color: ${e=>e.selected?e.theme.buttons.icon.selected.text:e.theme.buttons.icon.static.text};
146  border: ${e=>e.selected?e.theme.buttons.icon.selected.border:e.theme.buttons.icon.static.border};
147  border-radius: ${e=>e.theme.radii.circle};
148  padding: 0.1875rem;
149  position: relative;
150
151  > .ch-label {
152    ${ie};
153  }
154
155  > .ch-icon {
156    width: ${e=>e.theme.iconButtonSizes[e.iconSize||"sm"]};
157    height: ${e=>e.theme.iconButtonSizes[e.iconSize||"sm"]};
158    margin: 0;
159  }
160
161  &:focus {
162    background-color: ${({theme:e,selected:t})=>t?e.buttons.icon.selected.bgd:e.buttons.icon.static.bgd};
163    border: ${e=>e.theme.buttons.icon.focus.border};
164    color: ${e=>e.theme.buttons.icon.focus.text};
165    color: ${({theme:e,selected:t})=>t?e.buttons.icon.selected.text:e.buttons.icon.static.text};
166    box-shadow: ${e=>e.theme.buttons.icon.focus.shadow};
167  }
168
169  &:hover {
170    background-color: ${e=>e.theme.buttons.icon.hover.bgd};
171    border: ${e=>e.theme.buttons.icon.hover.border};
172    color: ${e=>e.theme.buttons.icon.hover.text};
173  }
174
175  &:active {
176    background-color: ${e=>e.theme.buttons.icon.active.bgd};
177    border: ${e=>e.theme.buttons.icon.active.border};
178    color: ${e=>e.theme.buttons.icon.active.text};
179  }
180
181  &:disabled {
182    background-color: ${e=>e.theme.buttons.icon.disabled.bgd};
183    border: ${e=>e.theme.buttons.icon.disabled.border};
184    color: ${e=>e.theme.buttons.icon.disabled.text};
185    cursor: not-allowed;
186  }
187
188  + * {
189    position: absolute;
190    font-size: 0.55rem;
191    z-index: 1;
192    ${({iconSize:e})=>e?he[e]:he.sm}
193  }
194`,fe=r.Ay.span.withConfig(se)`
195  display: inline-block;
196  position: relative;
197`,me=(0,q.forwardRef)((e,t)=>(0,n.jsxs)(ce,Object.assign({},e,{className:e.className||"",as:e.tag,ref:t,"aria-label":e.label,"data-testid":"button",disabled:e.disabled},{children:[e.icon&&(0,n.jsx)("span",Object.assign({className:"ch-icon","data-testid":"button-icon"},{children:e.icon})),(0,n.jsx)("span",Object.assign({className:"ch-label","data-testid":"button-label"},{children:e.label}))]}))),ge=((0,q.forwardRef)((e,t)=>(0,n.jsx)(me,Object.assign({variant:"primary"},e))),(0,q.forwardRef)((e,t)=>(0,n.jsx)(me,Object.assign({variant:"secondary"},e)))),ve=(0,q.forwardRef)((e,t)=>(0,n.jsxs)(fe,{children:[(0,n.jsx)(me,Object.assign({ref:t,variant:"icon"},e)),e.badge]})),be=e=>{var{className:t,children:i,viewBox:r="0 0 24 24",xmlns:o="http://www.w3.org/2000/svg",width:s,height:a,title:d}=e,c=X(e,["className","children","viewBox","xmlns","width","height","title"]);const l={width:s,height:a};return(0,n.jsxs)("svg",Object.assign({xmlns:o,className:`Svg ${t||""}`,height:a,style:l,viewBox:r,width:s},c,{children:[d&&(0,n.jsx)("title",{children:d}),(0,n.jsx)("g",Object.assign({fillRule:"evenodd",fill:"currentColor"},{children:i}))]}))},ye={up:"0",right:"90",down:"180",left:"270"};((0,r.Ay)(be).withConfig(se)`
198  transform: ${({direction:e})=>`rotate(${ye[e||"up"]}deg)`};
199`,e=>{var{disabled:t=!1}=e,i=X(e,["disabled"]);return(0,n.jsx)(be,Object.assign({},i,{children:t?(0,n.jsx)("path",{xmlns:"http://www.w3.org/2000/svg",d:"M4.146 4.146c.196-.195.512-.195.708 0L7.707 7h.007l1 1h-.007L15 14.293v-.007l.894.894-.001.006 3.961 3.96c.195.196.195.512 0 .708-.098.097-.226.146-.354.146-.128 0-.256-.049-.354-.146l-3.747-3.748c-.459.542-1.134.894-1.899.894h-7C5.121 17 4 15.879 4 14.5v-5c0-1.314 1.022-2.383 2.312-2.481L4.146 4.854c-.195-.196-.195-.512 0-.708zM7.293 8H6.5C5.673 8 5 8.673 5 9.5v5c0 .827.673 1.5 1.5 1.5h7c.488 0 .919-.238 1.192-.601L7.293 8zM13.5 7C14.879 7 16 8.121 16 9.5v.566l1.813-1.303c.426-.306.983-.349 1.456-.107.451.231.731.684.731 1.181v4.326c0 .497-.28.95-.731 1.181-.205.104-.424.156-.642.156-.287 0-.571-.089-.814-.263l-1.592-1.144L15 12.873V9.5c0-.827-.673-1.5-1.5-1.5h-3.372l-1-1zm5.313 2.546c-.051-.026-.233-.1-.416.03l-2.256 1.621c-.089.064-.141.16-.141.262v1.082c0 .102.051.
199197.141.262l2.256 1.622c.182.131.365.054.416.03.055-.029.187-.116.187-.292V9.837c0-.176-.132-.263-.187-.29z"}):(0,n.jsx)("path",{d:"M19 14.164c0 .176-.131.262-.187.29-.052.027-.234.1-.416-.028l-2.256-1.622v-.001c-.09-.064-.141-.16-.141-.262v-1.082c0-.102.051-.197.141-.262l2.255-1.622c.081-.057.159-.075.227-.075.09 0 .16.03.19.046.056.029.187.115.187.29v4.328zm-4 .336c0 .828-.673 1.5-1.5 1.5h-7c-.827 0-1.5-.672-1.5-1.5v-5C5 8.673 5.673 8 6.5 8h7c.827 0 1.5.673 1.5 1.5v5zm4.27-5.843c-.471-.242-1.028-.202-1.457.106L16 10.066V9.5C16 8.122 14.879 7 13.5 7h-7C5.121 7 4 8.122 4 9.5v5C4 15.879 5.121 17 6.5 17h7c1.379 0 2.5-1.121 2.5-2.5v-.566l1.814 1.304c.243.174.527.262.813.262.219 0 .438-.051.643-.156.45-.231.73-.683.73-1.18V9.837c0-.497-.28-.95-.73-1.18z"})}))}).displayName="Camera";const Se={up:"0",right:"90",down:"180",left:"270"},we=((0,r.Ay)(be).withConfig(se)`
200  transform: ${({direction:e})=>`rotate(${Se[e||"up"]}deg)`};
201`,{default:r.AH`
202  .ch-caution-background {
203    fill: transparent;
204  }
205`,"fill-warning":r.AH`
206  .ch-caution-background {
207    fill: ${e=>e.theme.colors.warning.primary};
208  }
209
210  .ch-caution-exclamation {
211    fill: ${e=>e.theme.colors.greys.white};
212  }
213
214  .ch-caution-border {
215    fill: ${e=>e.theme.colors.warning.primary};
216  }
217`,"fill-error":r.AH`
218  .ch-caution-background {
219    fill: ${e=>e.theme.colors.error.primary};
220  }
221
222  .ch-caution-exclamation {
223    fill: ${e=>e.theme.colors.greys.white};
224  }
225
226  .ch-caution-border {
227    fill: ${e=>e.theme.colors.error.primary};
228  }
229`}),Ce=r.Ay.g.withConfig(se)`
230  ${e=>we[e.variant||"default"]};
231`,ke=e=>(0,n.jsx)(be,Object.assign({}
231,e,{children:(0,n.jsxs)(Ce,Object.assign({fill:"currentColor",variant:e.variant},{children:[(0,n.jsx)("path",{className:"ch-caution-background",d:"M18.728 15.186l-5.085-8.281C13.293 6.338 12.68 6 12 6c-.68 0-1.294.338-1.642.905l-5.085 8.281c-.351.571-.365 1.258-.04 1.841.336.6.98.972 1.68.972h10.17c.704 0 1.348-.372 1.683-.972.326-.583.312-1.27-.04-1.841"}),(0,n.jsx)("path",{className:"ch-caution-exclamation",d:"M12.572 14.609v1.219h-1.166v-1.219h1.166zm.023-5.388v1.83l-.288 2.727h-.597l-.305-2.727V9.22h1.19z"}),(0,n.jsx)("path",{className:"ch-caution-border",d:"M17.894 16.539c-.161.288-.463.46-.81.46H6.915c-.343 0-.645-.172-.806-.46-.15-.266-.143-.568.017-.829l5.085-8.281c.33-.536 1.25-.538 1.58 0l5.086 8.281c.16.261.167.563.018.829m.834-1.353l-5.085-8.281C13.293 6.338 12.68 6 12 6c-.68 0-1.294.338-1.642.905l-5.085 8.281c-.351.571-.365 1.258-.04 1.841.336.6.98.972 1.68.972h10.17c.704 0 1.348-.372 1.683-.972.326-.583.312-1.27-.04-1.841"})]}))}));ke.displayName="Caution";const Ee=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M16.834 9.178c-.18-.21-.494-.238-.705-.061l-5.912 4.975-2.33-2.846c-.175-.214-.491-.245-.703-.07-.214.175-.246.49-.071.703l2.652 3.238.004.006c.037.044.085.073.132.1.015.01.026.025.04.032.068.03.138.046.21.046.056 0 .113-.01.166-.028.038-.013.07-.037.106-.06.015-.01.03-.014.045-.025v-.001l.006-.003 6.299-5.301c.21-.178.239-.493.06-.705"})}));Ee.displayName="Check";const Te=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M12 4c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8zm0 1c-3.86 0-7 3.141-7 7s3.14 7 7 7 7-3.141 7-7-3.14-7-7-7zm3.493 4.873c.211-.179.526-.15.705.061.177.211.15.527-.061.705l-4.476 3.764-.003.002v.001c-.029.024-.061.035-.091.051-.02.011-.039.027-.061.035-.054.019-.11.028-.166.028-.072 0-.143-.015-.209-.045-.016-.007-.027-.023-.042-.032-.047-.028-.095-.056-.132-.1l-.001-.002-.003-.004-1.84-2.246c-.175-.213-.143-.529.07-.703.213-.177.529-.145.704.07l1.518 1.853z"})}));Te.displayName="CheckRound";const Ie=e=>(0,n.jsx)(be,Object.assign({},e,{title:"Clear"},{children:(0,n.jsx)("path",{d:"M12 5c3.866 0 7 3.134 7 7s-3.134 7-7 7-7-3.134-7-7 3.134-7 7-7zM9.172 9.17c-.196.196-.196.513 0 .708L11.293 12l-2.12 2.12c-.197.197-.197.513 0 .708.096.098.224.147.352.147.128 0 .256-.05.354-.147L12 12.707l2.121 2.12c.098.099.226.148.353.148.128 0 .256-.05.354-.147.195-.195.195-.511 0-.707L12.708 12l2.12-2.122c.195-.195.195-.512 0-.707-.195-.195-.512-.195-.707 0l-2.12 2.12-2.122-2.12c-.196-.195-.512-.195-.707 0z"})}));Ie.displayName="Clear";const xe=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M12 4c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8zm0 1c-3.859 0-7 3.141-7 7s3.141 7 7 7 7-3.141 7-7-3.141-7-7-7zm0 2.559c.276 0 .5.223.5.5V11.5h3c.276 0 .5.224.5.5s-.224.5-.5.5H12c-.276 0-.5-.224-.5-.5V8.059c0-.277.224-.5.5-.5z"})}));xe.displayName="Clock";const Ae=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M12 4c4.418 0 8 3.582 8 8s-3.582 8-8 8-8-3.582-8-8 3.582-8 8-8zm0 1c-3.86 0-7 3.14-7 7 0 3.859 3.14 7 7 7 3.859 0 7-3.141 7-7 0-3.86-3.141-7-7-7zm-3 6c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm6 0c.553 0 1 .448 1 1s-.447 1-1 1c-.553 0-1-.448-1-1s.447-1 1-1zm-3 0c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1z"})}));Ae.displayName="Dots";r.Ay.circle.withConfig(se)`
232  fill: ${e=>e.theme.colors.primary.main};
233`;const Pe=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M12 4c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8zm0 1c-3.859 0-7 3.141-7 7s3.141 7 7 7 7-3.141 7-7-3.141-7-7-7zm.016 6.476c.276 0 .5.224.5.5v2.498c0 .276-.224.5-.5.5s-.5-.224-.5-.5v-2.498c0-.276.224-.5.5-.5zM12 8.709c.414 0 .75.335.75.75 0 .414-.336.75-.75.75s-.75-.336-.75-.75c0-.415.336-.75.75-.75z"})}));Pe.displayName="Information";const Oe=(0,r.Ay)(e=>{var t=X(e,["poorConnection","muted"]);return(0,n.jsx)(be,Object.assign({},t))}).withConfig(se)`
234  ${e=>e.poorConnection?`color: ${e.theme.colors.error.light}`:""}
235`,_e=e=>{var{muted:t=!1,poorConnection:i=!1,mutedTitle:r="Muted microphone",unmutedTitle:o="Microphone"}=e,s=X(e,["muted","poorConnection","mutedTitle","unmutedTitle"]);const a=function(e,t){return e?t?"M4.146 4.146c.196-.195.513-.195.708 0L9.168 8.46h.018l.813.815v.018l5.854 5.854c.002-.005.005-.008.008-.01l.724.724-.008.01 3.276 3.275c.195.195.195.512 0 .707-.098.098-.226.147-.354.147-.127 0-.255-.049-.352-.146l-3.281-3.281C14.82 17.459 13.475 18 11.998 18c-3.308 0-6-2.691-6-6 0-.277.224-.5.5-.5.278 0 .5.223.5.5 0 2.757 2.244 5 5 5 1.2 0 2.29-.436 3.147-1.146l
235-1.439-1.438c-.14.105-.287.207-.445.285l-.447-.895c.062-.03.116-.073.174-.11l-2.99-2.989v.941H9v-1.063h.88L4.147 4.853c-.196-.194-.196-.511 0-.707zM14.5 19c.276 0 .5.224.5.5s-.224.5-.5.5h-5c-.276 0-.5-.224-.5-.5s.224-.5.5-.5zm3-7.5c.276 0 .5.224.5.5 0 1.106-.307 2.14-.83 3.031l-.748-.748c.357-.687.578-1.456.578-2.283 0-.276.224-.5.5-.5zm-6.293 2.317c.25.121.517.183.793.183l.016 1.001-.098-.008c-.359-.012-.76-.089-1.147-.275zm-1.085-1.278c.093.282.234.536.42.757l-.766.644c-.267-.319-.47-.685-.603-1.089zM15 11.618v.155c0 .325-.051.643-.139.95l-.867-.868c.001-.027.006-.055.006-.082v-.155h1zm0-2.126v1.062h-1V9.492h1zm0-2.125v1.062h-1V7.367h1zM9.155 6.201l.955.297c-.073.235-.11.48-.11.73v.17h-.463l-.512-.512c.024-.232.061-.463.13-.685zm5.079-1.128c.268.321.469.689.599 1.093l-.951.307c-.091-.283-.231-.537-.415-.759zm-3.514-.765l.453.891c-.246.126-.474.312-.656.535l-.776-.63c.274-.338.603-.604.979-.796zM12 4c.434 0 .853.098 1.245.29l-.44.897C12.553 5.064 12.282 5 12 5l-.031-1z":"M14.5 19c.276 0 .5.224.5.5s-.224.5-.5.5h-5c-.276 0-.5-.224-.5-.5s.224-.5.5-.5zM4.146 4.146c.196-.195.512-.195.708 0l15 15c.195.196.195.512 0 .708-.098.097-.226.146-.354.146-.128 0-.256-.049-.354-.146l-3.282-3.283C14.819 17.458 13.475 18 12 18c-3.309 0-6-2.691-6-6 0-.276.224-.5.5-.5s.5.224.5.5c0 2.757 2.243 5 5 5 1.199 0 2.288-.437 3.146-1.146l-1.452-1.453c-.483.366-1.058.599-1.694.599-1.654 0-3-1.448-3-3.228V9.707L4.146 4.854c-.195-.196-.195-.512 0-.708zM17.5 11.5c.276 0 .5.224.5.5 0 1.112-.31 2.152-.84 3.046l-.747-.746c.362-.693.587-1.467.587-2.3 0-.276.224-.5.5-.5zm-7.5-.793v1.065c0 1.229.897 2.228 2 2.228.362 0 .7-.111.992-.301L10 10.707zm2-6.708c1.654 0 3 1.45 3 3.228v4.546c0 .337-.062.655-.151.962l-.859-.858.01-.104V7.228C14 5.998 13.103 5 12 5s-2 .998-2 2.228v.658l-.971-.97C9.178 5.284 10.445 3.998 12 3.998z":t?"M14.5 19c.276 0 .5.224.5.5s-.224.5-.5.5h-5c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h5zm3-7.5c.276 0 .5.224.5.5 0 3.309-2.691 6-6 6s-6-2.691-6-6c0-.276.224-.5.5-.5s.5.224.5.5c0 2.757 2.243 5 5 5s5-2.243 5-5c0-.276.224-.5.5-.5zm-6.293 2.318c.25.12.517.183.793.183l.013.958v-.46l.085.492H12.014c-.486-.002-.876-.096-1.242-.274l.435-.9zm2.268-.543l.77.637c-.275.335-.606.6-.983.79l-.447-.896c.25-.125.473-.303.66-.53zm-3.353-.736c.093.283.235.537.42.757l-.765.645c-.268-.32-.472-.687-.604-1.09l.949-.312zM15 11.619v.155c0 .359-.053.71-.16 1.043l-.953-.305c.075-.233.113-.482.113-.738v-.155h1zm-5-1.033v1.063H9v-1.063h1zm5-1.093v1.063h-1V9.492h1zm-5-1.03v1.062H9V8.46h1zm5-1.095V8.43h-1V7.367h1zM9.156 6.2l.955.3c-.074.232-.111.478-.111.728v.17H9v-.17c0-.351.053-.696.156-1.027zm5.08-1.127c.267.32.468.688.598 1.093l-.951.306c-.091-.282-.23-.537-.415-.759l.768-.64zm-3.516-.766l.453.891c-.246.126-.473.311-.656.535l-.775-.63c.273-.337.602-.603.978-.795zM12 4c.433 0 .852.098 1.245.29l-.44.899C12.55 5.064 12.28 5 12 5l-.031-1h.03z":"M14.5 19c.276 0 .5.224.5.5s-.224.5-.5.5h-5c-.276 0-.5-.224-.5-.5s.224-.5.5-.5zm3-7.5c.276 0 .5.224.5.5 0 3.309-2.691 6-6 6s-6-2.691-6-6c0-.276.224-.5.5-.5s.5.224.5.5c0 2.757 2.243 5 5 5s5-2.243 5-5c0-.276.224-.5.5-.5zM12 4c1.654 0 3 1.448 3 3.227v4.546C15 13.552 13.654 15 12 15s-3-1.448-3-3.227V7.227C9 5.447 10.346 4 12 4zm0 1c-1.103 0-2 .999-2 2.227v4.546C10 13 10.897 14 12 14s2-1 2-2.227V7.227C14 5.999 13.103 5 12 5z"}(t,i);return(0,n.jsx)(Oe,Object.assign({},s,{muted:t,poorConnection:i,title:t?r:o,"data-testid":i?"poor-connection-mic":"good-connection-mic"},{children:(0,n.jsx)("path",{d:a})}))};_e.displayName="Microphone";const Me=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M11 16c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5m7.852 2.145l-3.294-3.253C16.455 13.843 17 12.485 17 11c0-3.309-2.691-6-6-6s-6 2.691-6 6 2.691 6 6 6c1.464 0 2.807-.528 3.849-1.403l3.299 3.258c.098.097.225.145.352.145.129 0 .258-.05.355-.148.195-.197.193-.514-.003-.707"})}));Me.displayName="Search";const Re=e=>(0,n.jsx)(be,Object.assign({},e,{children:(0,n.jsx)("path",{d:"M8.824 9.88c-.21.18-.526.154-.705-.056-.159-.187-.156-.457-.006-.64l.063-.065 3.523-3c.165-.14.397-.156.577-.05l.074.052 3.477 3c.209.18.232.497.052.706-.16.185-.428.224-.632.104l-.074-.052-3.151-2.72-3.198 2.722zM15.176 14.12c.21-.18.526-.154.705.056.159.187.157.457.006.64l-.063.065-3.523 3c-.165.14-.397.156-.577.05l-.074-.052-3.477-3c-.209-.18-.232-.497-.052-.706.16-.185.428-.224.632-.104l.074.052 3.151 2.72 3.198-2.722z"})}));
235Re.displayName="UpAndDownCaret";const De=r.Ay.input.withConfig(se)`
236  ${ie};
237
238  &[aria-invalid='true'] + .ch-checkbox {
239    border: ${e=>e.theme.inputs.error.border};
240    box-shadow: ${e=>e.theme.inputs.error.shadow};
241  }
242`;r.Ay.div.withConfig(se)`
243  background-color: ${e=>e.theme.inputs.bgd};
244  border: ${e=>e.theme.inputs.border};
245  border-radius: ${e=>e.theme.radii.default};
246  box-shadow: ${e=>e.theme.inputs.shadow};
247  color: ${e=>e.theme.inputs.fontColor};
248  display: inline-block;
249  height: 1rem;
250  position: relative;
251  width: 1rem;
252  transition: box-shadow 0.05s ease-in;
253
254  > svg {
255    left: -0.03125rem;
256    position: absolute;
257    transform: scale(1.5);
258  }
259
260  ${De}:checked ~ & {
261    background-color: ${e=>e.theme.inputs.checked.bgd};
262    border: ${e=>e.theme.inputs.checked.border};
263    box-shadow: ${e=>e.theme.inputs.checked.shadow};
264    color: ${e=>e.theme.inputs.checked.fontColor};
265  }
266
267  ${De}:focus ~ & {
268    border: ${e=>e.theme.inputs.focus.border};
269    box-shadow: ${e=>e.theme.inputs.focus.shadow};
270  }
271`;(0,q.createContext)({showLabels:!1,layout:"top"});const Fe={"undocked-vertical":"flex-direction: column;","undocked-horizontal":"flex-direction: row;",top:"flex-direction: row; width: 100%; top: 0; position: fixed;",bottom:"flex-direction: row; width: 100%; bottom: 0; position: fixed;",right:"flex-direction: column; height: 100%; right: 0; position: fixed;",left:"flex-direction: column; height: 100%; left: 0; position: fixed;"},Le=e=>"right"===e||"left"===e||"undocked-vertical"===e,Ne=e=>"undocked-vertical"===e||"undocked-horizontal"===e,Be={top:"unset;",bottom:"unset;",right:"unset;",left:"unset;"};r.Ay.div.withConfig(se)`
272  display: inline-flex;
273  justify-content: center;
274  align-items: center;
275  border-radius: ${({theme:e,layout:t})=>Ne(t)?e.radii.default:"0"};
276  background-color: ${e=>e.theme.controlBar.bgd};
277  opacity: ${e=>e.theme.controlBar.opacity};
278  border: ${({theme:e,layout:t})=>Ne(t)?"none":e.controlBar.border};
279  box-shadow: ${({theme:e,layout:t})=>Ne(t)?e.controlBar.shadow:"none"};
280  ${({layout:e})=>Fe[`${e}`]};
281
282  ${e=>e.responsive&&(e=>r.AH`
283    ${({theme:e})=>e.mediaQueries.max.sm} {
284      ${Be}
285      ${Le(e.layout)?Fe.left:Fe.bottom};
286      box-shadow: ${e.theme.controlBar.shadow};
287      border: none;
288      height: ${Le(e.layout)&&"100%"};
289      width: ${!Le(e.layout)&&"100%"};
290    }
291
292    ${({theme:e})=>e.mediaQueries.max.xs} {
293      justify-content: ${Le(e.layout)?"center":"space-around"};
294      ${Be}
295      ${Le(e.layout)?Fe.left:Fe.bottom};
296      box-shadow: ${({theme:e})=>e.controlBar.shadow};
297      border: none;
298    }
299  `)(e)}
300
301  width: ${({layout:e})=>Le(e)&&"5rem"};
302  height: ${({layout:e})=>!Le(e)&&"5rem"};
303
304  ${de}
305  ${ae}
306`,r.Ay.div.withConfig(se)`
307  margin: ${({layout:e})=>Le(e)?"0.625rem 0":"0 0.625rem"};
308  display: grid;
309  grid-template-rows: ${({showLabels:e})=>e?"1.5rem 1rem":"1.5rem"};
310  justify-items: center;
311  align-items: center;
312  ${({popOver:e,layout:t,children:i})=>`\n    ${Le(t)||!e&&!i?"":"grid-template-columns: 2.5rem minmax(0.5rem, auto);"}\n    ${Le(t)&&(e||i)?"grid-template-columns: 1.5rem 1.5rem 1.5rem":""}\n  `};
313
314  > :first-child {
315    grid-column-start: ${({layout:e,popOver:t,children:i})=>Le(e)&&(t||i)?"2":"1"};
316  }
317
318  .ch-control-bar-item-iconButton {
319    .ch-icon {
320      width: 1.5rem;
321      height: 1.5rem;
322      border-radius: 100%;
323    }
324  }
325
326  .ch-control-bar-item-caret {
327    width: 1.25rem;
328    height: 1.25rem;
329    padding: 0;
330
331    .ch-icon {
332      width: 100%;
333      height: 100%;
334    }
335
336    // setting this transform on the shape so we
337    // don't overwrite the rotate transform on the Caret
338    .Svg g {
339      transform: scale(1.333);
340      transform-origin: 50% 50%;
341    }
342  }
343
344  .ch-control-bar-popover {
345    background-color: inherit;
346    grid-column-start: ${({layout:e,popOver:t,children:i})=>Le(e)&&(t||i)?"2":"1"};
347    color: ${({theme:e})=>e.controlBar.text};
348
349    .isOpen.ch-control-bar-item-caret {
350      color: ${e=>e.theme.colors.primary.main};
351    }
352  }
353
354  .ch-control-bar-item-label {
355    color: ${({theme:e})=>e.controlBar.text};
356    grid-row-start: 2;
357    font-size: ${e=>e.theme.fontSizes.footnote.fontSize}; /* TODO: get updated font size from design */
358    padding-top: 0.25rem;
359    justify-self: center;
360    grid-column: ${({layout:e,popOver:t,children:i})=>Le(e)&&(t||i)?"2":"1"};
361  }
362
363  ${({theme:e})=>e.mediaQueries.max.sm} {
364    justify-content: space-around;
365    button ~ span {
366      display: none;
367    }
368  }
369
370  ${({theme:e})=>e.mediaQueries.max.xs} {
371    margin: ${({layout:e})=>Le(e)?"0.75rem 0":"0"};
372    button ~ span {
373      display: none;
374    }
375  }
376`;var Ve="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==i.g?i.g:"undefined"!=typeof self?self:{};function Ue(e,t,i){return e(i={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&i.path)}}
376,i.exports),i.exports}var je=Ue(function(e){!function(){var t={}.hasOwnProperty;function i(){for(var e="",t=0;t<arguments.length;t++){var i=arguments[t];i&&(e=r(e,n(i)))}return e}function n(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return i.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var n="";for(var o in e)t.call(e,o)&&e[o]&&(n=r(n,o));return n}function r(e,t){return t?e?e+" "+t:e+t:e}e.exports?(i.default=i,e.exports=i):window.classNames=i}()});function ze(){return"undefined"!=typeof window}function $e(e){return qe(e)?(e.nodeName||"").toLowerCase():"#document"}function He(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function We(e){var t;return null==(t=(qe(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function qe(e){return!!ze()&&(e instanceof Node||e instanceof He(e).Node)}function Ke(e){return!!ze()&&(e instanceof Element||e instanceof He(e).Element)}function Ge(e){return!!ze()&&(e instanceof HTMLElement||e instanceof He(e).HTMLElement)}function Je(e){return!(!ze()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof He(e).ShadowRoot)}const Qe=new Set(["inline","contents"]);function Xe(e){const{overflow:t,overflowX:i,overflowY:n,display:r}=ct(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+i)&&!Qe.has(r)}const Ze=new Set(["table","td","th"]);function Ye(e){return Ze.has($e(e))}const et=[":popover-open",":modal"];function tt(e){return et.some(t=>{try{return e.matches(t)}catch(e){return!1}})}const it=["transform","translate","scale","rotate","perspective"],nt=["transform","translate","scale","rotate","perspective","filter"],rt=["paint","layout","strict","content"];function ot(e){const t=st(),i=Ke(e)?ct(e):e;return it.some(e=>!!i[e]&&"none"!==i[e])||!!i.containerType&&"normal"!==i.containerType||!t&&!!i.backdropFilter&&"none"!==i.backdropFilter||!t&&!!i.filter&&"none"!==i.filter||nt.some(e=>(i.willChange||"").includes(e))||rt.some(e=>(i.contain||"").includes(e))}function st(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}const at=new Set(["html","body","#document"]);function dt(e){return at.has($e(e))}function ct(e){return He(e).getComputedStyle(e)}function lt(e){return Ke(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ut(e){if("html"===$e(e))return e;const t=e.assignedSlot||e.parentNode||Je(e)&&e.host||We(e);return Je(t)?t.host:t}function ht(e){const t=ut(e);return dt(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ge(t)&&Xe(t)?t:ht(t)}function pt(e,t,i){var n;void 0===t&&(t=[]),void 0===i&&(i=!0);const r=ht(e),o=r===(null==(n=e.ownerDocument)?void 0:n.body),s=He(r);if(o){const e=ft(s);return t.concat(s,s.visualViewport||[],Xe(r)?r:[],e&&i?pt(e):[])}return t.concat(r,pt(r,[],i))}function ft(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function mt(e){let t=e.activeElement;for(;null!=(null==(i=t)||null==(i=i.shadowRoot)?void 0:i.activeElement);){var i;t=t.shadowRoot.activeElement}return t}function gt(e,t){if(!e||!t)return!1;const i=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(i&&Je(i)){let i=t;for(;i;){if(e===i)return!0;i=i.parentNode||i.host}}return!1}function vt(){const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(e=>{let{brand:t,version:i}=e;return t+"/"+i}).join(" "):navigator.userAgent}function bt(){const e=/android/i;return e.test(function(){const e=navigator.userAgentData;return null!=e&&e.platform?e.platform:navigator.platform}())||e.test(vt())}function yt(e,t){const i=["mouse","pen"];return t||i.push("",void 0),i.includes(e)}function St(e){return(null==e?void 0:e.ownerDocument)||document}function wt(e,t){if(null==t)return!1;if("composedPath"in e)return e.composedPath().includes(t);const i=e;return null!=i.target&&t.contains(i.target)}function Ct(e){return"composedPath"in e?e.composedPath()[0]:e.target}function kt(e){return Ge(e)&&e.matches("input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])")}function Et(e){e.preventDefault(),e.stopPropagation()}const Tt=Math.min,It=Math.max,xt=Math.round,At=Math.floor,Pt=e=>({x:e,y:e}
vendor: 4,206 bytes, line 376
376),Ot={left:"right",right:"left",bottom:"top",top:"bottom"},_t={start:"end",end:"start"};function Mt(e,t,i){return It(e,Tt(t,i))}function Rt(e,t){return"function"==typeof e?e(t):e}function Dt(e){return e.split("-")[0]}function Ft(e){return e.split("-")[1]}function Lt(e){return"x"===e?"y":"x"}function Nt(e){return"y"===e?"height":"width"}const Bt=new Set(["top","bottom"]);function Vt(e){return Bt.has(Dt(e))?"y":"x"}function Ut(e){return Lt(Vt(e))}function jt(e){return e.replace(/start|end/g,e=>_t[e])}const zt=["left","right"],$t=["right","left"],Ht=["top","bottom"],Wt=["bottom","top"];function qt(e){return e.replace(/left|right|bottom|top/g,e=>Ot[e])}function Kt(e){const{x:t,y:i,width:n,height:r}=e;return{width:n,height:r,top:i,left:t,right:t+n,bottom:i+r,x:t,y:i}}var Gt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"].join(","),Jt="undefined"==typeof Element,Qt=Jt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Xt=!Jt&&Element.prototype.getRootNode?function(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},Zt=function(e,t){var i;void 0===t&&(t=!0);var n=null==e||null===(i=e.getAttribute)||void 0===i?void 0:i.call(e,"inert");return""===n||"true"===n||t&&e&&Zt(e.parentNode)},Yt=function(e,t,i){for(var n=[],r=Array.from(e);r.length;){var o=r.shift();if(!Zt(o,!1))if("SLOT"===o.tagName){var s=o.assignedElements(),a=s.length?s:o.children,d=Yt(a,!0,i);i.flatten?n.push.apply(n,d):n.push({scopeParent:o,candidates:d})}else{Qt.call(o,Gt)&&i.filter(o)&&(t||!e.includes(o))&&n.push(o);var c=o.shadowRoot||"function"==typeof i.getShadowRoot&&i.getShadowRoot(o),l=!Zt(c,!1)&&(!i.shadowRootFilter||i.shadowRootFilter(o));if(c&&l){var u=Yt(!0===c?o.children:c.children,!0,i);i.flatten?n.push.apply(n,u):n.push({scopeParent:o,candidates:u})}else r.unshift.apply(r,o.children)}}return n},ei=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ti=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||function(e){var t,i=null==e||null===(t=e.getAttribute)||void 0===t?void 0:t.call(e,"contenteditable");return""===i||"true"===i}(e))&&!ei(e)?0:e.tabIndex},ii=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},ni=function(e){return"INPUT"===e.tagName},ri=function(e){var t=e.getBoundingClientRect(),i=t.width,n=t.height;return 0===i&&0===n},oi=function(e,t){return!(t.disabled||Zt(t)||function(e){return ni(e)&&"hidden"===e.type}(t)||function(e,t){var i=t.displayCheck,n=t.getShadowRoot;if("full-native"===i&&"checkVisibility"in e)return!e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});if("hidden"===getComputedStyle(e).visibility)return!0;var r=Qt.call(e,"details>summary:first-of-type")?e.parentElement:e;if(Qt.call(r,"details:not([open]) *"))return!0;if(i&&"full"!==i&&"full-native"!==i&&"legacy-full"!==i){if("non-zero-area"===i)return ri(e)}else{if("function"==typeof n){for(var o=e;e;){var s=e.parentElement,a=Xt(e);if(s&&!s.shadowRoot&&!0===n(s))return ri(e);e=e.assignedSlot?e.assignedSlot:s||a===e.ownerDocument?s:a.host}e=o}if(function(e){var t,i,n,r,o=e&&Xt(e),s=null===(t=o)||void 0===t?void 0:t.host,a=!1;if(o&&o!==e)for(a=!!(null!==(i=s)&&void 0!==i&&null!==(n=i.ownerDocument)&&void 0!==n&&n.contains(s)||null!=e&&null!==(r=e.ownerDocument)&&void 0!==r&&r.contains(e));!a&&s;){var d,c,l;a=!(null===(c=s=null===(d=o=Xt(s))||void 0===d?void 0:d.host)||void 0===c||null===(l=c.ownerDocument)||void 0===l||!l.contains(s))}return a}(e))return!e.getClientRects().length;if("legacy-full"!==i)return!0}return!1}(t,e)||function(e){return"DETAILS"===e.tagName&&Array.prototype.slice.apply(e.children).some(function(e){return"SUMMARY"===e.tagName})}
vendor: 4,125 bytes, line 376
376(t)||function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(var i=0;i<t.children.length;i++){var n=t.children.item(i);if("LEGEND"===n.tagName)return!!Qt.call(t,"fieldset[disabled] *")||!n.contains(e)}return!0}t=t.parentElement}return!1}(t))},si=function(e,t){return!(function(e){return function(e){return ni(e)&&"radio"===e.type}(e)&&!function(e){if(!e.name)return!0;var t,i=e.form||Xt(e),n=function(e){return i.querySelectorAll('input[type="radio"][name="'+e+'"]')};if("undefined"!=typeof window&&void 0!==window.CSS&&"function"==typeof window.CSS.escape)t=n(window.CSS.escape(e.name));else try{t=n(e.name)}catch(e){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",e.message),!1}var r=function(e,t){for(var i=0;i<e.length;i++)if(e[i].checked&&e[i].form===t)return e[i]}(t,e.form);return!r||r===e}(e)}(t)||ti(t)<0||!oi(e,t))},ai=function(e){var t=parseInt(e.getAttribute("tabindex"),10);return!!(isNaN(t)||t>=0)},di=function(e){var t=[],i=[];return e.forEach(function(e,n){var r=!!e.scopeParent,o=r?e.scopeParent:e,s=function(e,t){var i=ti(e);return i<0&&t&&!ei(e)?0:i}(o,r),a=r?di(e.candidates):o;0===s?r?t.push.apply(t,a):t.push(o):i.push({documentOrder:n,tabIndex:s,item:e,isScope:r,content:a})}),i.sort(ii).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},ci=function(e,t){var i;return i=(t=t||{}).getShadowRoot?Yt([e],t.includeContainer,{filter:si.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:ai}):function(e,t,i){if(Zt(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Gt));return t&&Qt.call(e,Gt)&&n.unshift(e),n.filter(i)}(e,t.includeContainer,si.bind(null,t)),di(i)};function li(e,t,i){let{reference:n,floating:r}=e;const o=Vt(t),s=Ut(t),a=Nt(s),d=Dt(t),c="y"===o,l=n.x+n.width/2-r.width/2,u=n.y+n.height/2-r.height/2,h=n[a]/2-r[a]/2;let p;switch(d){case"top":p={x:l,y:n.y-r.height};break;case"bottom":p={x:l,y:n.y+n.height};break;case"right":p={x:n.x+n.width,y:u};break;case"left":p={x:n.x-r.width,y:u};break;default:p={x:n.x,y:n.y}}switch(Ft(t)){case"start":p[s]-=h*(i&&c?-1:1);break;case"end":p[s]+=h*(i&&c?-1:1)}return p}async function ui(e,t){var i;void 0===t&&(t={});const{x:n,y:r,platform:o,rects:s,elements:a,strategy:d}=e,{boundary:c="clippingAncestors",rootBoundary:l="viewport",elementContext:u="floating",altBoundary:h=!1,padding:p=0}=Rt(t,e),f=function(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}(p),m=a[h?"floating"===u?"reference":"floating":u],g=Kt(await o.getClippingRect({element:null==(i=await(null==o.isElement?void 0:o.isElement(m)))||i?m:m.contextElement||await(null==o.getDocumentElement?void 0:o.getDocumentElement(a.floating)),boundary:c,rootBoundary:l,strategy:d})),v="floating"===u?{x:n,y:r,width:s.floating.width,height:s.floating.height}:s.reference,b=await(null==o.getOffsetParent?void 0:o.getOffsetParent(a.floating)),y=await(null==o.isElement?void 0:o.isElement(b))&&await(null==o.getScale?void 0:o.getScale(b))||{x:1,y:1},S=Kt(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:v,offsetParent:b,strategy:d}):v);return{top:(g.top-S.top+f.top)/y.y,bottom:(S.bottom-g.bottom+f.bottom)/y.y,left:(g.left-S.left+f.left)/y.x,right:(S.right-g.right+f.right)/y.x}}const hi=new Set(["left","top"]);function pi(e){const t=ct(e);let i=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const r=Ge(e),o=r?e.offsetWidth:i,s=r?e.offsetHeight:n,a=xt(i)!==o||xt(n)!==s;return a&&(i=o,n=s),{width:i,height:n,$:a}}function fi(e){return Ke(e)?e:e.contextElement}function mi(e){const t=fi(e);if(!Ge(t))return Pt(1);const i=t.getBoundingClientRect(),{width:n,height:r,$:o}=pi(t);let s=(o?xt(i.width):i.width)/n,a=(o?xt(i.height):i.height)/r;return s&&Number.isFinite(s)||(s=1),a&&Number.isFinite(a)||(a=1),{x:s,y:a}}const gi=Pt(0);function vi(e){const t=He(e);
vendor: 5,261 bytes, line 376
376return st()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:gi}function bi(e,t,i,n){void 0===t&&(t=!1),void 0===i&&(i=!1);const r=e.getBoundingClientRect(),o=fi(e);let s=Pt(1);t&&(n?Ke(n)&&(s=mi(n)):s=mi(e));const a=function(e,t,i){return void 0===t&&(t=!1),!(!i||t&&i!==He(e))&&t}(o,i,n)?vi(o):Pt(0);let d=(r.left+a.x)/s.x,c=(r.top+a.y)/s.y,l=r.width/s.x,u=r.height/s.y;if(o){const e=He(o),t=n&&Ke(n)?He(n):n;let i=e,r=ft(i);for(;r&&n&&t!==i;){const e=mi(r),t=r.getBoundingClientRect(),n=ct(r),o=t.left+(r.clientLeft+parseFloat(n.paddingLeft))*e.x,s=t.top+(r.clientTop+parseFloat(n.paddingTop))*e.y;d*=e.x,c*=e.y,l*=e.x,u*=e.y,d+=o,c+=s,i=He(r),r=ft(i)}}return Kt({width:l,height:u,x:d,y:c})}function yi(e,t){const i=lt(e).scrollLeft;return t?t.left+i:bi(We(e)).left+i}function Si(e,t){const i=e.getBoundingClientRect();return{x:i.left+t.scrollLeft-yi(e,i),y:i.top+t.scrollTop}}const wi=new Set(["absolute","fixed"]);function Ci(e,t,i){let n;if("viewport"===t)n=function(e,t){const i=He(e),n=We(e),r=i.visualViewport;let o=n.clientWidth,s=n.clientHeight,a=0,d=0;if(r){o=r.width,s=r.height;const e=st();(!e||e&&"fixed"===t)&&(a=r.offsetLeft,d=r.offsetTop)}const c=yi(n);if(c<=0){const e=n.ownerDocument,t=e.body,i=getComputedStyle(t),r="CSS1Compat"===e.compatMode&&parseFloat(i.marginLeft)+parseFloat(i.marginRight)||0,s=Math.abs(n.clientWidth-t.clientWidth-r);s<=25&&(o-=s)}else c<=25&&(o+=c);return{width:o,height:s,x:a,y:d}}(e,i);else if("document"===t)n=function(e){const t=We(e),i=lt(e),n=e.ownerDocument.body,r=It(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),o=It(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let s=-i.scrollLeft+yi(e);const a=-i.scrollTop;return"rtl"===ct(n).direction&&(s+=It(t.clientWidth,n.clientWidth)-r),{width:r,height:o,x:s,y:a}}(We(e));else if(Ke(t))n=function(e,t){const i=bi(e,!0,"fixed"===t),n=i.top+e.clientTop,r=i.left+e.clientLeft,o=Ge(e)?mi(e):Pt(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:r*o.x,y:n*o.y}}(t,i);else{const i=vi(e);n={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return Kt(n)}function ki(e,t){const i=ut(e);return!(i===t||!Ke(i)||dt(i))&&("fixed"===ct(i).position||ki(i,t))}function Ei(e,t,i){const n=Ge(t),r=We(t),o="fixed"===i,s=bi(e,!0,o,t);let a={scrollLeft:0,scrollTop:0};const d=Pt(0);function c(){d.x=yi(r)}if(n||!n&&!o)if(("body"!==$e(t)||Xe(r))&&(a=lt(t)),n){const e=bi(t,!0,o,t);d.x=e.x+t.clientLeft,d.y=e.y+t.clientTop}else r&&c();o&&!n&&r&&c();const l=!r||n||o?Pt(0):Si(r,a);return{x:s.left+a.scrollLeft-d.x-l.x,y:s.top+a.scrollTop-d.y-l.y,width:s.width,height:s.height}}function Ti(e){return"static"===ct(e).position}function Ii(e,t){if(!Ge(e)||"fixed"===ct(e).position)return null;if(t)return t(e);let i=e.offsetParent;return We(e)===i&&(i=i.ownerDocument.body),i}function xi(e,t){const i=He(e);if(tt(e))return i;if(!Ge(e)){let t=ut(e);for(;t&&!dt(t);){if(Ke(t)&&!Ti(t))return t;t=ut(t)}return i}let n=Ii(e,t);for(;n&&Ye(n)&&Ti(n);)n=Ii(n,t);return n&&dt(n)&&Ti(n)&&!ot(n)?i:n||function(e){let t=ut(e);for(;Ge(t)&&!dt(t);){if(ot(t))return t;if(tt(t))return null;t=ut(t)}return null}(e)||i}const Ai={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:i,offsetParent:n,strategy:r}=e;const o="fixed"===r,s=We(n),a=!!t&&tt(t.floating);if(n===s||a&&o)return i;let d={scrollLeft:0,scrollTop:0},c=Pt(1);const l=Pt(0),u=Ge(n);if((u||!u&&!o)&&(("body"!==$e(n)||Xe(s))&&(d=lt(n)),Ge(n))){const e=bi(n);c=mi(n),l.x=e.x+n.clientLeft,l.y=e.y+n.clientTop}const h=!s||u||o?Pt(0):Si(s,d);return{width:i.width*c.x,height:i.height*c.y,x:i.x*c.x-d.scrollLeft*c.x+l.x+h.x,y:i.y*c.y-d.scrollTop*c.y+l.y+h.y}},getDocumentElement:We,getClippingRect:function(e){let{element:t,boundary:i,rootBoundary:n,strategy:r}=e;const o=[..."clippingAncestors"===i?tt(t)?[]:function(e,t){const i=t.get(e);if(i)return i;let n=pt(e,[],!1).filter(e=>Ke(e)&&"body"!==$e(e)),r=null;const o="fixed"===ct(e).position;let s=o?ut(e):e;for(;Ke(s)&&!dt(s);){const t=ct(s),i=ot(s);i||"fixed"!==t.position||(r=null),(o?!i&&!r:!i&&"static"===t.position&&r&&wi.has(r.position)||Xe(s)&&!i&&ki(e,s))?n=n.filter(e=>e!==s):r=t,s=ut(s)}return t.set(e,n),n}(t,this._c):[].concat(i),n],s=o[0],a=o.reduce((e,i)=>{const n=Ci(t,i,r);return e.top=It(n.top,e.top),e.right=Tt(n.right,e.right),e.bottom=Tt(n.bottom,e.bottom),e.left=It(n.left,e.left),e},Ci(t,s,r));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}},getOffsetParent:xi,getElementRects:async function(e){const t=this.getOffsetParent||xi,i=this.getDimensions,n=await i(e.floating);return{reference:Ei(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:i}=pi(e);return{width:t,height:i}},getScale:mi,isElement:Ke,isRTL:function(e){return"rtl"===ct(e).direction}};function Pi(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Oi(e,t,i,n){void 0===n&&(n={});const{ancestorScroll:r=!0,ancestorResize:o=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:a="function"==typeof IntersectionObserver,animationFrame:d=!1}=n,c=fi(e),l=r||o?[...c?pt(c):[],...pt(t)]:[];
vendor: 4,319 bytes, line 376
376l.forEach(e=>{r&&e.addEventListener("scroll",i,{passive:!0}),o&&e.addEventListener("resize",i)});const u=c&&a?function(e,t){let i,n=null;const r=We(e);function o(){var e;clearTimeout(i),null==(e=n)||e.disconnect(),n=null}return function s(a,d){void 0===a&&(a=!1),void 0===d&&(d=1),o();const c=e.getBoundingClientRect(),{left:l,top:u,width:h,height:p}=c;if(a||t(),!h||!p)return;const f={rootMargin:-At(u)+"px "+-At(r.clientWidth-(l+h))+"px "+-At(r.clientHeight-(u+p))+"px "+-At(l)+"px",threshold:It(0,Tt(1,d))||1};let m=!0;function g(t){const n=t[0].intersectionRatio;if(n!==d){if(!m)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}1!==n||Pi(c,e.getBoundingClientRect())||s(),m=!1}try{n=new IntersectionObserver(g,{...f,root:r.ownerDocument})}catch(e){n=new IntersectionObserver(g,f)}n.observe(e)}(!0),o}(c,i):null;let h,p=-1,f=null;s&&(f=new ResizeObserver(e=>{let[n]=e;n&&n.target===c&&f&&(f.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var e;null==(e=f)||e.observe(t)})),i()}),c&&!d&&f.observe(c),f.observe(t));let m=d?bi(e):null;return d&&function t(){const n=bi(e);m&&!Pi(m,n)&&i(),m=n,h=requestAnimationFrame(t)}(),i(),()=>{var e;l.forEach(e=>{r&&e.removeEventListener("scroll",i),o&&e.removeEventListener("resize",i)}),null==u||u(),null==(e=f)||e.disconnect(),f=null,d&&cancelAnimationFrame(h)}}const _i=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var i,n;const{x:r,y:o,placement:s,middlewareData:a}=t,d=await async function(e,t){const{placement:i,platform:n,elements:r}=e,o=await(null==n.isRTL?void 0:n.isRTL(r.floating)),s=Dt(i),a=Ft(i),d="y"===Vt(i),c=hi.has(s)?-1:1,l=o&&d?-1:1,u=Rt(t,e);let{mainAxis:h,crossAxis:p,alignmentAxis:f}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return a&&"number"==typeof f&&(p="end"===a?-1*f:f),d?{x:p*l,y:h*c}:{x:h*c,y:p*l}}(t,e);return s===(null==(i=a.offset)?void 0:i.placement)&&null!=(n=a.arrow)&&n.alignmentOffset?{}:{x:r+d.x,y:o+d.y,data:{...d,placement:s}}}}},Mi=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:i,y:n,placement:r}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:a={fn:e=>{let{x:t,y:i}=e;return{x:t,y:i}}},...d}=Rt(e,t),c={x:i,y:n},l=await ui(t,d),u=Vt(Dt(r)),h=Lt(u);let p=c[h],f=c[u];if(o){const e="y"===h?"bottom":"right";p=Mt(p+l["y"===h?"top":"left"],p,p-l[e])}if(s){const e="y"===u?"bottom":"right";f=Mt(f+l["y"===u?"top":"left"],f,f-l[e])}const m=a.fn({...t,[h]:p,[u]:f});return{...m,data:{x:m.x-i,y:m.y-n,enabled:{[h]:o,[u]:s}}}}}},Ri=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var i,n;const{placement:r,middlewareData:o,rects:s,initialPlacement:a,platform:d,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:h,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:f="none",flipAlignment:m=!0,...g}=Rt(e,t);if(null!=(i=o.arrow)&&i.alignmentOffset)return{};const v=Dt(r),b=Vt(a),y=Dt(a)===a,S=await(null==d.isRTL?void 0:d.isRTL(c.floating)),w=h||(y||!m?[qt(a)]:function(e){const t=qt(e);return[jt(e),t,jt(t)]}(a)),C="none"!==f;!h&&C&&w.push(...function(e,t,i,n){const r=Ft(e);let o=function(e,t,i){switch(e){case"top":case"bottom":return i?t?$t:zt:t?zt:$t;case"left":case"right":return t?Ht:Wt;default:return[]}}(Dt(e),"start"===i,n);return r&&(o=o.map(e=>e+"-"+r),t&&(o=o.concat(o.map(jt)))),o}(a,m,f,S));const k=[a,...w],E=await ui(t,g),T=[];let I=(null==(n=o.flip)?void 0:n.overflows)||[];if(l&&T.push(E[v]),u){const e=function(e,t,i){void 0===i&&(i=!1);const n=Ft(e),r=Ut(e),o=Nt(r);let s="x"===r?n===(i?"end":"start")?"right":"left":"start"===n?"bottom":"top";return t.reference[o]>t.floating[o]&&(s=qt(s)),[s,qt(s)]}(r,s,S);T.push(E[e[0]],E[e[1]])}if(I=[...I,{placement:r,overflows:T}],!T.every(e=>e<=0)){var x,A;const e=((null==(x=o.flip)?void 0:x.index)||0)+1,t=k[e];if(t&&("alignment"!==u||b===Vt(t)||I.every(e=>Vt(e.placement)!==b||e.overflows[0]>0)))return{data:{index:e,overflows:I},reset:{placement:t}};let i=null==(A=I.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:A.placement;if(!i)switch(p){case"bestFit":{var P;const e=null==(P=I.filter(e=>{if(C){const t=Vt(e.placement);return t===b||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>
376e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:P[0];e&&(i=e);break}case"initialPlacement":i=a}if(r!==i)return{reset:{placement:i}}}return{}}}},Di=(e,t,i)=>{const n=new Map,r={platform:Ai,...i},o={...r.platform,_c:n};return(async(e,t,i)=>{const{placement:n="bottom",strategy:r="absolute",middleware:o=[],platform:s}=i,a=o.filter(Boolean),d=await(null==s.isRTL?void 0:s.isRTL(t));let c=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:l,y:u}=li(c,n,d),h=n,p={},f=0;for(let i=0;i<a.length;i++){const{name:o,fn:m}=a[i],{x:g,y:v,data:b,reset:y}=await m({x:l,y:u,initialPlacement:n,placement:h,strategy:r,middlewareData:p,rects:c,platform:s,elements:{reference:e,floating:t}});l=null!=g?g:l,u=null!=v?v:u,p={...p,[o]:{...p[o],...b}},y&&f<=50&&(f++,"object"==typeof y&&(y.placement&&(h=y.placement),y.rects&&(c=!0===y.rects?await s.getElementRects({reference:e,floating:t,strategy:r}):y.rects),({x:l,y:u}=li(c,h,d))),i=-1)}return{x:l,y:u,placement:h,strategy:r,middlewareData:p}})(e,t,{...r,platform:o})};var Fi="undefined"!=typeof document?q.useLayoutEffect:function(){};function Li(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;let i,n,r;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if(i=e.length,i!==t.length)return!1;for(n=i;0!==n--;)if(!Li(e[n],t[n]))return!1;return!0}if(r=Object.keys(e),i=r.length,i!==Object.keys(t).length)return!1;for(n=i;0!==n--;)if(!{}.hasOwnProperty.call(t,r[n]))return!1;for(n=i;0!==n--;){const i=r[n];if(!("_owner"===i&&e.$$typeof||Li(e[i],t[i])))return!1}return!0}return e!=e&&t!=t}function Ni(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Bi(e,t){const i=Ni(e);return Math.round(t*i)/i}function Vi(e){const t=q.useRef(e);return Fi(()=>{t.current=e}),t}const Ui=(e,t)=>({...Mi(e),options:[e,t]}),ji=(e,t)=>({...Ri(e),options:[e,t]}),zi={...K},$i=zi.useInsertionEffect||(e=>e());function Hi(e){const t=q.useRef(()=>{});return $i(()=>{t.current=e}),q.useCallback(function(){for(var e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];return null==t.current?void 0:t.current(...i)},[])}var Wi="undefined"!=typeof document?q.useLayoutEffect:q.useEffect;function qi(){return qi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},qi.apply(this,arguments)}let Ki=!1,Gi=0;const Ji=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+Gi++,Qi=zi.useId||function(){const[e,t]=q.useState(()=>Ki?Ji():void 0);return Wi(()=>{null==e&&t(Ji())},[]),q.useEffect(()=>{Ki=!0},[]),e},Xi=q.createContext(null),Zi=q.createContext(null),Yi=()=>{var e;return(null==(e=q.useContext(Xi))?void 0:e.id)||null},en=()=>q.useContext(Zi);function tn(e){return"data-floating-ui-"+e}function nn(e){const t=(0,q.useRef)(e);return Wi(()=>{t.current=e}),t}let rn=0;function on(e,t){void 0===t&&(t={});const{preventScroll:i=!1,cancelPrevious:n=!0,sync:r=!1}=t;n&&cancelAnimationFrame(rn);const o=()=>null==e?void 0:e.focus({preventScroll:i});r?o():rn=requestAnimationFrame(o)}function sn(e,t){let i=e.filter(e=>{var i;return e.parentId===t&&(null==(i=e.context)?void 0:i.open)}),n=i;for(;n.length;)n=e.filter(e=>{var t;return null==(t=n)?void 0:t.some(t=>{var i;return e.parentId===t.id&&(null==(i=e.context)?void 0:i.open)})}),i=i.concat(n);return i}let an=new WeakMap,dn=new WeakSet,cn={},ln=0;const un=e=>e&&(e.host||un(e.parentNode));function hn(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);const n=St(e[0]).body;return function(e,t,i,n){const r="data-floating-ui-inert",o=n?"inert":i?"aria-hidden":null,s=((e,t)=>t.map(t=>{if(e.contains(t))return t;const i=un(t);return e.contains(i)?i:null}).filter(e=>null!=e))(t,e),a=new Set,d=new Set(s),c=[];cn[r]||(cn[r]=new WeakMap);const l=cn[r];return s.forEach(function e(t){t&&!a.has(t)&&(a.add(t),t.parentNode&&e(t.parentNode))}),function e(t){t&&!d.has(t)&&[].forEach.call(t.children,t=>{if("script"!==$e(t))if(a.has(t))e(t);else{const e=o?t.getAttribute(o):null,i=null!==e&&"false"!==e,n=(an.get(t)||0)+1,s=(l.get(t)||0)+1;an.set(t,n),l.set(t,s),c.push(t),1===n&&i&&dn.add(t),1===s&&t.setAttribute(r,""),!i&&o&&t.setAttribute(o,"true")}})}(t),a.clear(),ln++,()=>
vendor: 24,570 bytes, lines 376-512
376{c.forEach(e=>{const t=(an.get(e)||0)-1,i=(l.get(e)||0)-1;an.set(e,t),l.set(e,i),t||(!dn.has(e)&&o&&e.removeAttribute(o),dn.delete(e)),i||e.removeAttribute(r)}),ln--,ln||(an=new WeakMap,an=new WeakMap,dn=new WeakSet,cn={})}}(e.concat(Array.from(n.querySelectorAll("[aria-live]"))),n,t,i)}const pn=()=>({getShadowRoot:!0,displayCheck:"function"==typeof ResizeObserver&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function fn(e,t){const i=ci(e,pn());"prev"===t&&i.reverse();const n=i.indexOf(mt(St(e)));return i.slice(n+1)[0]}function mn(){return fn(document.body,"next")}function gn(){return fn(document.body,"prev")}function vn(e,t){const i=t||e.currentTarget,n=e.relatedTarget;return!n||!gt(i,n)}function bn(e){ci(e,pn()).forEach(e=>{e.dataset.tabindex=e.getAttribute("tabindex")||"",e.setAttribute("tabindex","-1")})}function yn(e){e.querySelectorAll("[data-tabindex]").forEach(e=>{const t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute("tabindex",t):e.removeAttribute("tabindex")})}const Sn={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0};function wn(e){"Tab"===e.key&&(e.target,clearTimeout(void 0))}const Cn=q.forwardRef(function(e,t){const[i,n]=q.useState();Wi(()=>(/apple/i.test(navigator.vendor)&&n("button"),document.addEventListener("keydown",wn),()=>{document.removeEventListener("keydown",wn)}),[]);const r={ref:t,tabIndex:0,role:i,"aria-hidden":!i||void 0,[tn("focus-guard")]:"",style:Sn};return q.createElement("span",qi({},e,r))}),kn=q.createContext(null),En=tn("portal");function Tn(e){const{children:t,id:i,root:n,preserveTabOrder:r=!0}=e,o=function(e){void 0===e&&(e={});const{id:t,root:i}=e,n=Qi(),r=In(),[o,s]=q.useState(null),a=q.useRef(null);return Wi(()=>()=>{null==o||o.remove(),queueMicrotask(()=>{a.current=null})},[o]),Wi(()=>{if(!n)return;if(a.current)return;const e=t?document.getElementById(t):null;if(!e)return;const i=document.createElement("div");i.id=n,i.setAttribute(En,""),e.appendChild(i),a.current=i,s(i)},[t,n]),Wi(()=>{if(null===i)return;if(!n)return;if(a.current)return;let e=i||(null==r?void 0:r.portalNode);e&&!Ke(e)&&(e=e.current),e=e||document.body;let o=null;t&&(o=document.createElement("div"),o.id=t,e.appendChild(o));const d=document.createElement("div");d.id=n,d.setAttribute(En,""),e=o||e,e.appendChild(d),a.current=d,s(d)},[t,i,n,r]),o}({id:i,root:n}),[s,a]=q.useState(null),d=q.useRef(null),c=q.useRef(null),l=q.useRef(null),u=q.useRef(null),h=null==s?void 0:s.modal,p=null==s?void 0:s.open,f=!!s&&!s.modal&&s.open&&r&&!(!n&&!o);return q.useEffect(()=>{if(o&&r&&!h)return o.addEventListener("focusin",e,!0),o.addEventListener("focusout",e,!0),()=>{o.removeEventListener("focusin",e,!0),o.removeEventListener("focusout",e,!0)};function e(e){o&&vn(e)&&("focusin"===e.type?yn:bn)(o)}},[o,r,h]),q.useEffect(()=>{o&&(p||yn(o))},[p,o]),q.createElement(kn.Provider,{value:q.useMemo(()=>({preserveTabOrder:r,beforeOutsideRef:d,afterOutsideRef:c,beforeInsideRef:l,afterInsideRef:u,portalNode:o,setFocusManagerState:a}),[r,o])},f&&o&&q.createElement(Cn,{"data-type":"outside",ref:d,onFocus:e=>{if(vn(e,o)){var t;null==(t=l.current)||t.focus()}else{const e=gn()||(null==s?void 0:s.refs.domReference.current);null==e||e.focus()}}}),f&&o&&q.createElement("span",{"aria-owns":o.id,style:Sn}),o&&G.createPortal(t,o),f&&o&&q.createElement(Cn,{"data-type":"outside",ref:c,onFocus:e=>{if(vn(e,o)){var t;null==(t=u.current)||t.focus()}else{const t=mn()||(null==s?void 0:s.refs.domReference.current);null==t||t.focus(),(null==s?void 0:s.closeOnFocusOut)&&(null==s||s.onOpenChange(!1,e.nativeEvent,"focus-out"))}}}))}const In=()=>q.useContext(kn),xn="data-floating-ui-focusable";let An=[];function Pn(e){An=An.filter(e=>e.isConnected);let t=e;if(t&&"body"!==$e(t)){if(!function(e,t){if(t=t||{},!e)throw new Error("No node provided");return!1!==Qt.call(e,Gt)&&si(t,e)}(t,pn())){const e=ci(t,pn())[0];e&&(t=e)}An.push(t),An.length>20&&(An=An.slice(-20))}}function On(){return An.slice().reverse().find(e=>e.isConnected)}const _n=q.forwardRef(function(e,t){return q.createElement("button",qi({},e,{type:"button",ref:t,tabIndex:-1,style:Sn}))});function Mn(e){const{context:t,children:i,disabled:n=!1,order:r=["content"],guards:o=!0,initialFocus:s=0,returnFocus:a=!0,restoreFocus:d=!1,modal:c=!0,visuallyHiddenDismiss:l=!1,closeOnFocusOut:u=!0}=e,{open:h,refs:p,nodeId:f,onOpenChange:m,events:g,dataRef:v,floatingId:b,elements:{domReference:y,floating:S}}=t,w="number"==typeof s&&s<0,C=!!(k=y)&&"combobox"===k.getAttribute("role")&&kt(k)&&w;var k;const E="undefined"==typeof HTMLElement||!("inert"in HTMLElement.prototype)||o,T=nn(r),I=nn(s),x=nn(a),A=en(),P=In(),O=q.useRef(null),_=q.useRef(null),M=q.useRef(!1),R=q.useRef(!1),D=q.useRef(-1),F=null!=P,L=(N=S)?N.hasAttribute(xn)?N:N.querySelector("["+xn+"]")||N:null;var N;const B=Hi(function(e){return void 0===e&&(e=L),e?ci(e,pn()):[]}),V=Hi(e=>{const t=B(e);return T.current.map(e=>y&&"reference"===e?y:L&&"floating"===e?L:t).filter(Boolean).flat()});function U(e){return!n&&l&&c?q.createElement(_n,{ref:"start"===e?O:_,onClick:e=>m(!1,e.nativeEvent)},"string"==typeof l?l:"Dismiss"):null}q.useEffect(()=>{if(n)return;if(!c)return;function e(e){if("Tab"===e.key){gt(L,mt(St(L)))&&0===B().length&&!C&&Et(e);const t=V(),i=Ct(e);"reference"===T.current[0]&&i===y&&(Et(e),e.shiftKey?on(t[t.length-1]):on(t[1])),"floating"===T.current[1]&&i===L&&e.shiftKey&&(Et(e),on(t[0]))}}const t=St(L);return t.addEventListener("keydown",e),()=>{t.removeEventListener("keydown",e)}},[n,y,L,c,T,C,B,V]),q.useEffect(()=>{if(!n&&S)return S.addEventListener("focusin",e),()=>{S.removeEventListener("focusin",e)};function e(e){const t=Ct(e),i=B().indexOf(t);-1!==i&&(D.current=i)}},[n,S,B]),q.useEffect(()=>{if(!n&&u)return S&&Ge(y)?(y.addEventListener("focusout",t),y.addEventListener("pointerdown",e),S.addEventListener("focusout",t),()=>{y.removeEventListener("focusout",t),y.removeEventListener("pointerdown",e),S.removeEventListener("focusout",t)}):void 0;function e(){R.current=!0,setTimeout(()=>{R.current=!1})}function t(e){const t=e.relatedTarget;queueMicrotask(()=>{const i=!(gt(y,t)||gt(S,t)||gt(t,S)||gt(null==P?void 0:P.portalNode,t)||null!=t&&t.hasAttribute(tn("focus-guard"))||A&&(sn(A.nodesRef.current,f).find(e=>{var i,n;return gt(null==(i=e.context)?void 0:i.elements.floating,t)||gt(null==(n=e.context)?void 0:n.elements.domReference,t)})||function(e,t){var i;let n=[],r=null==(i=e.find(e=>e.id===t))?void 0:i.parentId;for(;r;){const t=e.find(e=>e.id===r);r=null==t?void 0:t.parentId,t&&(n=n.concat(t))}return n}(A.nodesRef.current,f).find(e=>{var i,n;return(null==(i=e.context)?void 0:i.elements.floating)===t||(null==(n=e.context)?void 0:n.elements.domReference)===t})));if(d&&i&&mt(St(L))===St(L).body){Ge(L)&&L.focus();const e=D.current,t=B(),i=t[e]||t[t.length-1]||L;Ge(i)&&i.focus()}!C&&c||!t||!i||R.current||t===On()||(M.current=!0,m(!1,e,"focus-out"))})}},[n,y,S,L,c,f,A,P,m,u,d,B,C]),q.useEffect(()=>{var e;if(n)return;const t=Array.from((null==P||null==(e=P.portalNode)?void 0:e.querySelectorAll("["+tn("portal")+"]"))||[]);if(S){const e=[S,...t,O.current,_.current,T.current.includes("reference")||C?y:null].filter(e=>null!=e),i=c||C?hn(e,E,!E):hn(e);return()=>{i()}}},[n,y,S,c,T,P,C,E]),Wi(()=>{if(n||!Ge(L))return;const e=mt(St(L));queueMicrotask(()=>{const t=V(L),i=I.current,n=("number"==typeof i?t[i]:i.current)||L,r=gt(L,e);w||r||!h||on(n,{preventScroll:n===L})})},[n,h,L,w,V,I]),Wi(()=>{if(n||!L)return;let e=!1;const t=St(L),i=mt(t);let r=v.current.openEvent;function o(t){let{open:i,reason:n,event:o,nested:s}=t;i&&(r=o),"escape-key"===n&&p.domReference.current&&Pn(p.domReference.current),"hover"===n&&"mouseleave"===o.type&&(M.current=!0),"outside-press"===n&&(s?(M.current=!1,e=!0):M.current=!(function(e){return!(0!==e.mozInputSource||!e.isTrusted)||(bt()&&e.pointerType?"click"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}(o)||function(e){return!vt().includes("jsdom/")&&(!bt()&&0===e.width&&0===e.height||bt()&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&"mouse"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&"touch"===e.pointerType)}(o)))}Pn(i),g.on("openchange",o);const s=t.createElement("span");return s.setAttribute("tabindex","-1"),s.setAttribute("aria-hidden","true"),Object.assign(s.style,Sn),F&&y&&y.insertAdjacentElement("afterend",s),()=>{g.off("openchange",o);const i=mt(t),n=gt(S,i)||A&&sn(A.nodesRef.current,f).some(e=>{var t;return gt(null==(t=e.context)?void 0:t.elements.floating,i)});(n||r&&["click","mousedown"].includes(r.type))&&p.domReference.current&&Pn(p.domReference.current);const a="boolean"==typeof x.current?On()||s:x.current.current||s;queueMicrotask(()=>{x.current&&!M.current&&Ge(a)&&(a===i||i===t.body||n)&&a.focus({preventScroll:e}),s.remove()})}},[n,S,L,x,v,p,g,A,f,F,y]),q.useEffect(()=>{queueMicrotask(()=>{M.current=!1})},[n]),Wi(()=>{if(!n&&P)return P.setFocusManagerState({modal:c,closeOnFocusOut:u,open:h,onOpenChange:m,refs:p}),()=>{P.setFocusManagerState(null)}},[n,P,c,h,m,p,u]),Wi(()=>{if(n)return;if(!L)return;if("function"!=typeof MutationObserver)return;if(w)return;const e=()=>{const e=L.getAttribute("tabindex"),t=B(),i=mt(St(S)),n=t.indexOf(i);-1!==n&&(D.current=n),T.current.includes("floating")||i!==p.domReference.current&&0===t.length?"0"!==e&&L.setAttribute("tabindex","0"):"-1"!==e&&L.setAttribute("tabindex","-1")};e();const t=new MutationObserver(e);return t.observe(L,{childList:!0,subtree:!0,attributes:!0}),()=>{t.disconnect()}},[n,S,L,p,T,B,w]);const j=!n&&E&&(!c||!C)&&(F||c);return q.createElement(q.Fragment,null,j&&q.createElement(Cn,{"data-type":"inside",ref:null==P?void 0:P.beforeInsideRef,onFocus:e=>{if(c){const e=V();on("reference"===r[0]?e[0]:e[e.length-1])}else if(null!=P&&P.preserveTabOrder&&P.portalNode)if(M.current=!1,vn(e,P.portalNode)){const e=mn()||y;null==e||e.focus()}else{var t;null==(t=P.beforeOutsideRef.current)||t.focus()}}}),!C&&U("start"),i,U("end"),j&&q.createElement(Cn,{"data-type":"inside",ref:null==P?void 0:P.afterInsideRef,onFocus:e=>{if(c)on(V()[0]);else if(null!=P&&P.preserveTabOrder&&P.portalNode)if(u&&(M.current=!0),vn(e,P.portalNode)){const e=gn()||y;null==e||e.focus()}else{var t;null==(t=P.afterOutsideRef.current)||t.focus()}}}))}function Rn(e){return Ge(e.target)&&"BUTTON"===e.target.tagName}function Dn(e){return kt(e)}const Fn={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},Ln={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},Nn=e=>{var t,i;return{escapeKey:"boolean"==typeof e?e:null!=(t=null==e?void 0:e.escapeKey)&&t,outsidePress:"boolean"==typeof e?e:null==(i=null==e?void 0:e.outsidePress)||i}};function Bn(e){void 0===e&&(e={});const{nodeId:t}=e,i=function(e){const{open:t=!1,onOpenChange:i,elements:n}=e,r=Qi(),o=q.useRef({}),[s]=q.useState(()=>function(){const e=new Map;return{emit(t,i){var n;null==(n=e.get(t))||n.forEach(e=>e(i))},on(t,i){e.set(t,[...e.get(t)||[],i])},off(t,i){var n;e.set(t,(null==(n=e.get(t))?void 0:n.filter(e=>e!==i))||[])}}}()),a=null!=Yi(),[d,c]=q.useState(n.reference),l=Hi((e,t,n)=>{o.current.openEvent=e?t:void 0,s.emit("openchange",{open:e,event:t,reason:n,nested:a}),null==i||i(e,t,n)}),u=q.useMemo(()=>({setPositionReference:c}),[]),h=q.useMemo(()=>({reference:d||n.reference||null,floating:n.floating||null,domReference:n.reference}),[d,n.reference,n.floating]);return q.useMemo(()=>({dataRef:o,open:t,onOpenChange:l,elements:h,events:s,floatingId:r,refs:u}),[t,l,h,s,r,u])}({...e,elements:{reference:null,floating:null,...e.elements}}),n=e.rootContext||i,r=n.elements,[o,s]=q.useState(null),[a,d]=q.useState(null),c=(null==r?void 0:r.domReference)||o,l=q.useRef(null),u=en();Wi(()=>{c&&(l.current=c)},[c]);const h=function(e){void 0===e&&(e={});const{placement:t="bottom",strategy:i="absolute",middleware:n=[],platform:r,elements:{reference:o,floating:s}={},transform:a=!0,whileElementsMounted:d,open:c}=e,[l,u]=q.useState({x:0,y:0,strategy:i,placement:t,middlewareData:{},isPositioned:!1}),[h,p]=q.useState(n);Li(h,n)||p(n);const[f,m]=q.useState(null),[g,v]=q.useState(null),b=q.useCallback(e=>{e!==C.current&&(C.current=e,m(e))},[]),y=q.useCallback(e=>{e!==k.current&&(k.current=e,v(e))},[]),S=o||f,w=s||g,C=q.useRef(null),k=q.useRef(null),E=q.useRef(l),T=null!=d,I=Vi(d),x=Vi(r),A=Vi(c),P=q.useCallback(()=>{if(!C.current||!k.current)return;const e={placement:t,strategy:i,middleware:h};x.current&&(e.platform=x.current),Di(C.current,k.current,e).then(e=>{const t={...e,isPositioned:!1!==A.current};O.current&&!Li(E.current,t)&&(E.current=t,G.flushSync(()=>{u(t)}))})},[h,t,i,x,A]);Fi(()=>{!1===c&&E.current.isPositioned&&(E.current.isPositioned=!1,u(e=>({...e,isPositioned:!1})))},[c]);const O=q.useRef(!1);Fi(()=>(O.current=!0,()=>{O.current=!1}),[]),Fi(()=>{if(S&&(C.current=S),w&&(k.current=w),S&&w){if(I.current)return I.current(S,w,P);P()}},[S,w,P,I,T]);const _=q.useMemo(()=>({reference:C,floating:k,setReference:b,setFloating:y}),[b,y]),M=q.useMemo(()=>({reference:S,floating:w}),[S,w]),R=q.useMemo(()=>{const e={position:i,left:0,top:0};if(!M.floating)return e;const t=Bi(M.floating,l.x),n=Bi(M.floating,l.y);return a?{...e,transform:"translate("+t+"px, "+n+"px)",...Ni(M.floating)>=1.5&&{willChange:"transform"}}:{position:i,left:t,top:n}},[i,a,M.floating,l.x,l.y]);return q.useMemo(()=>({...l,update:P,refs:_,elements:M,floatingStyles:R}),[l,P,_,M,R])}({...e,elements:{...r,...a&&{reference:a}}}),p=q.useCallback(e=>{const t=Ke(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;d(t),h.refs.setReference(t)},[h.refs]),f=q.useCallback(e=>{(Ke(e)||null===e)&&(l.current=e,s(e)),(Ke(h.refs.reference.current)||null===h.refs.reference.current||null!==e&&!Ke(e))&&h.refs.setReference(e)},[h.refs]),m=q.useMemo(()=>({...h.refs,setReference:f,setPositionReference:p,domReference:l}),[h.refs,f,p]),g=q.useMemo(()=>({...h.elements,domReference:c}),[h.elements,c]),v=q.useMemo(()=>({...h,...n,refs:m,elements:g,nodeId:t}),[h,m,g,t,n]);return Wi(()=>{n.dataRef.current.floatingContext=v;const e=null==u?void 0:u.nodesRef.current.find(e=>e.id===t);e&&(e.context=v)}),q.useMemo(()=>({...h,context:v,refs:m,elements:g}),[h,m,g,v])}const Vn="active",Un="selected";function jn(e,t,i){const n=new Map,r="item"===i;let o=e;if(r&&e){const{[Vn]:t,[Un]:i,...n}=e;o=n}return{..."floating"===i&&{tabIndex:-1,[xn]:""},...o,...t.map(t=>{const n=t?t[i]:null;return"function"==typeof n?e?n(e):null:n}).concat(e).reduce((e,t)=>t?(Object.entries(t).forEach(t=>{let[i,o]=t;var s;r&&[Vn,Un].includes(i)||(0===i.indexOf("on")?(n.has(i)||n.set(i,[]),"function"==typeof o&&(null==(s=n.get(i))||s.push(o),e[i]=function(){for(var e,t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];return null==(e=n.get(i))?void 0:e.map(e=>e(...r)).find(e=>void 0!==e)})):e[i]=o)}),e):e,{})}}const zn=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]),$n=r.Ay.ul.withConfig(se)`
377  width: fit-content;
378  max-width: 22rem;
379  background-color: ${e=>e.theme.popOver.menuBgd};
380  border: ${e=>e.theme.popOver.menuBorder};
381  margin: 0;
382  border-radius: 0.25rem;
383  backdrop-filter: blur(1rem);
384  list-style: none;
385  padding: 0.5rem 0;
386  box-shadow: ${e=>e.theme.popOver.shadow};
387  z-index: ${e=>e.theme.zIndex.popOver};
388  display: table;
389  overflow: inherit;
390`,Hn=r.Ay.button.withConfig(se)`
391  background-color: transparent;
392  padding: 0;
393  border: none;
394  cursor: pointer;
395  &:focus {
396    outline: 0;
397  }
398`,Wn=r.Ay.li.withConfig(se)`
399  height: 2rem;
400  position: relative;
401
402  button,
403  a {
404    width: 100%;
405    height: 100%;
406    display: flex;
407    align-items: center;
408    border: none;
409    cursor: pointer;
410    background-color: ${e=>e.theme.popOver.itemBgd};
411    color: ${e=>e.theme.popOver.itemText};
412    line-height: ${e=>e.theme.fontSizes.text.lineHeight};
413    font-size: ${e=>e.theme.fontSizes.text.fontSize};
414    padding: 0 2.5rem;
415    text-decoration: none;
416    outline: 0;
417
418    &:hover,
419    &:focus {
420      background-color: ${e=>e.theme.popOver.active.itemBgd};
421      color: ${e=>e.theme.popOver.active.itemText};
422      outline: 0;
423    }
424
425    &:disabled {
426      color: ${e=>e.theme.popOver.disabled};
427    }
428  }
429
430  a {
431    width: unset;
432  }
433
434  .ch-content > * {
435    ${ne};
436  }
437
438  .ch-check {
439    position: absolute;
440    left: 0.5rem;
441    width: 1.5rem;
442    height: 1.5rem;
443    top: 0.33rem;
444  }
445
446  &:hover .ch-check g,
447  &:focus .ch-check g {
448    fill: ${e=>e.theme.popOver.active.itemText};
449  }
450`,qn=((0,r.Ay)(Wn)`
451  > span {
452    width: 100%;
453    height: 100%;
454    display: block;
455    height: 2rem;
456  }
457
458  > button {
459    position: relative;
460  }
461
462  .ch-caret {
463    position: absolute;
464    width: 1.5rem;
465    height: 1.5rem;
466    right: 0;
467    color: inherit;
468    fill: inherit;
469  }
470`,r.Ay.header.withConfig(se)`
471  border-bottom: 0.0625rem solid ${e=>e.theme.popOver.separator};
472  margin-bottom: 0.75rem;
473  max-width: 22rem;
474
475  img {
476    width: 100%;
477    display: inline-block;
478    margin-top: -0.5rem;
479    border-radius: 0.25rem 0.25rem 0 0;
480  }
481
482  img + .ch-title {
483    margin-top: 0.75rem;
484  }
485
486  .ch-title {
487    ${ne};
488    padding: 0 2.5rem;
489    margin-top: 0.5rem;
490    margin-bottom: 0;
491    color: ${e=>e.theme.popOver.titleText};
492    font-size: 1.18125rem;
493    line-height: ${e=>e.theme.fontSizes.text.lineHeight};
494  }
495
496  .ch-subtitle {
497    ${ne};
498    padding: 0 2.5rem;
499    color: #616672;
500    font-size: ${e=>e.theme.fontSizes.text.fontSize};
501    line-height: ${e=>e.theme.fontSizes.text.lineHeight};
502    line-height: 1.43;
503    margin: 0 0 1rem;
504  }
505`,r.Ay.li.withConfig(se)`
506  margin: 0;
507  border-width: 0.0625rem 0 0 0;
508  border-style: solid;
509  border-color: ${e=>e.theme.popOver.separator};
510  margin-bottom: 0.75rem;
511  opacity: 0.8;
512`,e=>{var{renderButton:t,renderButtonWrapper:i,onPopOverClick:r,children:o,isSubMenu:s=!1,placement:a="bottom-start",a11yLabel:d,className:c,closeOnClick:l=!0}=e;X(e,["renderButton","renderButtonWrapper","onPopOverClick","children","isSubMenu","placement","a11yLabel","className","closeOnClick"]);const[u,h]=(0,q.useState)(!1),{refs:p,floatingStyles:f,context:m}=Bn({open:u,onOpenChange:h,placement:a,whileElementsMounted:Oi,middleware:[(g={mainAxis:0,crossAxis:-8},{..._i(g),options:[g,void 0]}),ji(),Ui()]});var g;const v=function(e,t){void 0===t&&(t={});const{open:i,onOpenChange:n,dataRef:r,elements:{domReference:o}}=e,{enabled:s=!0,event:a="click",toggle:d=!0,ignoreMouse:c=!1,keyboardHandlers:l=!0,stickIfOpen:u=!0}=t,h=q.useRef(),p=q.useRef(!1),f=q.useMemo(()=>({onPointerDown(e){h.current=e.pointerType},onMouseDown(e){const t=h.current;0===e.button&&"click"!==a&&(yt(t,!0)&&c||(!i||!d||r.current.openEvent&&u&&"mousedown"!==r.current.openEvent.type?(e.preventDefault(),n(!0,e.nativeEvent,"click")):n(!1,e.nativeEvent,"click")))},onClick(e){const t=h.current;"mousedown"===a&&h.current?h.current=void 0:yt(t,!0)&&c||(!i||!d||r.current.openEvent&&u&&"click"!==r.current.openEvent.type?n(!0,e.nativeEvent,"click"):n(!1,e.nativeEvent,"click"))},onKeyDown(e){h.current=void 0,e.defaultPrevented||!l||Rn(e)||(" "!==e.key||Dn(o)||(e.preventDefault(),p.current=!0),"Enter"===e.key&&n(!i||!d,e.nativeEvent,"click"))},onKeyUp(e){e.defaultPrevented||!l||Rn(e)||Dn(o)||" "===e.key&&p.current&&(p.current=!1,n(!i||!d,e.nativeEvent,"click"))}}),[r,o,a,c,l,n,i,u,d]);return q.useMemo(()=>s?{reference:f}:{},[s,f])}(m),b=function(e,t){void 0===t&&(t={});const{open:i,onOpenChange:n,elements:r,dataRef:o}=e,{enabled:s=!0,escapeKey:a=!0,outsidePress:d=!0,outsidePressEvent:c="pointerdown",referencePress:l=!1,referencePressEvent:u="pointerdown",ancestorScroll:h=!1,bubbles:p,capture:f}=t,m=en(),g=Hi("function"==typeof d?d:()=>!1),v="function"==typeof d?g:d,b=q.useRef(!1),y=q.useRef(!1),{escapeKey:S,outsidePress:w}=Nn(p),{escapeKey:C,outsidePress:k}=Nn(f),E=q.useRef(!1),T=Hi(e=>{var t;if(!i||!s||!a||"Escape"!==e.key)return;if(E.current)return;const r=null==(t=o.current.floatingContext)?void 0:t.nodeId,d=m?sn(m.nodesRef.current,r):[];if(!S&&(e.stopPropagation(),d.length>0)){let e=!0;if(d.forEach(t=>{var i;null==(i=t.context)||!i.open||t.context.dataRef.current.__escapeKeyBubbles||(e=!1)}),!e)return}n(!1,function(e){return"nativeEvent"in e}(e)?e.nativeEvent:e,"escape-key")}),I=Hi(e=>{var t;const i=()=>{var t;T(e),null==(t=Ct(e))||t.removeEventListener("keydown",i)};null==(t=Ct(e))||t.addEventListener("keydown",i)}),x=Hi(e=>{var t;const i=b.current;b.current=!1;const s=y.current;if(y.current=!1,"click"===c&&s)return;if(i)return;if("function"==typeof v&&!v(e))return;const a=Ct(e),d="["+tn("inert")+"]",l=St(r.floating).querySelectorAll(d);let u=Ke(a)?a:null;for(;u&&!dt(u);){const e=ut(u);if(dt(e)||!Ke(e))break;u=e}if(l.length&&Ke(a)&&!a.matches("html,body")&&!gt(a,r.floating)&&Array.from(l).every(e=>!gt(u,e)))return;if(Ge(a)&&O){const t=a.clientWidth>0&&a.scrollWidth>a.clientWidth,i=a.clientHeight>0&&a.scrollHeight>a.clientHeight;let n=i&&e.offsetX>a.clientWidth;if(i&&"rtl"===ct(a).direction&&(n=e.offsetX<=a.offsetWidth-a.clientWidth),n||t&&e.offsetY>a.clientHeight)return}const h=null==(t=o.current.floatingContext)?void 0:t.nodeId,p=m&&sn(m.nodesRef.current,h).some(t=>{var i;return wt(e,null==(i=t.context)?void 0:i.elements.floating)});if(wt(e,r.floating)||wt(e,r.domReference)||p)return;const f=m?sn(m.nodesRef.current,h):[];if(f.length>0){let e=!0;if(f.forEach(t=>{var i;null==(i=t.context)||!i.open||t.context.dataRef.current.__outsidePressBubbles||(e=!1)}),!e)return}n(!1,e,"outside-press")}),A=Hi(e=>{var t;const i=()=>{var t;x(e),null==(t=Ct(e))||t.removeEventListener(c,i)};null==(t=Ct(e))||t.addEventListener(c,i)});q.useEffect(()=>{if(!i||!s)return;o.current.__escapeKeyBubbles=S,o.current.__outsidePressBubbles=w;let e=-1;function t(e){n(!1,e,"ancestor-scroll")}function d(){window.clearTimeout(e),E.current=!0}function l(){e=window.setTimeout(()=>{E.current=!1},st()?5:0)}const u=St(r.floating);a&&(u.addEventListener("keydown",C?I:T,C),u.addEventListener("compositionstart",d),u.addEventListener("compositionend",l)),v&&u.addEventListener(c,k?A:x,k);let p=[];return h&&(Ke(r.domReference)&&(p=pt(r.domReference)),Ke(r.floating)&&(p=p.concat(pt(r.floating))),!Ke(r.reference)&&r.reference&&r.reference.contextElement&&(p=p.concat(pt(r.reference.contextElement)))),p=p.filter(e=>{var t;return e!==(null==(t=u.defaultView)?void 0:t.visualViewport)}),p.forEach(e=>{e.addEventListener("scroll",t,{passive:!0})}),()=>{a&&(u.removeEventListener("keydown",C?I:T,C),u.removeEventListener("compositionstart",d),u.removeEventListener("compositionend",l)),v&&u.removeEventListener(c,k?A:x,k),p.forEach(e=>{e.removeEventListener("scroll",t)}),window.clearTimeout(e)}},[o,r,a,v,c,i,n,h,s,S,w,T,C,I,x,k,A]),q.useEffect(()=>{b.current=!1},[v,c]);const P=q.useMemo(()=>({onKeyDown:T,[Fn[u]]:e=>{l&&n(!1,e.nativeEvent,"reference-press")}}),[T,n,l,u]),O=q.useMemo(()=>({onKeyDown:T,onMouseDown(){y.current=!0},onMouseUp(){y.current=!0},[Ln[c]]:()=>{b.current=!0}}),[T,c]);return q.useMemo(()=>s?{reference:P,floating:O}:{},[s,P,O])}(m),y=function(e,t){var i;void 0===t&&(t={});const{open:n,floatingId:r}=e,{enabled:o=!0,role:s="dialog"}=t,a=null!=(i=zn.get(s))?i:s,d=Qi(),c=null!=Yi(),l=q.useMemo(()=>"tooltip"===a||"label"===s?{["aria-"+("label"===s?"labelledby":"describedby")]:n?r:void 0}:{"aria-expanded":n?"true":"false","aria-haspopup":"alertdialog"===a?"dialog":a,"aria-controls":n?r:void 0,..."listbox"===a&&{role:"combobox"},..."menu"===a&&{id:d},..."menu"===a&&c&&{role:"menuitem"},..."select"===s&&{"aria-autocomplete":"none"},..."combobox"===s&&{"aria-autocomplete":"list"}},[a,r,c,n,d,s]),u=q.useMemo(()=>{const e={id:r,...a&&{role:a}};return"tooltip"===a||"label"===s?e:{...e,..."menu"===a&&{"aria-labelledby":d}}},[a,r,d,s]),h=q.useCallback(e=>{let{active:t,selected:i}=e;const n={role:"option",...t&&{id:r+"-option"}};switch(s){case"select":return{...n,"aria-selected":t&&i};case"combobox":return{...n,...t&&{"aria-selected":!0}}}return{}},[r,s]);return q.useMemo(()=>o?{reference:l,floating:u,item:h}:{},[o,l,u,h])}(m),{getReferenceProps:S,getFloatingProps:w}=function(e){void 0===e&&(e=[]);const t=e.map(e=>null==e?void 0:e.reference),i=e.map(e=>null==e?void 0:e.floating),n=e.map(e=>null==e?void 0:e.item),r=q.useCallback(t=>jn(t,e,"reference"),t),o=q.useCallback(t=>jn(t,e,"floating"),i),s=q.useCallback(t=>jn(t,e,"item"),n);return q.useMemo(()=>({getReferenceProps:r,getFloatingProps:o,getItemProps:s}),[r,o,s])}([v,b,y]),C=e=>{const t=p.floating.current;if(!s&&t){const i=(e=>e.querySelectorAll("button, [href]"))(t),n=document.activeElement;for(let t=0;t<i.length;
512t++)if(i[t]===n){if("down"===e){if(t===i.length-1)return;return void i[t+1].focus()}if("up"===e){if(0===t)return;return void i[t-1].focus()}return}i.length>0&&i[0].focus()}},k=Object.assign(Object.assign({ref:p.setReference,className:je(c,"ch-popover-toggle"),"data-menu":s?"submenu":null,"aria-label":d,"aria-haspopup":!0,"aria-expanded":u,"data-testid":"popover-toggle"},S()),{onClick:()=>{h(!u),r&&r(u)}});return(0,n.jsxs)("span",Object.assign({"data-testid":"popover"},{children:[t?(0,n.jsx)(Hn,Object.assign({},k,{children:t(u)})):i?(0,n.jsx)("span",Object.assign({ref:p.setReference},{children:i(u,Object.assign(Object.assign({},k),{ref:void 0}))})):null,u&&(0,n.jsx)(Tn,{children:(0,n.jsx)(Mn,Object.assign({context:m,modal:!1},{children:(0,n.jsx)($n,Object.assign({ref:p.setFloating,style:f},w(),{onKeyDown:e=>{switch(e.keyCode){case 27:return h(!1);case 38:return C("up");case 40:return C("down")}},"data-placement":a,onClick:e=>(e=>{if(l)return!e.target.closest("[data-menu='submenu']")&&h(!1)})(e),"data-testid":"menu",className:"ch-popover-menu"},{children:o}))}))})]}))}),Kn=new J.ConsoleLogger("ChimeSDKReactComponent",J.LogLevel.INFO),Gn=q.createContext(Kn),Jn=()=>(0,q.useContext)(Gn),Qn=.5,Xn=r.AH`
513  top: calc(
514    ${e=>{var t,i;return null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.top)&&void 0!==i?i:0}}px -
515      ${1.75}rem
516  );
517  left: ${e=>{var t,i,n,r;return((null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.left)&&void 0!==i?i:0)+(null!==(r=null===(n=e.bounds)||void 0===n?void 0:n.right)&&void 0!==r?r:0))/2}}px;
518  transform: translateX(-50%) translateY(-50%);
519
520  &::before {
521    transform: rotateZ(180deg);
522    top: 100%;
523    left: calc(50% - ${Qn}rem);
524  }
525`,Zn=r.AH`
526  top: calc(
527    ${e=>{var t,i;return null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.bottom)&&void 0!==i?i:0}}px +
528      ${1.75}rem
529  );
530  left: ${e=>{var t,i,n,r;return((null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.left)&&void 0!==i?i:0)+(null!==(r=null===(n=e.bounds)||void 0===n?void 0:n.right)&&void 0!==r?r:0))/2}}px;
531  transform: translateX(-50%) translateY(-50%);
532
533  &::before {
534    transform: rotateZ(0deg);
535    top: -${Qn}rem;
536    left: calc(50% - ${Qn}rem);
537  }
538`,Yn=r.AH`
539  top: ${e=>{var t,i,n,r;return((null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.top)&&void 0!==i?i:0)+(null!==(r=null===(n=e.bounds)||void 0===n?void 0:n.bottom)&&void 0!==r?r:0))/2}}px;
540  left: calc(
541    ${e=>{var t,i;return null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.left)&&void 0!==i?i:0}}px - ${.75}rem
542  );
543  transform: translateY(-50%) translateX(-100%);
544
545  &::before {
546    transform: rotateZ(90deg);
547    top: calc(50% - ${.25}rem);
548    left: calc(100% - ${.25}rem);
549  }
550`,er=r.AH`
551  top: ${e=>{var t,i,n,r;return((null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.top)&&void 0!==i?i:0)+(null!==(r=null===(n=e.bounds)||void 0===n?void 0:n.bottom)&&void 0!==r?r:0))/2}}px;
552  left: calc(
553    ${e=>{var t,i;return null!==(i=null===(t=e.bounds)||void 0===t?void 0:t.right)&&void 0!==i?i:0}}px + ${.75}rem
554  );
555  transform: translateY(-50%);
556
557  &::before {
558    transform: rotateZ(270deg);
559    top: calc(50% - ${.25}rem);
560    left: -${.75}rem;
561  }
562`,tr=r.Ay.span.withConfig(se)`
563  @keyframes fadeIn {
564    0% {
565      opacity: 0;
566    }
567
568    100% {
569      opacity: 1;
570    }
571  }
572
573  position: fixed;
574  z-index: 9999;
575  color: white;
576  white-space: nowrap;
577  pointer-events: none;
578  line-height: normal;
579  background-color: rgba(0, 0, 0, 0.8);
580  border-radius: ${.5}rem;
581  font-size: ${1}rem;
582  font-weight: 300;
583  padding: ${.5}rem ${.75}rem;
584  white-space: nowrap;
585  animation: fadeIn 0.3s;
586
587  &::before {
588    border-bottom: ${Qn}rem solid rgba(0, 0, 0, 0.8);
589    border-left: ${Qn}rem solid transparent;
590    border-right: ${Qn}rem solid transparent;
591    content: '';
592    height: 0;
593    transform: translateX(-100%) translateY(-50%);
594    width: 0;
595    z-index: 1;
596    position: absolute;
597  }
598
599  ${e=>"top"===e.position&&Xn}
600  ${e=>"bottom"===e.position&&Zn}
601  ${e=>"left"===e.position&&Yn}
602  ${e=>"right"===e.position&&er}
603`,ir={show:!1,bounds:null},nr=r.AH`
604  display: flex;
605  width: 100%;
606  height: 100%;
607`,rr={"fill-space":nr,"fill-space-centered":r.AH`
608  ${nr};
609  align-items: center;
610  justify-content: center;
611`,"equal-columns":r.AH`
612  display: flex;
613  flex-direction: row;
614  height: 100%;
615  align-items: stretch;
616
617  > * {
618    flex-grow: 1;
619    flex-basis: 50%;
620  }
621`,stack:r.AH`
622  display: flex;
623  flex-direction: column;
624  align-items: center;
625
626  > * {
627    width: 100%;
628  }
629`},or=r.Ay.div.withConfig(se)`
630  align-items: ${e=>e.alignItems};
631  display: ${e=>e.container?"flex":"block"};
632  flex: ${e=>e.flex||""};
633  flex-basis: ${e=>e.flexBasis};
634  flex-direction: ${e=>e.flexDirection};
635  flex-grow: ${e=>e.flexGrow||""};
636  flex-shrink: ${e=>e.flexShrink};
637  flex-wrap: ${e=>e.flexWrap};
638  justify-content: ${e=>e.justifyContent};
639
640  // layout variants
641  ${e=>!!e.layout&&rr[e.layout]}
642
643  ${de}
644  ${ae}
645`;function sr(){const[e]=(0,q.useState)(()=>(0,Q.A)());return e}const ar=r.Ay.label.withConfig(se)`
646  color: ${e=>e.theme.inputs.fontColor};
647  font-size: ${e=>e.theme.fontSizes.label.fontSize};
648  line-height: ${e=>e.theme.fontSizes.label.lineHeight};
649
650  ${de}
651  ${ae}
652`,dr=(0,q.forwardRef)((e,t)=>{const{className:i,tag:r}=e,o=X(e,["className","tag"]);return(0,n.jsx)(ar,Object.assign({as:r,"data-testid":"label",className:i||""},o,{children:e.children}))}),cr=r.AH`
653  &.ch-form-field-input,
654  &.ch-form-field-select,
655  &.ch-form-field-textarea {
656    display: flex;
657    flex-direction: column;
658
659    label {
660      display: block;
661      margin-bottom: 0.5rem;
662    }
663
664    input,
665    select {
666      width: 100%;
667    }
668  }
669
670  &.ch-form-field-checkbox {
671    display: grid;
672    grid-template-columns: 1.5rem 1fr;
673    grid-template-rows: auto;
674    gap: 0px 0.5rem;
675
676    .ch-checkbox {
677      grid-column: 1;
678      grid-row: 1;
679    }
680
681    .ch-checkbox-label {
682      line-height: 1.3;
683      grid-column: 2;
684    }
685
686    .ch-help-text {
687      grid-row: 2;
688      grid-column: 1/3;
689    }
690  }
691
692  &.ch-form-field-radiogroup {
693    flex-direction: column;
694
695    .ch-radio-wrapper {
696      display: block;
697      margin-bottom: 0.5rem;
698      padding-left: 0.125rem;
699      display: grid;
700      grid-template-columns: 1.5rem 1fr;
701      grid-template-rows: auto;
702
703      align-items: center;
704    }
705
706    .ch-radio-label {
707      margin-left: 1rem;
708      position: relative;
709      bottom: -0.5px;
710    }
711  }
712`,lr={stack:cr,horizontal:r.AH`
713  @media (max-width: 599px) {
714    ${cr};
715  }
716
717  @media (min-width: 600px) {
718    &.ch-form-field-input,
719    &.ch-form-field-select,
720    &.ch-form-field-textarea,
721    &.ch-form-field-checkbox {
722      display: grid;
723      grid-template-columns: 30% 1fr;
724      grid-template-rows: auto;
725      gap: 0px 0.5rem;
726      align-items: center;
727
728      input {
729        width: 100%;
730      }
731
732      .ch-help-text {
733        grid-column: 2;
734      }
735    }
736
737    &.ch-form-field-radiogroup {
738      flex-wrap: wrap;
739
740      fieldset {
741        width: 100%;
742      }
743
744      .ch-radio-wrapper {
745        display: grid;
746        grid-template-columns: 30% 1fr;
747        grid-template-rows: auto;
748        gap: 0px 0.5rem;
749        align-items: center;
750        margin-bottom: 0.5rem;
751      }
752
753      .ch-radio {
754        grid-column: 2;
755        grid-row: 1;
756        margin-top: -4px;
757      }
758
759      .ch-radio-label {
760        grid-column: 1;
761        padding-right: 1rem;
762        margin-left: 0;
763      }
764
765      .ch-help-text {
766        width: 100%;
767      }
768    }
769  }
770`,"input-only":r.AH`
771  &.ch-form-field-input,
772  &.ch-form-field-select,
773  &.ch-form-field-textarea {
774    display: flex;
775    flex-direction: column;
776
777    input {
778      width: 100%;
779    }
780  }
781
782  &.ch-form-field-checkbox {
783    display: flex;
784    flex-wrap: wrap;
785    align-items: center;
786
787    .ch-checkbox {
788      order: 1;
789    }
790
791    .ch-checkbox-label {
792      order: 2;
793      padding-left: 1rem;
794    }
795
796    .ch-help-text {
797      width: 100%;
798      order: 3;
799    }
800  }
801
802  &.ch-form-field-radiogroup {
803    flex-direction: column;
804
805    .ch-radio-wrapper {
806      display: block;
807      margin-bottom: 0.5rem;
808    }
809
810    .ch-radio-label {
811      margin-left: 1rem;
812    }
813  }
814`},ur=r.Ay.div.withConfig(se)`
815  display: flex;
816  margin-bottom: 1rem;
817  position: relative;
818
819  fieldset {
820    margin: 0;
821    border: none;
822    padding: 0;
823  }
824
825  .ch-help-text {
826    font-size: ${e=>e.theme.fontSizes.small.fontSize};
827    margin-top: 0.5rem;
828    color: ${e=>e.error?e.theme.inputs.error.fontColor:e.theme.inputs.fontColor};
829  }
830
831  legend {
832    font-size: ${e=>e.theme.fontSizes.text.fontSize};
833    color: ${e=>e.theme.inputs.fontColor};
834    margin-bottom: 0.5rem;
835  }
836
837  ${e=>!!e.layout&&lr[e.layout]}
838
839  ${de}
840  ${ae}
841`,hr=((0,q.forwardRef)((e,t)=>{var i;const{field:r,label:o,layout:s="stack",errorText:a,fieldProps:d,infoText:c,error:l,onChange:u,value:h,checked:p,options:f,className:m}=e,g=X(e,["field","label","layout","errorText","fieldProps","infoText","error","onChange","value","checked","options","className"]),v=(null===(i=r.displayName)||void 0===i?void 0:i.toLowerCase())||"",b=sr(),y=sr(),S=l&&a||c;return(0,n.jsxs)(ur,Object.assign({layout:s,error:l,className:`ch-form-field-${v} ${m||""}`,"data-testid":"form-field"},g,{children:["input-only"===s&&"checkbox"!==v?null:"radiogroup"!==v&&(0,n.jsx)(dr,Object.assign({htmlFor:b,className:`ch-${v}-label`},{children:o})),"radiogroup"===v?(0,n.jsxs)("fieldset",Object.assign({"aria-describedby":S&&y,"aria-invalid":l},{children:[o&&(0,n.jsx)("legend",{children:o}),(0,n.jsx)(r,Object.assign({options:f,ref:t,id:b,onChange:u,value:h},d))]})):(0,n.jsx)(r,Object.assign({options:f,"aria-label":"input-only"===s&&o||null,"aria-describedby":S&&y,"aria-invalid":l,ref:t,id:b,onChange:u,value:h,checked:p},d)),S&&(0,n.jsx)("span",Object.assign({className:"ch-help-text",id:y},{children:S}))]}))}),r.Ay.h1.withConfig(se)`
842  display: block;
843  margin: 0;
844
845  font-size: ${e=>e.theme.fontSizes[`h${e.level}`].mobile.fontSize};
846  font-weight: ${e=>e.theme.fontSizes[`h${e.level}`].mobile.fontWeight};
847  line-height: ${e=>e.theme.fontSizes[`h${e.level}`].mobile.lineHeight};
848
849  ${({theme:e})=>e.mediaQueries.min.md} {
850    font-size: ${e=>e.theme.fontSizes[`h${e.level}`].fontSize};
851    font-weight: ${e=>e.theme.fontSizes[`h${e.level}`].fontWeight};
852    line-height: ${e=>e.theme.fontSizes[`h${e.level}`].lineHeight};
853  }
854
855  ${de}
856  ${ae}
857`),pr=((0,q.forwardRef)((e,t)=>{const{tag:i,children:r,className:o,level:s}=e,a=X(e,["tag","children","className","level"]);return(0,n.jsx)(hr,Object.assign({as:i||`h${s}`,className:o||"",level:s,ref:t,"data-testid":"heading"},a,{children:r}))}),r.Ay.span.withConfig(se)`
858  position: relative;
859
860  > .ch-icon {
861    position: absolute;
862    width: 1rem;
863    left: 0.1875rem;
864    position: absolute;
865    top: 54%;
866    transform: translateY(-50%);
867  }
868
869  > input {
870    padding: ${e=>(e=>{const{sizing:t,leadingIcon:i}=e;return"sm"===t?"0.125rem 1.75rem 0.125rem "+(i?"1.3125rem":"0.5rem"):"0.34375rem 1.75rem 0.34375rem "+(i?"1.3125rem":"0.5rem")})(e)};
871  }
872`),fr=r.Ay.input.withConfig(se)`
873  align-items: center;
874  display: flex;
875  letter-spacing: -0.005625rem;
876  transition: box-shadow 0.05s ease-in;
877  background-color: ${e=>e.theme.inputs.bgd};
878  border: ${e=>e.theme.inputs.border};
879  border-radius: ${e=>e.theme.inputs.borderRadius};
880  box-shadow: ${e=>e.theme.inputs.shadow};
881  color: ${e=>e.theme.inputs.fontColor};
882  font-size: ${e=>e.theme.fontSizes.text.fontSize};
883  line-height: ${e=>e.theme.fontSizes.text.lineHeight};
884
885  &::placeholder {
886    color: ${e=>e.theme.inputs.placeholder};
887  }
888
889  &:focus,
890  &[aria-invalid='true']:focus {
891    border: ${e=>e.theme.inputs.focus.border};
892    box-shadow: ${e=>e.theme.inputs.focus.shadow};
893    outline: none;
894  }
895
896  &[aria-invalid='true'] {
897    border: ${e=>e.theme.inputs.error.border};
898    box-shadow: ${e=>e.theme.inputs.error.shadow};
899  }
900
901  // Hides native clear button
902  &::-webkit-search-decoration,
903  &::-webkit-search-cancel-button,
904  &::-webkit-search-results-button,
905  &::-webkit-search-results-decoration {
906    display: none;
907  }
908
909  &::-ms-clear,
910  &::-ms-reveal {
911    display: none;
912    width: 0;
913    height: 0;
914  }
915
916  ${de}
917  ${ae}
918`,mr=r.Ay.button.withConfig(se)`
919  position: absolute;
920  top: 50%;
921  right: 0.125rem;
922  transform: translateY(-44%);
923  border: none;
924  background: none;
925  cursor: pointer;
926  display: ${e=>e.active?"block":"none"};
927
928  path {
929    fill: ${e=>e.theme.inputs.clearBg};
930  }
931
932  &:active,
933  &:focus {
934    outline: none;
935  }
936`,gr=(0,q.forwardRef)((e,t)=>{const{leadingIcon:i,children:r,sizing:o}=e,s=X(e,["leadingIcon","children","sizing"]);return(0,n.jsxs)(pr,Object.assign({ref:t,sizing:o,leadingIcon:i},s,{"data-testid":"input-wrapper"},{children:[i&&(0,n.jsx)("span",Object.assign({className:"ch-icon"},{children:i})),r]}))}),vr=(0,q.forwardRef)((e,t)=>{const{type:i,value:r,sizing:o,onClear:s,onChange:a,className:d,leadingIcon:c,showClear:l=!0}=e,u=X(e,["type","value","sizing","onClear","onChange","className","leadingIcon","showClear"]),[h,p]=(0,q.useState)(!1),f=(0,q.useRef)(!1),m=(0,q.useRef)(null),g=t||m,v=(0,q.useRef)(null),b=e["aria-label"]?`clear ${e["aria-label"]}`:"clear";return(0,q.useEffect)(()=>{let e=!1;const t=t=>
936{if(f.current)return t.target!==v.current&&t.target!==g.current?(f.current=!1,void p(!1)):void(e&&(e=!1))},i=()=>{f.current&&(e=!0,setTimeout(()=>{e&&(f.current=!1,p(!1)),e=!1},10))};return document.addEventListener("focusin",t),document.addEventListener("focusout",i),()=>{document.removeEventListener("focusin",t),document.removeEventListener("focusout",i)}},[]),(0,n.jsxs)(gr,Object.assign({leadingIcon:c,sizing:o,className:`ch-input-wrapper ${d||""}`},{children:[(0,n.jsx)(fr,Object.assign({},u,{value:r,type:i||"text",ref:g,className:"ch-input",onChange:a,"data-testid":"input",onFocus:()=>{f.current=!0,p(!0)}})),l&&(0,n.jsx)(mr,Object.assign({type:"button",active:!!(s||h&&r.length),tabIndex:-1,"aria-label":b,onClick:()=>{var e;if(s)return void s();const t=g.current,i=null===(e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value"))||void 0===e?void 0:e.set;i&&t&&(i.call(t,""),t.dispatchEvent(new Event("input",{bubbles:!0}))),t.focus()},ref:v},{children:(0,n.jsx)(Ie,{width:"1.25rem"})}))]}))});vr.displayName="Input",(0,q.forwardRef)((e,t)=>{const i=Object.assign(Object.assign({},e),{sizing:"sm",type:"search",leadingIcon:(0,n.jsx)(Me,{"data-testid":"search-icon"})});return(0,n.jsx)(vr,Object.assign({},i,{ref:t}))}),(0,q.createContext)({onClose(){},labelID:"",dismissible:!0});const br=r.i7`
937  0% {
938    opacity: 0;
939  }
940  100% {
941    opacity: 1;
942  }
943`,yr=r.i7`
944  0% {
945    opacity: 0;
946    transform: translateY(4rem) scale(0.4);
947  }
948  100% {
949    opacity: 1;
950    transform: translateY(0) scale(1);
951  }
952`,Sr=(r.Ay.div.withConfig(se)`
953  position: fixed;
954  top: 0;
955  left: 0;
956  width: 100%;
957  height: 100%;
958  background-color: ${e=>e.theme.modal.wrapperBgd};
959  display: flex;
960  align-items: center;
961  justify-content: center;
962  z-index: ${e=>e.theme.zIndex.modal};
963  overflow-x: hidden;
964  animation: ${br} 0.25s ease 0s forwards;
965  will-change: opacity;
966
967  > section {
968    position: relative;
969    display: flex;
970    flex-direction: column;
971    justify-content: center;
972    border-radius: ${e=>e.theme.radii.default};
973    color: ${e=>e.theme.modal.text};
974    background-color: ${e=>e.theme.modal.bgd};
975    width: ${e=>e.theme.modalSizes[e.size||"md"].width};
976    box-shadow: ${e=>e.theme.modal.shadow};
977    max-width: ${e=>"fullscreen"===e.size?e.theme.modalSizes[e.size].width:"90vw"};
978    height: ${e=>"fullscreen"===e.size?e.theme.modalSizes[e.size].height:"auto"};
979    max-height: ${e=>e.theme.modalSizes[e.size||"md"].height};
980    will-change: transform, opacity;
981    animation: ${yr} 0.15s ease 0s forwards;
982
983    @media only screen and (max-height: 25rem) {
984      position: absolute;
985      top: 2rem;
986      height: auto;
987      max-height: none;
988    }
989  }
990
991  ${de}
992  ${ae}
993`,r.Ay.header.withConfig(se)`
994  padding: 1rem 1.5rem;
995
996  .ch-close-button {
997    position: absolute;
998    right: 1.55rem;
999    top: 1rem;
1000  }
1001
1002  .ch-title {
1003    padding-right: 2rem;
1004    margin: 0;
1005    font-size: ${e=>e.theme.modal.titleSize};
1006    font-weight: ${e=>e.theme.modal.titleWeight};
1007  }
1008
1009  ${de}
1010  ${ae}
1011`,r.Ay.div.withConfig(se)`
1012  font-size: ${e=>e.theme.fontSizes.text.fontSize};
1013  line-height: ${e=>e.theme.fontSizes.text.lineHeight};
1014  padding: 0 1.5rem;
1015  flex-grow: 1;
1016  overflow-y: auto;
1017
1018  ${de}
1019  ${ae}
1020`,r.Ay.footer.withConfig(se)`
1021  padding: 1.5rem;
1022  border-top: 1px solid ${e=>e.theme.modal.border};
1023  display: flex;
1024  flex-direction: row-reverse;
1025  justify-content: space-between;
1026
1027  div:first-child {
1028    display: flex;
1029    flex-direction: row-reverse;
1030  }
1031
1032  button + button {
1033    margin: 0 0.5rem 0 0.5rem;
1034  }
1035
1036  @media (max-width: 35rem) {
1037    flex-direction: column;
1038
1039    button {
1040      width: 100%;
1041    }
1042
1043    div:first-child {
1044      display: flex;
1045      flex-direction: column;
1046    }
1047
1048    button + button,
1049    div + div {
1050      margin: 0.5rem 0 0;
1051    }
1052  }
1053
1054  ${de}
1055  ${ae}
1056`,r.Ay.div.withConfig(se)`
1057  display: flex;
1058  height: 3rem;
1059  align-items: center;
1060  border-bottom: ${({theme:e})=>`0.03125rem solid ${e.navbar.headerBorder}`};
1061  padding: 1rem;
1062
1063  .ch-title {
1064    flex: 1;
1065  }
1066
1067  .ch-btn-close {
1068    margin-left: auto;
1069    margin-right: 1rem;
1070  }
1071
1072  ${({theme:e})=>e.mediaQueries.min.md} {
1073    display: none;
1074  }
1075`),wr=r.Ay.div.withConfig(se)`
1076  display: flex;
1077  align-items: center;
1078  justify-content: center;
1079  width: 4.25rem;
1080  min-height: 3rem;
1081  flex-direction: column;
1082  padding: 0 0.25rem;
1083
1084  .ch-navigation-bar-item-label {
1085    text-align: center;
1086    display: ${({showLabel:e})=>e?"block":"none"};
1087    font-size: ${({theme:e})=>e.fontSizes.footnote.fontSize};
1088    width: 100%;
1089    padding: 0 0.25rem;
1090    margin-bottom: 1.5rem;
1091  }
1092`,Cr=((0,r.Ay)(e=>{var{children:t,className:i,tag:r,alignItems:o="stretch",container:s=!1,flexBasis:a="auto",flexDirection:d="row",flexShrink:c=1,flexWrap:l="nowrap",justifyContent:u="flex-start"}=e,h=X(e,["children","className","tag","alignItems","container","flexBasis","flexDirection","flexShrink","flexWrap","justifyContent"]);return(0,n.jsx)(or,Object.assign({alignItems:o,container:s,flexBasis:a,flexDirection:d,flexShrink:c,flexWrap:l,justifyContent:u,as:r,"data-testid":"flex",className:i||""},h,{children:t}))})`
1093  display: flex;
1094  flex-direction: column;
1095  height: 100%;
1096  max-width: 100%;
1097  color: ${e=>e.theme.navbar.text};
1098  background-color: ${({theme:e})=>e.navbar.bgd};
1099  width: 4.25rem;
1100  padding-top: 1rem;
1101
1102  ${({theme:e,responsive:t})=>e.mediaQueries.max.md} {
1103    width: ${e=>e.responsive?"20rem":"4.25rem;"};
1104    padding-top: ${e=>e.responsive?"0":"1rem"};
1105
1106    ${Sr} {
1107      display: ${e=>e.responsive?"flex":"none"};
1108    }
1109
1110    ${wr} {
1111      ${e=>e.responsive&&" \n        width: auto;\n        flex-direction: row;\n\n        .ch-navigation-bar-item-label {\n          font-size: 1rem;\n          text-align: left;\n          margin-left: 1.5rem;\n          margin-bottom: 0;\n          display: block;\n        }"};
1112    }
1113  }
1114
1115  ${ae}
1116  ${de}
1117`,(0,r.Ay)(ve)``),kr=(0,r.Ay)(ge)``;var Er,Tr,Ir;r.Ay.div.withConfig(se)`
1118  align-items: center;
1119  position: relative;
1120  display: inline-flex;
1121  align-items: center;
1122  color: ${({theme:e,severity:t})=>e.notification[t].text};
1123  background-color: ${({theme:e,severity:t})=>e.colors[t].primary};
1124  padding: 0.75rem;
1125  box-shadow: ${({theme:e})=>e.notification.shadow};
1126  border-radius: 0.25rem;
1127  margin: 0.75rem;
1128  max-width: 45rem;
1129  pointer-events: auto;
1130
1131  .ch-severity-icon {
1132    width: 1.5rem;
1133    flex-shrink: 0;
1134  }
1135
1136  .ch-message {
1137    display: flex;
1138    flex-flow: column wrap;
1139    font-size: ${e=>e.theme.fontSizes.text.fontSize};
1140    line-height: ${e=>e.theme.fontSizes.text.lineHeight};
1141    letter-spacing: -0.005625rem;
1142    margin: 0.5rem 0.75rem;
1143
1144    &:empty {
1145      margin: 0;
1146    }
1147  }
1148
1149  ${kr} {
1150    margin-right: 1.6rem;
1151    border-color: ${({theme:e,severity:t})=>e.notification[t].text};
1152  }
1153
1154  ${Cr},
1155  ${kr} {
1156    background-color: ${({theme:e,severity:t})=>e.colors[t].primary};
1157    color: ${({theme:e,severity:t})=>e.notification[t].closeButton.text};
1158  }
1159
1160  ${Cr}:hover, ${Cr}:focus, ${kr}:hover, ${kr}:focus {
1161    background-color: ${({theme:e,severity:t})=>e.notification[t].closeButton.hover.bgd};
1162    color: ${({theme:e,severity:t})=>e.notification[t].closeButton.hover.text};
1163  }
1164
1165  ${Cr}:active, ${kr}:active {
1166    background-color: ${({theme:e,severity:t})=>e.notification[t].closeButton.active.bgd};
1167    color: ${({theme:e,severity:t})=>e.notification[t].closeButton.active.text};
1168  }
1169
1170  ${de}
1171  ${ae}
1172`,function(e){e.ERROR="error",e.SUCCESS="success",e.INFO="info",e.WARNING="warning"}(Er||(Er={})),(0,n.jsx)(Te,{}),(0,n.jsx)(xe,{}),(0,n.jsx)(ke,{}),(0,n.jsx)(Pe,{}),function(e){e.ERROR="error",e.SUCCESS="success",e.INFO="info",e.WARNING="warning"}(Tr||(Tr={})),function(e){e[e.ADD=0]="ADD",e[e.REMOVE=1]="REMOVE",e[e.REMOVE_ALL=2]="REMOVE_ALL"}(Ir||(Ir={}));const xr={notifications:[]},Ar=(e,t)=>{const{type:i,payload:n}=t;switch(i){case Ir.ADD:{const t=Object.assign({id:(0,Q.A)()},n),i=(null==t?void 0:t.replaceAll)?[t]:[...e.notifications,t];return Object.assign(Object.assign({},e),{notifications:i})}case Ir.REMOVE:{const t=e.notifications.filter(e=>(null==e?void 0:e.id)!==n);return Object.assign(Object.assign({},e),{notifications:t})}case Ir.REMOVE_ALL:return Object.assign(Object.assign({},e),{notifications:[]});default:throw new Error("Incorrect type in NotificationProvider")}},Pr=q.createContext(xr),Or=q.createContext(()=>{}),_r=({children:e})=>{const[t,i]=(0,q.useReducer)(Ar,xr);return(0,n.jsx)(Pr.Provider,Object.assign({value:t},{children:(0,n.jsx)(Or.Provider,Object.assign({value:i},{children:e}))}))},Mr=(r.Ay.div.withConfig(se)`
1173  position: fixed;
1174  top: 2rem;
1175  left: 0;
1176  right: 0;
1177  display: flex;
1178  flex-direction: column;
1179  align-items: center;
1180  z-index: ${e=>e.theme.zIndex.notificationGroup};
1181  pointer-events: none;
1182`,r.Ay.input.withConfig(se)`
1183  ${ie};
1184
1185  &[aria-invalid='true'] + .ch-radio {
1186    border: ${e=>e.theme.inputs.error.border};
1187    box-shadow: ${e=>e.theme.inputs.error.shadow};
1188  }
1189`),Rr=(r.Ay.span.withConfig(se)`
1190  > label {
1191    margin-left: 0.5rem;
1192  }
1193`,r.Ay.div.withConfig(se)`
1194  background-color: ${e=>e.theme.inputs.bgd};
1195  border: ${e=>e.theme.inputs.border};
1196  border-radius: ${e=>e.theme.radii.circle};
1197  box-shadow: ${e=>e.theme.inputs.shadow};
1198  margin-bottom: -0.1875rem;
1199  transition: box-shadow 0.05s ease-in;
1200
1201  ${Mr}:checked ~ & {
1202    background-color: ${e=>e.theme.inputs.checked.bgd};
1203    border: ${e=>e.theme.inputs.checked.border};
1204    box-shadow: ${e=>e.theme.inputs.checked.shadow};
1205  }
1206
1207  ${Mr}:focus ~ & {
1208    border: ${e=>e.theme.inputs.focus.border};
1209    box-shadow: ${e=>e.theme.inputs.focus.shadow};
1210  }
1211`),Dr=((0,r.Ay)(Rr)`
1212  display: inline-block;
1213  height: 1rem;
1214  position: relative;
1215  width: 1rem;
1216
1217  &:after {
1218    background-color: ${e=>e.checked?e.theme.inputs.checked.fontColor:e.theme.inputs.bgd};
1219    border-radius: ${e=>e.theme.radii.circle};
1220    content: '';
1221    display: block;
1222    height: 0.375rem;
1223    padding: 0.03125rem;
1224    width: 0.375rem;
1225    ${re};
1226  }
1227`,(0,r.Ay)(Rr)`
1228  display: flex;
1229  align-items: center;
1230  justify-content: center;
1231  padding: 0.5rem;
1232  border-color: ${e=>e.theme.colors.greys.white};
1233  box-shadow: none;
1234  margin: 0.1rem;
1235
1236  ${Mr}:checked ~ & {
1237    svg {
1238      stroke: ${e=>e.theme.colors.greys.white};
1239    }
1240  }
1241`,r.Ay.div.withConfig(se)`
1242  position: relative;
1243
1244  .ch-select-icon {
1245    pointer-events: none;
1246  }
1247
1248  ${de}
1249  ${ae}
1250`),Fr=r.Ay.select.withConfig(se)`
1251  background-color: ${e=>e.theme.inputs.bgd};
1252  border: ${e=>e.theme.inputs.border};
1253  border-radius: ${e=>e.theme.inputs.borderRadius};
1254  box-shadow: ${e=>e.theme.inputs.shadow};
1255  color: ${e=>e.theme.inputs.fontColor};
1256  font-size: ${e=>e.theme.fontSizes.text.fontSize};
1257  line-height: ${e=>e.theme.fontSizes.text.lineHeight};
1258  height: 2rem;
1259  letter-spacing: -0.005625rem;
1260  width: 100%;
1261  padding: 0.375rem 1.5rem 0.375rem 0.5rem;
1262  transition: box-shadow 0.05s ease-in;
1263  display: inline-block;
1264  appearance: none;
1265
1266  &:focus,
1267  &[aria-invalid='true']:focus {
1268    border: ${e=>e.theme.inputs.focus.border};
1269    box-shadow: ${e=>e.theme.inputs.focus.shadow};
1270    outline: none;
1271  }
1272
1273  &[aria-invalid='true'] {
1274    border: ${e=>e.theme.inputs.error.border};
1275    box-shadow: ${e=>e.theme.inputs.error.shadow};
1276  }
1277
1278  ${de}
1279  ${ae}
1280`,Lr={position:"absolute",top:"50%",transform:"translateY(-50%)",right:"0.2rem",width:"1.5rem",height:"1.5rem"};(0,q.forwardRef)((e,t)=>{return(0,n.jsxs)(Dr,{children:[(0,n.jsx)(Fr,Object.assign({className:"ch-select","data-testid":"select",ref:t},e,{children:(i=e.options,i.map(({value:e,label:t})=>(0,n.jsx)("option",Object.assign({value:e},{children:t}),e)))})),(0,n.jsx)(Re,{style:Lr,className:"ch-select-icon","data-testid":"select-icon"})]});var i}).displayName="Select";const Nr=r.Ay.textarea.withConfig(se)`
1281  background-color: ${e=>e.theme.inputs.bgd};
1282  border: ${e=>e.theme.inputs.border};
1283  border-radius: ${e=>e.theme.inputs.borderRadius};
1284  box-shadow: ${e=>e.theme.inputs.shadow};
1285  color: ${e=>e.theme.inputs.fontColor};
1286  font-size: ${e=>e.theme.fontSizes.text.fontSize};
1287  padding: 0.5rem;
1288  position: relative;
1289  min-height: 4rem;
1290  transition: box-shadow 0.05s ease-in;
1291  width: 100%;
1292
1293  &:focus,
1294  &[aria-invalid='true']:focus {
1295    border: ${e=>e.theme.inputs.focus.border};
1296    box-shadow: ${e=>e.theme.inputs.focus.shadow};
1297    outline: none;
1298  }
1299
1300  &[aria-invalid='true'] {
1301    border: ${e=>e.theme.inputs.error.border};
1302    box-shadow: ${e=>e.theme.inputs.error.shadow};
1303  }
1304`;q.forwardRef((e,t)=>{var{label:i}=e,r=X(e,["label"]);return(0,n.jsx)(Nr,Object.assign({"aria-label":i,className:"ch-textarea","data-testid":"textarea",ref:t},r))}).displayName="Textarea";var Br=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var i=-1;return e.some(function(e,n){return e[0]===t&&(i=n,!0)}),i}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var i=e(this.__entries__,t),n=this.__entries__[i];return n&&n[1]},t.prototype.set=function(t,i){var n=e(this.__entries__,t);~n?this.__entries__[n][1]=i:this.__entries__.push([t,i])},t.prototype.delete=function(t){var i=this.__entries__,n=e(i,t);~n&&i.splice(n,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var i=0,n=this.__entries__;i<n.length;i++){var r=n[i];e.call(t,r[1],r[0])}},t}()}(),Vr="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,Ur=void 0!==i.g&&i.g.Math===Math?i.g:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),jr="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(Ur):function(e){return setTimeout(function(){return e(Date.now())},1e3/60)},zr=["top","right","bottom","left","width","height","size","weight"],$r="undefined"!=typeof MutationObserver,Hr=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(e){var t=!1,i=!1,n=0;function r(){t&&(t=!1,e()),i&&s()}function o(){jr(r)}function s(){var e=Date.now();if(t){if(e-n<2)return;i=!0}else t=!0,i=!1,setTimeout(o,20);n=e}return s}(this.refresh.bind(this))}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,i=t.indexOf(e);~i&&t.splice(i,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter(function(e){return e.gatherActive(),e.hasActive()});return e.forEach(function(e){return e.broadcastActive()}),e.length>0},e.prototype.connect_=function(){Vr&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),$r?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){Vr&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,i=void 0===t?"":t;zr.some(function(e){return!!~i.indexOf(e)})&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=ne
1304w e),this.instance_},e.instance_=null,e}(),Wr=function(e,t){for(var i=0,n=Object.keys(t);i<n.length;i++){var r=n[i];Object.defineProperty(e,r,{value:t[r],enumerable:!1,writable:!1,configurable:!0})}return e},qr=function(e){return e&&e.ownerDocument&&e.ownerDocument.defaultView||Ur},Kr=Zr(0,0,0,0);function Gr(e){return parseFloat(e)||0}function Jr(e){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];return t.reduce(function(t,i){return t+Gr(e["border-"+i+"-width"])},0)}var Qr="undefined"!=typeof SVGGraphicsElement?function(e){return e instanceof qr(e).SVGGraphicsElement}:function(e){return e instanceof qr(e).SVGElement&&"function"==typeof e.getBBox};function Xr(e){return Vr?Qr(e)?function(e){var t=e.getBBox();return Zr(0,0,t.width,t.height)}(e):function(e){var t=e.clientWidth,i=e.clientHeight;if(!t&&!i)return Kr;var n=qr(e).getComputedStyle(e),r=function(e){for(var t={},i=0,n=["top","right","bottom","left"];i<n.length;i++){var r=n[i],o=e["padding-"+r];t[r]=Gr(o)}return t}(n),o=r.left+r.right,s=r.top+r.bottom,a=Gr(n.width),d=Gr(n.height);if("border-box"===n.boxSizing&&(Math.round(a+o)!==t&&(a-=Jr(n,"left","right")+o),Math.round(d+s)!==i&&(d-=Jr(n,"top","bottom")+s)),!function(e){return e===qr(e).document.documentElement}(e)){var c=Math.round(a+o)-t,l=Math.round(d+s)-i;1!==Math.abs(c)&&(a-=c),1!==Math.abs(l)&&(d-=l)}return Zr(r.left,r.top,a,d)}(e):Kr}function Zr(e,t,i,n){return{x:e,y:t,width:i,height:n}}var Yr=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=Zr(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=Xr(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),eo=function(e,t){var i,n,r,o,s,a,d,c=(n=(i=t).x,r=i.y,o=i.width,s=i.height,a="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,d=Object.create(a.prototype),Wr(d,{x:n,y:r,width:o,height:s,top:r,right:n+o,bottom:s+r,left:n}),d);Wr(this,{target:e,contentRect:c})},to=function(){function e(e,t,i){if(this.activeObservations_=[],this.observations_=new Br,"function"!=typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=i}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof qr(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new Yr(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof qr(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(t){t.isActive()&&e.activeObservations_.push(t)})},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map(function(e){return new eo(e.target,e.broadcastRect())});this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),io="undefined"!=typeof WeakMap?new WeakMap:new Br,no=function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var i=Hr.getInstance(),n=new to(t,i,this);io.set(this,n)};["observe","unobserve","disconnect"].forEach(function(e){no.prototype[e]=function(){var t;return(t=io.get(this))[e].apply(t,arguments)}}),void 0!==Ur.ResizeObserver&&Ur.ResizeObserver,Ue(function(e,t){!function(e){function t(e,t,i,n){var r,o=!1,s=0;function a(){r&&clearTimeout(r)}function d(){for(var d=arguments.length,c=new Array(d),l=0;l<d;l++)c[l]=arguments[l];var u=this,h=Date.now()-s;function p(){s=Date.now(),i.apply(u,c)}o||(n&&!r&&p(),a(),void 0===n&&h>e?p():!0!==t&&(r=setTimeout(n?function(){r=void 0}:p,void 0===n?e-h:e)))}return"boolean"!=typeof t&&(n=i,i=t,t=void 0),d.cancel=function(){a(),o=!0},d}e.debounce=function(e,i,n){return void 0===n?t(e,i,!1):t(e,n,!1!==i)}
1304,e.throttle=t,Object.defineProperty(e,"__esModule",{value:!0})}(t)});const ro=["slim","r1by2","r2by3","r1by1","r4by3","r3by2","r16by9"],oo={1:"grid-template: 1fr / 1fr;","1.slim":"grid-template: repeat(2, 1fr) / 1fr;","1.r2by3":"grid-template: 1fr / 1fr;","1.featured":'grid-template: "ft" 1fr / 1fr;',2:"grid-template: 1fr / repeat(2,1fr);","2.slim":"grid-template: repeat(3,1fr) / 1fr;","2.r1by2":"grid-template: repeat(2,1fr) / 1fr;","2.r2by3":"grid-template: repeat(2,1fr) / 1fr;","2.r4by3":"grid-template: repeat(2,1fr) / repeat(2,1fr);","2.r16by9":"grid-template: 1fr / repeat(2,1fr);","2.featured":"grid-template: repeat(3,1fr) / repeat(2,1fr);\n  grid-template-areas: 'ft ft' 'ft ft';","2.r16by9.featured":"grid-template: repeat(2,1fr) / repeat(3,1fr);\n    grid-template-areas: 'ft ft v' 'ft ft v' 'ft ft v';",3:"grid-template: repeat(3,1fr) / 1fr;","3.r2by3":"grid-template: repeat(3,1fr) / repeat(1,1fr);","3.r1by1":"grid-template: repeat(2,1fr) / repeat(2,1fr);","3.featured":"grid-template: repeat(3,1fr) / repeat(2,1fr);\n    grid-template-areas: 'ft ft' 'ft ft';\n  ","3.r16by9.featured":"grid-template: repeat(2,1fr) / repeat(3,1fr);\n    grid-template-areas: 'ft ft v' 'ft ft v';",4:"grid-template: repeat(2,1fr) / repeat(2,1fr);","4.slim":"grid-template: repeat(4,1fr) / 1fr;","4.r2by3":"grid-template: repeat(2,1fr) / repeat(2,1fr);","4.featured":"grid-template: repeat(3,1fr) / repeat(3,1fr);\n    grid-template-areas: 'ft ft ft' 'ft ft ft';","4.r16by9.featured":"grid-template-areas: 'ft ft v' 'ft ft v' 'ft ft v';",5:"grid-template: repeat(2,1fr) / repeat(3,1fr);","5.slim":"grid-template: repeat(5,1fr) / 1fr;","5.r1by2":"grid-template: repeat(3,1fr) / repeat(2,1fr);","5.r2by3":"grid-template: repeat(3,1fr) / repeat(2,1fr);","5.r3by2":"grid-template: repeat(2,1fr) / repeat(3,1fr);","5.r16by9":"grid-template: repeat(2,1fr) / repeat(3,1fr);","5.featured":"grid-template: repeat(4,1fr) / repeat(2,1fr);\n    grid-template-areas: 'ft ft' 'ft ft';","5.r1by1.featured":"grid-template: repeat(3,1fr) / repeat(3,1fr);\n    grid-template-areas: 'ft ft v' 'ft ft v';",6:"grid-template: repeat(3,1fr) / repeat(3,1fr);","6.slim":"grid-template: repeat(4,1fr) / repeat(2,1fr);","6.r1by2":"grid-template: repeat(3,1fr) / repeat(2,1fr);","6.r1by1":"grid-template: repeat(3,1fr) / repeat(2,1fr);","6.r2by3":"grid-template: repeat(3,1fr) / repeat(2,1fr);","6.r3by2":"grid-template: repeat(2,1fr) / repeat(3,1fr);","6.r16by9":"grid-template: repeat(2,1fr) / repeat(3,1fr);","6.featured":"grid-template: repeat(4,1fr) / repeat(3,1fr);\n    grid-template-areas: 'ft ft ft' 'ft ft ft';","6.r1by1.featured":"grid-template: repeat(3,1fr) / repeat(3,1fr);\n    grid-template-areas: 'ft ft v' 'ft ft v';",7:"grid-template: repeat(3,1fr) / repeat(3,1fr);","7.slim":"grid-template: repeat(4,1fr) / repeat(2,1fr);","7.r4by3":"grid-template: repeat(3,1fr) / repeat(3,1fr);","7.r16by9":"grid-template: repeat(2,1fr) / repeat(4,1fr);","7.featured":"grid-template: repeat(4,1fr) / repeat(3,1fr);\n    grid-template-areas: 'ft ft ft' 'ft ft ft';","7.r1by1.featured":"grid-template: repeat(4,1fr) / repeat(4,1fr);\n    grid-template-areas: 'ft ft ft v' 'ft ft ft v' 'ft ft ft v';",8:"grid-template: repeat(3,1fr) / repeat(3,1fr);","8.slim":"grid-template: repeat(4,1fr) / repeat(2,1fr);","8.r4by3":"grid-template: repeat(3,1fr) / repeat(3,1fr);","8.r16by9":"grid-template: repeat(2,1fr) / repeat(4,1fr);","8.featured":"grid-template: repeat(5,1fr) / repeat(4,1fr);\n    grid-template-areas: 'ft ft ft ft ft' 'ft ft ft ft ft' 'ft ft ft ft ft';","8.r1by1.featured":"grid-template: repeat(4,1fr) / repeat(4,1fr);\n    grid-template-areas: 'ft ft ft v' 'ft ft ft v' 'ft ft ft x';","8.r16by9.featured":"grid-template-areas: 'ft ft ft v' 'ft ft ft v' 'ft ft ft x';",9:"grid-template: repeat(3,1fr) / repeat(3,1fr);","9.slim":"grid-template: repeat(5,1fr) / repeat(2,1fr);","9.r1by1":"grid-template: repeat(3,1fr) / repeat(3,1fr);","9.r16by9":"grid-template: repeat(3,1fr) / repeat(4,1fr);","9.featured":"grid-template: repeat(5,1fr) / repeat(4,1fr);\n    grid-template-areas: 'ft ft ft ft ft' 'ft ft ft ft ft' 'ft ft ft ft ft';","9.r1by1.featured":"grid-template: repeat(5,1fr) / repeat(5,1fr);\n    grid-template-areas: 'ft ft ft ft v' 'ft ft ft ft v' 'ft ft ft ft v' 'ft ft ft ft v';",10:"grid-template: repeat(4,1fr) / repeat(3,1fr);","10.slim":"grid-template: repeat(5,1fr) / repeat(2,1fr);","10.r1by1":"grid-template: repeat(4,1fr) / repeat(3,1fr);","10.r3by2":"grid-template: repeat(3,1fr) / repeat(4,1fr);","10.featured":"grid-template: repeat(5,1fr) / repeat(4,1fr);\n    grid-template-areas: 'ft ft ft ft ft' 'ft ft ft ft ft' 'ft ft ft ft ft';","10.r1by1.featured":"grid-template: repeat(5,1fr) / repeat(5,1fr);\n    grid-template-areas: 'ft ft ft ft v' 'ft ft ft ft v' 'ft ft ft ft v' 'ft ft ft ft v';",11:"grid-template: repeat(4,1fr) / repeat(3,1fr);","11.slim":"grid-template: repeat(6,1fr) / repeat(2,1fr);","11.r1by1":"grid-template: repeat(4,1fr) / repeat(3,1fr);","11.r3by2":"grid-template: repeat(3,1fr) / repeat(4,1fr);","11.r16by9":"grid-template: repeat(3,1fr) / repeat(4,1fr);","11.featured":"grid-template: repeat(6,1fr) / repeat(6,1fr);\n    grid-template-areas: 'ft ft ft ft ft ft' 'ft ft ft ft ft ft' 'ft ft ft ft ft ft' 'ft ft ft ft ft ft';","11.r1by1.featured":"grid-template-areas:\n      'ft ft ft ft ft v' 'ft ft ft ft ft v' 'ft ft ft ft ft v'\n      'ft ft ft ft ft v' 'ft ft ft ft ft x';",12:"grid-template: repeat(4,1fr) / repeat(3,1fr);","12.slim":"grid-template: repeat(6,1fr) / repeat(2,1fr);","12.r2by3":"grid-template: repeat(4,1fr) / repeat(3,1fr);","12.r3by2":"grid-template: repeat(3,1fr) / repeat(4,1fr);","12.featured":"grid-template: repeat(6,1fr) / repeat(6,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft' 'ft ft ft ft ft ft' 'ft ft ft ft ft ft'\n      'ft ft ft ft ft ft';","12.r1by1.featured":"grid-template-areas:\n    'ft ft ft ft ft v' 'ft ft ft ft ft v' 'ft ft ft ft ft v'\n    'ft ft ft ft ft v' 'ft ft ft ft ft x';",13:"grid-template: repeat(4,1fr) / repeat(4,1fr);","13.slim":"grid-template: repeat(7,1fr) / repeat(2,1fr);","13.r2by3":"grid-template: repeat(5,1fr) / repeat(3,1fr);","13.r1by1":"grid-template: repeat(4,1fr) / repeat(4,1fr);","13.r3by2":"grid-template: repeat(4,1fr) / repeat(4,1fr);","13.r16by9":"grid-template: repeat(3,1fr) / repeat(5,1fr);","13.featured":"grid-template: repeat(7,1fr) / repeat(6,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft' 'ft ft ft ft ft ft' 'ft ft ft ft ft ft' 'ft ft ft ft ft ft'\n      'ft ft ft ft ft ft';","13.r1by1.featured":"grid-template-areas:\n      'ft ft ft ft ft v' 'ft ft ft ft ft v' 'ft ft ft ft ft v' 'ft ft ft ft ft v'\n      'ft ft ft ft ft v' 'ft ft ft ft ft x';",14:"grid-template: repeat(4,1fr) / repeat(4,1fr);","14.slim":"grid-template: repeat(7,1fr) / repeat(2,1fr);","14.r2by3":"grid-template: repeat(5,1fr) / repeat(3,1fr);","14.r3by2":"grid-template: repeat(4,1fr) / repeat(4,1fr);","14.r16by9":"grid-template: repeat(3,1fr) / repeat(5,1fr);","14.featured":"grid-template: repeat(7,1fr) / repeat(7,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft'\n      'ft ft ft ft ft ft ft';","14.r1by1.featured":"grid-template-areas:\n      'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v'\n      'ft ft ft ft ft ft v' 'ft ft ft ft ft ft x';",15:"grid-template: repeat(5,1fr) / repeat(3,1fr);","15.slim":"grid-template: repeat(8,1fr) / repeat(2,1fr);","15.r1by2":"grid-template: repeat(5,1fr) / repeat(3,1fr);","15.r3by2":"grid-template: repeat(4,1fr) / repeat(4,1fr);","15.r16by9":"grid-template: repeat(3,1fr) / repeat(5,1fr);","15.featured":"grid-template: repeat(8,1fr) / repeat(8,1fr);\n    grid-template-areas:\n     'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft'\n     'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft';","15.r1by1.featured":"grid-template-areas:\n     'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v'\n     'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft x';",16:"grid-template: repeat(4,1fr) / repeat(4,1fr);","16.slim":"grid-template: repeat(8,1fr) / repeat(2,1fr);","16.r1by2":"grid-template: repeat(6,1fr) / repeat(3,1fr);","16.r1by1":"grid-template: repeat(4,1fr) / repeat(4,1fr);","16.featured":"grid-template: repeat(8,1fr) / repeat(8,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft'\n      'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft';","16.r1by1.featured":"grid-template-areas:\n      'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v'\n      'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft x';",17:"grid-template: repeat(5,1fr) / repeat(4,1fr);","17.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","17.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","17.r1by1":"grid-template: repeat(4,1fr) / repeat(5,1fr);","17.featured":"grid-template: repeat(8,1fr) / repeat(9,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft'\n      'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft';","17.r1by1.featured":"grid-template-areas:\n      'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v'\n      'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft x';",18:"grid-template: repeat(5,1fr) / repeat(4,1fr);","18.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","18.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","18.r1by1":"grid-template: repeat(4,1fr) / repeat(5,1fr);","18.featured":"grid-template: repeat(8,1fr) / repeat(9,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft'\n      'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft';","18.r1by1.featured":"grid-template: repeat(9,1fr) / repeat(9,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v'\n      'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft x';",19:"grid-template: repeat(5,1fr) / repeat(4,1fr);","19.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","19.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","19.r1by1":"grid-template: repeat(4,1fr) / repeat(5,1fr);","19.featured":"grid-template: repeat(8,1fr) / repeat(9,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft'\n      'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft';","19.r1by1.featured":"grid-template: repeat(9,1fr) / repeat(10,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' \n      'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' \n      'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft x';",20:"grid-template: repeat(5,1fr) / repeat(4,1fr);","20.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","20.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","20.r1by1":"grid-template: repeat(4,1fr) / repeat(5,1fr);","20.featured":"grid-template: repeat(11,1fr) / repeat(7,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' \n      'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft';","20.r1by1.featured":"grid-template: repeat(10,1fr) / repeat(10,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' \n      'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' \n      'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft ft x';",21:"grid-template: repeat(5,1fr) / repeat(5,1fr);","21.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","21.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","21.r1by1":"grid-template: repeat(5,1fr) / repeat(5,1fr);","21.featured":"grid-template: repeat(11,1fr) / repeat(7,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' \n      'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft';","21.r1by1.featured":"grid-template: repeat(8,1fr) / repeat(7,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v'  \
1304n      'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft x';",22:"grid-template: repeat(5,1fr) / repeat(5,1fr);","22.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","22.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","22.r1by1":"grid-template: repeat(5,1fr) / repeat(5,1fr);","22.featured":"grid-template: repeat(11,1fr) / repeat(7,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' \n      'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft';","22.r1by1.featured":"grid-template: repeat(9,1fr) / repeat(7,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' \n      'ft ft ft ft ft ft v' 'ft ft ft ft ft ft v' 'ft ft ft ft ft ft x';",23:"grid-template: repeat(5,1fr) / repeat(5,1fr);","23.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","23.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","23.r1by1":"grid-template: repeat(5,1fr) / repeat(5,1fr);","23.featured":"grid-template: repeat(11,1fr) / repeat(8,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' \n      'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft';","23.r1by1.featured":"grid-template: repeat(8,1fr) / repeat(8,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v'  \n      'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft x';",24:"grid-template: repeat(5,1fr) / repeat(5,1fr);","24.slim":"grid-template: repeat(8,1fr) / repeat(3,1fr);","24.r1by2":"grid-template: repeat(6,1fr) / repeat(4,1fr);","24.r1by1":"grid-template: repeat(5,1fr) / repeat(5,1fr);","24.featured":"grid-template: repeat(11,1fr) / repeat(8,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' \n      'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft';","24.r1by1.featured":"grid-template: repeat(9,1fr) / repeat(8,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' \n      'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft x';",25:"grid-template: repeat(5,1fr) / repeat(5,1fr);","25.slim":"grid-template: repeat(9,1fr) / repeat(3,1fr);","25.r1by2":"grid-template: repeat(7,1fr) / repeat(4,1fr);","25.r1by1":"grid-template: repeat(5,1fr) / repeat(5,1fr);","25.featured":"grid-template: repeat(11,1fr) / repeat(8,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' \n      'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft';","25.r1by1.featured":"grid-template: repeat(10,1fr) / repeat(8,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' \n      'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft x';",26:"grid-template: repeat(6,1fr) / repeat(5,1fr);","26.slim":"grid-template: repeat(9,1fr) / repeat(3,1fr);","26.r1by2":"grid-template: repeat(7,1fr) / repeat(4,1fr);","26.r1by1":"grid-template: repeat(6,1fr) / repeat(5,1fr);","26.featured":"grid-template: repeat(11,1fr) / repeat(9,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft'\n      'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft' 'ft ft ft ft ft ft ft ft ft';","26.r1by1.featured":"grid-template: repeat(9,1fr) / repeat(9,1fr);\n    grid-template-areas:\n      'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' \n      'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft v' 'ft ft ft ft ft ft ft ft x';"},so={"2.featured":"\n    @media (max-width: 600px) {\n      grid-template-columns: 1fr;\n      grid-template-rows: calc(100% / 3);\n      grid-auto-rows: calc(100% / 3);\n    }\n  ","3.r16by9":"\n    @media (max-height: 600px) {\n      grid-template-rows: repeat(2,1fr);\n      grid-template-columns: 50%;\n      grid-auto-columns: 50%;\n      grid-auto-flow: column;\n    }\n  ","3.featured":"\n    @media (max-width: 600px) {\n      grid-template-areas: 'ft' 'ft';\n      grid-template-columns: 1fr;\n      grid-template-rows: 25%;\n      grid-auto-rows: 25%;\n    }\n  ","4.r16by9":"\n    @media (max-height: 600px) {\n      grid-template-rows: repeat(2,1fr);\n      grid-template-columns: 50%;\n      grid-auto-columns: 50%;\n      grid-auto-flow: column;\n    }\n  ","5.r16by9":"grid-template: repeat(2,1fr) / repeat(3,1fr);\n    @media (max-height: 600px) {\n      grid-template-rows: repeat(2,1fr);\n      grid-template-columns: calc(100% / 3);\n      grid-auto-columns: calc(100% / 3);\n      grid-auto-flow: column;\n    }\n  ","6.r16by9":"grid-template: repeat(2,1fr) / repeat(3,1fr);\n    @media (max-height: 600px) {\n      grid-template-rows: repeat(2,1fr);\n      grid-template-columns: calc(100% / 3);\n      grid-auto-columns: calc(100% / 3);\n      grid-auto-flow: column;\n    }\n  ","7.r16by9":"\n    @media (max-height: 600px) {\n      grid-template-rows: repeat(2,1fr);\n      grid-template-columns: 25%;\n      grid-auto-columns: 25%;\n      grid-auto-flow: column;\n    }\n  "},ao=(r.Ay.div.withConfig(se)`
1305  position: relative;
1306  display: grid;
1307  height: 100%;
1308  width: 100%;
1309  overflow: auto;
1310  background-color: ${e=>e.theme.videoGrid.bgd};
1311
1312  ${({size:e,featured:t})=>oo[`${e}${t?".featured":""}`]||""}
1313  ${({size:e,featured:t,ratio:i})=>{if(!i)return;let n="";const r=ro.indexOf(i);for(let i=0;i<=r;i++){const r=ro[i];n+=oo[`${e}.${r}${t?".featured":""}`]||""}const o=so[`${e}.${i}${t?".featured":""}`]||so[`${e}${t?".featured":""}`];return o?n+=o:"r16by9"===i&&(e>7||t)?n+="\n  @media (max-height: 600px) {\n    grid-template-areas: 'ft ft' 'ft ft';\n    grid-template-rows: repeat(2,1fr);\n    grid-template-columns: 25%;\n    grid-auto-columns: 25%;\n    grid-auto-flow: column;\n  }\n":(e>7||t)&&(n+="\n  @media (max-width: 600px) {\n    grid-template-areas: 'ft ft' 'ft ft';\n    grid-template-columns: repeat(2,1fr);\n    grid-template-rows: 25%;\n    grid-auto-rows: 25%;\n  }\n"),n}};
1314`,(0,q.createContext)(null)),co=r.Ay.div.withConfig(se)`
1315  height: 100%;
1316  width: 100%;
1317  position: relative;
1318  background: ${e=>e.theme.colors.greys.grey100};
1319
1320  video {
1321    position: absolute;
1322    top: 0;
1323    left: 0;
1324    right: 0;
1325    bottom: 0;
1326    width: 100%;
1327    height: 100%;
1328    object-fit: ${e=>e.objectFit||"cover"};
1329  }
1330
1331  .ch-icon {
1332    width: 1.5rem;
1333    height: 1.5rem;
1334    display: inline-block;
1335    background-color: papayawhip;
1335 /* TODO: figure out what this is supposed to be */
1336    margin-right: 0.5rem;
1337    flex: 0 0 1.5rem;
1338  }
1339
1340  .ch-nameplate {
1341    backdrop-filter: blur(20px);
1342    background-color: rgba(46, 47, 52, 0.85);
1343    border-radius: 0.25rem;
1344    bottom: 0.5rem;
1345    color: ${e=>e.theme.colors.greys.white};
1346    left: 0.5rem;
1347    max-width: calc(100% - 2rem);
1348    padding: 0.5rem;
1349    position: absolute;
1350
1351    div {
1352      ${ne};
1353      display: flex;
1354      align-items: center;
1355    }
1356
1357    .ch-text {
1358      font-size: ${e=>e.theme.fontSizes.text.fontSize};
1359      ${ne};
1360      margin: 0;
1361    }
1362  }
1363
1364  ${de}
1365  ${ae}
1366`,lo=(0,q.forwardRef)((e,t)=>{const{tag:i,className:r,nameplate:o}=e,s=X(e,["tag","className","nameplate"]);return(0,n.jsxs)(co,Object.assign({as:i,className:r||"","data-testid":"video-tile"},s,{children:[(0,n.jsx)("video",{ref:t,className:"ch-video"}),o&&(0,n.jsx)("header",Object.assign({className:"ch-nameplate"},{children:(0,n.jsx)("p",Object.assign({className:"ch-text"},{children:o}))}))]}))});r.Ay.div.withConfig(se)`
1367  display: grid;
1368  width: 100%;
1369  height: 100%;
1370
1371  ${k}
1372  ${de}
1373  ${ae}
1374
1375  ${({responsive:e,theme:t})=>e?`\n    ${t.mediaQueries.max.md} {\n      grid-template-columns: 1fr 1fr;\n    }\n\n    ${t.mediaQueries.max.sm} {\n      grid-template-columns: 1fr;\n    }\n  `:""}
1376
1377  ${e=>e.css||""}
1378`,r.Ay.div.withConfig(se)`
1379  ${de}
1380  ${k}
1381
1382  ${e=>e.css||""}
1383`,r.Ay.aside.withConfig(se)`
1384  width: 100%;
1385  height: 100%;
1386  padding-bottom: 1rem;
1387  overflow-y: auto;
1388  background-color: ${e=>e.theme.roster.bgd};
1389  box-shadow: 1rem 1rem 3.75rem 0 rgba(0, 0, 0, 0.1);
1390  border-left: 0.0625rem solid ${e=>e.theme.roster.containerBorder};
1391  border-right: 0.0625rem solid ${e=>e.theme.roster.containerBorder};
1392
1393  ${({theme:e})=>e.mediaQueries.min.md} {
1394    width: ${e=>e.theme.roster.maxWidth};
1395  }
1396
1397  ${de}
1398  ${ae}
1399`,r.Ay.span.withConfig(se)`
1400  display: inline-block;
1401  margin: 0 0.625rem 0 0;
1402  font-weight: 600;
1403  font-size: 0.675rem;
1404  color: ${e=>e.theme.roster.secondaryText};
1405`,r.Ay.div.withConfig(se)`
1406  margin: 0 0.5rem;
1407
1408  & + & {
1409    margin-top: 1rem;
1410  }
1411
1412  ${de}
1413  ${ae}
1414`,r.Ay.div.withConfig(se)`
1415  background-color: ${e=>e.theme.roster.fgd};
1416  border-radius: ${e=>e.theme.radii.default};
1417
1418  ${de}
1419  ${ae}
1420`,r.Ay.div.withConfig(se)`
1421  position: relative;
1422  display: flex;
1423  align-items: center;
1424  padding: 0.75rem 1rem;
1425  margin-bottom: 0.5rem;
1426  border-bottom: 0.0625rem solid ${e=>e.theme.roster.headerBorder};
1427
1428  .ch-title {
1429    font-size: 0.875rem;
1430    color: ${e=>e.theme.roster.primaryText};
1431    ${e=>e.isSearching?"opacity: 0;":""}
1432    ${ne};
1433  }
1434
1435  .ch-badge {
1436    margin-left: 0.5rem;
1437    ${e=>e.isSearching?"opacity: 0;":""}
1438  }
1439
1440  .ch-buttons {
1441    margin-left: auto;
1442    display: flex;
1443
1444    > * {
1445      margin-left: 0.5rem;
1446    }
1447
1448    ${e=>e.isSearching?"opacity: 0;":""}
1449  }
1450
1451  .ch-search-wrapper {
1452    position: absolute !important;
1453    bottom: 0.75rem;
1454    left: 0.5rem;
1455    right: 0.5rem;
1456
1457    .ch-search-input {
1458      flex: 1;
1459
1460      input {
1461        width: 100%;
1462      }
1463    }
1464
1465    .ch-search-close {
1466      margin-left: 0.5rem;
1467    }
1468  }
1469
1470  .ch-navigation-icon {
1471    margin-right: 0.5rem;
1472    margin-left: -0.5rem;
1473
1474    ${({theme:e})=>e.mediaQueries.min.md} {
1475      display: none;
1476    }
1477  }
1478
1479  ${de}
1480  ${ae}
1481`,r.Ay.div.withConfig(se)`
1482  flex-grow: 1;
1483  min-width: 0;
1484  line-height: 1.5;
1485
1486  .ch-name {
1487    ${ne};
1488    font-size: 0.875rem;
1489    color: ${e=>e.theme.roster.primaryText};
1490  }
1491
1492  .ch-subtitle {
1493    ${ne};
1494    font-size: 0.65rem;
1495    color: ${e=>e.theme.roster.secondaryText};
1496  }
1497`,r.Ay.div.withConfig(se)`
1498  display: flex;
1499  align-items: center;
1500  padding: 0.625rem 1rem;
1501
1502  .ch-mic {
1503    flex-shrink: 0;
1504    width: 1.5rem;
1505    line-height: 0;
1506
1507    ${({micPosition:e})=>"leading"===e?"\n        order: -1;\n        margin-right: .75rem;\n      ":""}
1508  }
1509
1510  .ch-menu {
1511    color: ${e=>e.theme.buttons.icon.hover.bgd};
1512
1513    &:hover,
1514    &:focus {
1515      color: ${e=>e.theme.buttons.icon.hover.text};
1516    }
1517  }
1518
1519  svg {
1520    width: 1.5rem;
1521    flex-shrink: 0;
1522  }
1523
1524  > * {
1525    margin-right: 0.5rem;
1526  }
1527
1528  > :last-child {
1529    margin-right: 0;
1530  }
1531
1532  ${de}
1533  ${ae}
1534`,r.Ay.div.withConfig(se)`
1535  display: flex;
1536  align-items: center;
1537  white-space: nowrap;
1538  font-size: 0.65rem;
1539  color: ${({theme:e})=>e.roster.secondaryText};
1540
1541  > svg {
1542    margin-right: 0.25rem;
1543    color: ${({theme:e})=>e.roster.secondaryText};
1544  }
1545`;(0,q.createContext)(null),r.Ay.div.withConfig(se)`
1546  z-index: ${e=>e.isActive?e.theme.zIndex.controlBar:"-10"};
1547  visibility: ${e=>e.isActive?"visible":"hidden"};
1548
1549  &.ch-active {
1550    animation: ${br} 0.25s ease 0s forwards;
1551  }
1552`;r.Ay.ul.withConfig(se)`
1553  display: flex;
1554  flex-direction: column;
1555  width: 20rem;
1556
1557  ${ae}
1558  ${de}
1559`,r.Ay.li.withConfig(se)`
1560  position: relative;
1561
1562  ${ae};
1563  ${de};
1564
1565  & .ch-channel-button {
1566    width: 100%;
1567    height: 100%;
1568    padding: 11px 0;
1569    background-color: ${e=>e.theme.channelList.bgd};
1570    border: none;
1571    border-radius: unset;
1572    justify-content: left;
1573    padding-left: 1rem;
1574    color: ${e=>e.theme.channelList.fontColor};
1575    border: ${e=>e.theme.channelList.border};
1576    font-family: ${e=>e.theme.fonts.body};
1577
1578    &:hover {
1579      background-color: ${e=>e.theme.channelList.hover.bgd};
1580    }
1581
1582    &:active {
1583      background-color: ${e=>e.theme.channelList.active.bgd};
1584      color: ${e=>e.theme.channelList.active.fontColor};
1585    }
1586
1587    &:focus {
1588      border: ${e=>e.theme.channelList.focus.border};
1589    }
1590  }
1591
1592  & .ch-label {
1593    padding-left: 1.5rem;
1594  }
1595
1596  & .ch-unread-badge {
1597    display: ${e=>e.unread?"inline":"none"};
1598    position: absolute;
1599    z-index: 2;
1600    top: 12px;
1601    left: 5px;
1602    background-color: ${e=>e.theme.colors.primary.light};
1603  }
1604
1605  &.ch-unread .ch-channel-button {
1606    font-weight: bold;
1607  }
1608
1609  &.ch-selected .ch-channel-button {
1610    background-color: ${e=>e.theme.colors.primary.light};
1611    color: ${e=>e.theme.channelList.selected.fontColor};
1612
1613    &:focus {
1614      border: ${e=>e.theme.channelList.focus.selectedBorder};
1615    }
1616  }
1617
1618  & .ch-popover-toggle {
1619    position: absolute;
1620    right: 1rem;
1621    margin: 0.5rem 0;
1622    height: 1.5rem;
1623    border-radius: 50%;
1624
1625    .ch-channel-actions {
1626      border: 1px solid transparent;
1627    }
1628
1629    & g {
1630      fill: ${e=>e.theme.channelList.active.fontColor};
1631    }
1632
1633    & button:focus .ch-channel-actions {
1634      border: ${e=>e.theme.channelList.focus.selectedBorder};
1635      border-radius: 50%;
1636    }
1637
1638    &:hover,
1639    &:active {
1640      background-color: ${e=>e.theme.channelList.iconButton.activeBgd};
1641
1642      & g {
1643        fill: ${e=>e.theme.colors.primary.light};
1644      }
1645    }
1646  }
1647
1648  & .ch-detailed-channel {
1649    display: grid;
1650    grid-template-rows: 17px 1fr max-content;
1651    grid-gap: 16px;
1652    padding: 10px 20px;
1653    background-color: ${e=>e.theme.channelList.bgd};
1654    color: ${e=>e.theme.channelList.fontColor};
1655    border-bottom: 0.5px solid #d3d3d3;
1656    font-family: ${e=>e.theme.fonts.body};
1657
1658    &:hover {
1659      background-color: ${e=>e.theme.channelList.hover.bgd};
1660    }
1661
1662    &:active {
1663      background-color: ${e=>e.theme.channelList.active.bgd};
1664      color: ${e=>e.theme.channelList.active.fontColor};
1665    }
1666
1667    &:focus {
1668      border: ${e=>e.theme.channelList.focus.border};
1669    }
1670  }
1671
1672  & .ch-detailed-channel-name {
1673    font-weight: bold;
1674    padding-left: 25px;
1675    white-space: nowrap;
1676    overflow-x: hidden;
1677    text-overflow: ellipsis;
1678    font-size: 14px;
1679    max-width: 85%;
1680  }
1681
1682  & .ch-detailed-channel-message {
1683    grid-row: span 2;
1684    padding-left: 25px;
1685    white-space: nowrap;
1686    overflow-x: hidden;
1687    text-overflow: ellipsis;
1688    font-size: 14px;
1689    max-width: 90%;
1690  }
1691
1692  & .ch-detailed-channel-message-time {
1693    position: absolute;
1694    top: 0.8rem;
1695    right: 0.5rem;
1696    font-size: 8px;
1697    max-width: 15%;
1698    text-align: right;
1699  }
1700
1701  & .ch-unread-badge-detailed {
1702    display: ${e=>e.unread?"inline":"none"};
1703    position: absolute;
1704    z-index: 2;
1705    top: 10px;
1706    left: 5px;
1707    background-color: ${e=>e.theme.colors.primary.light};
1708  }
1709
1710  &.ch-selected .ch-detailed-channel {
1711    background-color: ${e=>e.theme.colors.primary.light};
1712    color: ${e=>e.theme.channelList.selected.fontColor};
1713
1714    &:focus {
1715      border: ${e=>e.theme.channelList.focus.selectedBorder};
1716    }
1717  }
1718
1719  & .ch-popover-toggle-detailed {
1720    position: absolute;
1721    top: 1.75rem;
1722    right: 1rem;
1723    margin: 0.5rem 0;
1724    height: 1.5rem;
1725    border-radius: 50%;
1726
1727    .ch-channel-actions {
1728      border: 1px solid transparent;
1729    }
1730
1731    & g {
1732      fill: ${e=>e.theme.channelList.active.fontColor};
1733    }
1734
1735    & button:focus .ch-channel-actions {
1736      border: ${e=>e.theme.channelList.focus.selectedBorder};
1737      border-radius: 50%;
1738    }
1739
1740    &:hover,
1741    &:active {
1742      background-color: ${e=>e.theme.channelList.iconButton.activeBgd};
1743
1744      & g {
1745        fill: ${e=>e.theme.colors.primary.light};
1746      }
1747    }
1748  }
1749`;const uo=r.Ay.div.withConfig(se)`
1750  display: flex;
1751  flex-direction: row;
1752  font-size: 0.65rem;
1753  margin-left: 1rem;
1754  align-items: center;
1755  background-color: ${e=>e.theme.chatBubble.container.bgd};
1756  width: 100%;
1757
1758  .ch-timestamp {
1759    padding-right: ${e=>e.actions?"1rem":"2.5rem"};
1760  }
1761
1762  ${de}
1763  ${ae}
1764`,ho=(r.Ay.div.withConfig(se)`
1765  background-color: ${e=>e.theme.chatBubble[e.variant].bgd};
1766  padding: 0.625rem 1rem;
1767  border-radius: 4px;
1768  width: fit-content;
1769  color: ${e=>e.theme.chatBubble[e.variant].fontColor};
1770  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
1771  line-height: 20px;
1772  width: ${e=>e.editable?"100%":"fit-content"};
1773  max-width: 70.6%;
1774  font-size: 0.875rem;
1775  position: relative;
1776  margin-bottom: ${e=>e.editable?"4rem":"unset"};
1777  overflow-wrap: break-word;
1778  word-break: break-word;
1779  hyphens: auto;
1780
1781  & .ch-header {
1782    display: flex;
1783    flex-direction: row;
1784    margin-bottom: 0.5rem;
1785    align-items: baseline;
1786  }
1787
1788  & .ch-sender-name {
1789    font-weight: bold;
1790    padding-right: 0.5rem;
1791  }
1792
1793  & .ch-header-timestamp {
1794    font-size: 0.65rem;
1795  }
1796
1797  & svg {
1798    position: absolute;
1799    height: 19px;
1800    width: 11px;
1801    margin-top: -14px;
1802    margin-left: -25px;
1803
1804    & .ch-chat-bubble-tail {
1805      fill: ${e=>e.theme.chatBubble[e.variant].bgd};
1806    }
1807  }
1808
1809  .ch-input {
1810    width: 100%;
1811  }
1812
1813  .ch-edit-buttons {
1814    position: absolute;
1815    margin-top: 1rem;
1816    display: flex;
1817    flex-direction: row-reverse;
1818    width: 10rem;
1819    justify-content: space-between;
1820  }
1821
1822  ${de};
1823  ${ae};
1824`,r.Ay.div.withConfig(se)`
1825  display: flex;
1826  margin-right: 0.5rem;
1827  margin-left: auto;
1828  color: ${e=>e.theme.chatBubble.container.fontColor};
1829  align-items: center;
1830
1831  & .ch-message-actions {
1832    border: 1px solid transparent;
1833    border-radius: 50%;
1834  }
1835
1836  & button:hover .ch-message-actions {
1837    background-color: ${e=>e.theme.buttons.icon.hover.bgd};
1838
1839    & g {
1840      fill: ${e=>e.theme.buttons.icon.hover.text};
1841    }
1842  }
1843
1844  & button:focus .ch-message-actions {
1845    border: 1px solid ${e=>e.theme.colors.primary.dark};
1846    border-radius: 50%;
1847  }
1848
1849  & .ch-message-actions g {
1850    fill: ${e=>e.theme.chatBubble.container.fontColor};
1851  }
1852
1853  & .ch-message-actions.isOpen {
1854    background-color: ${e=>e.theme.buttons.icon.active.bgd};
1855    border-radius: 50%;
1856
1857    & g {
1858      fill: ${e=>e.theme.buttons.icon.active.text};
1859    }
1860  }
1861`),po=(q.forwardRef((e,t)=>{const{timestamp:i,actions:r,tooltipContainerId:o,a11yLabel:s="Open channel options"}=e,a=X(e,["timestamp","actions","tooltipContainerId","a11yLabel"]),d=(0,q.useMemo)(()=>{return e=ve,t=o,i=>{var r;const o=Jn(),[{show:s,bounds:a},d]=(0,q.useState)(ir),[c,l]=(0,q.useState)(null),u=null!==(r=i.tooltipPosition)&&void 0!==r?r:"top",h=(0,q.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let t=e.target;for(;!t.getAttribute("data-tooltip");)t=t.parentElement;const i=t.getBoundingClientRect();d({show:!0,bounds:i})},[]),p=(0,q.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),d(ir)},[]);return(0,q.useEffect)(()=>(document.addEventListener("scroll",p,!0),()=>document.removeEventListener("scroll",p,!0)),[]),(0,q.useEffect)(()=>{const e=document.getElementById(t||"Tooltip__container");e?l(e):o.warn("Attempted to use 'WithTooltip' but could not find container element.Pass a valid element ID or add 'Tooltip__container' ID to existing element")},[t]),(0,n.jsxs)(n.Fragment,{children:[s&&a&&c&&G.createPortal((0,n.jsx)(tr,Object.assign({position:u,bounds:a},{children:i.tooltipContent||i.label})),c),(0,n.jsx)(e,Object.assign({},i,{"data-tooltip":!0,"data-tooltip-position":u,onClick:e=>{var t;s&&p(e),null===(t=null==i?void 0:i.onClick)||void 0===t||t.call(i,e)},onFocus:e=>{var t;s||h(e),null===(t=null==i?void 0:i.onFocus)||void 0===t||t.call(i,e)},onBlur:e=>{var t;s&&p(e),null===(t=null==i?void 0:i.onBlur)||void 0===t||t.call(i,e)},onMouseEnter:e=>{var t;s||h(e),null===(t=null==i?void 0:i.onMouseEnter)||void 0===t||t.call(i,e)},onMouseLeave:e=>{var t;s&&p(e),null===(t=null==i?void 0:i.onMouseLeave)||void 0===t||t.call(i,e)}}))]})};var e,t},[o]),c=a["data-tooltip"]?d:ve,l=a["data-tooltip-position"]?{tooltipPosition:a["data-tooltip-position"]}:{};return(0,n.jsxs)(uo,Object.assign({"data-testid":"chat-bubble-container",ref:t,actions:r},a,{children:[e.children,(0,n.jsxs)(ho,{children:[i&&(0,n.jsx)("span",Object.assign({className:"ch-timestamp","data-testid":"message-time"},{children:i})),r&&(0,n.jsx)(qn,{a11yLabel:s,placement:"bottom-end",renderButtonWrapper:(e,t)=>(0,n.jsx)(c,Object.assign({},l,{icon:(0,n.jsx)(Ae,{width:"1.5rem",height:"1.5rem"}),selected:e},t,{label:s})),children:r})]})]}))}),r.i7`
1862  from {
1863    transform: rotate(0deg);
1864  }
1865  to {
1866    transform: rotate(360deg);
1867  }
1868`);function fo(e,t,i,n){var r,o=null==(r=n)||"number"==typeof r||"boolean"==typeof r?n:i(n),s=t.get(o);return void 0===s&&(s=e.call(this,n),t.set(o,s)),s}function mo(e,t,i){var n=Array.prototype.slice.call(arguments,3),r=i(n),o=t.get(r);return void 0===o&&(o=e.apply(this,n),t.set(r,o)),o}function go(e,t,i,n,r){return i.bind(t,e,n,r)}function vo(e,t){return go(e,this,1===e.length?fo:mo,t.cache.create(),t.serializer)}function bo(){return JSON.stringify(arguments)}function yo(){this.cache=Object.create(null)}r.Ay.ul.withConfig(se)`
1869  background-color: ${e=>e.theme.chatBubble.container.bgd};
1870  overflow-y: scroll;
1871  display: flex;
1872  flex-direction: column;
1873  list-style: none;
1874  padding: 0;
1875
1876  /* disable scrolling while fetching */
1877  &.ch-not-scrollable {
1878    overflow-y: hidden;
1879  }
1880
1881  ${de}
1882  ${ae}
1883
1884  .ch-spinner {
1885    margin: 0 auto;
1886  }
1887
1888  .ch-spinner svg {
1889    width: 2rem;
1890    height: 2rem;
1891    animation: ${po} 2s linear infinite;
1892    display: block;
1893  }
1894`,r.Ay.div.withConfig(se)`
1895  display: flex;
1896  flex-direction: row;
1897  padding: 10px;
1898
1899  & .ch-attachment-icon {
1900    height: 2rem;
1901    width: 2rem;
1902    margin: auto;
1903    background-color: ${e=>e.theme.messageAttachment.icon.bgd};
1904    border-radius: 25px;
1905
1906    & .ch-document-icon {
1907      margin: auto 0;
1908      color: ${e=>e.theme.messageAttachment.icon.color};
1909    }
1910  }
1911  & .ch-attachment-name {
1912    margin-left: 1rem;
1913
1914    & a:link,
1915    & a:visited,
1916    & a:hover,
1917    & a:active {
1918      color: ${e=>e.theme.messageAttachment.name.fontColor};
1919      text-decoration: none;
1920    }
1921  }
1922  & .ch-attachment-size {
1923    font-size: ${e=>e.theme.messageAttachment.size.fontSize};
1924    color: ${e=>e.theme.messageAttachment.size.fontColor};
1925    display: block;
1926    padding-top: 3px;
1927  }
1928`,r.Ay.div.withConfig(se)`
1929  color: ${e=>e.theme.messageAttachment.content.fontColor};
1930  display: flex;
1931  flex-direction: column;
1932  width: fit-content;
1933  border-radius: 4px;
1934  overflow: hidden;
1935  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
1936  background-color: ${e=>e.theme.messageAttachment.content.bgd};
1937  letter-spacing: ${e=>e.theme.messageAttachment.content.letterSpacing};
1938  font-size: ${e=>e.theme.fontSizes.text.fontSize};
1939  line-height: ${e=>e.theme.fontSizes.text.lineHeight};
1940
1941  & img {
1942    ${e=>e.imgStyles};
1943  }
1944
1945  ${de}
1946  ${ae}
1947`,yo.prototype.has=function(e){return e in this.cache},yo.prototype.get=function(e){return this.cache[e]},yo.prototype.set=function(e,t){this.cache[e]=t};var So={create:function(){return new yo}},wo=function(e,t){var i=t&&t.cache?t.cache:So,n=t&&t.serializer?t.serializer:bo;return(t&&t.strategy?t.strategy:vo)(e,{cache:i,serializer:n})};wo.strategies={variadic:function(e,t){return go(e,this,mo,t.cache.create(),t.serializer)},monadic:function(e,t){return go(e,this,fo,t.cache.create(),t.serializer)}};const Co={weekday:"long",year:"numeric",month:"long",day:"numeric"};var ko,Eo,To,Io;wo((e,t,i,n,r)=>{const o=i||Co,s=new Date(e).toLocaleDateString(t,o),a=new Date;return a.setDate(a.getDate()-1),s===a.toLocaleDateString(t,o)?r||"Yesterday":s===(new Date).toLocaleDateString(t,o)?n||"Today":s}),function(e){e[e.Loading=0]="Loading",e[e.Succeeded=1]="Succeeded",e[e.Failed=2]="Failed",e[e.Ended=3]="Ended",e[e.JoinedFromAnotherDevice=4]="JoinedFromAnotherDevice",e[e.Left=5]="Left",e[e.TerminalFailure=6]="TerminalFailure",e[e.Reconnecting=7]="Reconnecting"}(ko||(ko={})),function(e){e.UNTRIGGERED="UNTRIGGERED",e.IN_PROGRESS="IN_PROGRESS",e.GRANTED="GRANTED",e.DENIED="DENIED"}(Eo||(Eo={})),function(e){e[e.None=1]="None",e[e.Audio=2]="Audio",e[e.Video=3]="Video",e[e.AudioAndVideo=4]="AudioAndVideo"}(To||(To={})),function(e){e[e.STARTING=0]="STARTING",e[e.DID_STOP=1]="DID_STOP",e[e.UPDATE=2]="UPDATE",e[e.TOGGLE_PAUSE=3]="TOGGLE_PAUSE",e[e.REMOVE=4]="REMOVE",e[e.DENIED=5]="DENIED",e[e.RESET=6]="RESET",e[e.UPDATE_CAN_START=7]="UPDATE_CAN_START"}(Io||(Io={}));const xo={paused:!1,isLocalUserSharing:!1,isLocalShareLoading:!1,canStartContentShare:!0,tileId:null,sharingAttendeeId:null,tiles:[],tileIdToAttendeeId:{},attendeeIdToTileId:{}},Ao=(e,t)=>{const i=e.tileIdToAttendeeId[t.toString()];if(!i)return{tiles:e.tiles,tileIdToAttendeeId:e.tileIdToAttendeeId,attendeeIdToTileId:e.attendeeIdToTileId,removedAttendeeId:void 0};const n=e.tiles.filter(e=>e!==t),r=Object.assign({},e.tileIdToAttendeeId);delete r[t.toString()];const o=Object.assign({},e.attendeeIdToTileId);return delete o[i],{tiles:n,tileIdToAttendeeId:r,attendeeIdToTileId:o,removedAttendeeId:i}},Po=(e,t,i,n)=>{if(n&&n!==e.sharingAttendeeId)return{tileId:e.tileId,sharingAttendeeId:e.sharingAttendeeId};if(0===t.length)return{tileId:null,sharingAttendeeId:null};const r=Math.max(...t);return{tileId:r,sharingAttendeeId:i[r.toString()]}};function Oo(e,{type:t,payload:i}){switch(t){case Io.STARTING:return Object.assign(Object.assign({},e),{isLocalShareLoading:!0});case Io.UPDATE:{const{isLocalUser:t,tileState:n}=i,r=n.tileId,o=n.boundAttendeeId;if(e.tileIdToAttendeeId[r.toString()])return e;const s=((e,t,i)=>({tiles:[...e.tiles,t],tileIdToAttendeeId:Object.assign(Object.assign({},e.tileIdToAttendeeId),{[t.toString()]:i}),attendeeIdToTileId:Object.assign(Object.assign({},e.attendeeIdToTileId),{[i]:t})}))(e,r,o),a=Po(e,s.tiles,s.tileIdToAttendeeId);return Object.assign(Object.assign(Object.assign(Object.assign({},e),s),a),{isLocalShareLoading:!t&&e.isLocalShareLoading,isLocalUserSharing:!!t||e.isLocalUserSharing})}case Io.REMOVE:{const{tileId:t,isLocalUser:n}=i,{tiles:r,tileIdToAttendeeId:o,attendeeIdToTileId:s,removedAttendeeId:a}=Ao(e,t);if(!a)return e;const d=Po(e,r,o,a);return Object.assign(Object.assign(Object.assign(Object.assign({},e),{tiles:r,tileIdToAttendeeId:o,attendeeIdToTileId:s}),d),{isLocalUserSharing:!n&&e.isLocalUserSharing,paused:!n&&e.paused})}case Io.DID_STOP:{const{isLocalUserSharing:t}=e,{localAttendeeId:n}=i;
1947if(t){const t=e.attendeeIdToTileId[n];if(t){const{tiles:i,tileIdToAttendeeId:n,attendeeIdToTileId:r,removedAttendeeId:o}=Ao(e,t),s=Po(e,i,n,o);return Object.assign(Object.assign(Object.assign(Object.assign({},e),{tiles:i,tileIdToAttendeeId:n,attendeeIdToTileId:r}),s),{isLocalUserSharing:!1,paused:!1,isLocalShareLoading:!1})}}return Object.assign(Object.assign({},e),{isLocalShareLoading:!1,isLocalUserSharing:!1,paused:!1})}case Io.TOGGLE_PAUSE:return e.isLocalUserSharing?Object.assign(Object.assign({},e),{paused:!e.paused}):e;case Io.DENIED:return e.isLocalShareLoading?Object.assign(Object.assign({},e),{isLocalShareLoading:!1}):e;case Io.RESET:return xo;case Io.UPDATE_CAN_START:{const{maxContentShares:t}=i;return Object.assign(Object.assign({},e),{canStartContentShare:!e.isLocalUserSharing&&e.tiles.length<t})}default:throw new Error("Incorrect type in ContentShareProvider")}}const _o=(0,q.createContext)(null),Mo=(0,q.createContext)(null),Ro=({children:e,maxContentShares:t=1})=>{var i,r,o;const s=ds(),a=Jn(),[d,c]=(0,q.useReducer)(Oo,xo),{paused:l,isLocalUserSharing:u,isLocalShareLoading:h,canStartContentShare:p}=d,f=(0,q.useRef)(null),m=null===(o=null===(r=null===(i=null==s?void 0:s.audioVideoController)||void 0===i?void 0:i.realtimeController)||void 0===r?void 0:r.state)||void 0===o?void 0:o.localAttendeeId,g=(0,q.useMemo)(()=>Math.max(1,Math.min(t,2)),[t]);(0,q.useEffect)(()=>{t>2?a.warn(`ContentShareProvider: maxContentShares value ${t} exceeds the currently supported maximum of 2.The value has been set to ${g} instead.`):t<1&&a.warn(`ContentShareProvider: maxContentShares value ${t} is below the minimum of 1. The value has been set to ${g} instead.`)},[t,g]),(0,q.useEffect)(()=>{if(!s)return;const e={videoTileDidUpdate:e=>{if(!e.boundAttendeeId||!e.isContent||!e.tileId)return;const{boundAttendeeId:t}=e,i=new J.DefaultModality(t).base()===m;1===g&&!i&&f.current&&f.current<e.tileId&&(s.stopContentShare(),f.current=null),i&&(f.current=e.tileId),c({type:Io.UPDATE,payload:{tileState:e,isLocalUser:i}})},videoTileWasRemoved:e=>{const t=e===f.current;t&&(f.current=null),c({type:Io.REMOVE,payload:{isLocalUser:t,tileId:e}})}},t={contentShareDidStop:()=>{var e,t,i;c({type:Io.DID_STOP,payload:{localAttendeeId:null===(i=null===(t=null===(e=null==s?void 0:s.audioVideoController)||void 0===e?void 0:e.realtimeController)||void 0===t?void 0:t.state)||void 0===i?void 0:i.localAttendeeId}})}};return s.addObserver(e),s.addContentShareObserver(t),()=>{s.removeObserver(e),s.removeContentShareObserver(t),c({type:Io.RESET})}},[s,m,g]),(0,q.useEffect)(()=>{if(!s)return;const e=e=>{"NotAllowedError"===e.reason.name&&c({type:Io.DENIED})};return window.addEventListener("unhandledrejection",e),()=>window.removeEventListener("unhandledrejection",e)},[s,h]);const v=(0,q.useCallback)(e=>Z(void 0,void 0,void 0,function*(){s&&(u||h?s.stopContentShare():(e&&"string"==typeof e?yield s.startContentShareFromScreenCapture(e):e&&e instanceof MediaStream?yield s.startContentShare(e):yield s.startContentShareFromScreenCapture(),c({type:Io.STARTING})))}),[s,u,h]),b=(0,q.useCallback)(()=>{s&&u&&(l?s.unpauseContentShare():s.pauseContentShare(),c({type:Io.TOGGLE_PAUSE}))},[s,l,u]);(0,q.useEffect)(()=>{c({type:Io.UPDATE_CAN_START,payload:{maxContentShares:g}})},[u,d.tiles.length,g]);const y=(0,q.useMemo)(()=>({paused:l,isLocalUserSharing:u,isLocalShareLoading:h,toggleContentShare:v,togglePauseContentShare:b,canStartContentShare:p}),[l,u,h,v,b,p]);return(0,n.jsx)(_o.Provider,Object.assign({value:d},{children:(0,n.jsx)(Mo.Provider,Object.assign({value:y},{children:e}))}))},Do=()=>{const e=(0,q.useContext)(_o);if(!e)throw new Error("useContentShareState must be used within a ContentShareProvider");return e},Fo=()=>{const e=(0,q.useContext)(Mo);if(!e)throw new Error("useContentShareControlContext must be used within ContentShareControlProvider");return e};var Lo;!function(e){e[e.UPDATE=0]="UPDATE",e[e.REMOVE=1]="REMOVE",e[e.RESET=2]="RESET"}(Lo||(Lo={}));const No={tiles:[],tileIdToAttendeeId:{},attendeeIdToTileId:{},size:0},Bo=(e,t)=>{const i=Object.assign({},e);return delete i[t],i};function Vo(e,{type:t,payload:i}){const{tiles:n,tileIdToAttendeeId:r,attendeeIdToTileId:o,size:s}=e;switch(t){case Lo.UPDATE:{const{tileId:t,attendeeId:a=""}=i,d=t.toString();return r[d]?e:{tiles:[...n,t],tileIdToAttendeeId:Object.assign(Object.assign({},r),{[d]:a}),attendeeIdToTileId:Object.assign(Object.assign({},o),{[a]:t}),size:s+1}}case Lo.REMOVE:{const{tileId:t}=i,a=r[t],d=t.toString();return a?{tiles:n.filter(e=>t!==e),tileIdToAttendeeId:Bo(r,d),attendeeIdToTileId:Bo(o,a),size:s-1}:e}case Lo.RESET:return No;default:throw new Error("Incorrect type in VideoProvider")}}const Uo=(0,q.createContext)(null),jo=({children:e})=>{const t=ds(),[i,r]=(0,q.useReducer)(Vo,No);return(0,q.useEffect)(()=>
1947{if(!t)return;const e={videoTileDidUpdate:e=>{if((null==e?void 0:e.boundAttendeeId)&&(null==e?void 0:e.tileId)&&!e.isContent&&!e.localTile){const{tileId:t,boundAttendeeId:i}=e;r({type:Lo.UPDATE,payload:{tileId:t,attendeeId:i}})}},videoTileWasRemoved:e=>{r({type:Lo.REMOVE,payload:{tileId:e}})}};return t.addObserver(e),()=>t.removeObserver(e)},[t]),(0,q.useEffect)(()=>{if(t)return()=>r({type:Lo.RESET})},[t]),(0,n.jsx)(Uo.Provider,Object.assign({value:i},{children:e}))},zo=()=>{const e=(0,q.useContext)(Uo);if(!e)throw new Error("useRemoteVideoTileState must be used within a RemoteVideoTileProvider");return e},$o=(0,q.createContext)(null),Ho=({children:e})=>{const t=os(),{attendeeIdToTileId:i}=zo(),r=(0,q.useRef)(null),[o,s]=(0,q.useState)(null),a=(0,q.useRef)(null),d=(0,q.useRef)(null);(0,q.useEffect)(()=>{const e=e=>{const t=e[0];if(t===d.current)return;if(d.current=t,a.current&&clearTimeout(a.current),!t)return r.current=null,void s(null);const n=i[t];n?n!==r.current&&(r.current?a.current=window.setTimeout(()=>{r.current=n,s(n)},1500):(r.current=n,s(n))):r.current&&(a.current=window.setTimeout(()=>{r.current=null,s(null)},1500))};return t.subscribeToActiveSpeaker(e),()=>t.unsubscribeFromActiveSpeaker(e)},[i]);const c=(0,q.useMemo)(()=>({tileId:o}),[o]);return(0,n.jsx)($o.Provider,Object.assign({value:c},{children:e}))};const Wo=(0,q.createContext)(null),qo=({children:e})=>{const t=Jn(),i=ds(),[r,o]=(0,q.useState)(!0),s=(0,q.useRef)(null);(0,q.useEffect)(()=>{var e;if(i)return s.current&&(e=s.current,Z(void 0,void 0,void 0,function*(){try{yield i.bindAudioElement(e)}catch(e){t.error(`Failed to bind audio element. ${e}`)}})),()=>{i.unbindAudioElement(),o(!0)}},[i]);const a=(0,q.useCallback)(()=>{var e;s.current&&(o(!r),r?null==i||i.unbindAudioElement():(e=s.current,Z(void 0,void 0,void 0,function*(){try{yield null==i?void 0:i.bindAudioElement(e)}catch(e){t.error(`Failed to bind audio element. ${e}`)}})))},[s,i,r]),d=(0,q.useMemo)(()=>({isAudioOn:r,toggleAudio:a}),[r,a]);return(0,n.jsxs)(Wo.Provider,Object.assign({value:d},{children:[e,(0,n.jsx)("audio",{ref:s,style:{display:"none"}})]}))},Ko=(0,q.createContext)(null),Go=({children:e})=>{const t=Jn(),i=os(),r=ds(),{devices:o,selectedDevice:s}=vs(),[a,d]=(0,q.useState)(!1),[c,l]=(0,q.useState)(!1),[u,h]=(0,q.useState)(null);(0,q.useEffect)(()=>{if(!r)return;r.hasStartedLocalVideoTile()&&d(!0);const e={videoAvailabilityDidChange:e=>{e.canStartLocalVideo?l(!1):l(!0),t.info(`video availability changed: canStartLocalVideo ${e.canStartLocalVideo}`)}};return r.addObserver(e),()=>{d(!1),r.removeObserver(e)}},[r]),(0,q.useEffect)(()=>{c&&t.warn("Reach the number of maximum active videos")},[c]),(0,q.useEffect)(()=>{(null==r?void 0:r.hasStartedLocalVideoTile())||d(!1)},[o]);const p=(0,q.useCallback)(()=>Z(void 0,void 0,void 0,function*(){try{a||!s?(s||t.warn("There is no input video device chosen!"),yield null==r?void 0:r.stopVideoInput(),d(!1)):c?t.error("Video limit is reached and can not turn on more videos!"):(yield i.startVideoInputDevice(s),null==r||r.startLocalVideoTile(),d(!0))}catch(e){t.error("Failed to toggle video")}}),[r,a,c,s]);(0,q.useEffect)(()=>{if(!r)return;const e={videoTileDidUpdate:e=>{e.localTile&&e.tileId&&u!==e.tileId&&h(e.tileId)}};return r.addObserver(e),()=>r.removeObserver(e)},[r,u]);const f=(0,q.useMemo)(()=>({tileId:u,isVideoEnabled:a,setIsVideoEnabled:d,hasReachedVideoLimit:c,setHasReachedVideoLimit:l,toggleVideo:p}),[u,a,d,c,l,p]);return(0,n.jsx)(Ko.Provider,Object.assign({value:f},{children:e}))},Jo=()=>{const e=(0,q.useContext)(Ko);if(!e)throw new Error("useLocalVideo must be used within LocalVideoProvider");return e},Qo=(0,q.createContext)(void 0),Xo=({children:e})=>{const[t,i]=(0,q.useState)(),r=os();return(0,q.useEffect)(()=>{function e(e,t){i({name:e,attributes:t})}return r.subscribeToEventDidReceive(e),()=>{r.unsubscribeFromEventDidReceive(e)}},[]),(0,n.jsx)(Qo.Provider,Object.assign({value:t},{children:e}))},Zo=q.createContext(null),Yo=({children:e})=>{const t=os(),i=ds(),r=(0,q.useRef)({}),[o,s]=(0,q.useState)({});(0,q.useEffect)(()=>{if(!i)return;const e=(e,i,n)=>Z(void 0,void 0,void 0,function*(){if(!i)return delete r.current[e],void s(t=>{const i=t,n=e;i[n];const r=X(i,["symbol"==typeof n?n:n+""]);return Object.assign({},r)});const o=new J.DefaultModality(e).base();if(o!==e)return;if(r.current[e])return;let a={chimeAttendeeId:e};if(n&&(a.externalUserId=n),r.current[o]=a,s(e=>Object.assign(Object.assign({},e),{[o]:a})),t.getAttendee){const e=yield t.getAttendee(o,n);if(!r.current[o])return;a=Object.assign(Object.assign({},a),e),s(e=>Object.assign(Object.assign({},e),{[o]:a}))}});return i.realtimeSubscribeToAttendeeIdPresence(e),()=>{s({}),r.current={},i.realtimeUnsubscribeToAttendeeIdPresence(e)}},[i]);const a=(0,q.useMemo)(()=>({roster:o}),[o]);return(0,n.jsx)(Zo.Provider,Object.assign({value:a},{children:e}))};function es(){const e=(0,q.useContext)(Zo);if(!e)throw new Error("userRosterState must be used within RosterProvider");return e}function ts(){return Promise.resolve(new MediaStream)}class is{getDeviceLabels(){return this.deviceLabels}constructor(e){this.meetingSession=null,this.meetingStatus=ko.Lo
1947ading,this.meetingStatusObservers=[],this.audioVideo=null,this.audioVideoObservers={},this.meetingId=null,this.selectedAudioOutputDeviceObservers=[],this.selectedAudioInputDeviceObservers=[],this.selectedVideoInputDeviceObservers=[],this.audioInputDevices=null,this.audioOutputDevices=null,this.videoInputDevices=null,this.deviceLabelTriggerStatus=Eo.UNTRIGGERED,this.deviceLabelTriggerStatusObservers=[],this.deviceLabelTriggerObservers=[],this.activeSpeakerListener=null,this.activeSpeakerCallbacks=[],this.activeSpeakers=[],this.audioVideoCallbacks=[],this.devicesUpdatedCallbacks=[],this.meetingEventObserverSet=new Set,this.audioVideoDidStart=()=>{this.logger.info("[MeetingManager audioVideoDidStart] Meeting started successfully"),this.meetingStatus=ko.Succeeded,this.publishMeetingStatus()},this.audioVideoDidStartConnecting=e=>{this.meetingStatus!==ko.Reconnecting&&e&&(this.meetingStatus=ko.Reconnecting,this.publishMeetingStatus())},this.audioVideoDidStop=e=>{var t;const i=e.statusCode();switch(i){case J.MeetingSessionStatusCode.MeetingEnded:this.logger.info(`[MeetingManager audioVideoDidStop] Meeting ended for all: ${i}`),this.meetingStatus=ko.Ended;break;case J.MeetingSessionStatusCode.Left:this.logger.info(`[MeetingManager audioVideoDidStop] Left the meeting: ${i}`),this.meetingStatus=ko.Left;break;case J.MeetingSessionStatusCode.AudioJoinedFromAnotherDevice:this.logger.info(`[MeetingManager audioVideoDidStop] Meeting joined from another device: ${i}`),this.meetingStatus=ko.JoinedFromAnotherDevice;break;default:e.isFailure()&&!e.isTerminal()?(this.logger.info(`[MeetingManager audioVideoDidStop] Non-Terminal failure occurred: ${i}`),this.meetingStatus=ko.Failed):e.isTerminal()?(this.logger.info(`[MeetingManager audioVideoDidStop] Terminal failure occurred: ${i}`),this.meetingStatus=ko.TerminalFailure):this.logger.info(`[MeetingManager audioVideoDidStop] session stopped with code ${i}`)}this.publishMeetingStatus(),null===(t=this.audioVideo)||void 0===t||t.removeObserver(this.audioVideoObservers),this.leave()},this.startAudioInputDevice=e=>Z(this,void 0,void 0,function*(){var t;try{yield null===(t=this.audioVideo)||void 0===t?void 0:t.startAudioInput(e),this.selectedAudioInputDevice=e,this.publishSelectedAudioInputDevice()}catch(e){const t=new Error("MeetingManager failed to select audio input device.");throw e instanceof Error&&(t.name=e.name,t.message+=" "+e.message),this.logger.error(t.toString()),t}}),this.startAudioOutputDevice=e=>Z(this,void 0,void 0,function*(){var t;try{yield null===(t=this.audioVideo)||void 0===t?void 0:t.chooseAudioOutput(e),this.selectedAudioOutputDevice=e,this.publishSelectedAudioOutputDevice()}catch(e){throw this.logger.error(`MeetingManager failed to select audio output device: ${e}`),new Error("MeetingManager failed to select audio output device")}}),this.startVideoInputDevice=e=>Z(this,void 0,void 0,function*(){var t;try{yield null===(t=this.audioVideo)||void 0===t?void 0:t.startVideoInput(e),this.selectedVideoInputDevice=e,this.publishSelectedVideoInputDevice()}catch(e){const t=new Error("MeetingManager failed to select video input device.");throw e instanceof Error&&(t.name=e.name,t.message+=" "+e.message),this.logger.error(t.toString()),t}}),this.stopVideoInputDevice=()=>Z(this,void 0,void 0,function*(){var e;try{yield null===(e=this.audioVideo)||void 0===e?void 0:e.stopVideoInput(),this.selectedVideoInputDevice=void 0,this.publishSelectedVideoInputDevice()}catch(e){throw this.logger.error(`MeetingManager failed to unselect video input device: ${e}`),new Error("MeetingManager failed to unselect video input device")}}),this.selectVideoInputDevice=e=>{this.selectedVideoInputDevice=e,this.publishSelectedVideoInputDevice()},this.invokeDeviceProvider=e=>{this.setupDeviceLabelTrigger(e),this.publishDeviceLabelTrigger()},this.subscribeToAudioVideo=e=>{this.audioVideoCallbacks.push(e)},this.unsubscribeFromAudioVideo=e=>{this.audioVideoCallbacks=this.audioVideoCallbacks.filter(t=>t!==e)},this.publishAudioVideo=()=>{this.audioVideoCallbacks.forEach(e=>{e(this.audioVideo)})},this.subscribeToActiveSpeaker=e=>{this.activeSpeakerCallbacks.push(e),e(this.activeSpeakers)},this.unsubscribeFromActiveSpeaker=e=>{this.activeSpeakerCallbacks=this.activeSpeakerCallbacks.filter(t=>t!==e)},this.publishActiveSpeaker=()=>
1947{this.activeSpeakerCallbacks.forEach(e=>{e(this.activeSpeakers)})},this.subscribeToSelectedVideoInputDevice=e=>{this.selectedVideoInputDeviceObservers.push(e)},this.unsubscribeFromSelectedVideoInputDevice=e=>{this.selectedVideoInputDeviceObservers=this.selectedVideoInputDeviceObservers.filter(t=>t!==e)},this.publishSelectedVideoInputDevice=()=>{for(const e of this.selectedVideoInputDeviceObservers)e(this.selectedVideoInputDevice)},this.subscribeToSelectedAudioInputDevice=e=>{this.selectedAudioInputDeviceObservers.push(e)},this.unsubscribeFromSelectedAudioInputDevice=e=>{this.selectedAudioInputDeviceObservers=this.selectedAudioInputDeviceObservers.filter(t=>t!==e)},this.publishSelectedAudioInputDevice=()=>{for(const e of this.selectedAudioInputDeviceObservers)e(this.selectedAudioInputDevice)},this.subscribeToSelectedAudioOutputDevice=e=>{this.selectedAudioOutputDeviceObservers.push(e)},this.unsubscribeFromSelectedAudioOutputDevice=e=>{this.selectedAudioOutputDeviceObservers=this.selectedAudioOutputDeviceObservers.filter(t=>t!==e)},this.publishSelectedAudioOutputDevice=()=>{for(const e of this.selectedAudioOutputDeviceObservers)e(this.selectedAudioOutputDevice)},this.subscribeToMeetingStatus=e=>{this.meetingStatusObservers.push(e),e(this.meetingStatus)},this.unsubscribeFromMeetingStatus=e=>{this.meetingStatusObservers=this.meetingStatusObservers.filter(t=>t!==e)},this.publishMeetingStatus=()=>{this.meetingStatusObservers.forEach(e=>{e(this.meetingStatus)})},this.subscribeToDeviceLabelTrigger=e=>{this.deviceLabelTriggerObservers.push(e)},this.unsubscribeFromDeviceLabelTrigger=e=>{this.deviceLabelTriggerObservers=this.deviceLabelTriggerObservers.filter(t=>t!==e)},this.publishDeviceLabelTrigger=()=>{for(const e of this.deviceLabelTriggerObservers)e()},this.subscribeToDeviceLabelTriggerStatus=e=>{this.deviceLabelTriggerStatusObservers.push(e)},this.unsubscribeFromDeviceLabelTriggerStatus=e=>{this.deviceLabelTriggerStatusObservers=this.deviceLabelTriggerStatusObservers.filter(t=>t!==e)},this.publishDeviceLabelTriggerStatus=()=>{for(const e of this.deviceLabelTriggerStatusObservers)e(this.deviceLabelTriggerStatus)},this.subscribeToEventDidReceive=e=>{this.meetingEventObserverSet.add(e)},this.unsubscribeFromEventDidReceive=e=>{this.meetingEventObserverSet.delete(e)},this.publishEventDidReceiveUpdate=(e,t)=>{this.meetingEventObserverSet.forEach(i=>i(e,t))},this.logger=e,this.eventDidReceiveRef={eventDidReceive:(e,t)=>{this.publishEventDidReceiveUpdate(e,t)}}}initializeMeetingManager(){this.meetingSession=null,this.audioVideo=null,this.meetingSessionConfiguration=void 0,this.meetingId=null,this.selectedAudioOutputDevice=null,this.selectedAudioInputDevice=void 0,this.selectedVideoInputDevice=void 0,this.audioInputDevices=[],this.audioOutputDevices=[],this.videoInputDevices=[],this.activeSpeakers=[],this.activeSpeakerListener=null,this.audioVideoObservers={}}join(e,t){return Z(this,void 0,void 0,function*(){const{deviceLabels:i,eventController:n,enableWebAudio:r,activeSpeakerPolicy:o,skipDeviceSelection:s}=this.parseJoinParams(t);this.meetingSessionConfiguration=e,this.meetingId=this.meetingSessionConfiguration.meetingId;const a=new J.DefaultDeviceController(this.logger,{enableWebAudio:r});this.meetingSession=new J.DefaultMeetingSession(e,this.logger,a,n),this.audioVideo=this.meetingSession.audioVideo,n?n.addObserver(this.eventDidReceiveRef):this.meetingSession.eventController.addObserver(this.eventDidReceiveRef),this.setupAudioVideoObservers(),this.setupDeviceLabelTrigger(i),s||(this.logger.info("[MeetingManager.join] listing and selecting devices"),yield this.listAndSelectDevices(i)),this.publishAudioVideo(),this.setupActiveSpeakerDetection(o),this.meetingStatus=ko.Loading,this.publishMeetingStatus()})}parseJoinParams(e){return{deviceLabels:(null==e?void 0:e.deviceLabels)||To.AudioAndVideo,eventController:null==e?void 0:e.eventController,enableWebAudio:(null==e?void 0:e.enableWebAudio)||!1,activeSpeakerPolicy:(null==e?void 0:e.activeSpeakerPolicy)||new J.DefaultActiveSpeakerPolicy,skipDeviceSelection:(null==e?void 0:e.skipDeviceSelection)||!1}}start(){var e;return Z(this,void 0,void 0,function*(){null===(e=this.audioVideo)||void 0===e||e.start()})}leave(){var e,t;return Z(this,void 0,void 0,function*(){if(this.audioVideo){this.audioVideo.stopContentShare(),this.audioVideo.stopLocalVideoTile(),this.audioVideo.unbindAudioElement();try{yield null===(e=this.meetingSession)||void 0===e?void 0:e.deviceController.chooseAudioOutput(null),yield null===(t=this.meetingSession)||void 0===t?void 0:t.deviceController.destroy()}catch(e){this.logger.info("MeetingManager failed to clean up media resources on leave")}this.activeSpeakerListener&&this.audioVideo.unsubscribeFromActiveSpeakerDetector(this.activeSpeakerListener),this.audioVideo.stop()}this.initializeMeetingManager(),this.publishAudioVideo(),this.publishActiveSpeaker()})}setupAudioVideoObservers(){this.audioVideo&&(this.audioVideoObservers={audioVideoDidStart:this.audioVideoDidStart,audioVideoDidStartConnecting:this.audioVideoDidStartConnecting,audioVideoDidStop:this.audioVideoDidStop},this.audioVideo.addObserver(this.audioVideoObservers))}updateDeviceLists(){var e,t,i;return Z(this,void 0,void 0,function*(){this.audioInputDevices=(yield null===(e=this.audioVideo)||void 0===e?void 0:e.listAudioInputDevices())||[],this.videoInputDevices=(yield null===(t=this.audioVideo)||void 0===t?void 0:t.listVideoInputDevices())||[],this.audioOutputDevices=(yield null===(i=this.audioVideo)||void 0===i?void 0:i.listAudioOutputDevices())||[]})}setupDeviceLabelTrigger(e=To.AudioAndVideo){var t;let i;if(this.deviceLabels=e,"function"==typeof e)i=e;else if(e===To.None)i=ts;else{const t={};switch(e){case To.Audio:t.audio=!0;break;case To.Video:t.video=!0;break;case To.AudioAndVideo:t.audio=!0,t.video=!0}i=()=>Z(this,void 0,void 0,function*(){this.deviceLabelTriggerStatus=Eo.IN_PROGRESS,this.publishDeviceLabelTriggerStatus();try{const e=(yield navigator.mediaDevices.enumerateDevices()).some(e=>"videoinput"===e.kind),i=yield navigator.mediaDevices.getUserMedia({audio:t.audio,video:t.video&&e});return this.deviceLabelTriggerStatus=Eo.GRANTED,this.publishDeviceLabelTriggerStatus(),i}catch(e){throw this.logger.error("MeetingManager failed to get device permissions"),this.deviceLabelTriggerStatus=Eo.DENIED,this.publishDeviceLabelTriggerStatus(),e}})}null===(t=this.audioVideo)||void 0===t||t.setDeviceLabelTrigger(i)}setupActiveSpeakerDetection(e){var t;this.publishActiveSpeaker(),this.activeSpeakerListener=e=>{this.activeSpeakers=e,this.activeSpeakerCallbacks.forEach(t=>t(e))},null===(t=this.audioVideo)||void 0===t||t.subscribeToActiveSpeakerDetector(e||new J.DefaultActiveSpeakerPolicy,this.activeSpeakerListener)}listAndSelectDevices(e=To.AudioAndVideo){var t,i;return Z(this,void 0,void 0,function*(){if(yield this.updateDeviceLists(),"function"==typeof e)return;let n=!1,r=!1;switch(e){case To.None:break;case To.Audio:n=!0;break;case To.Video:r=!0;break;case To.AudioAndVideo:n=!0,r=!0}if(n&&!this.selectedAudioInputDevice&&this.audioInputDevices&&this.audioInputDevices.length){this.selectedAudioInputDevice=this.audioInputDevices[0].deviceId;try{yield null===(t=this.audioVideo)||void 0===t?void 0:t.startAudioInput(this.audioInputDevices[0].deviceId)}catch(e){this.logger.error(`MeetingManager failed to select audio input device on join: ${e}`)}this.publishSelectedAudioInputDevice()}if(n&&!this.selectedAudioOutputDevice&&this.audioOutputDevices&&this.audioOutputDevices.length){if(this.selectedAudioOutputDevice=this.audioOutputDevices[0].deviceId,(new J.DefaultBrowserBehavior).supportsSetSinkId())try{yield null===(i=this.audioVideo)||void 0===i?void 0:i.chooseAudioOutput(this.audioOutputDevices[0].deviceId)}catch(e){this.logger.error(`MeetingManager failed to select audio output device on join: ${e}`)}this.publishSelectedAudioOutputDevice()}r&&!this.selectedVideoInputDevice&&this.videoInputDevices&&this.videoInputDevices.length&&(this.selectedVideoInputDevice=this.videoInputDevices[0].deviceId,this.publishSelectedVideoInputDevice()
1947)})}}const ns=(0,q.createContext)(null),rs=({onDeviceReplacement:e,meetingManager:t,maxContentShares:i,children:r})=>{const o=Jn(),[s]=(0,q.useState)(()=>t||new is(o));return(0,n.jsx)(ns.Provider,Object.assign({value:s},{children:(0,n.jsx)(Xo,{children:(0,n.jsx)(as,{children:(0,n.jsx)(bs,Object.assign({onDeviceReplacement:e},{children:(0,n.jsx)(Yo,{children:(0,n.jsx)(jo,{children:(0,n.jsx)(Go,{children:(0,n.jsx)(qo,{children:(0,n.jsx)(Ro,Object.assign({maxContentShares:i},{children:(0,n.jsx)(Ho,{children:r})}))})})})})}))})})}))},os=()=>{const e=(0,q.useContext)(ns);if(!e)throw new Error("useMeetingManager must be used within MeetingProvider");return e},ss=(0,q.createContext)(null),as=({children:e})=>{const t=os(),[i,r]=(0,q.useState)(null);return(0,q.useEffect)(()=>{function e(e){r(e)}return t.subscribeToAudioVideo(e),()=>t.unsubscribeFromAudioVideo(e)},[]),(0,n.jsx)(ss.Provider,Object.assign({value:i},{children:e}))},ds=()=>(0,q.useContext)(ss),cs=(0,q.createContext)(null),ls=({children:e,onDeviceReplacement:t})=>{const i=Jn(),r=os(),o=ds(),[s,a]=(0,q.useState)([]),[d,c]=(0,q.useState)(r.selectedAudioInputDevice),l=(0,q.useRef)(d);l.current=d,(0,q.useEffect)(()=>(r.subscribeToSelectedAudioInputDevice(c),()=>{r.unsubscribeFromSelectedAudioInputDevice(c)}),[]),(0,q.useEffect)(()=>{let e=!0;const n={audioInputsChanged:e=>Z(void 0,void 0,void 0,function*(){if(i.info("AudioInputProvider - audio inputs updated"),r.getDeviceLabels()!==To.Audio&&r.getDeviceLabels()!==To.AudioAndVideo)return void i.info("Device labels do not allow audio, skipping audio input selection on audioInputsChanged");const n=e.some(e=>e.deviceId===l.current);let o="default";l.current&&!n&&e.length?(i.info("Previously selected audio input lost. Selecting a default device."),o=e[0].deviceId):"default"===l.current&&i.info('Audio devices updated and "default" device is selected. Reselecting input.');const s=yield(d=o,Z(void 0,void 0,void 0,function*(){return t?t(d,r.selectedAudioInputDevice):d}));var d;try{yield r.startAudioInputDevice(s)}catch(e){i.error(`Failed to select audio input device on audioInputsChanged: ${e}`)}a(e)})};function s(){return Z(this,void 0,void 0,function*(){if(!o)return;const t=yield o.listAudioInputDevices();e&&(a(t),o.addDeviceChangeObserver(n))})}const d=()=>{s()};return r.subscribeToDeviceLabelTrigger(d),s(),()=>{e=!1,null==o||o.removeDeviceChangeObserver(n),r.unsubscribeFromDeviceLabelTrigger(d)}},[o,t]);const u=(0,q.useMemo)(()=>({devices:s,selectedDevice:d}),[s,d]);return(0,n.jsx)(cs.Provider,Object.assign({value:u},{children:e}))},us=()=>{const e=(0,q.useContext)(cs);if(!e)throw new Error("useAudioInputs must be used within AudioInputProvider");return e},hs=(0,q.createContext)(null),ps=({children:e})=>{const t=Jn(),i=ds(),[r,o]=(0,q.useState)([]),s=os(),[a,d]=(0,q.useState)(s.selectedAudioOutputDevice);(0,q.useEffect)(()=>(s.subscribeToSelectedAudioOutputDevice(d),()=>{s.unsubscribeFromSelectedAudioOutputDevice(d)}),[]),(0,q.useEffect)(()=>{let e=!0;const n={audioOutputsChanged:e=>{t.info("AudioOutputProvider - audio outputs updated"),o(e)}};function r(){return Z(this,void 0,void 0,function*(){if(!i)return;const t=yield i.listAudioOutputDevices();e&&(o(t),i.addDeviceChangeObserver(n))})}const a=()=>{r()};return s.subscribeToDeviceLabelTrigger(a),r(),()=>{e=!1,null==i||i.removeDeviceChangeObserver(n),s.unsubscribeFromDeviceLabelTrigger(a)}},[i]);const c=(0,q.useMemo)(()=>({devices:r,selectedDevice:a}),[r,a]);return(0,n.jsx)(hs.Provider,Object.assign({value:c},{children:e}))},fs=()=>{const e=(0,q.useContext)(hs);if(!e)throw new Error("useAudioOutputs must be used within AudioOutputProvider");return e},ms=(0,q.createContext)(null),gs=({children:e})=>{const t=Jn(),i=ds(),[r,o]=(0,q.useState)([]),s=os(),[a,d]=(0,q.useState)(s.selectedVideoInputDevice);(0,q.useEffect)(()=>(s.subscribeToSelectedVideoInputDevice(d),()=>{s.unsubscribeFromSelectedVideoInputDevice(d)}),[]),(0,q.useEffect)(()=>{let e=!0;const n={videoInputsChanged:e=>{t.info("VideoInputProvider - video inputs updated"),o(e)}};function r(){return Z(this,void 0,void 0,function*(){if(!i)return;const t=yield i.listVideoInputDevices();e&&(o(t),i.addDeviceChangeObserver(n))})}const a=()=>{r()};return s.subscribeToDeviceLabelTrigger(a),r(),()=>{e=!1,null==i||i.removeDeviceChangeObserver(n),s.unsubscribeFromDeviceLabelTrigger(a)}},[i]);const c=(0,q.useMemo)(()=>({devices:r,selectedDevice:a}),[r,a]);return(0,n.jsx)(ms.Provider,Object.assign({value:c},{children:e}))},vs=()=>{const e=(0,q.useContext)(ms);if(!e)throw new Error("useVideoInputs must be used within VideoInputProvider");return e},bs=({children:e,onDeviceReplacement:t})=>(0,n.jsx)(ls,Object.assign({onDeviceReplacement:t},{children:(0,n.jsx)(ps,{children:(0,n.jsx)(gs,{children:e})})})),ys=e=>Z(void 0,void 0,void 0,function*(){if(!e)return"";let t;return t=(0,J.isAudioTransformDevice)(e)||(0,J.isVideoTransformDevice)(e)?yield e.intrinsicDevice():e,J.DefaultDeviceController.getIntrinsicDeviceId(t)});function Ss(e,t){const i=(0,q.useRef)(void 0),n=i.current,r=t(n,e);return(0,q.useEffect)(()=>{r||(i.current=e)}),r?n:e}const ws=(0,q.createContext)(void 0),Cs=({spec:e,options:t,children:i})=>{let r=Jn();r=(null==t?void 0:t.logger)||r;const[o,s]=(0,q.useState)(void 0),[a,d]=(0,q.useState)(),c=Ss(e,(e,t)=>!!Object.is(e,t)),l=Ss(t,(e,t)=>!(!function(e,t){return void 0===e&&void 0===t}(e,t)&&!function(e,t){const i=e&&0===Object.keys(e).length,n=t&&0===Object.keys(t).length;return i&&n}(e,t))||(null==e?void 0:e.filterCPUUtilization)===(null==t?void 0:t.filterCPUUtilization)&&(null==e?void 0:e.blurStrength)===(null==t?void 0:t.blurStrength)&&(null==e?void 0:e.logger)===(null==t?void 0:t.logger)&&(null==e?void 0:e.reportingPeriodMillis)===(null==t?void 0:t.reportingPeriodMillis));function u(){return Z(this,void 0,void 0,function*(){r.info(`Initializing background blur processor with, spec: ${JSON.stringify(e)}, options: { blurStrength: ${null==t?void 0:t.blurStrength}, filterCPUUtilization: ${null==t?void 0:t.filterCPUUtilization}, reportingPeriodMillis: ${null==t?void 0:t.reportingPeriodMillis} }`);
1947try{const i=yield J.BackgroundBlurVideoFrameProcessor.create(Object.assign({},e),Object.assign({},t));return i instanceof J.NoOpVideoFrameProcessor?(r.warn("Initialized NoOpVideoFrameProcessor"),d(void 0),void s(!1)):(r.info("Initialized background blur processor"),d(i),s(!0),i)}catch(e){return r.error(`Error creating a background blur video frame processor device ${e}`),d(void 0),void s(!1)}})}(0,q.useEffect)(()=>(u(),()=>{r.info("Specs or options were changed. Destroying and re-initializing background blur processor."),null==a||a.destroy()}),[l,c]);const h={createBackgroundBlurDevice:e=>Z(void 0,void 0,void 0,function*(){r.info(`Calling createBackgroundBlurDevice with device: ${JSON.stringify(e)}`);const t=yield u();try{if(t)return new J.DefaultVideoTransformDevice(r,e,[t]);throw new Error("Processor has not been created. Background Blur is not supported.")}catch(e){throw new Error(`Failed to create a DefaultVideoTransformDevice: ${e}`)}}),isBackgroundBlurSupported:o,backgroundBlurProcessor:a};return(0,n.jsx)(ws.Provider,Object.assign({value:h},{children:i}))},ks=()=>{const e=(0,q.useContext)(ws);if(!e)throw new Error("useBackgroundBlur must be used within BackgroundBlurProvider");return e};function Es(){const e=ds(),[t,i]=(0,q.useState)(()=>(null==e?void 0:e.realtimeIsLocalAudioMuted())||!1);(0,q.useEffect)(()=>{const t=e=>{i(e)};return null==e||e.realtimeSubscribeToMuteAndUnmuteLocalAudio(t),i((null==e?void 0:e.realtimeIsLocalAudioMuted())||!1),()=>{null==e||e.realtimeUnsubscribeToMuteAndUnmuteLocalAudio(t)}},[e]);const n=(0,q.useCallback)(()=>{t?null==e||e.realtimeUnmuteLocalAudio():null==e||e.realtimeMuteLocalAudio()},[t,e]);return{muted:t,toggleMute:n}}Ue(function(e,t){var i="__lodash_hash_undefined__",n=9007199254740991,r="[object Arguments]",o="[object Array]",s="[object Boolean]",a="[object Date]",d="[object Error]",c="[object Function]",l="[object Map]",u="[object Number]",h="[object Object]",p="[object Promise]",f="[object RegExp]",m="[object Set]",g="[object String]",v="[object WeakMap]",b="[object ArrayBuffer]",y="[object DataView]",S=/^\[object .+?Constructor\]$/,w=/^(?:0|[1-9]\d*)$/,C={};C["[object Float32Array]"]=C["[object Float64Array]"]=C["[object Int8Array]"]=C["[object Int16Array]"]=C["[object Int32Array]"]=C["[object Uint8Array]"]=C["[object Uint8ClampedArray]"]=C["[object Uint16Array]"]=C["[object Uint32Array]"]=!0,C[r]=C[o]=C[b]=C[s]=C[y]=C[a]=C[d]=C[c]=C[l]=C[u]=C[h]=C[f]=C[m]=C[g]=C[v]=!1;var k="object"==typeof Ve&&Ve&&Ve.Object===Object&&Ve,E="object"==typeof self&&self&&self.Object===Object&&self,T=k||E||Function("return this")(),I=t&&!t.nodeType&&t,x=I&&e&&!e.nodeType&&e,A=x&&x.exports===I,P=A&&k.process,O=function(){try{return P&&P.binding&&P.binding("util")}catch(e){}}(),_=O&&O.isTypedArray;function M(e,t){for(var i=-1,n=null==e?0:e.length;++i<n;)if(t(e[i],i,e))return!0;return!1}function R(e){var t=-1,i=Array(e.size);return e.forEach(function(e,n){i[++t]=[n,e]}),i}function D(e){var t=-1,i=Array(e.size);return e.forEach(function(e){i[++t]=e}),i}var F,L,N,B=Array.prototype,V=Function.prototype,U=Object.prototype,j=T["__core-js_shared__"],z=V.toString,$=U.hasOwnProperty,H=(F=/[^.]+$/.exec(j&&j.keys&&j.keys.IE_PROTO||""))?"Symbol(src)_1."+F:"",W=U.toString,q=RegExp("^"+z.call($).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),K=A?T.Buffer:void 0,G=T.Symbol,J=T.Uint8Array,Q=U.propertyIsEnumerable,X=B.splice,Z=G?G.toStringTag:void 0,Y=Object.getOwnPropertySymbols,ee=K?K.isBuffer:void 0,te=(L=Object.keys,N=Object,function(e){return L(N(e))}),ie=xe(T,"DataView"),ne=xe(T,"Map"),re=xe(T,"Promise"),oe=xe(T,"Set"),se=xe(T,"WeakMap"),ae=xe(Object,"create"),de=_e(ie),ce=_e(ne),le=_e(re),ue=_e(oe),he=_e(se),pe=G?G.prototype:void 0,fe=pe?pe.valueOf:void 0;function me(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function ge(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function ve(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function be(e){var t=-1,i=null==e?0:e.length;for(this.__data__=new ve;++t<i;)this.add(e[t])}function ye(e){var t=this.__data__=new ge(e);this.size=t.size}function Se(e,t){for(var i=e.length;i--;)if(Me(e[i][0],t))return i;return-1}
vendor: 1,221 bytes, line 1947
1947function we(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Z&&Z in Object(e)?function(e){var t=$.call(e,Z),i=e[Z];try{e[Z]=void 0;var n=!0}catch(e){}var r=W.call(e);return n&&(t?e[Z]=i:delete e[Z]),r}(e):function(e){return W.call(e)}(e)}function Ce(e){return Ue(e)&&we(e)==r}function ke(e,t,i,n,c){return e===t||(null==e||null==t||!Ue(e)&&!Ue(t)?e!=e&&t!=t:function(e,t,i,n,c,p){var v=De(e),S=De(t),w=v?o:Pe(e),C=S?o:Pe(t),k=(w=w==r?h:w)==h,E=(C=C==r?h:C)==h,T=w==C;if(T&&Fe(e)){if(!Fe(t))return!1;v=!0,k=!1}if(T&&!k)return p||(p=new ye),v||je(e)?Ee(e,t,i,n,c,p):function(e,t,i,n,r,o,c){switch(i){case y:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case b:return!(e.byteLength!=t.byteLength||!o(new J(e),new J(t)));case s:case a:case u:return Me(+e,+t);case d:return e.name==t.name&&e.message==t.message;case f:case g:return e==t+"";case l:var h=R;case m:var p=1&n;if(h||(h=D),e.size!=t.size&&!p)return!1;var v=c.get(e);if(v)return v==t;n|=2,c.set(e,t);var S=Ee(h(e),h(t),n,r,o,c);return c.delete(e),S;case"[object Symbol]":if(fe)return fe.call(e)==fe.call(t)}return!1}(e,t,w,i,n,c,p);if(!(1&i)){var I=k&&$.call(e,"__wrapped__"),x=E&&$.call(t,"__wrapped__");
vendor: 4,163 bytes, line 1947
1947if(I||x){var A=I?e.value():e,P=x?t.value():t;return p||(p=new ye),c(A,P,i,n,p)}}return!!T&&(p||(p=new ye),function(e,t,i,n,r,o){var s=1&i,a=Te(e),d=a.length;if(d!=Te(t).length&&!s)return!1;for(var c=d;c--;){var l=a[c];if(!(s?l in t:$.call(t,l)))return!1}var u=o.get(e);if(u&&o.get(t))return u==t;var h=!0;o.set(e,t),o.set(t,e);for(var p=s;++c<d;){var f=e[l=a[c]],m=t[l];if(n)var g=s?n(m,f,l,t,e,o):n(f,m,l,e,t,o);if(!(void 0===g?f===m||r(f,m,i,n,o):g)){h=!1;break}p||(p="constructor"==l)}if(h&&!p){var v=e.constructor,b=t.constructor;v==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof v&&v instanceof v&&"function"==typeof b&&b instanceof b||(h=!1)}return o.delete(e),o.delete(t),h}(e,t,i,n,c,p))}(e,t,i,n,ke,c))}function Ee(e,t,i,n,r,o){var s=1&i,a=e.length,d=t.length;if(a!=d&&!(s&&d>a))return!1;var c=o.get(e);if(c&&o.get(t))return c==t;var l=-1,u=!0,h=2&i?new be:void 0;for(o.set(e,t),o.set(t,e);++l<a;){var p=e[l],f=t[l];if(n)var m=s?n(f,p,l,t,e,o):n(p,f,l,e,t,o);if(void 0!==m){if(m)continue;u=!1;break}if(h){if(!M(t,function(e,t){if(s=t,!h.has(s)&&(p===e||r(p,e,i,n,o)))return h.push(t);var s})){u=!1;break}}else if(p!==f&&!r(p,f,i,n,o)){u=!1;break}}return o.delete(e),o.delete(t),u}function Te(e){return function(e,t,i){var n=t(e);return De(e)?n:function(e,t){for(var i=-1,n=t.length,r=e.length;++i<n;)e[r+i]=t[i];return e}(n,i(e))}(e,ze,Ae)}function Ie(e,t){var i,n,r=e.__data__;return("string"==(n=typeof(i=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==i:null===i)?r["string"==typeof t?"string":"hash"]:r.map}function xe(e,t){var i=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!Be(e)||function(e){return!!H&&H in e}(e))&&(Le(e)?q:S).test(_e(e))}(i)?i:void 0}me.prototype.clear=function(){this.__data__=ae?ae(null):{},this.size=0},me.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},me.prototype.get=function(e){var t=this.__data__;if(ae){var n=t[e];return n===i?void 0:n}return $.call(t,e)?t[e]:void 0},me.prototype.has=function(e){var t=this.__data__;return ae?void 0!==t[e]:$.call(t,e)},me.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=ae&&void 0===t?i:t,this},ge.prototype.clear=function(){this.__data__=[],this.size=0},ge.prototype.delete=function(e){var t=this.__data__,i=Se(t,e);return!(i<0||(i==t.length-1?t.pop():X.call(t,i,1),--this.size,0))},ge.prototype.get=function(e){var t=this.__data__,i=Se(t,e);return i<0?void 0:t[i][1]},ge.prototype.has=function(e){return Se(this.__data__,e)>-1},ge.prototype.set=function(e,t){var i=this.__data__,n=Se(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this},ve.prototype.clear=function(){this.size=0,this.__data__={hash:new me,map:new(ne||ge),string:new me}},ve.prototype.delete=function(e){var t=Ie(this,e).delete(e);return this.size-=t?1:0,t},ve.prototype.get=function(e){return Ie(this,e).get(e)},ve.prototype.has=function(e){return Ie(this,e).has(e)},ve.prototype.set=function(e,t){var i=Ie(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this},be.prototype.add=be.prototype.push=function(e){return this.__data__.set(e,i),this},be.prototype.has=function(e){return this.__data__.has(e)},ye.prototype.clear=function(){this.__data__=new ge,this.size=0},ye.prototype.delete=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i},ye.prototype.get=function(e){return this.__data__.get(e)},ye.prototype.has=function(e){return this.__data__.has(e)},ye.prototype.set=function(e,t){var i=this.__data__;if(i instanceof ge){var n=i.__data__;if(!ne||n.length<199)return n.push([e,t]),this.size=++i.size,this;i=this.__data__=new ve(n)}return i.set(e,t),this.size=i.size,this};var Ae=Y?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var i=-1,n=null==e?0:e.length,r=0,o=[];++i<n;){var s=e[i];t(s)&&(o[r++]=s)}return o}(Y(e),function(t){return Q.call(e,t)}))}:function(){return[]},Pe=we;function Oe(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||w.test(e))&&e>-1&&e%1==0&&e<t}function _e(e){if(null!=e){try{return z.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Me(e,t){return e===t||e!=e&&t!=t}
1947(ie&&Pe(new ie(new ArrayBuffer(1)))!=y||ne&&Pe(new ne)!=l||re&&Pe(re.resolve())!=p||oe&&Pe(new oe)!=m||se&&Pe(new se)!=v)&&(Pe=function(e){var t=we(e),i=t==h?e.constructor:void 0,n=i?_e(i):"";if(n)switch(n){case de:return y;case ce:return l;case le:return p;case ue:return m;case he:return v}return t});var Re=Ce(function(){return arguments}())?Ce:function(e){return Ue(e)&&$.call(e,"callee")&&!Q.call(e,"callee")},De=Array.isArray,Fe=ee||function(){return!1};function Le(e){if(!Be(e))return!1;var t=we(e);return t==c||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ne(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}function Be(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ue(e){return null!=e&&"object"==typeof e}var je=_?function(e){return function(t){return e(t)}}(_):function(e){return Ue(e)&&Ne(e.length)&&!!C[we(e)]};function ze(e){return null!=(t=e)&&Ne(t.length)&&!Le(t)?function(e,t){var i=De(e),n=!i&&Re(e),r=!i&&!n&&Fe(e),o=!i&&!n&&!r&&je(e),s=i||n||r||o,a=s?function(e,t){for(var i=-1,n=Array(e);++i<e;)n[i]=t(i);return n}(e.length,String):[],d=a.length;for(var c in e)!t&&!$.call(e,c)||s&&("length"==c||r&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Oe(c,d))||a.push(c);return a}(e):function(e){if(i=(t=e)&&t.constructor,t!==("function"==typeof i&&i.prototype||U))return te(e);var t,i,n=[];for(var r in Object(e))$.call(e,r)&&"constructor"!=r&&n.push(r);return n}(e);var t}e.exports=function(e,t){return ke(e,t)}}),(0,q.createContext)(null),(0,r.Ay)(lo)`
1948  background-color: ${({theme:e})=>e.colors.greys.grey80};
1949`,(0,r.Ay)(lo)`
1950  ${e=>e.active?"":"display: none"};
1951`,(0,r.Ay)(lo)`
1952  height: auto;
1953  background: unset;
1954
1955  video {
1956    position: static;
1957  }
1958`;const Ts=e=>{var{name:t,className:i,tileId:r}=e,o=X(e,["name","className","tileId"]);const s=ds(),a=(0,q.useRef)(null);return function(e){(0,q.useEffect)(()=>{var t;function i(){if(!e.current)return;const t=e.current.videoHeight,i=e.current.videoWidth;e.current.style.objectFit=t>i?"contain":"cover"}return null===(t=e.current)||void 0===t||t.addEventListener("loadedmetadata",i),()=>{var t;return null===(t=e.current)||void 0===t?void 0:t.removeEventListener("loadedmetadata",i)}},[e])}(a),(0,q.useEffect)(()=>{if(s&&a.current)return s.bindVideoElement(r,a.current),()=>{s.getVideoTile(r)&&s.unbindVideoElement(r)}},[s,r]),(0,n.jsx)(lo,Object.assign({},o,{ref:a,nameplate:t,className:`ch-remote-video--${r} ${i||""}`}))};(0,q.memo)(e=>{const{roster:t}=es(),{tiles:i,tileIdToAttendeeId:r}=zo();return(0,n.jsx)(n.Fragment,{children:i.map(i=>{const n=t[r[i]]||{},{name:o}=n;return(0,q.createElement)(Ts,Object.assign({},e,{key:i,tileId:i,name:o}))})})});(0,q.memo)(e=>{const t=(0,q.useContext)(ao),{roster:i}=es(),{tileId:r}=function(){const e=(0,q.useContext)($o);if(!e)throw new Error("useFeaturedTileState must be used within an FeaturedVideoTileProvider");return e}(),{tiles:o}=Do(),{tiles:s,tileIdToAttendeeId:a}=zo();return(0,n.jsx)(n.Fragment,{children:s.map(n=>{const s=!(o.length>0)&&r===n,d=t&&s?"grid-area: ft;":"",c=`${s?"ch-featured-tile":""} ${e.className||""}`,l=i[a[n]]||{},{name:u}=l;return(0,q.createElement)(Ts,Object.assign({tileId:n,name:u},e,{className:c,key:n,css:d}))})})});const Is=r.Ay.div.withConfig(se)`
1959  position: relative;
1960  height: inherit;
1961  line-height: 0;
1962
1963  .ch-mic-icon {
1964    position: relative;
1965    z-index: 2;
1966    width: 100%;
1967  }
1968
1969  .ch-bg-volume-wrapper {
1970    position: absolute;
1971    bottom: 41%;
1972    left: 40%;
1973    height: 38%;
1974    width: 21%;
1975    border-radius: 20%;
1976    overflow: hidden;
1977  }
1978
1979  .ch-bg-volume-fill {
1980    position: absolute;
1981    top: 0;
1982    left: 0;
1983    right: 0;
1984    bottom: 0;
1985    transform-origin: bottom;
1986    will-change: transform;
1987    background-color: ${e=>e.signalStrength&&e.signalStrength<=.5?e.theme.colors.error.light:e.theme.colors.primary.light};
1988  }
1989
1990  ${de}
1991  ${ae}
1992`;(0,q.forwardRef)((e,t)=>{var{muted:i=!1,signalStrength:r,className:o}=e,s=X(e,["muted","signalStrength","className"]);const a=void 0!==r&&r<=.5,d=o?`${o} ch-mic-volume-indicator`:"ch-mic-volume-indicator";return(0,n.jsxs)(Is,Object.assign({className:d,signalStrength:r,muted:i},s,{children:[(0,n.jsx)(_e,{muted:i,className:"ch-mic-icon",poorConnection:a}),(0,n.jsx)("div",Object.assign({className:"ch-bg-volume-wrapper"},{children:(0,n.jsx)("div",{ref:t,className:"ch-bg-volume-fill","data-testid":"volume-fill"})}))]}))}),(0,q.createContext)(void 0);const xs=(e,t="horizontal")=>
1992{(e=>{const t=ds(),{selectedDevice:i}=us();(0,q.useEffect)(()=>{if(!t)return;let i,n,r,o,s=!1,a=!0;function d(){t&&a&&(i=t.createAnalyserNodeForAudioInput(),(null==i?void 0:i.getByteTimeDomainData)&&(n=new Uint8Array(i.fftSize),r=0,s=!1,requestAnimationFrame(c)))}function c(){if(i){if(0===r){i.getByteTimeDomainData(n);const t=.01;let r=t;for(const e of n)r=Math.max(r,(e-128)/128);const s=(Math.log(t)-Math.log(r))/Math.log(t);o!==s&&(o=s,e&&e(s))}r=(r+1)%2,s?setTimeout(d,500):a&&requestAnimationFrame(c)}}return t.addDeviceChangeObserver({audioInputsChanged:()=>{s=!0}}),d(),()=>{a=!1}},[t,i,e])})((0,q.useCallback)(i=>{e.current&&(e.current.style.transform="horizontal"===t?`scaleX(${i})`:`scaleY(${i})`)},[t]))},As=["20rem","35.5rem","48rem","64rem","90rem"];As.xs=As[0],As.sm=As[1],As.md=As[2],As.lg=As[3],As.xl=As[4];const Ps={breakpoints:As,mediaQueries:{min:{xs:`@media screen and (min-width: ${As.xs})`,sm:`@media screen and (min-width: ${As.sm})`,md:`@media screen and (min-width: ${As.md})`,lg:`@media screen and (min-width: ${As.lg})`,xl:`@media screen and (min-width: ${As.xl})`},max:{xs:`@media screen and (max-width: ${As.xs})`,sm:`@media screen and (max-width: ${As.sm})`,md:`@media screen and (max-width: ${As.md})`,lg:`@media screen and (max-width: ${As.lg})`,xl:`@media screen and (max-width: ${As.xl})`}},fonts:{body:"'Ember', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;",monospace:"Menlo, monospace"},fontSizes:{baseFontSize:"16px",fontWeight:"normal",h1:{fontSize:"5.3rem",fontWeight:"normal",lineHeight:"5.625rem",mobile:{fontSize:"3.8125rem",fontWeight:"normal",lineHeight:"5.625rem"}},h2:{fontSize:"3.925rem",fontWeight:"normal",lineHeight:"3.75rem",mobile:{fontSize:"3.05rem",fontWeight:"normal",lineHeight:"4.5rem"}},h3:{fontSize:"2.44125rem",fontWeight:"normal",lineHeight:"3.75rem",mobile:{fontSize:"2.90625rem",fontWeight:"normal",lineHeight:"3rem"}},h4:{fontSize:"1.953125rem",fontWeight:"normal",lineHeight:"3.75rem",mobile:{fontSize:"2.15rem",fontWeight:"normal",lineHeight:"3rem"}},h5:{fontSize:"1.5625rem",fontWeight:"normal",lineHeight:"3rem",mobile:{fontSize:"1.59375rem",fontWeight:"normal",lineHeight:"1.875rem"}},h6:{fontSize:"1.25rem",fontWeight:"normal",lineHeight:"1.875rem",mobile:{fontSize:"1.18125rem",fontWeight:"normal",lineHeight:"1.5rem"}},text:{fontSize:"0.875rem",lineHeight:"1.43"},label:{fontSize:"0.875rem",lineHeight:"1.43"},small:{fontSize:"0.75rem",lineHeight:"1.43"},footnote:{fontSize:"0.65rem",lineHeight:"1rem"}},radii:{default:"0.25rem",circle:"50%"},zIndex:{navigation:10,controlBar:15,modal:20,popOver:30,notificationGroup:40},modalSizes:{md:{width:"35rem",height:"94vh"},lg:{width:"50rem",height:"94vh"},fullscreen:{width:"98vw",height:"96vh"}},iconButtonSizes:{sm:"1.5rem",md:"2.5rem",lg:"4rem"}},Os={primary:{lightest:"#88b2ff",lighter:"#5d96ff",light:"#327aff",main:"#075fff",dark:"#004ddb",darker:"#0042bb",darkest:"#002f85"},secondary:{light:"#ff8e74",main:"#ff7654",dark:"#e86c4d"},error:{lightest:"#FCF7F6",lighter:"#F5DDD5",light:"#FF927C",primary:"#C52000",dark:"#9E3319",darker:"#89301A",darkest:"#791800"},success:{lightest:"#EBF1EA",lighter:"#CEE0C8",light:"#50CD49",primary:"#067000",dark:"#305D1D",darker:"#2C511D",darkest:"#184206"},info:{lightest:"#DADFE7",lighter:"#C4CCD9",light:"#418AFD",primary:"#2555A0",dark:"#264A82",darker:"#243F6B",darkest:"#123366"},warning:{lightest:"#FAF8EA",lighter:"#F7E79E",light:"#F9DC60",primary:"#F9CC09",dark:"#665A2A",darker:"#584E26",darkest:"#534201"},greys:{black:"#000000",grey100:"#1b1c20",grey90:"#2e2f34",grey80:"#3f4149",grey70:"#50545e",grey60:"#616672",grey50:"#7d818b",grey40:"#989da5",grey30:"#d4d5d8",grey20:"#e4e9f2",grey10:"#f0f1f2",white:"#ffffff"}},_s={bgd:Os.greys.white,text:Os.greys.grey80,fontSize:Ps.fontSizes.baseFontSize},Ms={none:"none",small:`0 0.09375rem 0.0625rem 0 ${oe(Os.greys.grey100,.15)}`,medium:`0 0.5rem 0.85rem 0 ${oe(Os.greys.black,.15)}`,large:`0 0.75rem 1.875rem 0 ${oe(Os.greys.black,.15)}`},Rs={primary:{shadow:Ms.none,static:{bgd:Os.primary.light,border:`0.03125rem solid ${Os.primary.darker}`,text:Os.greys.white,shadow:"none"},hover:{bgd:Os.primary.dark,border:`0.03125rem solid ${Os.primary.darkest}`,text:Os.greys.white,shadow:"none"},focus:{bgd:Os.primary.dark,border:`0.03125rem solid ${Os.primary.darker}`,text:Os.greys.white,shadow:`0 0 0 0.25rem ${Os.primary.lightest}`},active:{bgd:Os.primary.darker,border:`0.03125rem solid ${Os.greys.black}`,text:Os.greys.white,shadow:`0 0 0 0.25rem ${Os.primary.lightest}`},selected:{bgd:Os.primary.light,border:`0.03125rem solid ${Os.primary.dark}`,text:Os.greys.white,shadow:"none"},disabled:{bgd:Os.greys.white,border:`0.03125rem solid ${Os.greys.grey10}`,text:Os.greys.grey40,shadow:"none"}},secondary:{shadow:Ms.none,static:{bgd:Os.greys.white,border:`0.03125rem solid ${Os.greys.grey30}`,text:Os.greys.grey80,shadow:"none"},hover:{bgd:Os.greys.grey10,border:`0.03125rem solid ${Os.greys.grey30}`,text:Os.greys.grey80,shadow:"none"},focus:{bgd:Os.greys.grey10,border:`0.03125rem solid ${Os.primary.dark}`,text:Os.greys.grey80,shadow:`0 0 0 0.25rem ${Os.primary.light}`},active:{bgd:Os.greys.grey20,border:`0.03125rem solid ${Os.greys.grey40}`,text:Os.greys.grey80,shadow:`0 0 0 0.25rem ${Os.primary.dark}`},selected:{bgd:Os.greys.grey10,border:`0.03125rem solid ${Os.greys.grey30}`,text:Os.greys.grey80,shadow:`0 0 0 0.25rem ${Os.primary.dark}`},disabled:{bgd:Os.greys.white,border:`0.03125rem solid ${Os.greys.grey10}`,text:Os.greys.grey40,shadow:"none"}},icon:{shadow:Ms.none,static:{bgd:"transparent",border:"0.03125rem  solid transparent",text:Os.greys.grey80,shadow:"none"},hover:{bgd:Os.primary.dark,border:"0.03125rem  solid transparent",text:Os.greys.white,shadow:"none"},focus:{bgd:"transparent",border:`0.03125rem  solid ${Os.primary.darker}`,text:Os.greys.grey80,shadow:`0 0 0 0.25rem ${Os.primary.lightest}`},active:{bgd:Os.primary.darker,border:`0.03125rem  solid ${Os.primary.darker}`,text:Os.greys.white,shadow:`0 0 0 0.25rem ${Os.primary.lightest}`},selected:{bgd:Os.primary.light,border:`0.03125rem  solid ${Os.primary.darker}`,text:Os.greys.white,shadow:"none"},disabled:{bgd:"transparent",border:"none",text:Os.greys.grey40,shadow:"none"}}},Ds={bgd:Os.greys.white,border:`0.03125rem solid ${Os.greys.grey30}`,borderRadius:Ps.radii.default,fontColor:Os.greys.grey80,placeholder:Os.greys.grey40,shadow:`0 0.0625rem 0.0625rem 0 ${oe(Os.greys.black,.1)}`,clearBg:Os.greys.grey50,focus:{bgd:Os.greys.white,border:`solid 0.03125rem ${Os.primary.lighter}`,shadow:`0 0 0 0.125rem ${Os.primary.lightest}`},error:{border:`0.03125rem solid ${Os.error.dark}`,fontColor:Os.error.primary,shadow:`0 0 0 0.125rem ${Os.error.light}`},checked:{bgd:Os.primary.main,border:`solid 0.03125rem ${Os.primary.main}`,fontColor:Os.greys.white,shadow:`0 0.03125rem 0.03125rem 0 ${oe(Os.primary.dark,.7)}`}},Fs={bgd:Os.greys.white,text:Os.greys.grey80,wrapperBgd:oe(Os.greys.grey50,.9),titleSize:Ps.fontSizes.h5.fontSize,titleWeight:"normal",shadow:Ms.large,border:Os.greys.grey30},Ls={menuBgd:`${oe(Os.greys.grey10,.85)}`,menuBorder:`0.5px solid ${Os.greys.grey20}`,shadow:Ms.large,itemBgd:"transparent",itemText:Os.greys.grey70,titleText:Os.greys.grey60,active:{itemBgd:Os.primary.dark,itemText:Os.greys.white},disabled:Os.greys.grey40,separator:`${oe(Os.greys.grey40,.3)}`},Ns={shadow:Ms.large,error:{text:Os.error.lightest,closeButton:{text:Os.error.lighter,hover:{bgd:Os.error.lighter,text:Os.error.dark},active:{bgd:Os.error.lightest,text:Os.error.darker}}},success:{text:Os.success.lightest,closeButton:{text:Os.success.lighter,hover:{bgd:Os.success.lighter,text:Os.success.dark},active:{bgd:Os.success.lightest,text:Os.success.darker}}},info:{text:Os.info.lightest,closeButton:{text:Os.info.lighter,hover:{bgd:Os.info.lighter,text:Os.info.dark},active:{bgd:Os.info.lightest,text:Os.info.darker}}},warning:{text:Os.warning.darker,closeButton:{text:Os.warning.dark,hover:{bgd:Os.warning.dark,text:Os.greys.white},active:{bgd:Os.warning.darker,text:Os.greys.white}}}},Bs={fontColor:Os.primary.main,fontColorHover:Os.primary.dark,fontColorActive:Os.primary.darker,fontColorVisited:Os.primary.darkest},Vs={text:Os.greys.grey70,shadow:Ms.large,bgd:Os.greys.white,border:`0.03125rem solid ${Os.greys.grey20}`,opacity:1,selected:{text:Rs.primary.selected.text,bgd:Rs.primary.selected.bgd}},Us={title:Os.greys.grey100,primaryText:Os.greys.grey80,secondaryText:Os.greys.grey50,headerBorder:Os.greys.grey40,containerBorder:Os.greys.grey30,bgd:Os.greys.grey10,fgd:Os.greys.white,shadow:Ms.large,maxWidth:"18.5rem"},js={text:Os.greys.grey80,bgd:Os.greys.grey10,headerBorder:Os.greys.grey40,wrapperBgd:oe(Os.greys.grey50,.9)},zs={bgd:Os.greys.white},$s={incoming:{bgd:Os.greys.white,fontColor:Os.greys.grey60,linkColor:Os.primary.main,linkColorHover:Os.primary.dark,linkColorActive:Os.primary.darker,linkColorVisited:Os.primary.darkest},outgoing:{bgd:Os.primary.main,fontColor:Os.greys.grey10,linkColor:Os.greys.white,linkColorHover:Os.greys.grey10,linkColorActive:Os.greys.grey20,linkColorVisited:Os.greys.grey30},container:{fontColor:Os.greys.grey70,bgd:Os.greys.grey10}},Hs={size:{fontColor:Os.greys.grey40,bgd:Os.greys.white,letterSpacing:"-0.07px",lineHight:"16px",fontSize:"10.4px"},icon:{bgd:Os.greys.grey10,color:Os.greys.grey80},name:{fontColor:Os.greys.grey80},content:{letterSpacing:"-0.09px",bgd:Os.greys.white,fontColor:Os.greys.grey80}},Ws={bgd:Os.greys.white,fontColor:Os.greys.grey70,border:"1px solid transparent",active:{bgd:Os.primary.dark,fontColor:Os.greys.white},hover:{bgd:Os.greys.grey10},focus:{border:`1px solid ${Os.primary.dark}`,selectedBorder:`1px solid ${Os.greys.grey10}`},selected:{bgd:Os.primary.light,fontColor:Os.greys.white},iconButton:{activeBgd:Os.greys.white}},qs={bgd:Os.greys.grey60,fontColor:Os.greys.white},Ks=(Object.assign({name:"Light Theme",buttons:Rs,colors:Os,globalStyle:_s,links:Bs,shadows:Ms,inputs:Ds,modal:Fs,popOver:Ls,notification:Ns,controlBar:Vs,roster:Us,navbar:js,videoGrid:zs,chatBubble:$s,channelList:Ws,chatDateHeader:qs,messageAttachment:Hs},Ps),{primary:{lightest:"#9DEFFB",lighter:"#8AEBFA",light:"#62E5F9",main:"#4FE2F8",dark:"#29DCF8",darker:"#22B6CB",dar
1992kest:"#1FA1B5"},secondary:{light:"#FF8B70",main:"#FF9B83",dark:"#FFB4A1"},error:{lightest:"#FBC1C0",lighter:"#FDA8A6",light:"#FD9B99",primary:"#FF8B8A",dark:"#583A39",darker:"#452F2E",darkest:"#302020"},success:{lightest:"#F4FBF1",lighter:"#D2F1C5",light:"#BAF39E",primary:"#A3E881",dark:"#4F6444",darker:"#46573D",darkest:"#324129"},info:{lightest:"#F0F5FD",lighter:"#D8E6FB",light:"#C4DBFF",primary:"#BAD4FF",dark:"#555B69",darker:"#494F59",darkest:"#343C48"},warning:{lightest:"#FDFDF7",lighter:"#3F4149",light:"#FFEB96",primary:"#FBDF64",dark:"#6D653C",darker:"#5E5736",darkest:"#47422D"},greys:{black:"#000000",grey100:"#1b1c20",grey90:"#2e2f34",grey80:"#3f4149",grey70:"#50545e",grey60:"#616672",grey50:"#7d818b",grey40:"#989da5",grey30:"#d4d5d8",grey20:"#e4e9f2",grey10:"#f0f1f2",white:"#ffffff"}}),Gs={bgd:Ks.greys.grey80,text:Ks.greys.white,fontSize:Ps.fontSizes.baseFontSize},Js={none:"none",small:"",medium:"",large:`0 0.75rem 1.875rem 0 ${oe(Ks.greys.black,.15)}`},Qs={primary:{shadow:Js.none,static:{bgd:Ks.primary.main,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},hover:{bgd:Ks.primary.dark,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},focus:{bgd:Ks.primary.dark,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:`0 0 0 0.25rem ${Ks.primary.darkest}`},active:{bgd:Ks.primary.darker,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},selected:{bgd:Ks.primary.light,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},disabled:{bgd:Ks.greys.grey80,border:`0.03125rem solid ${oe(Ks.greys.black,.4)}`,text:Ks.greys.grey40,shadow:"none"}},secondary:{shadow:Js.none,static:{bgd:Ks.greys.grey50,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.white,shadow:"none"},hover:{bgd:Ks.greys.grey60,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.white,shadow:"none"},focus:{bgd:Ks.greys.grey60,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.white,shadow:`0 0 0 0.25rem ${Ks.primary.lighter}`},active:{bgd:Ks.greys.grey70,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.white,shadow:"none"},selected:{bgd:Ks.greys.grey60,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.white,shadow:"none"},disabled:{bgd:Ks.greys.grey80,border:`0.03125rem solid ${oe(Ks.greys.black,.6)}`,text:Ks.greys.grey40,shadow:"none"}},icon:{shadow:Js.none,static:{bgd:"transparent",border:"0.03125rem solid transparent",text:Ks.greys.grey20,shadow:"none"},hover:{bgd:Ks.primary.dark,border:`0.03125rem  solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},focus:{bgd:"transparent",border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:`0 0 0 0.25rem ${Ks.primary.darker}`},active:{bgd:Ks.primary.darker,border:`0.03125rem solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},selected:{bgd:Ks.primary.light,border:`0 solid ${Ks.greys.black}`,text:Ks.greys.grey80,shadow:"none"},disabled:{bgd:"transparent",border:"none",text:Ks.greys.grey40,shadow:"none"}}},Xs={bgd:Ks.greys.grey80,border:`0.03125rem solid ${Ks.greys.black}`,borderRadius:Ps.radii.default,fontColor:Ks.greys.white,placeholder:Ks.greys.grey50,shadow:`0 0.0625rem 0.0625rem 0 ${oe(Ks.greys.black,.1)}`,clearBg:Ks.greys.white,focus:{bgd:Ks.greys.white,border:`solid 0.03125rem ${Ks.primary.main}`,shadow:`0 0 0 0.125rem ${Ks.primary.lighter}`},error:{border:`0.03125rem solid ${Ks.error.primary}`,fontColor:Ks.error.primary,shadow:`0 0 0 0.125rem ${Ks.error.light}`},checked:{bgd:Ks.primary.main,border:`solid 0.03125rem ${Ks.primary.dark}`,fontColor:Ks.greys.grey80,shadow:`inset 0 0.03125rem 0 0 ${oe(Ks.greys.white,.1)}`}},Zs={bgd:Ks.greys.grey80,text:Ks.greys.white,wrapperBgd:oe(Ks.greys.grey60,.9),titleSize:Ps.fontSizes.h5.fontSize,titleWeight:"normal",shadow:`0 1rem 2rem 0 rgba(0, 0, 0, ${oe(Ks.greys.black,.15)})`,border:Ks.greys.black},Ys={menuBgd:`${oe(Ks.greys.grey90,.85)}`,menuBorder:Ks.greys.grey100,shadow:Js.large,itemBgd:"transparent",itemText:Ks.greys.white,titleText:Ks.greys.white,active:{itemBgd:Ks.primary.dark,itemText:Ks.greys.grey80},disabled:Ks.greys.grey40,separator:Ks.greys.grey100},ea={shadow:Js.large,error:{text:Ks.error.darker,closeButton:{text:Ks.error.dark,hover:{bgd:Ks.error.dark,text:Ks.greys.white},active:{bgd:Ks.error.darker,text:Ks.greys.white}}},success:{text:Ks.success.darker,closeButton:{text:Ks.success.dark,hover:{bgd:Ks.success.dark,text:Ks.greys.white},active:{bgd:Ks.success.darker,text:Ks.greys.white}}},info:{text:Ks.info.darker,closeButton:{text:Ks.info.dark,hover:{bgd:Ks.info.dark,text:Ks.greys.white},active:{bgd:Ks.info.darker,text:Ks.greys.white}}},warning:{text:Ks.warning.darker,closeButton:{text:Ks.warning.dark,hover:{bgd:Ks.warning.dark,text:Ks.greys.white},active:{bgd:Ks.warning.darker,text:Ks.greys.white}}}},ta={fontColor:Ks.primary.main,fontColorHover:Ks.primary.dark,fontColorActive:Ks.primary.darker,fontColorVisited:Ks.primary.darkest},ia={text:Ks.greys.grey20,shadow:Js.large,bgd:Ks.greys.grey100,border:"none",opacity:1,selected:{text:Qs.primary.selected.text,bgd:Qs.primary.selected.bgd}},na={title:Ks.greys.white,primaryText:Ks.greys.white,secondaryText:Ks.greys.grey20,headerBorder:Ks.greys.black,containerBorder:Ks.greys.black,bgd:Ks.greys.grey100,fgd:Ks.greys.grey60,shadow:Js.large,maxWidth:"18.5rem"},ra={text:Ks.greys.white,bgd:Ks.greys.grey100,headerBorder:Ks.greys.black,wrapperBgd:oe(Ks.greys.grey60,.9)},oa={bgd:Ks.greys.grey90},sa={incoming:{bgd:Ks.greys.grey80,fontColor:Ks.greys.grey30,linkColor:Ks.primary.main,linkColorHover:Ks.primary.dark,linkColorActive:Ks.primary.darker,linkColorVisited:Ks.primary.darkest},outgoing:{bgd:Ks.primary.dark,fontColor:Ks.greys.grey70,linkColor:Ks.greys.grey80,linkColorHover:Ks.greys.grey70,linkColorActive:Ks.greys.grey60,linkColorVisited:Ks.greys.grey50}
1992,container:{fontColor:Ks.greys.grey30,bgd:Ks.greys.black}},aa={size:{fontColor:Ks.greys.grey30,bgd:Ks.greys.grey10,letterSpacing:"-0.07px",lineHight:"16px",fontSize:"10.4px"},icon:{bgd:Ks.greys.grey40,color:Ks.greys.grey10},name:{fontColor:Ks.greys.white},content:{letterSpacing:"-0.09px",bgd:Ks.greys.grey60,fontColor:Ks.greys.white}},da={bgd:Ks.greys.grey80,fontColor:Ks.greys.grey10,border:"1px solid transparent",active:{bgd:Ks.primary.dark,fontColor:Ks.greys.grey70},hover:{bgd:Ks.greys.grey70},focus:{border:`1px solid ${Ks.primary.dark}`,selectedBorder:`1px solid ${Ks.greys.grey70}`},selected:{bgd:Ks.primary.light,fontColor:Ks.greys.grey70},iconButton:{activeBgd:Ks.greys.grey80}},ca={bgd:Ks.greys.grey10,fontColor:Ks.greys.grey80},la=(Object.assign({name:"Dark Theme",buttons:Qs,colors:Ks,globalStyle:Gs,links:ta,shadows:Js,inputs:Xs,modal:Zs,popOver:Ys,notification:ea,controlBar:ia,roster:na,navbar:ra,videoGrid:oa,chatBubble:sa,channelList:da,chatDateHeader:ca,messageAttachment:aa},Ps),r.AH`
1993  /* http://meyerweb.com/eric/tools/css/reset/
1994    v2.0 | 20110126
1995    License: none (public domain)
1996  */
1997
1998  html,
1999  body,
2000  div,
2001  span,
2002  applet,
2003  object,
2004  iframe,
2005  h1,
2006  h2,
2007  h3,
2008  h4,
2009  h5,
2010  h6,
2011  p,
2012  blockquote,
2013  pre,
2014  a,
2015  abbr,
2016  acronym,
2017  address,
2018  big,
2019  cite,
2020  code,
2021  del,
2022  dfn,
2023  em,
2024  img,
2025  ins,
2026  kbd,
2027  q,
2028  s,
2029  samp,
2030  small,
2031  strike,
2032  strong,
2033  sub,
2034  sup,
2035  tt,
2036  var,
2037  b,
2038  u,
2039  i,
2040  center,
2041  dl,
2042  dt,
2043  dd,
2044  ol,
2045  ul,
2046  li,
2047  fieldset,
2048  form,
2049  label,
2050  legend,
2051  table,
2052  caption,
2053  tbody,
2054  tfoot,
2055  thead,
2056  tr,
2057  th,
2058  td,
2059  article,
2060  aside,
2061  canvas,
2062  details,
2063  embed,
2064  figure,
2065  figcaption,
2066  footer,
2067  header,
2068  hgroup,
2069  menu,
2070  nav,
2071  output,
2072  ruby,
2073  section,
2074  summary,
2075  time,
2076  mark,
2077  audio,
2078  video {
2079    margin: 0;
2080    padding: 0;
2081    border: 0;
2082    font-size: 100%;
2083    font: inherit;
2084    vertical-align: baseline;
2085  }
2086  /* HTML5 display-role reset for older browsers */
2087  article,
2088  aside,
2089  details,
2090  figcaption,
2091  figure,
2092  footer,
2093  header,
2094  hgroup,
2095  menu,
2096  nav,
2097  section {
2098    display: block;
2099  }
2100  body {
2101    line-height: 1;
2102  }
2103  ol,
2104  ul {
2105    list-style: none;
2106  }
2107  blockquote,
2108  q {
2109    quotes: none;
2110  }
2111  blockquote:before,
2112  blockquote:after,
2113  q:before,
2114  q:after {
2115    content: '';
2116    content: none;
2117  }
2118  table {
2119    border-collapse: collapse;
2120    border-spacing: 0;
2121  }
2122`);r.DU`
2123  ${la};
2124
2125  *,
2126  *::before,
2127  *::after {
2128    box-sizing: border-box;
2129  }
2130
2131  html {
2132    font-size: ${e=>e.theme.fontSizes.baseFontSize};
2133    font-family: ${e=>e.theme.fonts.body};;
2134    background-color: ${e=>e.theme.globalStyle.bgd};
2135    color: ${e=>e.theme.globalStyle.text};
2136    min-height: 100%;
2137  }
2138`},77662(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(2228));t.default=class{constructor(e,t,i,n=1e3,r=200){this.realtimeController=e,this.selfAttendeeId=t,this.hasBandwidthPriorityCallback=i,this.waitIntervalMs=n,this.updateIntervalMs=r,this.speakerScores={},this.speakerMuteState={},this.detectorCallbackToHandler=new Map,this.detectorCallbackToScoresTimer=new Map,this.detectorCallbackToActivityTimer=new Map,this.hasBandwidthPriority=!1,this.mostRecentUpdateTimestamp={}}needUpdate(e){return!this.activeSpeakers||0===this.speakerScores[e]&&this.activeSpeakers.includes(e)||this.speakerScores[e]>0&&!this.activeSpeakers.includes(e)}updateActiveSpeakers(e,t,i){if(!this.needUpdate(i))return;const n=[],r=Object.keys(this.speakerScores);for(let e=0;e<r.length;e++){const t=r[e];n.push({attendeeId:t,activeScore:this.speakerScores[t]})}const o=n.sort((e,t)=>t.activeScore-e.activeScore).filter(function(e){return e.activeScore>0}).map(function(e){return e.attendeeId});this.activeSpeakers=o,t(o);const s=o.length>0&&o[0]===this.selfAttendeeId&&e.prioritizeVideoSendBandwidthForActiveSpeaker();this.hasBandwidthPriority!==s&&(this.hasBandwidthPriority=s,this.hasBandwidthPriorityCallback(s))}updateScore(e,t,i,n,r){const o=e.calculateScore(i,n,r);this.speakerScores[i]!==o&&(this.speakerScores[i]=o,this.mostRecentUpdateTimestamp[i]=Date.now(),this.updateActiveSpeakers(e,t,i))}subscribe(e,t,i,n){const r=(i,n)=>{if(!n)return this.speakerScores[i]=0,this.mostRecentUpdateTimestamp[i]=Date.now(),void this.updateActiveSpeakers(e,t,i);this.realtimeController.realtimeSubscribeToVolumeIndicator(i,(i,n,r,o)=>{this.mostRecentUpdateTimestamp[i]=Date.now(),null!==r&&(this.speakerMuteState[i]=r),this.updateScore(e,t,i,n,r)})};this.detectorCallbackToHandler.set(t,r);const s=new o.default(this.updateIntervalMs);if(s.start(()=>{for(const i in this.speakerScores)Date.now()-this.mostRecentUpdateTimestamp[i]>this.waitIntervalMs&&this.updateScore(e,t,i,0,this.speakerMuteState[i])}),this.detectorCallbackToActivityTimer.set(t,s),i&&n){const e=new o.default(n);e.start(()=>{i(this.speakerScores)}),this.detectorCallbackToScoresTimer.set(t,e)}this.realtimeController.realtimeSubscribeToAttendeeIdPresence(r)}unsubscribe(e){const t=this.detectorCallbackToHandler.get(e);this.detectorCallbackToHandler.delete(e),t&&this.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(t);const i=this.detectorCallbackToActivityTimer.get(e);i&&(i.stop(),this.detectorCallbackToActivityTimer.delete(e));const n=this.detectorCallbackToScoresTimer.get(e);n&&(n.stop(),this.detectorCallbackToHandler.delete(e))}destroy(){return n(this,void 0,void 0,function*(){for(const e of this.detectorCallbackToHandler.values())this.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(e);for(const e of this.detectorCallbackToActivityTimer.values())e.stop();for(const e of this.detectorCallbackToScoresTimer.values())e.stop();this.detectorCallbackToHandler.clear(),this.detectorCallbackToActivityTimer.clear(),this.detectorCallbackToScoresTimer.clear()})}}},13350(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e=.9,t=.01,i=.2,n=.2){this.speakerWeight=e,this.cutoffThreshold=t,this.silenceThreshold=i,this.takeoverRate=n,this.volumes={}}calculateScore(e,t,i){(i||null===t)&&(t=0),this.volumes.hasOwnProperty(e)||(this.volumes[e]=0),t=t>this.silenceThreshold?1:0;const n=this.volumes[e]*this.speakerWeight+t*(1-this.speakerWeight);this.volumes[e]=n;for(const i in this.volumes)i!==e&&(this.volumes[i]=Math.max(this.volumes[i]-this.takeoverRate*t,0));return n<this.cutoffThreshold?0:n}prioritizeVideoSendBandwidthForActiveSpeaker(){return!0}}},56251(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e,t){this.appName=e,this.appVersion=t}static create(e,t){const n=/^[a-zA-Z0-9]+[a-zA-Z0-9_-]*[a-zA-Z0-9]+$/g;if(!e||e.length>32)throw new Error("appName should be a valid string and 1 to 32 characters in length");if(!n.test(e))throw new Error(`appName must satisfy ${n} regular expression`);if(!t||t.length>32)throw new Error("appVersion should be a valid string and 1 to 32 characters in length");if(!/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/gm.test(t))throw new Error("appVersion must satisfy Semantic Versioning format");return new i(e,t)}}t.default=i},705(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},46704(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824)),s=r(i(91365));t.default=class{constructor(e){this.logger=e,this.audioDevice=null,this.audioElement=null,this.audioStream=null,this.browserBehavior=new o.default,this.observers=new Set}bindAudioElement(e){return n(this,void 0,void 0,function*(){if(!e)throw new Error(`Cannot bind audio element: ${e}`);return this.audioElement=e,this.audioElement.autoplay=!0,this.bindAudioMix()})}unbindAudioElement(){this.audioElement&&(this.audioElement.srcObject=null,this.audioElement=null,this.forEachObserver(e=>{this.audioStream&&e.meetingAudioStreamBecameInactive(this.audioStream)}))}bindAudioStream(e){return n(this,void 0,void 0,function*(){if(e){this.audioStream=e;try{yield this.bindAudioMix()}catch(e){this.logger&&this.logger.warn(`Failed to bind audio stream: ${e}`)}}})}bindAudioDevice(e){return n(this,void 0,void 0,function*(){if(e&&!this.browserBehavior.supportsSetSinkId())throw new Error("Cannot select audio output device. This browser does not support setSinkId.");return this.audioDevice=e,this.bindAudioMix()})}forEachObserver(e){for(const t of this.observers)s.default.nextTick(()=>{e(t)})}bindAudioMix(){var e,t;return n(this,void 0,void 0,function*(){if(!this.audioElement)return;const i=this.audioElement.srcObject;this.audioStream&&(this.audioElement.srcObject=this.audioStream),i!==this.audioStream&&this.forEachObserver(e=>{i&&e.meetingAudioStreamBecameInactive(i),this.audioStream&&e.meetingAudioStreamBecameActive(this.audioStream)});const n=(null===(e=this.audioDevice)||void 0===e?void 0:e.deviceId)!==this.audioElement.sinkId;if(n&&void 0===this.audioElement.sinkId)throw new Error("Cannot select audio output device. This browser does not support setSinkId.");const r=this.audioDevice?this.audioDevice.deviceId:"";if(r===this.audioElement.sinkId)return;const o=this.audioElement,s=this.audioStream;if(this.browserBehavior.hasChromiumWebRTC()&&(o.srcObject=null),n)try{yield o.setSinkId(r)}catch(e){throw null===(t=this.logger)||void 0===t||t.error(`Failed to set sinkId for audio element: ${e}`),e}this.browserBehavior.hasChromiumWebRTC()&&(o.srcObject=s)})}getCurrentMeetingAudioStream(){return n(this,void 0,void 0,function*(){return this.audioStream})}addAudioMixObserver(e){return n(this,void 0,void 0,function*(){this.observers.add(e)})}removeAudioMixObserver(e){return n(this,void 0,void 0,function*(){this.observers.delete(e)})}audioOutputDidChange(e){return n(this,void 0,void 0,function*(){return this.logger.info("Receive an audio output change event"),this.bindAudioDevice(e)})}}},6895(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(98824));class o{constructor(e=null,t=!0){this.audioBitrateBps=e,this.enableAudioRedundancy=(new r.default).supportsAudioRedundancy()&&t}static fullbandSpeechMono(e=!0){return new o(4e4,e)}static fullbandMusicMono(e=!0){return new o(64e3,e)}static fullbandMusicStereo(e=!0){return new o(128e3,e)}isStereo(){return 128e3===this.audioBitrateBps}hasRedundancyEnabled(){return this.enableAudioRedundancy}}t.default=o},97474(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT=void 0;const r=n(i(32648));t.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT=25,t.default=class{constructor(){this.logger=null,this.browserBehavior=null,this.meetingSessionConfiguration=null,this.signalingClient=null,this.peer=null,this.previousSdpOffer=null,this.sdpOfferInit=null,this.audioVideoController=null,this.realtimeController=null,this.videoTileController=null,this.mediaStreamBroker=null,this.activeAudioInput=void 0,this.activeVideoInput=void 0,this.audioMixController=null,this.transceiverController=null,this.indexFrame=null,this.iceCandidates=[],this.iceCandidateHandler=null,this.iceGatheringStateEventHandler=null,this.sdpAnswer=null,this.turnCredentials=null,this.reconnectController=null,this.removableObservers=[],this.audioProfile=null,this.videoStreamIndex=null,this.videoDownlinkBandwidthPolicy=null,this.videoUplinkBandwidthPolicy=null,this.lastKnownVideoAvailability=null,this.videoCaptureAndEncodeParameter=null,this.videosToReceive=null,this.lastVideosToReceive=null,this.videoSubscriptions=null,this.lastVideoSubscriptionConfiguration=new Map,this.videoSubscriptionLimit=t.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT,this.previousSdpAnswerAsString="",this.serverSupportsCompression=!1,this.videoSendCodecPreferences=[],this.currentVideoSendCodec=void 0,this.meetingSupportedVideoSendCodecPreferences=void 0,this.prioritizedSendVideoCodecCapabilities=[],this.degradedVideoSendCodecs=[],this.videosPaused=null,this.videoDuplexMode=null,this.volumeIndicatorAdapter=null,this.statsCollector=null,this.connectionMonitor=null,this.videoInputAttachedTimestampMs=0,this.audioDeviceInformation={},this.videoDeviceInformation={},this.enableSimulcast=!1,this.enableSVC=!1,this.eventController=null,this.signalingOpenDurationMs=null,this.iceGatheringDurationMs=null,this.startAudioVideoT
2138imestamp=null,this.attendeePresenceDurationMs=null,this.meetingStartDurationMs=null,this.poorConnectionCount=0,this.maxVideoTileCount=0,this.startTimeMs=null,this.retryCount=0,this.isSessionConnected=!1}resetConnectionSpecificState(){this.peer&&this.peer.close(),this.peer=null,this.previousSdpOffer=null,this.sdpOfferInit=null,void 0!==this.transceiverController&&this.transceiverController.reset(),this.indexFrame=null,this.iceCandidates=[],this.iceCandidateHandler=null,this.sdpAnswer=null,this.turnCredentials=null,this.videoDownlinkBandwidthPolicy.reset(),this.videoUplinkBandwidthPolicy.reset&&this.videoUplinkBandwidthPolicy.reset(),this.lastVideosToReceive=null,this.lastVideoSubscriptionConfiguration=new Map,this.videoSubscriptions=null,this.videoSubscriptionLimit=t.DEFAULT_VIDEO_SUBSCRIPTION_LIMIT,this.previousSdpAnswerAsString="",this.serverSupportsCompression=!1,this.videosToReceive=new r.default,this.videosPaused=new r.default,this.currentVideoSendCodec=void 0,this.meetingSupportedVideoSendCodecPreferences=void 0,this.videoDuplexMode=null,this.isSessionConnected=!1}}},88544(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return r(t,e),t},s=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=a(i(77662)),c=a(i(46704)),l=a(i(6895)),u=a(i(98824)),h=a(i(2579)),p=a(i(51569)),f=a(i(28586)),m=i(92801),g=a(i(60169)),v=a(i(77376)),b=a(i(79375)),y=a(i(38148)),S=a(i(98624)),w=a(i(5928)),C=a(i(91365)),k=a(i(96357)),E=a(i(38828)),T=a(i(84217)),I=a(i(52818)),x=a(i(42985)),A=a(i(27014)),P=o(i(35928)),O=a(i(10587)),_=a(i(97375)),M=i(38359),R=a(i(74977)),D=a(i(33914)),F=a(i(94594)),L=a(i(57979)),N=a(i(15011)),B=a(i(75192)),V=a(i(99174)),U=a(i(59811)),j=a(i(28708)),z=a(i(51811)),$=a(i(99759)),H=a(i(90677)),W=a(i(28763)),q=a(i(14023)),K=a(i(44358)),G=a(i(6966)),J=a(i(47689)),Q=a(i(72313)),X=a(i(35299)),Z=a(i(74478)),Y=a(i(74218)),ee=a(i(97632)),te=a(i(95814)),ie=a(i(71630)),ne=a(i(77718)),re=a(i(61472)),oe=a(i(88284)),se=a(i(26216)),ae=a(i(21204)),de=i(89419),ce=a(i(95480)),le=a(i(12712)),ue=a(i(80728)),he=i(7980),pe=a(i(32648)),fe=a(i(50196)),me=a(i(26316)),ge=a(i(95570)),ve=a(i(75824)),be=a(i(29671)),ye=a(i(43867)),Se=a(i(48096)),we=a(i(97474));class Ce{constructor(e,t,i,n,r,o){this._audioProfile=new l.default,this.connectionHealthData=new h.default,this.observerQueue=new Set,this.meetingSessionContext=new we.default,this.enableSimulcast=!1,this.enableSVC=!1,this.useUpdateTransceiverControllerForUplink=!1,this.startAudioVideoT
2138imestamp=0,this.mayNeedRenegotiationForSimulcastLayerChange=!1,this.promotedToPrimaryMeeting=!1,this.hasGetRTCPeerConnectionStatsDeprecationMessageBeenSent=!1,this.receiveIndexTask=void 0,this.monitorTask=void 0,this.receiveRemotePauseResumeTask=void 0,this.destroyed=!1,this._logger=t,this.sessionStateController=new E.default(this._logger),this._configuration=e,this._webSocketAdapter=i,this._realtimeController=new w.default(n),this._realtimeController.realtimeSetLocalAttendeeId(e.credentials.attendeeId,e.credentials.externalUserId),this._mediaStreamBroker=n,this._reconnectController=r,this._videoTileController=new ge.default(new ve.default,this,this._logger),this._audioMixController=new c.default(this._logger),this._mediaStreamBroker.addMediaStreamBrokerObserver(this._audioMixController),this.meetingSessionContext.logger=this._logger,this._eventController=o,this.configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers||(new y.default(this.configuration.credentials.attendeeId).hasModality(y.default.MODALITY_CONTENT)&&(new u.default).hasChromiumWebRTC()?this.videoSendCodecPreferences=[k.default.av1Main(),k.default.vp9Profile0(),k.default.h264ConstrainedBaselineProfile(),k.default.vp8()]:this.videoSendCodecPreferences=[k.default.vp9Profile0(),k.default.h264ConstrainedBaselineProfile(),k.default.vp8()])}destroy(){return s(this,void 0,void 0,function*(){this.observerQueue.clear(),this._mediaStreamBroker.removeMediaStreamBrokerObserver(this._audioMixController),this.destroyed=!0})}get configuration(){return this._configuration}get realtimeController(){return this._realtimeController}get activeSpeakerDetector(){return this._activeSpeakerDetector||(this._activeSpeakerDetector=new d.default(this._realtimeController,this._configuration.credentials.attendeeId,this.handleHasBandwidthPriority.bind(this))),this._activeSpeakerDetector}get videoTileController(){return this._videoTileController}get audioMixController(){return this._audioMixController}get logger(){return this._logger}get rtcPeerConnection(){return this.meetingSessionContext&&this.meetingSessionContext.peer||null}get mediaStreamBroker(){return this._mediaStreamBroker}get eventController(){return this._eventController}getRTCPeerConnectionStats(e){return this.hasGetRTCPeerConnectionStatsDeprecationMessageBeenSent||(this.logger.warn("The `getRTCPeerConnectionStats()` is on its way to be deprecated. It makes an additional call to the `getStats` API and therefore may cause slight performance degradation. Please use the new API `clientMetricReport.getRTCStatsReport()` returned by `metricsDidReceive(clientMetricReport)` callback instead."),this.hasGetRTCPeerConnectionStatsDeprecationMessageBeenSent=!0),this.rtcPeerConnection?this.rtcPeerConnection.getStats(e):null}setAudioProfile(e){this._audioProfile=e}addObserver(e){this.logger.info("adding meeting observer"),this.observerQueue.add(e)}removeObserver(e){this.logger.info("removing meeting observer"),this.observerQueue.delete(e)}forEachObserver(e){for(const t of this.observerQueue)C.default.nextTick(()=>{this.observerQueue.has(t)&&e(t)})}initSignalingClient(){this.connectionHealthData.reset(),this.meetingSessionContext.signalingClient||(this.meetingSessionContext=new we.default,this.meetingSessionContext.logger=this.logger,this.meetingSessionContext.eventController=this.eventController,this.meetingSessionContext.browserBehavior=new u.default,this.meetingSessionContext.videoSendCodecPreferences=this.videoSendCodecPreferences,this.meetingSessionContext.audioProfile=this._audioProfile,this.meetingSessionContext.meetingSessionConfiguration=this.configuration,this.meetingSessionContext.signalingClient=new A.default(this._webSocketAdapter,this.logger))}uninstallPreStartObserver(){this.meetingSessionContext.signalingClient.removeObserver(this.preStartObserver),this.preStartObserver=void 0}prestart(){return this.logger.info("Pre-connecting signaling connection."),this.createOrReuseSignalingTask().run().then(()=>{const e=()=>s(this,void 0,void 0,function*(){this.logger.info("Early connection closed; discarding signaling task."),this.signalingTask=void 0,this.uninstallPreStartObserver()});this.preStartObserver={handleSignalingClientEvent(t){t.type===O.default.WebSocketClosed&&e()}},this.meetingSessionContext.signalingClient.registerObserver(this.preStartObserver)}).catch(e=>{this.logger.error(`Signaling task pre-start failed: ${e}`),this.signalingTask=void 0})}start(e){this.startReturningPromise(e).then(()=>{this.logger.info("start completed")}
2138).catch(e=>{this.logger.error(`start failed: ${e}`)})}startReturningPromise(e){return!0===(null==e?void 0:e.signalingOnly)?this.prestart():(this.activeSpeakerDetector,new Promise((e,t)=>{this.sessionStateController.perform(T.default.Connect,()=>{this.actionConnect(!1).then(e).catch(t)})}))}connectWithPromises(e){const t=this.meetingSessionContext;this.monitorTask=new $.default(t,this.configuration.connectionHealthPolicyConfiguration,this.connectionHealthData);const i=this.monitorTask.once(),n=new K.default(t).once();this.receiveIndexTask=new Q.default(t),this.monitorTask.pauseResubscribeCheck(),this.receiveIndexTask.pauseIngestion();const r=new Z.default(this.logger,"Signaling",[this.createOrReuseSignalingTask(),new z.default(t),new X.default(t),new U.default(t),this.receiveIndexTask]).once(),o=new N.default(t).once(r),s=new D.default(t).once(o,n),a=new B.default(t).once(s),d=new Y.default(t).once(a),c=new V.default(t).once(d),l=new te.default(t).once(c);return this.receiveRemotePauseResumeTask=new G.default(t),this.receiveRemotePauseResumeTask.once(l),new Z.default(this.logger,this.wrapTaskName("AudioVideoStart"),[i,((e,t)=>new ie.default(this.logger,t,e))(this.configuration.connectionTimeoutMs,new Z.default(this.logger,"Peer",[l,this.receiveRemotePauseResumeTask,e?new ie.default(this.logger,new W.default(this.logger,"FinalizeConnection",[new ne.default(t),new ee.default(t)]),this.meetingSessionContext.meetingSessionConfiguration.attendeePresenceTimeoutMs):new ee.default(t)]))])}actionConnect(e){var t;return s(this,void 0,void 0,function*(){this.initSignalingClient(),this.uninstallPreStartObserver(),this.meetingSessionContext.mediaStreamBroker=this._mediaStreamBroker,this.meetingSessionContext.realtimeController=this._realtimeController,this.meetingSessionContext.audioMixController=this._audioMixController,this.meetingSessionContext.audioVideoController=this,this.enableSimulcast=this.configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers&&(new u.default).hasChromiumWebRTC(),this.enableSimulcast&&this.configuration.enableSVC&&this.logger.warn("SVC cannot be enabled at the same time as simulcast. Disabling SVC, using simulcast."),this.enableSVC=!this.enableSimulcast&&this.configuration.enableSVC&&(new u.default).supportsScalableVideoCoding();const i=!!this.configuration.urls.audioHostURL;if(i?this.enableSimulcast?(this.logger.info("Using transceiver controller with simulcast support"),new y.default(this.configuration.credentials.attendeeId).hasModality(y.default.MODALITY_CONTENT)?this.meetingSessionContext.transceiverController=new oe.default(this.logger,this.meetingSessionContext.browserBehavior,this.meetingSessionContext):this.meetingSessionContext.transceiverController=new se.default(this.logger,this.meetingSessionContext.browserBehavior,this.meetingSessionContext)):(this.logger.info("Using default transceiver controller"),this.meetingSessionContext.transceiverController=new re.default(this.logger,this.meetingSessionContext.browserBehavior,this.meetingSessionContext)):(this.logger.info("Using video only transceiver controller"),this.meetingSessionContext.transceiverController=new ae.default(this.logger,this.meetingSessionContext.browserBehavior,this.meetingSessionContext)),this.meetingSessionContext.volumeIndicatorAdapter=new Se.default(this.logger,this._realtimeController,Ce.MIN_VOLUME_DECIBELS,Ce.MAX_VOLUME_DECIBELS,this.configuration.credentials.attendeeId),this.meetingSessionContext.videoTileController=this._videoTileController,this.meetingSessionContext.videoDownlinkBandwidthPolicy=this.configuration.videoDownlinkBandwidthPolicy,this.meetingSessionContext.videoUplinkBandwidthPolicy=this.configuration.videoUplinkBandwidthPolicy,this.meetingSessionContext.enableSimulcast=this.enableSimulcast,this.meetingSessionContext.enableSVC=this.enableSVC,this.enableSimulcast){let e=this.meetingSessionContext.videoUplinkBandwidthPolicy;e||(e=new be.default(this.configuration.credentials.attendeeId,this.meetingSessionContext.logger),this.meetingSessionContext.videoUplinkBandwidthPolicy=e),e.addObserver(this),this.meetingSessionContext.videoDownlinkBandwidthPolicy||(this.meetingSessionContext.videoDownlinkBandwidthPolicy=new ue.default(this.meetingSessionContext.logger)),this.meetingSessionContext.videoStreamIndex=new me.default(this.logger)}else this.meetingSessionContext.enableSimulcast=!1,this.meetingSessionContext.videoStreamIndex=new fe.default(this.logger),this.meetingSessionContext.videoUplinkBandwidthPolicy||(this.meetingSessionContext.videoUplinkBandwidthPolicy=new ye.default(this.configuration.credentials.attendeeId,!this.meetingSessionContext.browserBehavior.disableResolutionScaleDown(),this.meetingSessionContext.logger,this.meetingSessionContext.browserBehavior),this.meetingSessionContext.videoUplinkBandwidthPolicy.setSVCEnabled(this.enableSVC)),this.meetingSessionContext.videoDownlinkBandwidthPolicy||(this.meetingSessionContext.videoDownlinkBandwidthPolicy=new le.default(this.configuration.credentials.attendeeId)),this.meetingSessionContext.videoUplinkBandwidthPolicy.setTransceiverController&&this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController&&(this.useUpd
2138ateTransceiverControllerForUplink=!0,this.meetingSessionContext.videoUplinkBandwidthPolicy.setTransceiverController(this.meetingSessionContext.transceiverController)),this.meetingSessionContext.audioProfile=this._audioProfile;if(new y.default(this.configuration.credentials.attendeeId).hasModality(y.default.MODALITY_CONTENT)){const e=this.configuration.meetingFeatures.contentMaxResolution===f.default.VideoResolutionUHD;e&&this.setVideoMaxBandwidthKbps(2500),this.meetingSessionContext.videoUplinkBandwidthPolicy.setHighResolutionFeatureEnabled(e)}else{const e=this.configuration.meetingFeatures.videoMaxResolution===f.default.VideoResolutionFHD;this.meetingSessionContext.videoUplinkBandwidthPolicy.setHighResolutionFeatureEnabled(e)}this.meetingSessionContext.videoUplinkBandwidthPolicy&&this.maxUplinkBandwidthKbps&&this.meetingSessionContext.videoUplinkBandwidthPolicy.setIdealMaxBandwidthKbps(this.maxUplinkBandwidthKbps),this.meetingSessionContext.videoDownlinkBandwidthPolicy.bindToTileController&&this.meetingSessionContext.videoDownlinkBandwidthPolicy.bindToTileController(this._videoTileController),this.meetingSessionContext.videoDownlinkBandwidthPolicy.setWantsResubscribeObserver&&this.meetingSessionContext.videoDownlinkBandwidthPolicy.setWantsResubscribeObserver(()=>this.update({needsRenegotiation:!1})),this.meetingSessionContext.lastKnownVideoAvailability=new b.default,this.meetingSessionContext.videoCaptureAndEncodeParameter=new ce.default(0,0,0,0,!1),this.meetingSessionContext.videosToReceive=new pe.default,this.meetingSessionContext.videosPaused=new pe.default,this.meetingSessionContext.statsCollector=new R.default(this,this.logger),this.meetingSessionContext.connectionMonitor=new p.default(this,this._realtimeController,this.connectionHealthData,new S.default(this.meetingSessionContext.signalingClient,Ce.PING_PONG_INTERVAL_MS,this.logger),this.meetingSessionContext.statsCollector),this.meetingSessionContext.reconnectController=this._reconnectController,this.meetingSessionContext.videoDeviceInformation={},this._videoTileController.registerVideoTileResolutionObserver(this.meetingSessionContext.statsCollector),e||(this.meetingSessionContext.retryCount=0,this._reconnectController.reset(),this.startAudioVideoT
2138imestamp=Date.now(),this.forEachObserver(e=>{de.Maybe.of(e.audioVideoDidStartConnecting).map(t=>t.bind(e)(!1))}),null===(t=this.eventController)||void 0===t||t.publishEvent("meetingStartRequested")),this.meetingSessionContext.startAudioVideoTimestamp=this.startAudioVideoTimestamp,this._reconnectController.hasStartedConnectionAttempt()?this._reconnectController.startedConnectionAttempt(!1):this._reconnectController.startedConnectionAttempt(!0);const n=i&&this.meetingSessionContext.meetingSessionConfiguration.attendeePresenceTimeoutMs>0;this.logger.info("Needs to wait for attendee presence? "+n);const r=this.connectWithPromises(n);try{yield r.run(),this.connectionHealthData.setConnectionStartTime();const e=new y.default(this.configuration.credentials.attendeeId).hasModality(y.default.MODALITY_CONTENT);this.connectionHealthData.setIsContentShare(e),this._mediaStreamBroker.addMediaStreamBrokerObserver(this),this.sessionStateController.perform(T.default.FinishConnecting,()=>{var e;this.meetingSessionContext.meetingStartDurationMs=Date.now()-this.startAudioVideoT
2138imestamp,null===(e=this.eventController)||void 0===e||e.publishEvent("meetingStartSucceeded",m.audioVideoEventAttributesFromState(this.meetingSessionContext)),this.meetingSessionContext.startTimeMs=Date.now(),this.actionFinishConnecting()})}catch(e){this.signalingTask=void 0;const t=new g.default(this.getMeetingStatusCode(e)||v.default.TaskFailed);if(this.logger.info(`Start failed: ${t} due to error ${e}.`),this.sessionStateController.state()===I.default.NotConnected)return void this.logger.info("Start failed and not connected. Not cleaning up.");this.sessionStateController.perform(T.default.Fail,()=>s(this,void 0,void 0,function*(){yield this.actionDisconnect(t,!0,e),this.handleMeetingSessionStatus(t,e)||this.notifyStop(t,e)}))}})}createOrReuseSignalingTask(){return this.signalingTask||(this.initSignalingClient(),this.signalingTask=new ie.default(this.logger,new H.default(this.meetingSessionContext),this.configuration.connectionTimeoutMs).once()),this.signalingTask}actionFinishConnecting(){this.signalingTask=void 0,this.meetingSessionContext.videoDuplexMode=M.SdkStreamServiceType.RX,this.meetingSessionContext.enableSimulcast||(this.useUpdateTransceiverControllerForUplink?this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController():this.enforceBandwidthLimitationForSender(this.meetingSessionContext.videoCaptureAndEncodeParameter.encodeBitrates()[0])),this.meetingSessionContext.isSessionConnected=!0,this.forEachObserver(e=>{de.Maybe.of(e.audioVideoDidStart).map(t=>t.bind(e)())}),this._reconnectController.reset(),this.receiveIndexTask.resumeIngestion(),this.monitorTask.resumeResubscribeCheck()}stopReturningPromise(){var e;return this._reconnectController.disableReconnect(),this.sessionStateController.state()===I.default.NotConnected?(null===(e=this.meetingSessionContext.signalingClient)||void 0===e||e.closeConnection(),this.cleanUpMediaStreamsAfterStop(),Promise.resolve()):new Promise((e,t)=>{this.sessionStateController.perform(T.default.Disconnect,()=>{this.logger.info("attendee left meeting, session will not be reconnected"),this.actionDisconnect(new g.default(v.default.Left),!1,null).then(e).catch(t)})})}stop(){this.stopReturningPromise()}actionDisconnect(e,t,i){return s(this,void 0,void 0,function*(){try{yield new Z.default(this.logger,this.wrapTaskName("AudioVideoStop"),[new ie.default(this.logger,new j.default(this.meetingSessionContext),this.configuration.connectionTimeoutMs)]).run()}catch(e){this.logger.info("fail to stop")}try{const e=[new ie.default(this.logger,new L.default(this.meetingSessionContext),this.configuration.connectionTimeoutMs)];this.cleanUpMediaStreamsAfterStop(),yield new Z.default(this.logger,this.wrapTaskName("AudioVideoClean"),e).run()}catch(e){this.logger.info("fail to clean")}this.sessionStateController.perform(T.default.FinishDisconnecting,()=>{t||this.notifyStop(e,i)}),this._videoTileController.removeVideoTileResolutionObserver(this.meetingSessionContext.statsCollector)})}update(e={needsRenegotiation:!0}){let t=e.needsRenegotiation;if(t||(t=void 0===this.meetingSessionContext.peer),t||(t=!this.updateRemoteVideosFromPolicy()),t||(t=!this.updateLocalVideoFromPolicy()),this.meetingSessionContext.lastVideosToReceive=this.meetingSessionContext.videosToReceive,!t)return this.logger.info("Update request does not require resubscribe"),this.actionFinishUpdating(),!0;this.logger.info("Update request requires resubscribe"),this.updateNumberOfPublishedVideoSources();const i=this.sessionStateController.perform(T.default.Update,()=>{this.actionUpdateWithRenegotiation(!0)});return i===x.default.Transitioned||i===x.default.DeferredTransition}updateNumberOfPublishedVideoSources(){const e=this.configuration.credentials.attendeeId,t=this._videoTileController.hasStartedLocalVideoTile();if(null!==this.meetingSessionContext.videoStreamIndex){const i=this.meetingSessionContext.videoStreamIndex.numberOfVideoPublishingParticipantsExcludingSelf(e)+(t?1:0);this.connectionHealthData.setNumberOfPublishedVideoSources(i)}}updateRemoteVideosFromPolicy(){if(this.meetingSessionContext.videoDownlinkBandwidthPolicy&&void 0!==this.meetingSessionContext.videoDownlinkBandwidthPolicy.getVideoPreferences&&void 0!==this.meetingSessionContext.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption&&!P.serverSideNetworkAdaptionIsNoneOrDefault(this.meetingSessionContext.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption())){if(!this.sendRemoteVideoUpdate())return!1;if(this.meetingSessionContext.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption()===P.default.BandwidthProbingAndRemoteVideoQualityAdaption)return this.isNotAddingOrRemovingStreams()}return this.updateRemoteVideosIfNotAddingOrRemovingStreams()}updateRemoteVideosIfNotAddingOrRemovingStreams(){const e=this.detectChangesInVideosToReceive();if(void 0===e)return!1;const t=e.added,i=e.simulcastStreamUpdates,n=e.removed,r=this.meetingSessionContext,o=[];for(const[e,t]of i.entries()){const i=new _.default;if(i.streamId=t,i.attendeeId=r.videoStreamIndex.attendeeIdForStreamId(t),i.mid=r.transceiverController.getMidForStreamId(e),void 0===i.mid)return this.logger.info(`No MID found for stream ID ${e}, cannot update stream without renegotiation`),!1;if(o.push(i),r.transceiverController.setStreamIdForMid(i.mid,t),r.videoStreamIndex.overrideStreamIdMappings(e,t),r.videoTileController.haveVideoTileForAttendeeId(i.attendeeId)){const e=r.videoTileController.getVideoTileForAttendeeId(i.attendeeId);if(!e.setStreamId)return!1;e.setStreamId(t)}}return 0!==o.length&&r.signalingClient.remoteVideoUpdate(o,[]),0===t.length&&0===n.length&&(r.videoStreamIndex.remoteVideoUpdateSent(),!0)}detectChangesInVideosToReceive(){const e=this.meetingSessionContext;if(null===e.videosToReceive)return;if(!(e.transceiverController&&e.transceiverController.getMidForStreamId&&e.transceiverController.setStreamIdForMid&&e.videosToReceive.forEach&&e.signalingClient.remoteVideoUpdate&&e.videoStreamIndex.overrideStreamIdMappings)
2138)return;let t=[];const i=new Map;let n=[];if(null===e.lastVideosToReceive)t=e.videosToReceive.array();else{const r=e.videoStreamIndex;e.videosToReceive.forEach(n=>{if(e.lastVideosToReceive.contain(n))return;let o=!1;e.lastVideosToReceive.forEach(e=>{o||r.StreamIdsInSameGroup(e,n)&&(i.set(e,n),o=!0)}),o||t.push(n)}),n=e.lastVideosToReceive.array().filter(t=>{const n=e.videosToReceive.contain(t),r=i.has(t);return!n&&!r})}return this.logger.info(`Request to update remote videos with added: [${t}], updated: [${Array.from(i.entries()).map(([e,t])=>`${e}->${t}`).join(",")}], removed: [${n}]`),{added:t,removed:n,simulcastStreamUpdates:i}}isNotAddingOrRemovingStreams(){const e=this.detectChangesInVideosToReceive();if(void 0===e)return!1;const t=e.added,i=e.removed;return 0===t.length&&0===i.length&&(this.meetingSessionContext.videoStreamIndex.remoteVideoUpdateSent(),!0)}sendRemoteVideoUpdate(){const e=this.meetingSessionContext;if(null===e.videosToReceive)return!1;const t=e.videosToReceive.array().map(t=>e.videoStreamIndex.groupIdForStreamId(t));this.receiveRemotePauseResumeTask.updateSubscribedGroupdIds(new Set(t));const i=he.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration(e,t,e.videoDownlinkBandwidthPolicy.getVideoPreferences()),n=new Map,r=[];for(const t of i){let i=!1;if(e.lastVideoSubscriptionConfiguration.has(t.groupId)){const n=e.lastVideoSubscriptionConfiguration.get(t.groupId);t.equals(n)||(this.logger.debug(`${JSON.stringify(t)} does not equal ${JSON.stringify(n)}, sending update`),i=!0)}else i=!0;n.set(t.groupId,t),i&&r.push(t)}e.lastVideoSubscriptionConfiguration=n;const o=[];if(null!==e.lastVideosToReceive){const i=new Set(t);for(const t of e.lastVideosToReceive.array()){const n=e.videoStreamIndex.groupIdForStreamId(t);if(!i.has(n)){const t=e.transceiverController.getMidForGroupId(n);if(void 0===t){e.logger.warn(`Could not find MID for group ID to remove: ${n}`);continue}o.push(t)}}}return 0===r.length&&0===o.length||e.signalingClient.remoteVideoUpdate(r,o),!0}updateLocalVideoFromPolicy(){if(this.meetingSessionContext.enableSimulcast){const e=this.meetingSessionContext.videoUplinkBandwidthPolicy.chooseEncodingParameters();if(this.mayNeedRenegotiationForSimulcastLayerChange&&this.meetingSessionContext.transceiverController.hasVideoInput()&&!this.negotiatedBitrateLayersAllocationRtpHeaderExtension())return this.logger.info("Needs regenotiation for local video simulcast layer change"),this.mayNeedRenegotiationForSimulcastLayerChange=!1,!1;this.meetingSessionContext.transceiverController.setEncodingParameters(e)}else this.meetingSessionContext.videoCaptureAndEncodeParameter=this.meetingSessionContext.videoUplinkBandwidthPolicy.chooseCaptureAndEncodeParameters();return this.logger.info("Updated local video from policy without renegotiation"),!0}negotiatedBitrateLayersAllocationRtpHeaderExtension(){if(!this.meetingSessionContext.transceiverController.localVideoTransceiver())return!1;const e=this.meetingSessionContext.transceiverController.localVideoTransceiver().sender.getParameters();return!(!e||!e.headerExtensions)&&e.headerExtensions.some(e=>"http://www.webrtc.org/experiments/rtp-hdrext/video-layers-allocation00"===e.uri)}restartLocalVideo(e){const t=()=>s(this,void 0,void 0,function*(){this._videoTileController.hasStartedLocalVideoTile()&&(this.logger.info("stopping local video tile prior to local video restart"),this._videoTileController.stopLocalVideoTile(),this.logger.info("preparing local video restart update"),yield this.actionUpdateWithRenegotiation(!1),this.logger.info("starting local video tile for local video restart"),this._videoTileController.startLocalVideoTile()),this.logger.info("finalizing local video restart update"),yield this.actionUpdateWithRenegotiation(!0),e()}),i=this.sessionStateController.perform(T.default.Update,()=>{t()});return i===x.default.Transitioned||i===x.default.DeferredTransition}replaceLocalVideo(e){return s(this,void 0,void 0,function*(){if(!e||e.getVideoTracks().length<1)throw new Error("could not acquire video track");if(!this.meetingSessionContext||!this.meetingSessionContext.peer)throw new Error("no active meeting and peer connection");const t=this.meetingSessionContext.videoTileController.getLocalVideoTile();if(t){const i=t.state(),n=e.getVideoTracks()[0].getSettings();t.bindVideoStream(i.boundAttendeeId,!0,e,n.width,n.height,i.streamId,i.boundExternalUserId)}yield this.meetingSessionContext.transceiverController.setVideoInput(e.getVideoTracks()[0]),this.meetingSessionContext.activeVideoInput=e,this.logger.info("Local video input is updated")})}replaceLocalAudio(e){return s(this,void 0,void 0,function*(){if(!e||e.getAudioTracks().length<1)throw new Error("could not acquire audio track");if(!this.meetingSessionContext||!this.meetingSessionContext.peer)throw new Error("no active meeting and peer connection");if(this.connectionHealthData.reset(),this.connectionHealthData.setConnectionStartTime(),!(yield this.meetingSessionContext.transceiverController.replaceAudioTrack(e.getAudioTracks()[0])))throw new Error("Failed to replace audio track");this.meetingSessionContext.activeAudioInput=e,this.logger.info("Local audio input is updated")})}actionUpdateWithRenegotiation(e){return s(this,void 0,void 0,function*(){this.monitorTask.pauseResubscribeCheck(),this.receiveIndexTask.pauseIngestion();try{yield new Z.default(this.logger,this.wrapTaskName("AudioVideoUpdate"),[new J.default(this.meetingSessionContext),new ie.default(this.logger,new Z.default(this.logger,"UpdateSession",[new D.default(this.meetingSessionContext),new B.default(this.meetingSessionContext),new Y.default(this.meetingSessionContext),new V.default(this.meetingSessionContext),new te.default(this.meetingSessionContext),new ee.default(this.meetingSessionContext)]),this.configuration.connectionTimeoutMs)]).run(),e&&this.sessionStateController.perform(T.default.FinishUpdating,()=>{this.actionFinishUpdating()})}catch(e){this.sessionStateController.perform(T.default.FinishUpdating,()=>{const t=new g.default(this.getMeetingStatusCode(e)||v.default.TaskFailed);t.statusCode()!==v.default.IncompatibleSDP&&this.logger.info("failed to update audio-video session"),this.handleMeetingSessionStatus(t,e)})}})}notifyStop(e,t){var i;if(this.forEachObserver(t=>{de.Maybe.of(t.audioVideoDidStop).map(i=>i.bind(t)(e))}),this.eventController){const n=Object.assign(Object.assign({},m.audioVideoEventAttributesFromState(this.meetingSessionContext)),{meetingStatus:v.default[e.statusCode()]}),r=t&&t.message||(null===(i=e.toString)||void 0===i?void 0:i.call(e))||"";null===this.meetingSessionContext.startTimeMs?(n.meetingErrorMessage=r,delete n.meetingDurationMs,delete n.attendeePresenceDurationMs,delete n.meetingStartDurationMs,this.eventController.publishEvent("meetingStartFailed",n)):e.isFailure()||e.isAudioConnectionFailure()?(n.meetingErrorMessage=r,this.eventController.publishEvent("meetingFailed",n)):this.eventController.publishEvent("meetingEnded",n)}}actionFinishUpdating(){if(!this.meetingSessionContext.enableSimulcast)if(this.useUpd
2138ateTransceiverControllerForUplink)this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController();else{const e=this.meetingSessionContext.videoCaptureAndEncodeParameter.encodeBitrates()[0];this.enforceBandwidthLimitationForSender(e)}this.monitorTask.resumeResubscribeCheck(),this.receiveIndexTask.resumeIngestion(),this.logger.info("updated audio-video session")}reconnect(e,t){this.promotedToPrimaryMeeting&&(this.promotedToPrimaryMeeting=!1,this.forEachObserver(e=>{de.Maybe.of(e.audioVideoWasDemotedFromPrimaryMeeting).map(t=>t.bind(e)(new g.default(v.default.AudioVideoDisconnectedWhilePromoted)))}));const i=this._reconnectController.retryWithBackoff(()=>s(this,void 0,void 0,function*(){this.sessionStateController.state()===I.default.NotConnected?this.sessionStateController.perform(T.default.Connect,()=>{this.actionConnect(!0)}):this.sessionStateController.perform(T.default.Reconnect,()=>{this.actionReconnect(e)}),this.meetingSessionContext.retryCount+=1}),()=>{this.logger.info("canceled retry")});return i||this.sessionStateController.perform(T.default.Fail,()=>{this.actionDisconnect(e,!1,t)}),i}actionReconnect(e){return s(this,void 0,void 0,function*(){this._reconnectController.hasStartedConnectionAttempt()||(this._reconnectController.startedConnectionAttempt(!1),this.forEachObserver(e=>{de.Maybe.of(e.audioVideoDidStartConnecting).map(t=>t.bind(e)(!0))})),this.meetingSessionContext.volumeIndicatorAdapter.onReconnect(),this.connectionHealthData.reset(),this.receiveRemotePauseResumeTask=new G.default(this.meetingSessionContext);try{yield new Z.default(this.logger,this.wrapTaskName("AudioVideoReconnect"),[new ie.default(this.logger,new Z.default(this.logger,"Media",[new F.default(this.meetingSessionContext),new Z.default(this.logger,"Signaling",[new H.default(this.meetingSessionContext),new U.default(this.meetingSessionContext)]),new N.default(this.meetingSessionContext)]),this.configuration.connectionTimeoutMs),new J.default(this.meetingSessionContext),new ie.default(this.logger,new Z.default(this.logger,"UpdateSession",[new D.default(this.meetingSessionContext),new B.default(this.meetingSessionContext),new Y.default(this.meetingSessionContext),new V.default(this.meetingSessionContext),new te.default(this.meetingSessionContext),new ee.default(this.meetingSessionContext),this.receiveRemotePauseResumeTask]),this.configuration.connectionTimeoutMs)]).run(),this.sessionStateController.perform(T.default.FinishConnecting,()=>{var t;null===(t=this.eventController)||void 0===t||t.publishEvent("meetingReconnected",Object.assign(Object.assign({},m.audioVideoEventAttributesFromState(this.meetingSessionContext)),{meetingStatus:v.default[e.statusCode()]})),this.actionFinishConnecting()})}catch(e){this.sessionStateController.perform(T.default.FinishConnecting,()=>{this.logger.info("failed to reconnect audio-video session");const t=new g.default(this.getMeetingStatusCode(e)||v.default.TaskFailed);this.handleMeetingSessionStatus(t,e)})}this.connectionHealthData.setConnectionStartTime()})}wrapTaskName(e){return`${e}/${this.configuration.meetingId}/${this.configuration.credentials.attendeeId}`}cleanUpMediaStreamsAfterStop(){this._mediaStreamBroker.removeMediaStreamBrokerObserver(this),this.meetingSessionContext.activeAudioInput=void 0,this.meetingSessionContext.activeVideoInput=void 0}getMeetingStatusCode(e){const t=/the meeting status code: (\d+)/.exec(e&&e.message);return t&&t.length>1?Number.parseInt(t[1],10):null}enforceBandwidthLimitationForSender(e){return s(this,void 0,void 0,function*(){yield this.meetingSessionContext.transceiverController.setVideoSendingBitrateKbps(e)})}handleMeetingSessionStatus(e,t){if(this.logger.info(`handling status: ${v.default[e.statusCode()]}`),e.isTerminal()||this.meetingSessionContext.statsCollector&&this.meetingSessionContext.statsCollector.logMeetingSessionStatus(e),e.statusCode()===v.default.IncompatibleSDP)return this.restartLocalVideo(()=>{this.logger.info("handled incompatible SDP by attempting to restart video")}),!0;if(e.statusCode()===v.default.VideoCallSwitchToViewOnly)return this._videoTileController.removeLocalVideoTile(),this.forEachObserver(e=>{de.Maybe.of(e.videoSendDidBecomeUnavailable).map(t=>t.bind(e)())}),!1;if(e.statusCode()===v.default.AudioVideoWasRemovedFromPrimaryMeeting)return this.forEachObserver(t=>{de.Maybe.of(t.audioVideoWasDemotedFromPrimaryMeeting).map(i=>i.bind(t)(e))}),!1;if(e.isTerminal()&&(this.logger.error("session will not be reconnected"),this.meetingSessionContext.reconnectController&&this.meetingSessionContext.reconnectController.disableReconnect()),(e.isFailure()||e.isTerminal())&&this.meetingSessionContext.reconnectController){const i=this.reconnect(e,t);return i?this.logger.warn(`The audio video controller will reconnect due to status code ${v.default[e.statusCode()]}${t?` and error: ${t.message}`:""}`):this.logger.error(`The audio video controller failed with status code ${v.default[e.statusCode()]}${t?` and error: ${t.message}`:""}`),i}return!1}setVideoMaxBandwidthKbps(e){if(e<=0)throw new Error("Max bandwidth kbps has to be greater than 0");this.meetingSessionContext&&this.meetingSessionContext.videoUplinkBandwidthPolicy&&(this.logger.info(`video send has 
2138ideal max bandwidth ${e} kbps`),this.meetingSessionContext.videoUplinkBandwidthPolicy.setIdealMaxBandwidthKbps(e)),this.maxUplinkBandwidthKbps=e}handleHasBandwidthPriority(e){return s(this,void 0,void 0,function*(){if(this.meetingSessionContext&&this.meetingSessionContext.videoUplinkBandwidthPolicy&&!this.meetingSessionContext.enableSimulcast){if(this.useUpdateTransceiverControllerForUplink)return this.meetingSessionContext.videoUplinkBandwidthPolicy.setHasBandwidthPriority(e),void(yield this.meetingSessionContext.videoUplinkBandwidthPolicy.updateTransceiverController());const t=this.meetingSessionContext.videoUplinkBandwidthPolicy.maxBandwidthKbps();this.meetingSessionContext.videoUplinkBandwidthPolicy.setHasBandwidthPriority(e);const i=this.meetingSessionContext.videoUplinkBandwidthPolicy.maxBandwidthKbps();t!==i&&(this.logger.info(`video send bandwidth priority ${e} max has changed from ${t} kbps to ${i} kbps`),yield this.enforceBandwidthLimitationForSender(i))}})}pauseReceivingStream(e){this.meetingSessionContext&&this.meetingSessionContext.signalingClient&&this.meetingSessionContext.signalingClient.pause([e])}resumeReceivingStream(e){this.meetingSessionContext&&this.meetingSessionContext.signalingClient&&this.meetingSessionContext.signalingClient.resume([e])}setVideoCodecSendPreferences(e){this.videoSendCodecPreferences=e,this.meetingSessionContext.videoSendCodecPreferences=e,this.sessionStateController.state()!==I.default.NotConnected&&this.update({needsRenegotiation:!0})}getRemoteVideoSources(){const{videoStreamIndex:e}=this.meetingSessionContext;if(!e)return this.logger.info("meeting has not started"),[];const t=this.configuration.credentials.attendeeId;return e.allVideoSendingSourcesExcludingSelf(t)}encodingSimulcastLayersDidChange(e){this.mayNeedRenegotiationForSimulcastLayerChange=!0,this.forEachObserver(t=>{de.Maybe.of(t.encodingSimulcastLayersDidChange).map(i=>i.bind(t)(e))})}promoteToPrimaryMeeting(e){return this.actionPromoteToPrimaryMeeting(e)}actionPromoteToPrimaryMeeting(e){return s(this,void 0,void 0,function*(){let t=new g.default(v.default.SignalingRequestFailed);return yield new Z.default(this.logger,this.wrapTaskName("PromoteToPrimaryMeeting"),[new ie.default(this.logger,new q.default(this.meetingSessionContext,e,e=>{t=e}),this.configuration.connectionTimeoutMs)]).run(),this.promotedToPrimaryMeeting=t.statusCode()===v.default.OK,t})}demoteFromPrimaryMeeting(){this.meetingSessionContext.signalingClient.demoteFromPrimaryMeeting(),this.forEachObserver(e=>{de.Maybe.of(e.audioVideoWasDemotedFromPrimaryMeeting).map(t=>t.bind(e)(new g.default(v.default.OK)))})}videoInputDidChange(e){return s(this,void 0,void 0,function*(){this.logger.info("Receive a video input change event"),this.meetingSessionContext&&this.meetingSessionContext.peer?this._videoTileController.hasStartedLocalVideoTile()&&(e?yield this.replaceLocalVideo(e):this._videoTileController.stopLocalVideoTile()):this.logger.info("Skip updating video input because there is no active meeting and peer connection")})}audioInputDidChange(e){return s(this,void 0,void 0,function*(){if(this.logger.info("Receive an audio input change event"),this.meetingSessionContext&&this.meetingSessionContext.peer){if(!e)try{e=yield this.mediaStreamBroker.acquireAudioInputStream()}catch(e){return void this.logger.error("Could not acquire audio track from mediaStreamBroker")}yield this.replaceLocalAudio(e)}else this.logger.info("Skip updating audio input because there is no active meeting and peer connection")})}}t.default=Ce,Ce.MIN_VOLUME_DECIBELS=-42,Ce.MAX_VOLUME_DECIBELS=-14,Ce.PING_PONG_INTERVAL_MS=1e4},37043(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(50638)),o=n(i(57088)),s=n(i(1514)),a=n(i(62499)),d=n(i(5481)),c=n(i(24981)),l=n(i(60169)),u=n(i(77376)),h=n(i(8133)),p=n(i(12330)),f=n(i(9944)),m=n(i(88544));class g extends m.default{constructor(e){const t=new d.default;t.meetingId="",t.externalMeetingId="",t.credentials=new c.default,t.credentials.attendeeId="",t.credentials.joinToken="",t.urls=new h.default,t.urls.turnControlURL="",t.urls.audioHostURL="",t.urls.signalingURL="wss://localhost/";const i=new s.default;super(e||t,i,new f.default(new s.default),new a.default,new p.default(0,new r.default(0,0,0)),new o.default(e||t,i))}setAudioProfile(e){}start(){}stop(){}promoteToPrimaryMeeting(e){return Promise.resolve(new l.default(u.default.OK))}demoteFromPrimaryMeeting(){}}t.default=g},11248(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const r=i(21260);t.default=class{constructor(e,t,i,n,r,o){this.audioVideoController=e,this.videoTileController=t,this.realtimeController=i,this.audioMixController=n,this.deviceController=r,this.contentShareController=o}addObserver(e){this.audioVideoController.addObserver(e),this.trace("addObserver")}removeObserver(e){this.audioVideoController.removeObserver(e),this.trace("removeObserver")}setAudioProfile(e){this.trace("setAudioProfile",e),this.audioVideoController.setAudioProfile(e)}start(e){this.audioVideoController.start(e),this.trace("start")}stop(){this.audioVideoController.stop(),this.trace("stop")}getRTCPeerConnectionStats(e){return this.trace("getRTCPeerConnectionStats",e?e.id:null),this.audioVideoController.getRTCPeerConnectionStats(e)}bindAudioElement(e){const t=this.audioMixController.bindAudioElement(e);return this.trace("bindAudioElement",e.id,t),t}unbindAudioElement(){this.audioMixController.unbindAudioElement(),this.trace("unbindAudioElement")}getCurrentMeetingAudioStream(){return this.trace("getCurrentConferenceStream"),this.audioMixController.getCurrentMeetingAudioStream()}addAudioMixObserver(e){this.trace("addAudioMixObserver"),this.audioMixController.addAudioMixObserver(e)}removeAudioMixObserver(e){this.trace("removeAudioMixObserver"),this.audioMixController.removeAudioMixObserver(e)}bindVideoElement(e,t){this.videoTileController.bindVideoElement(e,t),this.trace("bindVideoElement",{tileId:e,videoElementId:t.id})}unbindVideoElement(e,t=!0){this.videoTileController.unbindVideoElement(e,t),this.trace("unbindVideoElement",{tileId:e,cleanUpVideoElement:t})}startLocalVideoTile(){const e=this.videoTileController.startLocalVideoTile();return this.trace("startLocalVideoTile",null,e),e}stopLocalVideoTile(){this.videoTileController.stopLocalVideoTile(),this.trace("stopLocalVideoTile")}hasStartedLocalVideoTile(){const e=this.videoTileController.hasStartedLocalVideoTile();return this.trace("hasStartedLocalVideoTile",null,e),e}removeLocalVideoTile(){this.videoTileController.removeLocalVideoTile(),this.trace("removeLocalVideoTile")}getLocalVideoTile(){const e=this.videoTileController.getLocalVideoTile();return this.trace("getLocalVideoTile"),e}pauseVideoTile(e){this.videoTileController.pauseVideoTile(e),this.trace("pauseVideoTile",e)}unpauseVideoTile(e){this.videoTileController.unpauseVideoTile(e),this.trace("unpauseVideoTile",e)}getVideoTile(e){const t=this.videoTileController.getVideoTile(e);return this.trace("getVideoTile",e),t}getAllRemoteVideoTiles(){const e=this.videoTileController.getAllRemoteVideoTiles();return this.trace("getAllRemoteVideoTiles"),e}getAllVideoTiles(){const e=this.videoTileController.getAllVideoTiles();return this.trace("getAllVideoTiles"),e}addVideoTile(){const e=this.videoTileController.addVideoTile();return this.trace("addVideoTile",null,e.state()),e}removeVideoTile(e){this.videoTileController.removeVideoTile(e),this.trace("removeVideoTile",e)}removeVideoTilesByAttendeeId(e){const t=this.videoTileController.removeVideoTilesByAttendeeId(e);return this.trace("removeVideoTilesByAttendeeId",e,t),t}removeAllVideoTiles(){this.videoTileController.removeAllVideoTiles(),this.trace("removeAllVideoTiles")}captureVideoTile(e){const t=this.videoTileController.captureVideoTile(e);return this.trace("captureVideoTile",e),t}realtimeSubscribeToAttendeeIdPresence(e){this.realtimeController.realtimeSubscribeToAttendeeIdPresence(e),this.trace("realtimeSubscribeToAttendeeIdPresence")}realtimeUnsubscribeToAttendeeIdPresence(e){this.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(e),this.trace("realtimeUnsubscribeToAttendeeIdPresence")}realtimeSetCanUnmuteLocalAudio(e){this.realtimeController.realtimeSetCanUnmuteLocalAudio(e),this.trace("realtimeSetCanUnmuteLocalAudio",e)}realtimeSubscribeToSetCanUnmuteLocalAudio(e){this.realtimeController.realtimeSubscribeToSetCanUnmuteLocalAudio(e),this.trace("realtimeSubscribeToSetCanUnmuteLocalAudio")}
2138realtimeUnsubscribeToSetCanUnmuteLocalAudio(e){this.realtimeController.realtimeUnsubscribeToSetCanUnmuteLocalAudio(e),this.trace("realtimeUnsubscribeToSetCanUnmuteLocalAudio")}realtimeCanUnmuteLocalAudio(){const e=this.realtimeController.realtimeCanUnmuteLocalAudio();return this.trace("realtimeCanUnmuteLocalAudio",null,e),e}realtimeMuteLocalAudio(){this.realtimeController.realtimeMuteLocalAudio(),this.trace("realtimeMuteLocalAudio")}realtimeUnmuteLocalAudio(){const e=this.realtimeController.realtimeUnmuteLocalAudio();return this.trace("realtimeUnmuteLocalAudio"),e}realtimeSubscribeToMuteAndUnmuteLocalAudio(e){this.realtimeController.realtimeSubscribeToMuteAndUnmuteLocalAudio(e),this.trace("realtimeSubscribeToMuteAndUnmuteLocalAudio")}realtimeUnsubscribeToMuteAndUnmuteLocalAudio(e){this.realtimeController.realtimeUnsubscribeToMuteAndUnmuteLocalAudio(e),this.trace("realtimeUnsubscribeToMuteAndUnmuteLocalAudio")}realtimeIsLocalAudioMuted(){const e=this.realtimeController.realtimeIsLocalAudioMuted();return this.trace("realtimeIsLocalAudioMuted"),e}realtimeSubscribeToVolumeIndicator(e,t){this.realtimeController.realtimeSubscribeToVolumeIndicator(e,t),this.trace("realtimeSubscribeToVolumeIndicator",e)}realtimeUnsubscribeFromVolumeIndicator(e,t){this.realtimeController.realtimeUnsubscribeFromVolumeIndicator(e,t),this.trace("realtimeUnsubscribeFromVolumeIndicator",e,t)}realtimeSubscribeToLocalSignalStrengthChange(e){this.realtimeController.realtimeSubscribeToLocalSignalStrengthChange(e),this.trace("realtimeSubscribeToLocalSignalStrengthChange")}realtimeUnsubscribeToLocalSignalStrengthChange(e){this.realtimeController.realtimeUnsubscribeToLocalSignalStrengthChange(e),this.trace("realtimeUnsubscribeToLocalSignalStrengthChange")}realtimeSendDataMessage(e,t,i){this.realtimeController.realtimeSendDataMessage(e,t,i),this.trace("realtimeSendDataMessage")}realtimeSubscribeToReceiveDataMessage(e,t){this.realtimeController.realtimeSubscribeToReceiveDataMessage(e,t),this.trace("realtimeSubscribeToReceiveDataMessage")}realtimeUnsubscribeFromReceiveDataMessage(e){this.realtimeController.realtimeUnsubscribeFromReceiveDataMessage(e),this.trace("realtimeUnsubscribeFromReceiveDataMessage")}realtimeSubscribeToFatalError(e){this.realtimeController.realtimeSubscribeToFatalError(e),this.trace("realtimeSubscribeToFatalError")}realtimeUnsubscribeToFatalError(e){this.realtimeController.realtimeUnsubscribeToFatalError(e),this.trace("realtimeUnsubscribeToFatalError")}subscribeToActiveSpeakerDetector(e,t,i,n){this.audioVideoController.activeSpeakerDetector.subscribe(e,t,i,n),this.trace("subscribeToActiveSpeakerDetector")}unsubscribeFromActiveSpeakerDetector(e){this.audioVideoController.activeSpeakerDetector.unsubscribe(e),this.trace("unsubscribeFromActiveSpeakerDetector")}listAudioInputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.deviceController.listAudioInputDevices(e);return this.trace("listAudioInputDevices",e,t),t})}listVideoInputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.deviceController.listVideoInputDevices(e);return this.trace("listVideoInputDevices",e,t),t})}listAudioOutputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.deviceController.listAudioOutputDevices(e);return this.trace("listAudioOutputDevices",e,t),t})}startAudioInput(e){return n(this,void 0,void 0,function*(){return this.trace("startAudioInput",e),this.deviceController.startAudioInput(e)})}stopAudioInput(){return n(this,void 0,void 0,function*(){return this.trace("stopAudioInput"),this.deviceController.stopAudioInput()})}startVideoInput(e){return n(this,void 0,void 0,function*(){return r.isVideoTransformDevice(e)?this.trace("startVideoInput with transform device"):this.trace("startVideoInput",e),this.deviceController.startVideoInput(e)})}stopVideoInput(){return n(this,void 0,void 0,function*(){return this.trace("stopVideoInput"),this.deviceController.stopVideoInput()})}chooseAudioOutput(e){const t=this.deviceController.chooseAudioOutput(e);return this.trace("chooseAudioOutput",e),t}addDeviceChangeObserver(e){this.deviceController.addDeviceChangeObserver(e),this.trace("addDeviceChangeObserver")}removeDeviceChangeObserver(e){this.deviceController.removeDeviceChangeObserver(e),this.trace("removeDeviceChangeObserver")}createAnalyserNodeForAudioInput(){const e=this.deviceController.createAnalyserNodeForAudioInput();return this.trace("createAnalyserNodeForAudioInput"),e}startVideoPreviewForVideoInput(e){this.deviceController.startVideoPreviewForVideoInput(e),this.trace("startVideoPreviewForVideoInput",e.id)}stopVideoPreviewForVideoInput(e){this.deviceController.stopVideoPreviewForVideoInput(e),this.trace("stopVideoPreviewForVideoInput",e.id)}setDeviceLabelTrigger(e){this.deviceController.setDeviceLabelTrigger(e),this.trace("setDeviceLabelTrigger")}mixIntoAudioInput(e){const t=this.deviceController.mixIntoAudioInput(e);return this.trace("mixIntoAudioInput",e.id),t}chooseVideoInputQuality(e,t,i){this.deviceController.chooseVideoInputQuality(e,t,i),this.trace("chooseVideoInputQuality",{width:e,height:t,frameRate:i})}setVideoMaxBandwidthKbps(e){this.audioVideoController.setVideoMaxBandwidthKbps(e),this.trace("setVideoMaxBandwidthKbps",e)}setVideoCodecSendPreferences(e){this.audioVideoController.setVideoCodecSendPreferences(e),this.trace("setVideoCodecSendPreferences",e)}getVideoInputQualitySettings(){const e=this.deviceController.getVideoInputQualitySettings();return this.trace("getVideoInputQualitySettings"),e}setContentAudioProfile(e){this.trace("setContentAudioProfile",e),this.contentShareController.setContentAudioProfile(e)}enableSimulcastForContentShare(e,t){this.trace("enableSimulcastForContentShare"),this.contentShareController.enableSimulcastForContentShare(e,t)}enableSVCForContentShare(e){this.trace("enableSVCForContentShare"),this.contentShareController.enableSVCForContentShare(e)}startContentShare(e){const t=this.contentShareController.startContentShare(e);return this.trace("startContentShare"),t}startContentShareFromScreenCapture(e,t){const i=this.contentShareController.startContentShareFromScreenCapture(e,t);return this.trace("startContentShareFromScreenCapture"),i}pauseContentShare(){this.contentShareController.pauseContentShare(),this.trace("pauseContentShare")}unpauseContentShare(){this.contentShareController.unpauseContentShare(),this.trace("unpauseContentShare")}stopContentShare(){this.contentShareController.stopContentShare(),this.trace("stopContentShare")}addContentShareObserver(e){this.contentShareController.addContentShareObserver(e),this.trace("addContentShareObserver")}
2138removeContentShareObserver(e){this.contentShareController.removeContentShareObserver(e),this.trace("removeContentShareObserver")}setContentShareVideoCodecPreferences(e){this.contentShareController.setContentShareVideoCodecPreferences(e),this.trace("setContentShareVideoCodecPreferences")}trace(e,t,i){let n=`API/DefaultAudioVideoFacade/${this.audioVideoController.configuration.meetingId}/${this.audioVideoController.configuration.credentials.attendeeId}/${e}`;void 0!==t&&(n+=` ${JSON.stringify(t)}`),void 0!==i&&(n+=` -> ${JSON.stringify(i)}`),this.audioVideoController.logger.info(n)}getRemoteVideoSources(){const e=this.audioVideoController.getRemoteVideoSources();return this.trace("getRemoteVideoSources",null,e),e}get transcriptionController(){return this.realtimeController.transcriptionController}promoteToPrimaryMeeting(e){this.audioVideoController.removeObserver(this),this.audioVideoController.addObserver(this);const t=this.audioVideoController.promoteToPrimaryMeeting(e);return this.trace("promoteToPrimaryMeeting",null,t),t}demoteFromPrimaryMeeting(){this.trace("demoteFromPrimaryMeeting"),this.audioVideoController.demoteFromPrimaryMeeting()}audioVideoWasDemotedFromPrimaryMeeting(e){this.contentShareController.stopContentShare(),this.audioVideoController.removeObserver(this)}}},15224(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(28412)),s=i(20330);class a extends o.default{constructor(e,t){super(e,t),this.blurCanvas=document.createElement("canvas"),this.blurCanvasCtx=this.blurCanvas.getContext("2d"),this.blurCanvas.width=this.spec.model.input.width,this.blurCanvas.height=this.spec.model.input.height,this.logger.info("Backgroun
2138dBlur processor using builtin blur")}drawImageWithMask(e,t){const i=this.blurredImage,{canvasCtx:n,targetCanvas:r}=this,{width:o,height:s}=r;t&&i?(this.scaledCanvas.getContext("2d").putImageData(t,0,0),this.blurCanvasCtx.putImageData(this.blurredImage,0,0),n.save(),n.clearRect(0,0,o,s),n.drawImage(this.scaledCanvas,0,0,o,s),n.globalCompositeOperation="source-in",n.drawImage(e,0,0,o,s),n.globalCompositeOperation="destination-over",n.drawImage(this.blurCanvas,0,0,o,s),n.restore()):n.clearRect(0,0,o,s)}setBlurStrength(e){if(super.setBlurStrength(e),this.worker){this.modelInitialized=!1,this.worker.postMessage({msg:"destroy"});const e=this.spec.model;this.worker.postMessage({msg:"loadModel",payload:{modelUrl:e.path,inputHeight:e.input.height,inputWidth:e.input.width,inputChannels:4,modelRangeMin:e.input.range[0],modelRangeMax:e.input.range[1],blurPixels:this.blurAmount}})}}setBlurPixels(){this.blurAmount=s.BlurStrengthMapper.getBlurAmount(this._blurStrength,{height:540}),this.logger.info(`background blur amount set to ${this.blurAmount}`)}handleInitialize(e){if(this.logger.info(`received initialize message: ${this.stringify(e)}`),!e.payload)return this.logger.error("failed to initialize module"),void this.initWorkerPromise.reject(new Error("failed to initialize the module"));const t=this.spec.model;this.worker.postMessage({msg:"loadModel",payload:{modelUrl:t.path,inputHeight:t.input.height,inputWidth:t.input.width,inputChannels:4,modelRangeMin:t.input.range[0],modelRangeMax:t.input.range[1],blurPixels:this.blurAmount}}),this.initWorkerPromise.resolve({})}handlePredict(e){this.blurredImage=e.payload.blurOutput,super.handlePredict(e)}destroy(){const e=Object.create(null,{destroy:{get:()=>super.destroy}});var t;return n(this,void 0,void 0,function*(){e.destroy.call(this),null===(t=this.blurCanvas)||void 0===t||t.remove(),this.blurCanvas=void 0})}}t.default=a},28412(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(20353)),s=i(20330),a=r(i(24096));class d extends o.default{constructor(e,t){super("background blur",e,t,new a.default),this.blurAmount=0,this.setBlurStrength(t.blurStrength),this.logger.info("Backgroun
2138dBlur processor successfully created"),this.logger.info(`BackgroundBlur spec: ${this.stringify(this.spec)}`),this.logger.info(`BackgroundBlur options: { blurStrength: ${t.blurStrength}, filterCPUUtilization: ${t.filterCPUUtilization}, reportingPeriodMillis: ${t.reportingPeriodMillis}}`)}validateOptions(e){if(super.validateOptions(e),!e.blurStrength)throw new Error("processor has null options - blurStrength")}initOnFirstExecution(){this.setBlurPixels()}drawImageWithMask(e,t){t||(t=new ImageData(this.spec.model.input.width,this.spec.model.input.height)),this.scaledCanvas.getContext("2d").putImageData(t,0,0);const{canvasCtx:i,targetCanvas:n}=this,{width:r,height:o}=n;i.save(),i.clearRect(0,0,r,o),i.drawImage(this.scaledCanvas,0,0,r,o),i.globalCompositeOperation="source-in",i.drawImage(e,0,0,r,o),i.globalCompositeOperation="destination-over",i.filter=`blur(${this.blurAmount}px)`,i.drawImage(e,0,0,n.width,n.height),i.restore()}setBlurStrength(e){this._blurStrength=e,this.logger.info(`blur strength set to ${this._blurStrength}`),this.setBlurPixels()}setBlurPixels(){this.blurAmount=s.BlurStrengthMapper.getBlurAmount(this._blurStrength,{height:this.sourceHeight}),this.logger.info(`background blur amount set to ${this.blurAmount}`)}addObserver(e){this.delegate.addObserver(e)}removeObserver(e){this.delegate.removeObserver(e)}static isSupported(){return n(this,void 0,void 0,function*(){const e=document.createElement("canvas"),t=void 0!==e.getContext("2d").filter;return e.remove(),t})}setEventController(e){this.eventController?this.eventController=e:(this.eventController=e,this.publishBackgroundFilterEvent())}publishBackgroundFilterEvent(){const e={backgroundBlurEnabled:"true",backgroundBlurStrength:this._blurStrength,backgroundReplacementEnabled:"false",backgroundFilterVersion:1};this.eventController.publishEvent("backgroundFilterConfigSelected",e)}}t.default=d},20330(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlurStrengthMapper=void 0;class i{static getBlurAmount(e,t){if(e<=0)throw new Error(`invalid value for blur strength: ${e}`);return Math.round(e*t.height/this.BLUR_STRENGTH_DIVISOR)}}t.BlurStrengthMapper=i,i.BLUR_STRENGTH_DIVISOR=540,t.default={LOW:7,MEDIUM:15,HIGH:30}},13723(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(94593)),s=r(i(38936)),a=r(i(70305)),d=r(i(25667)),c=r(i(15224)),l=r(i(28412)),u=r(i(20330));class h extends d.default{setBlurStrength(){}loadAssets(){return n(this,void 0,void 0,function*(){})}
2138addObserver(){}removeObserver(){}}class p extends o.default{static create(e,t){return n(this,void 0,void 0,function*(){e=p.resolveSpec(e),t=p.resolveOptions(t);const{logger:i}=t,n=yield p.isSupported(e,t);if(i.info(`processor is ${n?"":"not"} supported`),!n)return i.warn("Using no-op processor because background blur is not supported"),new h;let r;return(yield l.default.isSupported())?(i.info("Using browser-provided background blur"),r=new l.default(e,t)):(i.info("Using built-in background blur"),r=new c.default(e,t)),yield r.loadAssets(),r})}static resolveOptions(e={}){let t=Object.assign({},e);return t.blurStrength||(t.blurStrength=u.default.MEDIUM),t.logger||(t.logger=new s.default("BackgroundBlurProcessor",a.default.INFO)),t=super.resolveOptions(t),t}static isSupported(e,t){return e=p.resolveSpec(e),t=p.resolveOptions(t),super.isSupported(e,t)}}t.default=p},24096(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(59122));class o extends r.default{}t.default=o},38679(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(){this.path=null,this.input=null,this.output=null}static builder(){return new i}withDefaultModel(){return this.withSelfieSegmentationDefaults()}withSelfieSegmentationDefaults(){return this.path="https://static.sdkassets.chime.aws/bgblur/models/selfie_segmentation_landscape.tflite",this.input={height:144,width:256,range:[0,1],channels:3},this.output={height:144,width:256,range:[0,1],channels:1},this}withPath(e){return this.path=e,this}withInput(e){return this.input=e,this}withOutput(e){return this.output=e,this}validate(){if(!this.path)throw new Error("model spec path is not set");if(!this.input)throw new Error("model spec input is not set");if(!this.output)throw new Error("model spec output is not set")}build(){return this.validate(),{path:this.path,input:this.input,output:this.output}}}t.default=i},90630(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i,n){this.delegate=e,this.reportingPeriodMillis=t,this.filterCPUUtilization=i,this.logger=n,this._processingFilter=!0,this.lastReportedEventTimestamp=0,this.lastFilterCompleteTimestamp=0,this.filterTotalMillis=0,this.filterCount=0,this.framerate=0,this.filterDurationNotifyMillis=0,this.setSegmentationDuration()}reportEvent(e){const t=e-this.lastReportedEventTimestamp;if(t>=this.reportingPeriodMillis){const i=this.filterCount,n=this.filterTotalMillis;if(this.filterCount=0,this.filterTotalMillis=0,this.lastReportedEventTimestamp=e,0===this.framerate||0===i)return;const r=Math.round(n/i),o=Math.round(this.framerate*(t/1e3))-i,s=Math.round(100*n/t);r>=this.filterDurationNotifyMillis&&this.delegate.filterFrameDurationHigh({framesDropped:o,avgFilterDurationMillis:r,framerate:this.framerate,periodMillis:t}),s>=this.filterCPUUtilization&&this.delegate.filterCPUUtilizationHigh({cpuUtilization:s,filterMillis:n,periodMillis:t})}}setSegmentationDuration(){this.filterDurationNotifyMillis=Math.round(1e3/this.framerate*.8)}frameReceived(e){e!==this.framerate&&(this.framerate=e,this.logger.info(`frame counter setting frame rate to ${this.framerate}`),this.setSegmentationDuration());const t=Date.now();this.reportEvent(t)}filterSubmitted(){this._processingFilter=!0,this.lastFilterCompleteTimestamp=Date.now()}filterComplete(){this.filterTotalMillis+=Date.now()-this.lastFilterCompleteTimestamp,this._processingFilter=!1,this.filterCount++}get processingSegment(){return this._processingFilter}}},20353(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BackgroundFilterMonitor=void 0;const o=i(19048),s=r(i(43745)),a=r(i(90630));class d{constructor(){this.value=void 0,this.resolve=null}whenNext(){return this.promise||(this.promise=new Promise(e=>this.resolve=e)),this.promise}next(e){this.value=e,this.resolve(e),delete this.promise}}class c{constructor(e,t,i,n,r){this.targetCanvas=document.createElement("canvas"),this.canvasCtx=this.targetCanvas.getContext("2d"),this.canvasVideoFrameBuffer=new s.default(this.targetCanvas),this.mask$=new d,this.sourceWidth=0,this.sourceHeight=0,this.frameNumber=0,this.videoFramesPerFilterUpdate=1,this.initWorkerPromise=c.createWorkerPromise(),this.loadModelPromise=c.createWorkerPromise(),this.modelInitialized=!1,this.destroyed=!1,this.filterType=e,this.validateSpec(t),this.validateOptions(i),this.spec=t,this.logger=i.logger,this.delegate=n,this.initCPUMonitor(i),this.eventController=r}static createWorkerPromise(){const e={resolve:null,reject:null,promise:null};return e.promise=new Promise((t,i)=>{e.resolve=t,e.reject=i}),e}validateSpec(e){if(!e)throw new Error("processor has null spec");if(!e.model)throw new Error("processor spec has null model");if(!e.paths)throw new Error("processor spec has null paths")}validateOptions(e){if(!e)throw new Error("processor has null options");
2138if(!e.logger)throw new Error("processor has null options - logger");if(!e.reportingPeriodMillis)throw new Error("processor has null options - reportingPeriodMillis");if(!e.filterCPUUtilization)throw new Error("processor has null options - filterCPUUtilization")}initCPUMonitor(e){this.videoFramesPerFilterUpdate=1,this.frameCounter=new a.default(this.delegate,e.reportingPeriodMillis,e.filterCPUUtilization,this.logger),this.cpuMonitor=new l(5e3,{reduceCPUUtilization:()=>{this.updateVideoFramesPerFilterUpdate(Math.min(this.videoFramesPerFilterUpdate+1,10))},increaseCPUUtilization:()=>{this.updateVideoFramesPerFilterUpdate(Math.max(this.videoFramesPerFilterUpdate-1,1))}}),this.delegate.addObserver(this.cpuMonitor)}stringify(e){return JSON.stringify(e,null,2)}handleInitialize(e){if(this.logger.info(`received initialize message: ${this.stringify(e)}`),!e.payload)return this.logger.error("failed to initialize module"),void this.initWorkerPromise.reject(new Error("failed to initialize the module"));const t=this.spec.model;this.worker.postMessage({msg:"loadModel",payload:{modelUrl:t.path,inputHeight:t.input.height,inputWidth:t.input.width,inputChannels:4,modelRangeMin:t.input.range[0],modelRangeMax:t.input.range[1],blurPixels:0}}),this.initWorkerPromise.resolve({})}handleLoadModel(e){if(this.logger.info(`received load model message: ${this.stringify(e)}`),2!==e.payload)return this.logger.error("failed to load model! status: "+e.payload),void this.loadModelPromise.reject(new Error("failed to load model! status: "+e.payload));this.modelInitialized=!0,this.loadModelPromise.resolve({})}handlePredict(e){this.mask$.next(e.payload.output)}handleWorkerEvent(e){const t=e.data;switch(t.msg){case"initialize":this.handleInitialize(t);break;case"loadModel":this.handleLoadModel(t);break;case"predict":this.handlePredict(t);break;default:this.logger.info(`unexpected event msg: ${this.stringify(t)}`)}}loadAssets(){return n(this,void 0,void 0,function*(){this.logger.info("start initializing the processor");try{this.worker=yield o.loadWorker(this.spec.paths.worker,"BackgroundFilterWorker",{},null),this.worker.addEventListener("message",e=>this.handleWorkerEvent(e)),this.worker.postMessage({msg:"initialize",payload:{wasmPath:this.spec.paths.wasm,simdPath:this.spec.paths.simd}}),yield this.initWorkerPromise.promise,this.logger.info(`successfully initialized the ${this.filterType} worker`),yield this.loadModelPromise.promise,this.logger.info(`successfully loaded ${this.filterType} worker segmentation model`)}catch(e){throw new Error(`could not initialize the ${this.filterType} video frame processor due to '${e.message}'`)}this.logger.info(`successfully initialized the ${this.filterType} processor`)})}process(e){return n(this,void 0,void 0,function*(){if(this.destroyed)return e;this.frameCounter.frameReceived(e[0].framerate),this.cpuMonitor.frameReceived();const t=e[0].asCanvasElement();if(!t)return e;if(!this.modelInitialized)return e[0]=this.canvasVideoFrameBuffer,e;const i=t.width,n=t.height;if(0===i||0===n)return e;0===this.sourceWidth&&(this.sourceWidth=i,this.sourceHeight=n,this.targetCanvas.width=this.sourceWidth,this.targetCanvas.height=this.sourceHeight,this.logger.info(`${this.filterType} source width: ${this.sourceWidth}`),this.logger.info(`${this.filterType} source height: ${this.sourceHeight}`),this.initOnFirstExecution()),this.sourceWidth===i&&this.sourceHeight===n||(this.sourceWidth=i,this.sourceHeight=n,this.targetCanvas.width=this.sourceWidth,this.targetCanvas.height=this.sourceHeight);try{this.frameCounter.filterSubmitted();let e=this.mask$.value;const i=this.spec.model.input.width/t.width,n=this.spec.model.input.height/t.height;void 0===this.scaledCanvas&&(this.scaledCanvas=document.createElement("canvas"),this.scaledCanvas.width=this.spec.model.input.width,this.scaledCanvas.height=this.spec.model.input.height);const r=this.scaledCanvas.getContext("2d");r.save(),r.scale(i,n),r.drawImage(t,0,0),r.restore();const o=r.getImageData(0,0,this.scaledCanvas.width,this.scaledCanvas.height);if(this.frameNumber%this.videoFramesPerFilterUpdate===0){const t=this.mask$.whenNext();this.worker.postMessage({msg:"predict",payload:o},[o.data.buffer]),e=yield t}this.destroyed||this.drawImageWithMask(t,e)}catch(t){return this.logger.error(`could not process ${this.filterType} frame buffer due to ${t}`),e}finally{this.frameCounter.filterComplete(),this.frameNumber++}return e[0]=this.canvasVideoFrameBuffer,e})}updateVideoFramesPerFilterUpdate(e){e!==this.videoFramesPerFilterUpdate&&(this.videoFramesPerFilterUpdate=e,this.logger.info(`Adjusting filter rate to compensate for CPU utilization. Filter rate is ${this.videoFramesPerFilterUpdate} video frames per filter.`))}destroy(){var e,t,i,r;return n(this,void 0,void 0,function*(){this.destroyed=!0,this.delegate.removeObserver(this.cpuMonitor),this.canvasVideoFrameBuffer.destroy(),null===(e=this.worker)||void 0===e||e.postMessage({msg:"destroy"}),null===(t=this.worker)||void 0===t||t.postMessage({msg:"stop"}),null===(i=this.targetCanvas)||void 0===i||i.remove(),this.targetCanvas=void 0,null===(r=this.scaledCanvas)||void 0===r||r.remove(),this.scaledCanvas=void 0,this.logger.info(`${this.filterType} frame process destroyed`)})}}t.default=c;class l{constructor(e,t){this.monitoringPeriodMillis=e,this.observer=t,this.lastCPUChangeTimestamp=0}filterCPUUtilizationHigh(){const e=Date.now();e-this.lastCPUChangeTimestamp>=this.monitoringPeriodMillis&&(this.lastCPUChangeTimestamp=e,this.observer.reduceCPUUtilization())}frameReceived(){const e=Date.now();e-this.lastCPUChangeTimestamp>=2*this.monitoringPeriodMillis&&(this.lastCPUChangeTimestamp=e,this.observer.increaseCPUUtilization())}}
2138t.BackgroundFilterMonitor=l},94593(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(19048),s=i(37804),a=r(i(38679)),d=r(i(98824)),c=r(i(40961)),l=()=>a.default.builder().withSelfieSegmentationDefaults().build(),u="https://static.sdkassets.chime.aws",h={worker:`${u}/bgblur/workers/worker.js`,wasm:`${u}/bgblur/wasm/_cwt-wasm.wasm`,simd:`${u}/bgblur/wasm/_cwt-wasm-simd.wasm`};t.default=class{static defaultAssetSpec(){const e=c.default.sdkVersionSemVer;return{assetGroup:`sdk-${e.major}.${e.minor}`}}static createUrlWithParams(e,t){const i=new URL(e),n=Object.keys(t);for(const e of n)void 0!==t[e]&&i.searchParams.set(e,t[e]);return i.toString()}static resolveSpec(e){const{paths:t=h,model:i=l(),assetGroup:n=this.defaultAssetSpec().assetGroup,revisionID:r=this.defaultAssetSpec().revisionID}=e||{},o={assetGroup:n,revisionID:r,sdk:encodeURIComponent(c.default.sdkVersion),ua:encodeURIComponent(c.default.sdkUserAgentLowResolution)};return t.worker=this.createUrlWithParams(t.worker,o),t.wasm=this.createUrlWithParams(t.wasm,o),t.simd=this.createUrlWithParams(t.simd,o),i.path=this.createUrlWithParams(i.path,o),{paths:t,model:i,assetGroup:n,revisionID:r}}static resolveOptions(e){return e.reportingPeriodMillis||(e.reportingPeriodMillis=1e3),e.filterCPUUtilization?(e.filterCPUUtilization<0||e.filterCPUUtilization>100)&&(e.logger.warn("filterCPUUtilization must be set to a range between 0 and 100 percent. Falling back to default of 30 percent"),e.filterCPUUtilization=30):e.filterCPUUtilization=30,e}static isSupported(e,t){const{logger:i}=t;return"undefined"==typeof globalThis?(i.info("Browser does not have globalThis."),Promise.resolve(!1)):(new d.default).supportsBackgroundFilter()?s.supportsWASM(globalThis,i)?this.supportsBackgroundFilter(globalThis,e,i):(i.info("Browser does not support WASM."),Promise.resolve(!1)):(i.info("Browser is not supported."),Promise.resolve(!1))}static supportsBackgroundFilter(e=globalThis,t,i){return n(this,void 0,void 0,function*(){if(!s.supportsWorker(e,i))return i.info("Browser does not support web workers."),!1;const n=t.paths.worker;try{const e=yield o.loadWorker(n,"BackgroundFilterWorker",{},null);try{e.terminate()}catch(e){i.info(`Failed to terminate worker. ${e.message}`)}return!0}catch(e){return i.info(`Failed to fetch and instantiate test worker ${e.message}`),!1}})}}},59122(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.observers=new Set}addObserver(e){this.observers.add(e)}removeObserver(e){this.observers.delete(e)}filterFrameDurationHigh(e){var t;for(const i of this.observers)null===(t=i.filterFrameDurationHigh)||void 0===t||t.call(i,e)}filterCPUUtilizationHigh(e){var t;for(const i of this.observers)null===(t=i.filterCPUUtilizationHigh)||void 0===t||t.call(i,e)}}},92371(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(20353)),s=r(i(1586));class a extends o.default{constructor(e,t){super("background replacement",e,t,new s.default),this.replacementBlob=t.imageBlob,this.logger.info("Backgroun
2138dReplacement processor successfully created"),this.logger.info(`BackgroundReplacement spec: ${this.stringify(this.spec)}`),this.logger.info(`BackgroundReplacement options: { filterCPUUtilization: ${t.filterCPUUtilization}, reportingPeriodMillis: ${t.reportingPeriodMillis}}`)}setImageBlob(e){return n(this,void 0,void 0,function*(){this.replacementBlob=e,this.replacementImage=yield a.loadImage(this.createReplacementObjectUrl())})}initOnFirstExecution(){}drawImageWithMask(e,t){t||(t=new ImageData(this.spec.model.input.width,this.spec.model.input.height)),this.scaledCanvas.getContext("2d").putImageData(t,0,0);const{canvasCtx:i,targetCanvas:n}=this,{width:r,height:o}=n;i.save(),i.clearRect(0,0,r,o),i.drawImage(this.scaledCanvas,0,0,r,o),i.globalCompositeOperation="source-in",i.drawImage(e,0,0,r,o),i.globalCompositeOperation="destination-over",i.drawImage(this.replacementImage,0,0,n.width,n.height),i.restore()}static loadImageExecutor(e,t,i){const n=new Image;n.crossOrigin="Anonymous",n.addEventListener("load",()=>{e(n)},!1),n.addEventListener("error",e=>{t(new Error(`Could not load replacement image ${n.src}: ${e.message}`))},!1),n.src=i}static loadImage(e){return n(this,void 0,void 0,function*(){return new Promise((t,i)=>this.loadImageExecutor(t,i,e))})}revokeReplacementObjectUrl(){this.replacementObjectUrl&&URL.revokeObjectURL(this.replacementObjectUrl)}createReplacementObjectUrl(){return this.revokeReplacementObjectUrl(),this.replacementObjectUrl=URL.createObjectURL(this.replacementBlob),this.replacementObjectUrl}loadAssets(){const e=Object.create(null,{loadAssets:{get:()=>super.loadAssets}});return n(this,void 0,void 0,function*(){this.replacementImage=yield a.loadImage(this.createReplacementObjectUrl()),e.loadAssets.call(this)})}addObserver(e){this.delegate.addObserver(e)}removeObserver(e){this.delegate.removeObserver(e)}destroy(){const e=Object.create(null,{destroy:{get:()=>super.destroy}});return n(this,void 0,void 0,function*(){e.destroy.call(this),this.revokeReplacementObjectUrl()})}setEventController(e){this.eventController?this.eventController=e:(this.eventController=e,this.publishBackgroundFilterEvent())}publishBackgroundFilterEvent(){this.eventController.publishEvent("backgroundFilterConfigSelected",{backgroundBlurEnabled:"false",backgroundBlurStrength:"low",backgroundReplacementEnabled:"true",backgroundFilterVersion:1})}}t.default=a},94081(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(94593)),s=r(i(38936)),a=r(i(70305)),d=r(i(25667)),c=r(i(92371));class l extends d.default{loadAssets(){return n(this,void 0,void 0,function*(){})}
2138addObserver(){}removeObserver(){}setImageBlob(){return n(this,void 0,void 0,function*(){})}}class u extends o.default{static create(e,t){return n(this,void 0,void 0,function*(){e=this.resolveSpec(e),t=this.resolveOptions(t),yield this.resolveOptionsAsync(t);const{logger:i}=t;if(!(yield u.isSupported(e,t)))return i.warn("Using no-op processor because background replacement is not supported"),new l;i.info("Using background replacement filter");const n=new c.default(e,t);return yield n.loadAssets(),n})}static resolveOptions(e={}){const t=Object.assign({},e);return t.logger||(t.logger=new s.default("BackgroundReplacementProcessor",a.default.INFO)),super.resolveOptions(t)}static resolveOptionsAsync(e){return n(this,void 0,void 0,function*(){if(!e.imageBlob){const t=document.createElement("canvas");t.width=100,t.height=100;const i=t.getContext("2d");i.fillStyle="blue",i.fillRect(0,0,100,100);const n=yield new Promise(e=>{t.toBlob(e)});e.imageBlob=n}})}static isSupported(e,t){const i=Object.create(null,{isSupported:{get:()=>super.isSupported}});return n(this,void 0,void 0,function*(){e=this.resolveSpec(e),t=this.resolveOptions(t),yield this.resolveOptionsAsync(t);const n=t.imageBlob,r=URL.createObjectURL(n);try{yield c.default.loadImage(r)}catch(e){return t.logger.info(`Failed to fetch load replacement image ${e.message}`),!1}finally{URL.revokeObjectURL(r)}return i.isSupported.call(this,e,t)})}}t.default=u},1586(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(59122));class o extends r.default{}t.default=o},50638(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i){this.fixedWaitMs=e,this.shortBackoffMs=t,this.longBackoffMs=i,this.currentRetry=0,this.fixedWaitMs<0&&(this.fixedWaitMs=0),this.shortBackoffMs<0&&(this.shortBackoffMs=0),this.longBackoffMs<0&&(this.longBackoffMs=0),this.reset()}reset(){this.currentRetry=0}nextBackoffAmountMs(){const e=Math.random()*Math.min(this.longBackoffMs,this.shortBackoffMs*Math.pow(2,this.currentRetry))+this.fixedWaitMs;return this.currentRetry+=1,e}}},78710(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(50638)),o=n(i(61714));t.default=class{constructor(e,t,i){this.fixedWaitMs=e,this.shortBackoffMs=t,this.longBackoffMs=i}create(){return new r.default(this.fixedWaitMs,this.shortBackoffMs,this.longBackoffMs)}createWithLimit(e){return new o.default(this.fixedWaitMs,this.shortBackoffMs,this.longBackoffMs,e)}}},61714(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(50638));class o extends r.default{constructor(e,t,i,n){super(e,t,i),this.limit=n,this.attempts=0}nextBackoffAmountMs(){if(this.attempts++,this.attempts>this.limit)throw new Error("retry limit exceeded");return super.nextBackoffAmountMs()}}t.default=o},98824(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const r=i(84880),o=i(6660);class s{constructor(){this.FALLBACK_BROWSER={type:"browser",name:"unknown",version:"unknown",os:"unknown"},this.browser=r.detect()||this.FALLBACK_BROWSER,this.uaParserResult=navigator&&navigator.userAgent?new o.UAParser(navigator.userAgent).getResult():null,this.browserSupport={chrome:78,"edge-chromium":79,electron:7,firefox:75,ios:13,safari:13,opera:66,samsung:12,crios:86,fxios:23,"ios-webview":605,"chromium-webview":92},this.browserName={chrome:"Google Chrome","edge-chromium":"Microsoft Edge",electron:"Electron",firefox:"Mozilla Firefox",ios:"Safari iOS",safari:"Safari",opera:"Opera",samsung:"Samsung Internet",crios:"Chrome iOS",fxios:"Firefox iOS","ios-webview":"WKWebView iOS","chromium-webview":"Chrome WebView"},this.chromeLike=["chrome","edge-chromium","chromium-webview","opera","samsung"],this.webkitBrowsers=["crios","fxios","safari","ios","ios-webview","edge-ios"]}version(){return this.browser.version}majorVersion(){return null!==this.version()?parseInt(this.version().split(".")[0]):-1}osMajorVersion(){return parseInt(this.uaParserResult.os.version.split(".")[0])}engine(){return this.uaParserResult.engine.name}engineMajorVersion(){return parseInt(this.uaParserResult.engine.version.split(".")[0])}name(){return this.browser.name}hasChromiumWebRTC(){for(const e of this.chromeLike)if(e===this.browser.name)return!0;return!1}hasWebKitWebRTC(){for(const e of this.webkitBrowsers)if(e===this.browser.name)return!0;return!1}hasFirefoxWebRTC(){return this.isFirefox()}requiresPlaybackLatencyHintForAudioContext(){return-1!==navigator.userAgent.indexOf("Windows")}supportsCanvasCapturedStreamPlayback(){return!this.isIOSSafari()&&!this.isIOSChrome()&&!this.isIOSFirefox()&&!this.isIOSEdge()||this.isIOSSafari()&&this.majorVersion()>=s.MIN_IOS_SUPPORT_CANVAS_STREAM_PLAYBACK||this.majorVersion()>=s.MIN_IOS_NON_SAFARI_SUPPORT_CANVAS_STREAM_PLAYBACK}
2138supportsBackgroundFilter(){return("safari"!==this.name()||15!==this.majorVersion())&&!!this.supportsCanvasCapturedStreamPlayback()}supportsVideoLayersAllocationRtpHeaderExtension(){return this.hasChromiumWebRTC()}supportsDependencyDescriptorRtpHeaderExtension(){return this.hasChromiumWebRTC()}supportsScalableVideoCoding(){return this.hasChromiumWebRTC()&&"Blink"===this.engine()&&this.engineMajorVersion()>=111}supportsAudioRedundancy(){return this.hasChromiumWebRTC()?this.engineMajorVersion()>=107:!this.hasFirefoxWebRTC()}requiresResolutionAlignment(e,t){return this.isAndroid()&&this.isPixel3()?[64*Math.ceil(e/64),64*Math.ceil(t/64)]:[e,t]}requiresCheckForSdpConnectionAttributes(){return!this.isIOSSafari()&&!this.isIOSChrome()&&!this.isIOSFirefox()}requiresIceCandidateGatheringTimeoutWorkaround(){return this.hasChromiumWebRTC()}requiresBundlePolicy(){return"max-bundle"}requiresNoExactMediaStreamConstraints(){return this.isSamsungInternet()}requiresGroupIdMediaStreamConstraints(){return this.isSamsungInternet()}getDisplayMediaAudioCaptureSupport(){return this.isChrome()||this.isEdge()}doesNotSupportMediaDeviceLabels(){return"chromium-webview"===this.browser.name}isSupported(){return!(!this.browserSupport[this.browser.name]||this.majorVersion()<this.browserSupport[this.browser.name]||"firefox"===this.browser.name&&this.isAndroid())}isSimulcastSupported(){return this.hasChromiumWebRTC()}supportDownlinkBandwidthEstimation(){return!this.isFirefox()}supportString(){if(this.isAndroid())return`${this.browserName.chrome} ${this.browserSupport.chrome}+, ${this.browserName.samsung} ${this.browserSupport.samsung}+`;const e=[];for(const t in this.browserSupport)e.push(`${this.browserName[t]} ${this.browserSupport[t]}+`);return e.join(", ")}supportedVideoCodecs(){return n(this,void 0,void 0,function*(){const e=new RTCPeerConnection;return e.addTransceiver("video",{direction:"inactive",streams:[]}),(yield e.createOffer({offerToReceiveVideo:!0})).sdp.split("\r\n").filter(e=>e.includes("a=rtpmap:")).map(e=>e.replace(/.* /,"").replace(/\/.*/,"")).filter((e,t,i)=>i.indexOf(e)===t).filter(e=>"rtx"!==e&&"red"!==e&&"ulpfec"!==e)})}supportsSetSinkId(){return"setSinkId"in HTMLAudioElement.prototype}disableResolutionScaleDown(){return this.isAndroid()}disable480pResolutionScaleDown(){return/( Chrome\/98\.)/i.test(navigator.userAgent)&&this.browser.os.startsWith("Windows")}requiresDisablingH264Encoding(){return this.isIOS()&&("15.1.0"===this.version()||/( OS 15_1)/i.test(navigator.userAgent))}requiresVideoPlayWorkaround(){return this.isSafari()}requiresAudioContextResetOnDeviceFailureForWebAudio(){return this.isIOS()}isVideoFxSupportedBrowser(){return this.supportsBackgroundFilter()}isIOSSafari(){return"ios"===this.browser.name||"ios-webview"===this.browser.name||"safari"===this.browser.name&&/( Mac )/i.test(navigator.userAgent)&&navigator.maxTouchPoints>1}isSafari(){return"safari"===this.browser.name||this.isIOSSafari()}isFirefox(){return"firefox"===this.browser.name}isIOSFirefox(){return"fxios"===this.browser.name}isIOSChrome(){return"crios"===this.browser.name}isChrome(){return"chrome"===this.browser.name}isEdge(){return"edge-chromium"===this.browser.name}isIOSEdge(){return"edge-ios"===this.browser.name}isSamsungInternet(){return"samsung"===this.browser.name}isAndroid(){return/(android)/i.test(navigator.userAgent)}isPixel3(){return/( pixel 3)/i.test(navigator.userAgent)}isIOS(){return this.isIOSSafari()||this.isIOSChrome()||this.isIOSFirefox()}}t.default=s,s.MIN_IOS_SUPPORT_CANVAS_STREAM_PLAYBACK=16,s.MIN_IOS_NON_SAFARI_SUPPORT_CANVAS_STREAM_PLAYBACK=106},48107(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(38359),o=n(i(19542)),s=n(i(53551)),a=n(i(95963));class d{constructor(e,t,i){this.logger=e,this.videoStreamIndex=t,this.selfAttendeeId=i,this.globalMetricReport=new a.default,this.streamMetricReports={},this.rtcStatsReport={},this.customStatsReports=[],this.currentTimestampMs=0,this.previousTimestampMs=0,this.currentSsrcs={},this.overriddenObservableMetrics=new Map,this.identityValue=(e,t)=>
2138{const i=t?this.streamMetricReports[t]:this.globalMetricReport;return Number(i.currentMetrics[e])},this.decoderLossPercent=(e,t)=>{const i=this.streamMetricReports[t],n=i.currentMetrics.concealedSamples-(i.previousMetrics.concealedSamples||0),r=i.currentMetrics.totalSamplesReceived-(i.previousMetrics.totalSamplesReceived||0);return r<=0||r-n<=0?0:n/r*100},this.packetLossPercent=(e,t)=>{const i=this.streamMetricReports[t],n=i.currentMetrics[e]-(i.previousMetrics[e]||0),r=i.currentMetrics.packetsLost-(i.previousMetrics.packetsLost||0),o=n+r;return o<=0||r<=0?0:100*r/o},this.jitterBufferMs=(e,t)=>{const i=this.streamMetricReports[t],n=i.currentMetrics.jitterBufferDelay-(i.previousMetrics.jitterBufferDelay||0),r=i.currentMetrics.jitterBufferEmittedCount-(i.previousMetrics.jitterBufferEmittedCount||0);return n<=0||r<=0?0:n/r*1e3},this.countPerSecond=(e,t)=>{const i=t?this.streamMetricReports[t]:this.globalMetricReport;let n=(this.currentTimestampMs-this.previousTimestampMs)/1e3;if(n<=0)return 0;this.previousTimestampMs<=0&&(n=1);const r=i.currentMetrics[e]-(i.previousMetrics[e]||0);return r<=0?0:Math.trunc(r/n)},this.bitsPerSecond=(e,t)=>{const i=t?this.streamMetricReports[t]:this.globalMetricReport;let n=(this.currentTimestampMs-this.previousTimestampMs)/1e3;if(n<=0)return 0;this.previousTimestampMs<=0&&(n=1);const r=8*(i.currentMetrics[e]-(i.previousMetrics[e]||0));return r<=0?0:Math.trunc(r/n)},this.secondsToMilliseconds=(e,t)=>{const i=t?this.streamMetricReports[t]:this.globalMetricReport;return Number(1e3*i.currentMetrics[e])},this.averageTimeSpentPerSecondInMilliseconds=(e,t)=>{const i=t?this.streamMetricReports[t]:this.globalMetricReport;let n=(this.currentTimestampMs-this.previousTimestampMs)/1e3;if(n<=0)return 0;this.previousTimestampMs<=0&&(n=1);const r=i.currentMetrics[e]-(i.previousMetrics[e]||0);return r<=0?0:1e3*r/n},this.averageCpuQualityLimitationDurationPerSecondInMilliseconds=(e,t)=>{const i=this.streamMetricReports[t];if(void 0===i.previousObjectMetrics[e]||void 0===i.currentObjectMetrics[e])return NaN;let n=(this.currentTimestampMs-this.previousTimestampMs)/1e3;if(n<=0)return 0;this.previousTimestampMs<=0&&(n=1);let r=0,o=0;for(const[t,n]of Object.entries(i.previousObjectMetrics[e]))"cpu"===t&&(r=n);for(const[t,n]of Object.entries(i.currentObjectMetrics[e]))"cpu"===t&&(o=n);const s=o-r;return s<=0?0:1e3*s/n},this.isHardwareImplementation=(e,t)=>{const i=this.streamMetricReports[t];if(void 0===i.currentStringMetrics[e])return NaN;const n=String(i.currentStringMetrics[e]),r=n.includes("ExternalDecoder")||n.includes("ExternalEncoder")||n.includes("EncodeAccelerator")||n.includes("DecodeAccelerator"),o=n.includes("fallback from");return r&&!o?1:0},this.globalMetricMap={retransmittedBytesSent:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_RETRANSMIT_BITRATE},totalEncodedBytesTarget:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_TARGET_ENCODER_BITRATE},totalPacketSendDelay:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_BUCKET_DELAY_MS},packetsDiscardedOnSend:{transform:this.countPerSecond,type:r.SdkMetric.Type.SOCKET_DISCARDED_PPS},availableIncomingBitrate:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_AVAILABLE_RECEIVE_BANDWIDTH},availableOutgoingBitrate:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_AVAILABLE_SEND_BANDWIDTH},currentRoundTripTime:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.STUN_RTT_MS},audioLevel:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_MIC_AUDIO_LEVEL,source:"audioLevel"}},this.audioUpstreamMetricMap={jitter:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.RTC_MIC_JITTER_MS},packetsSent:{transform:this.countPerSecond,type:r.SdkMetric.Type.RTC_MIC_PPS},bytesSent:{transform:this.bitsPerSecond,type:r.SdkMetric.Type.RTC_MIC_BITRATE},roundTripTime:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.RTC_MIC_RTT_MS},packetsLost:{transform:this.packetLossPercent,type:r.SdkMetric.Type.RTC_MIC_FRACTION_PACKET_LOST_PERCENT,source:"packetsSent"}},this.audioDownstreamMetricMap={concealedSamples:{transform:this.countPerSecond},totalSamplesReceived:{transform:this.countPerSecond},decoderLoss:{transform:this.decoderLossPercent,type:r.SdkMetric.Type.RTC_SPK_FRACTION_DECODER_LOSS_PERCENT},packetsReceived:{transform:this.countPerSecond,type:r.SdkMetric.Type.RTC_SPK_PPS},packetsLost:{transform:this.packetLossPercent,type:r.SdkMetric.Type.RTC_SPK_FRACTION_PACKET_LOST_PERCENT,source:"packetsReceived"},jitter:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.RTC_SPK_JITTER_MS},jitterBufferDelay:{transform:this.countPerSecond},jitterBufferEmittedCount:{transform:this.countPerSecond},jitterBufferMs:{transform:this.jitterBufferMs,type:r.SdkMetric.Type.RTC_SPK_JITTER_BUFFER_MS},bytesReceived:{transform:this.bitsPerSecond,type:r.SdkMetric.Type.RTC_SPK_BITRATE},audioLevel:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_SPK_AUDIO_LEVEL},totalAudioPacketsLost:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_SPK_TOTAL_LOST},totalAudioPacketsExpected:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_SPK_TOTAL_EXPECTED},totalAudioPacketsRecoveredRed:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_SPK_TOTAL_RECOVERED_RED},totalAudioPacketsRecoveredFec:{transform:this.identityValue,type:r.SdkMetric.Type.RTC_SPK_TOTAL_RECOVERED_FEC}},this.videoUpstreamMetricMap={roundTripTime:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.VIDEO_SENT_RTT_MS},nackCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_NACKS_RECEIVED},pliCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_PLIS_RECEIVED},firCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_FIRS_RECEIVED},framesPerSecond:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_INPUT_FPS},framesEncoded:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_ENCODE_FPS},packetsSent:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_SENT_PPS},packetsLost:{transform:this.packetLossPercent,type:r.SdkMetric.Type.VIDEO_SENT_FRACTION_PACKET_LOST_PERCENT,source:"packetsSent"},bytesSent:{transform:this.bitsPerSecond,type:r.SdkMetric.Type.VIDEO_SENT_BITRATE},qpSum:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_SENT_QP_SUM},frameHeight:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_ENCODE_HEIGHT},frameWidth:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_ENCODE_WIDTH},jitter:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.VIDEO_SENT_JITTER_MS},totalEncodeTime:{transform:this.averageTimeSpentPerSecondInMilliseconds,type:r.SdkMetric.Type.VIDEO_ENCODE_MS},encoderImplementation:{transform:this.isHardwareImplementation,t
2138ype:r.SdkMetric.Type.VIDEO_ENCODER_IS_HARDWARE},qualityLimitationDurations:{transform:this.averageCpuQualityLimitationDurationPerSecondInMilliseconds,type:r.SdkMetric.Type.VIDEO_QUALITY_LIMITATION_DURATION_CPU},videoCodecDegradationHighEncodeCpu:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_CODEC_DEGRADATION_HIGH_ENCODE_CPU},videoCodecDegradationEncodeFailure:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_CODEC_DEGRADATION_ENCODE_FAILURE},videoInputWidth:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_INPUT_WIDTH},videoInputHeight:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_INPUT_HEIGHT}},this.videoDownstreamMetricMap={packetsReceived:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_RECEIVED_PPS},packetsLost:{transform:this.packetLossPercent,type:r.SdkMetric.Type.VIDEO_RECEIVED_FRACTION_PACKET_LOST_PERCENT,source:"packetsReceived"},framesReceived:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_RECEIVED_FPS},framesDecoded:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_DECODE_FPS},nackCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_NACKS_SENT},firCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_FIRS_SENT},pliCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_PLIS_SENT},bytesReceived:{transform:this.bitsPerSecond,type:r.SdkMetric.Type.VIDEO_RECEIVED_BITRATE},jitter:{transform:this.secondsToMilliseconds,type:r.SdkMetric.Type.VIDEO_RECEIVED_JITTER_MS},jitterBufferDelay:{transform:this.countPerSecond},jitterBufferEmittedCount:{transform:this.countPerSecond},jitterBufferMs:{transform:this.jitterBufferMs,type:r.SdkMetric.Type.VIDEO_JITTER_BUFFER_MS},qpSum:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_RECEIVED_QP_SUM},frameHeight:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_DECODE_HEIGHT},frameWidth:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_DECODE_WIDTH},totalDecodeTime:{transform:this.averageTimeSpentPerSecondInMilliseconds,type:r.SdkMetric.Type.VIDEO_DECODE_MS},decoderImplementation:{transform:this.isHardwareImplementation,type:r.SdkMetric.Type.VIDEO_DECODER_IS_HARDWARE},totalFreezesDuration:{transform:this.averageTimeSpentPerSecondInMilliseconds,type:r.SdkMetric.Type.VIDEO_FREEZE_DURATION},freezeCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_FREEZE_COUNT},totalPausesDuration:{transform:this.averageTimeSpentPerSecondInMilliseconds,type:r.SdkMetric.Type.VIDEO_PAUSE_DURATION},pauseCount:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_PAUSE_COUNT},framesDropped:{transform:this.countPerSecond,type:r.SdkMetric.Type.VIDEO_DROPPED_FPS},videoRenderWidth:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_RENDER_WIDTH},videoRenderHeight:{transform:this.identityValue,type:r.SdkMetric.Type.VIDEO_RENDER_HEIGHT}},this.streamDimensionMap={encoderImplementation:r.SdkStreamDimension.Type.VIDEO_ENCODER_NAME,decoderImplementation:r.SdkStreamDimension.Type.VIDEO_DECODER_NAME},this.observableVideoMetricSpec={videoUpstreamBitrate:{source:"bytesSent",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamPacketsSent:{source:"packetsSent",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamPacketLossPercent:{source:"packetsLost",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamFramesEncodedPerSecond:{source:"framesEncoded",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamFramesInputPerSecond:{source:"framesPerSecond",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamFrameHeight:{source:"frameHeight",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamFrameWidth:{source:"frameWidth",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamJitterMs:{source:"jitter",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamRoundTripTimeMs:{source:"roundTripTime",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamEncoderImplementation:{source:"encoderImplementation",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamTotalEncodeTimePerSecond:{source:"totalEncodeTime",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoUpstreamCpuQualityLimitationDurationPerSecond:{source:"qualityLimitationDurations",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoDownstreamBitrate:{source:"bytesReceived",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamPacketLossPercent:{source:"packetsLost",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamPacketsReceived:{source:"packetsReceived",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamFramesDecodedPerSecond:{source:"framesDecoded",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamFrameHeight:{source:"frameHeight",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamFrameWidth:{source:"frameWidth",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamJitterMs:{source:"jitter",media:s.default.VIDEO,dir:o.default.DOWNSTREAM},videoDownstreamDelayMs:{source:"jitterBufferMs",media:s.default.VIDEO,dir:o.default.DOWNSTREAM}},this.observableMetricSpec={audioPacketsReceived:{source:"packetsReceived",media:s.default.AUDIO,dir:o.default.DOWNSTREAM},audioPacketsReceivedFractionLoss:{source:"packetsLost",media:s.default.AUDIO,dir:o.default.DOWNSTREAM},audioDecoderLoss:{source:"decoderLoss",media:s.default.AUDIO,dir:o.default.DOWNSTREAM},audioPacketsSent:{source:"packetsSent",media:s.default.AUDIO,dir:o.default.UPSTREAM},audioPacketLossPercent:{source:"packetsLost",media:s.default.AUDIO,dir:o.default.UPSTREAM},audioUpstreamRoundTripTimeMs:{source:"roundTripTime",media:s.default.AUDIO,dir:o.default.UPSTREAM},videoUpstreamBitrate:{source:"bytesSent",media:s.default.VIDEO,dir:o.default.UPSTREAM},videoPacketSentPerSecond:{source:"packetsSent",media:s.default.VIDEO,dir:o.default.UPSTREAM},audioSpeakerDelayMs:{source:"jitterBufferMs",media:s.default.AUDIO,dir:o.default.DOWNSTREAM},audioUpstreamJitterMs:{source:"jitter",media:s.default.AUDIO,dir:o.default.UPSTREAM},audioDownstreamJitterMs:{source:"jitter",media:s.default.AUDIO,dir:o.default.DOWNSTREAM},nackCountReceivedPerSecond:{source:"nackCount",media:s.default.VIDEO,dir:o.default.UPSTREAM},availableOutgoingBitrate:{source:"availableOutgoingBitrate"},availableIncomingBitrate:{source:"availableIncomingBitrate"},currentRoundTripTimeMs:{source:"currentRoundTripTime"},audioDownstreamLevel:{source:"audioLevel",media:s.default.AUDIO,dir:o.default.DOWNSTREAM}
2138,audioUpstreamLevel:{source:"audioLevel"}}}getMetricMap(e,t){switch(e){case s.default.AUDIO:switch(t){case o.default.UPSTREAM:return this.audioUpstreamMetricMap;case o.default.DOWNSTREAM:return this.audioDownstreamMetricMap}case s.default.VIDEO:switch(t){case o.default.UPSTREAM:return this.videoUpstreamMetricMap;case o.default.DOWNSTREAM:return this.videoDownstreamMetricMap}default:return this.globalMetricMap}}getStreamDimensionMap(){return this.streamDimensionMap}getObservableMetricValue(e){if(this.overriddenObservableMetrics.has(e))return this.overriddenObservableMetrics.get(e);const t=this.observableMetricSpec[e],i=this.getMetricMap(t.media,t.dir)[t.source],{transform:n,source:r}=i;if(!t.hasOwnProperty("media"))return n(r||t.source);for(const e in this.streamMetricReports){const i=this.streamMetricReports[e];if(i.direction===t.dir&&i.mediaType===t.media)return n(r||t.source,Number(e))}return 0}getObservableVideoMetricValue(e,t){const i=this.observableVideoMetricSpec[e],n=this.getMetricMap(i.media,i.dir)[i.source],{transform:r,source:o}=n;return r(o||i.source,t)}getVideoUpstreamSsrcs(){const e=[];for(const t in this.streamMetricReports)this.streamMetricReports[t].mediaType===s.default.VIDEO&&this.streamMetricReports[t].direction===o.default.UPSTREAM&&e.push(Number(t));return e}getObservableMetrics(){const e={};for(const t in this.observableMetricSpec)e[t]=this.getObservableMetricValue(t);return e}getObservableVideoMetrics(){const e={};if(!this.videoStreamIndex||!this.selfAttendeeId)return this.logger.error("Need to define VideoStreamIndex and selfAttendeeId if using getObservableVideoMetrics API"),e;for(const t in this.streamMetricReports)if(this.streamMetricReports[t].mediaType===s.default.VIDEO){const i={};for(const e in this.observableVideoMetricSpec)if(this.observableVideoMetricSpec[e].dir===this.streamMetricReports[t].direction){const n=this.getObservableVideoMetricValue(e,Number(t));isNaN(n)||(i[e]=n)}const n=this.streamMetricReports[t].groupId,r=this.streamMetricReports[t].streamId;let o="";o=void 0!==this.videoStreamIndex.attendeeIdForGroupId?n?this.videoStreamIndex.attendeeIdForGroupId(n):this.selfAttendeeId:r?this.videoStreamIndex.attendeeIdForStreamId(r):this.selfAttendeeId,e[o]=e[o]?e[o]:{},e[o][t]=i}return e}getRTCStatsReport(){return this.rtcStatsReport}clone(){const e=new d(this.logger,this.videoStreamIndex,this.selfAttendeeId);return e.globalMetricReport=this.globalMetricReport,e.streamMetricReports=this.streamMetricReports,e.rtcStatsReport=this.rtcStatsReport,e.customStatsReports=this.customStatsReports,e.currentTimestampMs=this.currentTimestampMs,e.previousTimestampMs=this.previousTimestampMs,e.overriddenObservableMetrics=this.overriddenObservableMetrics,e}print(){const e={globalMetricReport:this.globalMetricReport,streamMetricReports:this.streamMetricReports,currentTimestampMs:this.currentTimestampMs,previousTimestampMs:this.previousTimestampMs};this.logger.debug(()=>`Client Metric Report: ${JSON.stringify(e)}`)}removeDestroyedSsrcs(){for(const e in this.streamMetricReports)this.currentSsrcs[e]||delete this.streamMetricReports[e]}overrideObservableMetric(e,t){this.overriddenObservableMetrics.set(e,t)}}t.default=d},19542(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.ClientMetricReportDirection=void 0,function(e){e[e.UPSTREAM=0]="UPSTREAM",e[e.DOWNSTREAM=1]="DOWNSTREAM"}(i=t.ClientMetricReportDirection||(t.ClientMetricReportDirection={})),t.default=i},53551(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.ClientMetricReportMediaType=void 0,function(e){e[e.AUDIO=0]="AUDIO",e[e.VIDEO=1]="VIDEO"}(i=t.ClientMetricReportMediaType||(t.ClientMetricReportMediaType={})),t.default=i},84276(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},95963(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.previousMetrics={},this.currentMetrics={},this.currentStringMetrics={},this.previousObjectMetrics={},this.currentObjectMetrics={}}}},39358(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.currentTimestampMs=0,this.ssrc=0,this.totalAudioPacketsLost=0,this.totalAudioPacketsExpected=0,this.totalAudioPacketsRecoveredRed=0,this.totalAudioPacketsRecoveredFec=0}}},86216(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.previousMetrics={},this.currentMetrics={},this.currentStringMetrics={},this.previousObjectMetrics={},this.currentObjectMetrics={}}}},97640(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i){this.minHealth=e.minHealth,this.maxHealth=e.maxHealth,this.currentHealth=e.initialHealth,this.currentData=t.clone(),this.name=i}minimumHealth(){return this.minHealth}maximumHealth(){return this.maxHealth}health(){return this.maximumHealth()}update(e){this.currentData=e}getConnectionHealthData(){return this.currentData.clone()}healthy(){return this.health()>this.minimumHealth()}healthIfChanged(){const e=this.health();return e!==this.currentHealth?(this.currentHealth=e,e):null}}},2579(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(){this.connectionStartTimestampMs=0,this.consecutiveStatsWithNoPackets=0,this.consecutiveStatsWithNoAudioPacketsSent=0,this.lastPacketLossInboundTimestampMs=0,this.lastGoodSignalTimestampMs=0,this.lastWeakSignalTimestampMs=0,this.lastNoSignalTimestampMs=0,this.consecutiveMissedPongs=0,this.packetsReceivedInLastMinute=[],this.fractionPacketsLostInboundInLastMinute=[],this.audioSpeakerDelayMs=0,this.isVideoEncoderHardware=!1,this.videoEncodingTimeInMs=0,this.videoEncodingTimePerFrameInMs=0,this.cpuLimitationDuration=0,this.videoInputFps=0,this.videoEncodeFps=0,this.isContentShare=!1,this.numberOfPublishedVideoSources=0,this.connectionStartTimestampMs=Date.now(),this.lastGoodSignalTimestampMs=Date.now()}static isTimestampRecent(e,t){return Date.now()<e+t}setConnectionStartTime(){this.connectionStartTimestampMs=Date.now(),this.lastGoodSignalTimestampMs=Date.now()}reset(){this.connectionStartTimestampMs=0,this.consecutiveStatsWithNoPackets=0,this.consecutiveStatsWithNoAudioPacketsSent=0,this.lastPacketLossInboundTimestampMs=0,this.lastGoodSignalTimestampMs=0,this.lastWeakSignalTimestampMs=0,this.lastNoSignalTimestampMs=0,this.consecutiveMissedPongs=0,this.packetsReceivedInLastMinute=[],this.fractionPacketsLostInboundInLastMinute=[],this.audioSpeakerDelayMs=0,this.connectionStartTimestampMs=Date.now(),this.lastGoodSignalTimestampMs=Date.now(),this.isVideoEncoderHardware=!1,this.videoEncodingTimeInMs=0,this.videoEncodingTimePerFrameInMs=0,this.cpuLimitationDuration=0,this.videoInputFps=0,this.videoEncodeFps=0,this.isContentShare=!1,this.numberOfPublishedVideoSources=0}isConnectionStartRecent(e){return i.isTimestampRecent(this.connectionStartTimestampMs,e)}isLastPacketLossRecent(e){return i.isTimestampRecent(this.lastPacketLossInboundTimestampMs,e)}isGoodSignalRecent(e){return i.isTimestampRecent(this.lastGoodSignalTimestampMs,e)}isWeakSignalRecent(e){return i.isTimestampRecent(this.lastWeakSignalTimestampMs,e)}isNoSignalRecent(e){return i.isTimestampRecent(this.lastNoSignalTimestampMs,e)}clone(){const e=new i;return e.connectionStartTimestampMs=this.connectionStartTimestampMs,e.consecutiveStatsWithNoPackets=this.consecutiveStatsWithNoPackets,e.consecutiveStatsWithNoAudioPacketsSent=this.consecutiveStatsWithNoAudioPacketsSent,e.lastPacketLossInboundTimestampMs=this.lastPacketLossInboundTimestampMs,e.lastGoodSignalTimestampMs=this.lastGoodSignalTimestampMs,e.lastWeakSignalTimestampMs=this.lastWeakSignalTimestampMs,e.lastNoSignalTimestampMs=this.lastNoSignalTimestampMs,e.consecutiveMissedPongs=this.consecutiveMissedPongs,e.packetsReceivedInLastMinute=this.packetsReceivedInLastMinute.slice(0),e.fractionPacketsLostInboundInLastMinute=this.fractionPacketsLostInboundInLastMinute.slice(0),e.audioSpeakerDelayMs=this.audioSpeakerDelayMs,e.isVideoEncoderHardware=this.isVideoEncoderHardware,e.videoEncodingTimeInMs=this.videoEncodingTimeInMs,e.videoEncodingTimePerFrameInMs=this.videoEncodingTimePerFrameInMs,e.cpuLimitationDuration=this.cpuLimitationDuration,e.videoInputFps=this.videoInputFps,e.videoEncodeFps=this.videoEncodeFps,e.isContentShare=this.isContentShare,e.
2138numberOfPublishedVideoSources=this.numberOfPublishedVideoSources,e}setConsecutiveMissedPongs(e){this.consecutiveMissedPongs=e}setConsecutiveStatsWithNoPackets(e){this.consecutiveStatsWithNoPackets=e}setConsecutiveStatsWithNoAudioPacketsSent(e){this.consecutiveStatsWithNoAudioPacketsSent=e}setLastPacketLossInboundTimestampMs(e){this.lastPacketLossInboundTimestampMs=e}setLastNoSignalTimestampMs(e){this.lastNoSignalTimestampMs=e}setLastWeakSignalTimestampMs(e){this.lastWeakSignalTimestampMs=e}setLastGoodSignalTimestampMs(e){this.lastGoodSignalTimestampMs=e}setAudioSpeakerDelayMs(e){this.audioSpeakerDelayMs=e}setIsVideoEncoderHardware(e){this.isVideoEncoderHardware=e}setVideoEncodingTimeInMs(e){this.videoEncodingTimeInMs=e}setVideoEncodingTimePerFrameInMs(e){this.videoEncodingTimePerFrameInMs=e}setCpuLimitationDuration(e){this.cpuLimitationDuration=e}setVideoInputFps(e){this.videoInputFps=e}setVideoEncodeFps(e){this.videoEncodeFps=e}setIsContentShare(e){this.isContentShare=e}setNumberOfPublishedVideoSources(e){this.numberOfPublishedVideoSources=e}}t.default=i},87811(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(5970)),o=n(i(48021)),s=n(i(52580));t.default=class{constructor(){this.minHealth=0,this.maxHealth=1,this.initialHealth=1,this.connectionUnhealthyThreshold=25,this.noSignalThresholdTimeMs=1e4,this.connectionWaitTimeMs=1e4,this.zeroBarsNoSignalTimeMs=5e3,this.oneBarWeakSignalTimeMs=5e3,this.twoBarsTimeMs=5e3,this.threeBarsTimeMs=1e4,this.fourBarsTimeMs=2e4,this.fiveBarsTimeMs=6e4,this.cooldownTimeMs=6e4,this.pastSamplesToConsider=15,this.goodSignalTimeMs=15e3,this.fractionalLoss=.5,this.packetsExpected=50,this.maximumTimesToWarn=2,this.missedPongsLowerThreshold=1,this.missedPongsUpperThreshold=4,this.maximumAudioDelayMs=6e4,this.maximumAudioDelayDataPoints=10,this.sendingAudioFailureSamplesToConsider=2,this.sendingAudioFailureInitialWaitTimeMs=3e3,this.videoEncodingHealthPolicies=[r.default,o.default,s.default],this.consecutiveHighEncodeCpuThreshold=10,this.highEncodeCpuMsThreshold=500,this.highEncodeCpuMsPerFrameThreshold=15,this.consecutiveVideoEncodingFailureThreshold=5,this.concurrentVideoSendersThreshold=15}}},24152(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640));class o extends r.default{constructor(e,t,i){super(t,i,"Reconnection Health"),this.logger=e,this.audioDelayPointsOverMaximum=0,o.CONNECTION_UNHEALTHY_THRESHOLD=t.connectionUnhealthyThreshold,o.CONNECTION_WAIT_TIME_MS=t.connectionWaitTimeMs,o.MISSED_PONGS_THRESHOLD=t.missedPongsUpperThreshold,o.MAXIMUM_AUDIO_DELAY_MS=t.maximumAudioDelayMs,o.MAXIMUM_AUDIO_DELAY_DATA_POINTS=t.maximumAudioDelayDataPoints}health(){if(this.currentData.isConnectionStartRecent(o.CONNECTION_WAIT_TIME_MS))return 1;const e=this.currentData.consecutiveStatsWithNoPackets>=o.CONNECTION_UNHEALTHY_THRESHOLD,t=this.currentData.consecutiveMissedPongs>=o.MISSED_PONGS_THRESHOLD;this.currentData.audioSpeakerDelayMs>o.MAXIMUM_AUDIO_DELAY_MS?this.audioDelayPointsOverMaximum+=1:this.audioDelayPointsOverMaximum=0;const i=this.audioDelayPointsOverMaximum>o.MAXIMUM_AUDIO_DELAY_DATA_POINTS;return i&&(this.audioDelayPointsOverMaximum=0),e||t||i?(this.logger.warn(`reconnection recommended due to: no packets received: ${e}, missed pongs: ${t}, bad audio delay: ${i}`),0):1}}t.default=o},22967(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640));class o extends r.default{constructor(e,t,i){super(t,i,"Sending Audio Health"),this.logger=e,this.sendingAudioFailureSamplesToConsider=t.sendingAudioFailureSamplesToConsider>0?t.sendingAudioFailureSamplesToConsider:1,this.sendingAudioFailureInitialWaitTimeMs=t.sendingAudioFailureInitialWaitTimeMs,this.maximumTimesToWarn=t.maximumTimesToWarn,this.coolDownTimeMs=t.cooldownTimeMs,this.lastWarnTimestampMs=0,this.warnCount=0}isSendingAudioUnhealthy(){const e=!this.currentData.isConnectionStartRecent(this.sendingAudioFailureInitialWaitTimeMs),t=this.currentData.consecutiveStatsWithNoAudioPacketsSent>=this.sendingAudioFailureSamplesToConsider;return e&&t}health(){if(this.isSendingAudioUnhealthy()){const e=Date.now()-this.lastWarnTimestampMs<this.coolDownTimeMs;return this.currentHealth>
2138this.minimumHealth()&&!e?(this.logger.warn(`Sending Audio is unhealthy for ${this.sendingAudioFailureSamplesToConsider} seconds consecutively.`),this.warnCount++,this.warnCount>this.maximumTimesToWarn?(this.logger.warn("SendingAudioFailure health policy maximum warnings breached. Falling back to reporting healthy."),this.maximumHealth()):(this.lastWarnTimestampMs=Date.now(),this.minimumHealth())):this.currentHealth}return this.maximumHealth()}}t.default=o},60588(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640));class o extends r.default{constructor(e,t){super(e,t,"Unusable Audio Warning"),this.coolDownTimeMs=e.cooldownTimeMs,this.pastSamplesToConsider=e.pastSamplesToConsider,this.fractionalLoss=e.fractionalLoss,this.packetsExpected=e.packetsExpected,this.maximumTimesToWarn=e.maximumTimesToWarn,this.lastWarnTimestampMs=0,this.warnCount=0}calculateFractionalLoss(){if(this.currentData.packetsReceivedInLastMinute.length<this.pastSamplesToConsider)return 0;const e=this.pastSamplesToConsider,t=e*this.packetsExpected;let i=0;for(let t=0;t<e;t++)i+=this.currentData.packetsReceivedInLastMinute[t];return Math.min(Math.max(1-i/t,0),1)}health(){return Date.now()-this.lastWarnTimestampMs<this.coolDownTimeMs?this.currentHealth:this.calculateFractionalLoss()>=this.fractionalLoss?0!==this.currentHealth&&(this.lastWarnTimestampMs=Date.now(),this.warnCount++,this.warnCount>this.maximumTimesToWarn)?1:0:1}}t.default=o},5970(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640)),o=n(i(18412));class s extends r.default{constructor(e,t){super(e,t,o.default.VideoConcurrentSendersHealth),this.concurrentVideoSendersThreshold=e.concurrentVideoSendersThreshold}health(){return this.currentData.isContentShare?this.maximumHealth():this.currentData.numberOfPublishedVideoSources>this.concurrentVideoSendersThreshold?this.minimumHealth():this.maximumHealth()}}t.default=s},18412(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.VideoEncodingConnectionHealthPolicyName=void 0,function(e){e.VideoEncodingCpuHealth="Video Encoding CPU Health",e.VideoEncodingFramerateHealth="Video Encoding framerate Health",e.VideoConcurrentSendersHealth="Video Concurrent Senders Health"}(i=t.VideoEncodingConnectionHealthPolicyName||(t.VideoEncodingConnectionHealthPolicyName={})),t.default=i},48021(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640)),o=n(i(18412));class s extends r.default{constructor(e,t){super(e,t,o.default.VideoEncodingCpuHealth),this.consecutiveHighEncodeCpuCnt=0,this.consecutiveHighEncodeCpuThreshold=e.consecutiveHighEncodeCpuThreshold,this.highEncodeCpuMsThreshold=e.highEncodeCpuMsThreshold,this.highEncodeCpuMsPerFrameThreshold=e.highEncodeCpuMsPerFrameThreshold}health(){const e=this.currentData.videoEncodingTimeInMs>=this.highEncodeCpuMsThreshold&&this.currentData.videoEncodingTimePerFrameInMs>=this.highEncodeCpuMsPerFrameThreshold;if(!this.currentData.isVideoEncoderHardware&&(e||this.currentData.cpuLimitationDuration>0)){if(this.consecutiveHighEncodeCpuCnt++,this.consecutiveHighEncodeCpuCnt>this.consecutiveHighEncodeCpuThreshold)return this.consecutiveHighEncodeCpuCnt=0,this.minimumHealth()}else this.consecutiveHighEncodeCpuCnt=0;return this.maximumHealth()}}t.default=s},52580(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(97640)),o=n(i(18412));class s extends r.default{constructor(e,t){super(e,t,o.default.VideoEncodingFramerateHealth),this.consecutiveEncodeFailureCnt=0,this.consecutiveVideoEncodingFailureThreshold=e.consecutiveVideoEncodingFailureThreshold}health(){if(0===this.currentData.videoEncodeFps&&this.currentData.videoInputFps>0){if(this.consecutiveEncodeFailureCnt++,this.consecutiveEncodeFailureCnt>this.consecutiveVideoEncodingFailureThreshold)return this.consecutiveEncodeFailureCnt=0,this.minimumHealth()}else this.consecutiveEncodeFailureCnt=0;return this.maximumHealth()}}t.default=s},51569(e,t,i){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0});const n=i(89419);t.default=class{constructor(e,t,i,n,r){this.audioVideoController=e,this.realtimeController=t,this.connectionHealthData=i,this.pingPong=n,this.statsCollector=r,this.isActive=!1,this.hasSeenValidCandidatePairMetricsBefore=!1,this.lastTotalBytesReceived=0,this.lastTotalStunMessagesReceived=0,this.realtimeController.realtimeSubscribeToLocalSignalStrengthChange(e=>{this.isActive&&this.receiveSignalStrengthChange(e)})}start(){this.isActive=!0,this.pingPong.addObserver(this),this.pingPong.start(),this.audioVideoController.addObserver(this)}stop(){this.isActive=!1,this.pingPong.removeObserver(this),this.pingPong.stop(),this.audioVideoController.removeObserver(this)}receiveSignalStrengthChange(e){0===e?this.connectionHealthData.setLastNoSignalTimestampMs(Date.now()):e<=.5?this.connectionHealthData.setLastWeakSignalTimestampMs(Date.now()):this.connectionHealthData.setLastGoodSignalTimestampMs(Date.now()),this.updateConnectionHealth()}didReceivePong(e,t,i){this.connectionHealthData.setConsecutiveMissedPongs(0),this.statsCollector.logLatency("ping_pong",t),this.statsCollector.logLatency("ping_pong_clock_skew",i),this.updateConnectionHealth()}didMissPongs(){this.connectionHealthData.setConsecutiveMissedPongs(this.connectionHealthData.consecutiveMissedPongs+1),this.updateConnectionHealth()}metricsDidReceive(e){let t=0,i=0;const n=e.getObservableMetrics(),r=n.audioPacketsReceived,o=n.audioPacketsReceivedFractionLoss,s=n.audioSpeakerDelayMs;"number"!=typeof s||isNaN(s)||this.connectionHealthData.setAudioSpeakerDelayMs(s);const a=e.getRTCStatsReport();let d=0,c=0;a.forEach(e=>{"candidate-pair"===e.type&&(e.bytesReceived&&(d+=e.bytesReceived),e.requestsReceived&&(c+=e.requestsReceived),e.responsesReceived&&(c+=e.responsesReceived))});const l=d-this.lastTotalBytesReceived;this.lastTotalBytesReceived=d;const u=c-this.lastTotalStunMessagesReceived;this.lastTotalStunMessagesReceived=c,"number"==typeof r&&"number"==typeof o&&(t=r,i=o,t<0||i<0||l<0||u<0||(this.addToMinuteWindow(this.connectionHealthData.packetsReceivedInLastMinute,t),this.addToMinuteWindow(this.connectionHealthData.fractionPacketsLostInboundInLastMinute,i),l>0||u>0?(this.hasSeenValidCandidatePairMetricsBefore=!0,this.connectionHealthData.setConsecutiveStatsWithNoPackets(0)):this.hasSeenValidCandidatePairMetricsBefore&&this.connectionHealthData.setConsecutiveStatsWithNoPackets(this.connectionHealthData.consecutiveStatsWithNoPackets+1),(0===t||i>0)&&this.connectionHealthData.setLastPacketLossInboundTimestampMs(Date.now()),"number"==typeof n.audioPacketsSent&&this.updateAudioPacketsSentInConnectionHealth(n.audioPacketsSent),this.updateVideoEncodingHealth(e),this.updateConnectionHealth()))}updateAudioPacketsSentInConnectionHealth(e){e>0?this.connectionHealthData.setConsecutiveStatsWithNoAudioPacketsSent(0):this.connectionHealthData.setConsecutiveStatsWithNoAudioPacketsSent(this.connectionHealthData.consecutiveStatsWithNoAudioPacketsSent+1)}updateVideoEncodingHealth(e){const t=this.audioVideoController.videoTileController.hasStartedLocalVideoTile(),i=e.getVideoUpstreamSsrcs();if(!t||0===i.length)return this.connectionHealthData.setIsVideoEncoderHardware(!1),this.connectionHealthData.setVideoEncodingTimePerFrameInMs(0),this.connectionHealthData.setCpuLimitationDuration(0),this.connectionHealthData.setVideoInputFps(0),void this.connectionHealthData.setVideoEncodeFps(0);let n=!1,r=0,o=0,s=0,a=0;for(const t of i)n||(n=Boolean(e.getObservableVideoMetricValue("videoUpstreamEncoderImplementation",t))),r+=e.getObservableVideoMetricValue("videoUpstreamTotalEncodeTimePerSecond",t),o+=e.getObservableVideoMetricValue("videoUpstreamCpuQualityLimitationDurationPerSecond",t),s+=e.getObservableVideoMetricValue("videoUpstreamFramesInputPerSecond",t),a+=e.getObservableVideoMetricValue("videoUpstreamFramesEncodedPerSecond",t);const d=a>0?r/a:0;this.connectionHealthData.setIsVideoEncoderHardware(Boolean(n)),this.connectionHealthData.setVideoEncodingTimeInMs(r),this.connectionHealthData.setVideoEncodingTimePerFrameInMs(d),this.connectionHealthData.setCpuLimitationDuration(o),this.connectionHealthData.setVideoInputFps(s),this.connectionHealthData.setVideoEncodeFps(a)}addToMinuteWindow(e,t){e.unshift(t),e.length>60&&e.pop()}updateConnectionHealth(){this.audioVideoController.forEachObserver(e=>{n.Maybe.of(e.connectionHealthDidChange).map(t=>t.bind(e)(this.connectionHealthData.clone()))})}}},40736(e,t){"use strict";var i;
2138Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Modality="#content"}(i||(i={})),t.default=i},8892(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824)),s=r(i(70536));class a{constructor(e){this.logger=e}get mediaStream(){return this._mediaStream}set mediaStream(e){this._mediaStream=e}acquireAudioInputStream(){return n(this,void 0,void 0,function*(){return 0===this._mediaStream.getAudioTracks().length?(this.logger.info("No audio stream available. Synthesizing an audio stream."),s.default.synthesizeAudioDevice(0)):this._mediaStream})}acquireVideoInputStream(){return n(this,void 0,void 0,function*(){return this._mediaStream})}acquireDisplayInputStream(e){return n(this,void 0,void 0,function*(){return e&&e.video&&e.video.mandatory&&e.video.mandatory.chromeMediaSource&&e.video.mandatory.chromeMediaSourceId?navigator.mediaDevices.getUserMedia(e):navigator.mediaDevices.getDisplayMedia(e)})}acquireScreenCaptureDisplayInputStream(e,t){return n(this,void 0,void 0,function*(){return this.acquireDisplayInputStream(this.screenCaptureDisplayMediaConstraints(e,t))})}screenCaptureDisplayMediaConstraints(e,t){return{audio:!(e||!(new o.default).getDisplayMediaAudioCaptureSupport()),video:Object.assign(Object.assign({},!e&&{frameRate:{max:t||a.defaultFrameRate}}),e&&{mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:e,maxFrameRate:t||a.defaultFrameRate}})}}toggleMediaStream(e){let t=!1;if(this.mediaStream)for(let i=0;i<this.mediaStream.getTracks().length;i++)this.mediaStream.getTracks()[i].enabled!==e&&(this.mediaStream.getTracks()[i].enabled=e,t=!0);return t}cleanup(){if(this.mediaStream)for(let e=0;e<this.mediaStream.getTracks().length;e++)this.mediaStream.getTracks()[e].stop();this.mediaStream=null}muteLocalAudioInputStream(){throw new Error("unsupported")}unmuteLocalAudioInputStream(){throw new Error("unsupported")}addMediaStreamBrokerObserver(e){}removeMediaStreamBrokerObserver(e){}}t.default=a,a.defaultFrameRate=15},13876(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(28586)),s=r(i(5481)),a=r(i(24981)),d=r(i(38148)),c=r(i(91365)),l=i(89419),u=r(i(53182)),h=r(i(45936)),p=r(i(40736));t.default=class{constructor(e,t,i){this.mediaStreamBroker=e,this.contentAudioVideo=t,this.attendeeAudioVideo=i,this.observerQueue=new Set,this.destroyed=!1,this.contentAudioVideo.addObserver(this),this.setupContentShareEvents()}static createContentShareMeetingSessionConfigure(e){const t=new s.default;return t.meetingId=e.meetingId,t.externalMeetingId=e.externalMeetingId,t.urls=e.urls,t.disablePeriodicKeyframeRequestOnContentSender=e.disablePeriodicKeyframeRequestOnContentSender,t.credentials=new a.default,t.credentials.attendeeId=e.credentials.attendeeId+p.default.Modality,t.credentials.externalUserId=e.credentials.externalUserId,t.credentials.joinToken=e.credentials.joinToken+p.default.Modality,t.meetingFeatures=e.meetingFeatures.clone(),t.videoDownlinkBandwidthPolicy=new u.default,t}setContentAudioProfile(e){this.contentAudioVideo.setAudioProfile(e)}enableSimulcastForContentShare(e,t){e?(this.contentAudioVideo.configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!0,this.contentAudioVideo.configuration.videoUplinkBandwidthPolicy=new h.default(this.contentAudioVideo.logger,t)):(this.contentAudioVideo.
2138configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!1,this.contentAudioVideo.configuration.videoUplinkBandwidthPolicy=void 0)}enableSVCForContentShare(e){this.contentAudioVideo.configuration.enableSVC=!!e}startContentShare(e){return n(this,void 0,void 0,function*(){if(e)if(this.contentAudioVideo.configuration.meetingFeatures.contentMaxResolution!==o.default.VideoDisabled){this.mediaStreamBroker.mediaStream=e;for(let e=0;e<this.mediaStreamBroker.mediaStream.getTracks().length;e++)this.mediaStreamBroker.mediaStream.getTracks()[e].addEventListener("ended",()=>{this.stopContentShare()});this.contentAudioVideo.start()}else this.contentAudioVideo.logger.info("Could not start content because max content resolution was set to None")})}startContentShareFromScreenCapture(e,t){return n(this,void 0,void 0,function*(){const i=yield this.mediaStreamBroker.acquireScreenCaptureDisplayInputStream(e,t);return yield this.startContentShare(i),i})}pauseContentShare(){this.mediaStreamBroker.toggleMediaStream(!1)&&this.forEachContentShareObserver(e=>{l.Maybe.of(e.contentShareDidPause).map(t=>t.call(e))})}unpauseContentShare(){this.mediaStreamBroker.toggleMediaStream(!0)&&this.forEachContentShareObserver(e=>{l.Maybe.of(e.contentShareDidUnpause).map(t=>t.call(e))})}setContentShareVideoCodecPreferences(e){this.contentAudioVideo.setVideoCodecSendPreferences(e)}destroy(){return n(this,void 0,void 0,function*(){this.contentAudioVideo&&(this.destroyed=!0,this.contentAudioVideo.removeObserver(this),this.stopContentShare(),this.observerQueue.clear(),this.contentAudioVideo=void 0,this.attendeeAudioVideo=void 0,this.mediaStreamBroker=void 0)})}stopContentShare(){this.contentAudioVideo.stop(),this.mediaStreamBroker.cleanup()}addContentShareObserver(e){this.observerQueue.add(e)}removeContentShareObserver(e){this.observerQueue.delete(e)}forEachContentShareObserver(e){for(const t of this.observerQueue)c.default.nextTick(()=>{this.observerQueue.has(t)&&e(t)})}audioVideoDidStart(){var e;(null===(e=this.mediaStreamBroker.mediaStream)||void 0===e?void 0:e.getVideoTracks().length)>0&&this.contentAudioVideo.videoTileController.startLocalVideoTile()}audioVideoDidStop(e){this.mediaStreamBroker.cleanup(),this.contentShareTile&&(this.attendeeAudioVideo.videoTileController.removeVideoTile(this.contentShareTile.id()),this.contentShareTile=null),this.forEachContentShareObserver(e=>{l.Maybe.of(e.contentShareDidStop).map(t=>t.call(e))})}setupContentShareEvents(){this.attendeeAudioVideo.realtimeController.realtimeSubscribeToAttendeeIdPresence((e,t,i,n)=>{const r=new d.default(e).hasModality(d.default.MODALITY_CONTENT),o=new d.default(e).base()===this.attendeeAudioVideo.configuration.credentials.attendeeId;if(!r||!o||!t||this.contentShareTile)return;const s=this.mediaStreamBroker.mediaStream;if(null==s?void 0:s.getVideoTracks().length){this.contentShareTile=this.attendeeAudioVideo.videoTileController.addVideoTile();const e=s.getVideoTracks()[0];let t,i;if(e.getSettings){const n=e.getSettings();t=n.width,i=n.height}else{const n=e.getCapabilities();t=n.width,i=n.height}this.contentShareTile.bindVideoStream(this.contentAudioVideo.configuration.credentials.attendeeId,!1,s,t,i,null,this.contentAudioVideo.configuration.credentials.externalUserId)}this.forEachContentShareObserver(e=>{l.Maybe.of(e.contentShareDidStart).map(t=>t.call(e))})})}}},6393(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{static register(){"document"in i.g&&document.addEventListener&&n.shouldRegisterCSPMonitor&&(n.added||(document.addEventListener("securitypolicyviolation",n.listener),n.added=!0))}static unregister(){"document"in i.g&&document.removeEventListener&&(document.removeEventListener("securitypolicyviolation",n.listener),n.loggers=new Set,n.added=!1)}static disable(){n.shouldRegisterCSPMonitor=!1,n.unregister()}static addLogger(e){e&&n.loggers.add(e)}static removeLogger(e){e&&n.loggers.delete(e)}}t.default=n,n.loggers=new Set,n.shouldRegisterCSPMonitor=!0,n.added=!1,n.listener=e=>{const t=`Security Policy Violation\nBlocked URI: ${e.blockedURI}\nViolated Directive: ${e.violatedDirective}\nOriginal Policy: ${e.originalPolicy}\nDocument URI: ${e.documentURI}\nSource File: ${e.sourceFile}\nLine No.: ${e.lineNumber}\n`;for(const e of n.loggers)e.error(t);0===n.loggers.size&&console.error(t)}},26315(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i,n,r,o){this.timestampMs=e,this.topic=t,this.data=i,this.senderAttendeeId=n,this.senderExternalUserId=r,this.throttled=!!o}text(){return(new TextDecoder).decode(this.data)}json(){return JSON.parse((new TextDecoder).decode(this.data))}}},45099(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDestroyable=void 0,t.isDestroyable=function(e){return e&&"destroy"in e}},22975(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAudioTransformDevice=void 0,t.isAudioTransformDevice=function(e){return!!e&&"object"==typeof e&&"mute"in e&&"stop"in e&&"intrinsicDevice"in e}},70536(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824)),s=r(i(84620)),a=r(i(91365)),d=r(i(1e4)),c=i(89419),l=r(i(3765)),u=r(i(60686)),h=i(22975),p=r(i(60135)),f=r(i(56474)),m=r(i(95564)),g=r(i(35434)),v=r(i(95683)),b=r(i(32865)),y=r(i(93405)),S=r(i(28586)),w=i(21260);class C{constructor(e,t,i=new o.default,n){this.logger=e,this.browserBehavior=i,this.eventController=n,this.deviceInfoCache=null,this.activeDevices={audio:null,video:null},this.chosenVideoTransformDevice=null,this.audioOutputDeviceId=void 0,this.deviceChangeObservers=new Set,this.mediaStreamBrokerObservers=new Set,this.deviceLabelTrigger=()=>navigator.mediaDevices.getUserMedia({audio:!0,video:!0}),this.audioInputDestinationNode=null,this.audioInputSourceNode=null,this.videoInputQualitySettings=null,this.useWebAudio=!1,this.useMediaConstraintsFallback=!0,this.audioInputTaskQueue=new d.default,this.videoInputTaskQueue=new d.default,this.muted=!1,this.mediaStreamMuteObserver=(e,t)=>{for(const i of this.deviceChangeObservers)a.default.nextTick(()=>{this.deviceChangeObservers.has(i)&&i.audioInputMuteStateChanged&&i.audioInputMuteStateChanged(e,t)})},this.alreadyHandlingDeviceChange=!1;const{enableWebAudio:r=!1,useMediaConstraintsFallback:c=!0}=t||{};this.useWebAudio=r,this.useMediaConstraintsFallback=c,this.videoInputQualitySettings=new S.default(C.defaultVideoWidth,C.defaultVideoHeight,C.defaultVideoFrameRate);const l=this.browserBehavior.requiresResolutionAlignment(this.videoInputQualitySettings.videoWidth,this.videoInputQualitySettings.videoHeight);this.videoInputQualitySettings.videoWidth=l[0],this.videoInputQualitySettings.videoHeight=l[1],this.logger.info(`DefaultDeviceController video dimension ${this.videoInputQualitySettings.videoWidth} x ${this.videoInputQualitySettings.videoHeight}`);try{this.mediaDeviceWrapper=(new s.default).create();const e=navigator.mediaDevices.getSupportedConstraints();this.logger.info(`Supported Constraints in this browser ${JSON.stringify(e)}`)}catch(t){e.error(t.message)}}isWatchingForDeviceChanges(){return!!this.onDeviceChangeCallback}ensureWatchingDeviceChanges(){var e;this.isWatchingForDeviceChanges()||(this.logger.info("Starting devicechange listener."),this.onDeviceChangeCallback=()=>{this.logger.info("Device change event callback is triggered"),this.handleDeviceChange()},null===(e=this.mediaDeviceWrapper)||void 0===e||e.addEventListener("devicechange",this.onDeviceChangeCallback))}stopWatchingDeviceChanges(){var e;this.isWatchingForDeviceChanges()&&(this.logger.info("Stopping devicechange listener."),null===(e=this.mediaDeviceWrapper)||void 0===e||e.removeEventListener("devicechange",this.onDeviceChangeCallback),this.onDeviceChangeCallback=void 0)}shouldObserveDeviceChanges(){return!!this.deviceChangeObservers.size||(this.activeDevices.audio&&null!==this.activeDevices.audio.constraints||this.activeDevices.video&&null!==this.activeDevices.video.constraints||!!this.audioOutputDeviceId)}watchForDeviceChangesIfNecessary(){this.shouldObserveDeviceChanges()?this.ensureWatchingDeviceChanges():this.stopWatchingDeviceChanges()}destroy(){return n(this,void 0,void 0,function*(){this.stopWatchingDeviceChanges(),yield this.stopAudioInput(),yield this.stopVideoInput()})}listAudioInputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.listDevicesOfKind("audioinput",e);return this.trace("listAudioInputDevices",e,t),t})}listVideoInputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.listDevicesOfKind("videoinput",e);return this.trace("listVideoInputDevices",e,t),t})}listAudioOutputDevices(e=!1){return n(this,void 0,void 0,function*(){const t=yield this.listDevicesOfKind("audiooutput",e);return this.trace("listAudioOutputDevices",e,t),t})}pushAudioMeetingStateForPermissions(e){var t;null===(t=this.eventController)||void 0===t||t.publishEvent(void 0===e?"audio
2138InputUnselected":"audioInputSelected")}pushVideoMeetingStateForPermissions(e){var t;null===(t=this.eventController)||void 0===t||t.publishEvent(void 0===e?"videoInputUnselected":"videoInputSelected")}startAudioInput(e){return n(this,void 0,void 0,function*(){return yield this.audioInputTaskQueue.add(()=>this.startAudioInputTask(e))})}startAudioInputTask(e){var t;return n(this,void 0,void 0,function*(){if(void 0!==e)try{return h.isAudioTransformDevice(e)?(this.logger.info(`Choosing transform input device ${e}`),yield this.chooseAudioTransformInputDevice(e)):(this.logger.info(`Choosing intrinsic audio input device ${e}`),this.removeTransform(),yield this.chooseInputIntrinsicDevice("audio",e)),this.trace("startAudioInputDevice",e,"success"),this.useWebAudio?(this.attachAudioInputStreamToAudioContext(this.activeDevices.audio.stream),this.pushAudioMeetingStateForPermissions(this.getMediaStreamDestinationNode().stream),yield null===(t=this.transform)||void 0===t?void 0:t.device.mute(this.muted),this.getMediaStreamDestinationNode().stream):(this.publishAudioInputDidChangeEvent(this.activeDevices.audio.stream),this.activeDevices.audio.stream)}catch(e){throw e}else this.logger.error("Audio input device cannot be undefined")})}stopAudioInput(){return n(this,void 0,void 0,function*(){return this.audioInputTaskQueue.add(()=>this.stopAudioInputTask())})}stopAudioInputTask(){return n(this,void 0,void 0,function*(){try{if(this.useWebAudio)return void this.releaseAudioTransformStream();this.stopTracksAndRemoveCallbacks("audio")}finally{this.watchForDeviceChangesIfNecessary(),this.publishAudioInputDidChangeEvent(void 0)}})}chooseAudioTransformInputDevice(e){var t;return n(this,void 0,void 0,function*(){if((null===(t=this.transform)||void 0===t?void 0:t.device)===e)return;if(!this.useWebAudio)throw new Error("Cannot apply transform device without enabling Web Audio.");const i=C.getAudioContext();if(i instanceof OfflineAudioContext);else switch(i.state){case"running":break;case"closed":throw new Error("Cannot choose a transform device with a closed audio context.");case"suspended":yield i.resume()}let n;try{n=yield e.createAudioNode(i)}catch(e){throw this.logger.error(`Unable to create transform device node: ${e}.`),e}const r=yield e.intrinsicDevice();yield this.chooseInputIntrinsicDevice("audio",r),this.logger.debug(`Got inner stream: ${r}.`),this.setTransform(e,n)})}chooseVideoTransformInputDevice(e){var t;return n(this,void 0,void 0,function*(){if(this.eventController&&e instanceof l.default&&e.passEventControllerToProcessors(this.eventController),e===this.chosenVideoTransformDevice)return void this.logger.info("Reselecting same VideoTransformDevice");const i=this.chosenVideoTransformDevice;i&&this.logger.info("Switched from previous VideoTransformDevice");const n=!!i,r=yield e.intrinsicDevice();if(!this.isMediaStreamReusableByDeviceId(null===(t=this.activeDevices.video)||void 0===t?void 0:t.stream,r))return this.logger.info("video transform device needs new intrinsic device"),n&&i.onOutputStreamDisconnect(),this.chosenVideoTransformDevice=e,this.activeDevices.video=null,yield this.chooseInputIntrinsicDevice("video",r),this.logger.info("apply processors to transform"),void(yield this.chosenVideoTransformDevice.transformStream(this.activeDevices.video.stream));this.chosenVideoTransformDevice=e,this.logger.info("video transform device uses previous stream"),this.logger.info("apply processors to transform"),yield e.transformStream(this.activeDevices.video.stream)})}startVideoInput(e){return n(this,void 0,void 0,function*(){return yield this.videoInputTaskQueue.add(()=>this.startVideoInputTask(e))})}startVideoInputTask(e){return n(this,void 0,void 0,function*(){if(e)try{return w.isVideoTransformDevice(e)?(this.logger.info(`Choosing video transform device ${e}`),yield this.chooseVideoTransformInputDevice(e),this.publishVideoInputDidChangeEvent(this.chosenVideoTransformDevice.outputMediaStream),this.chosenVideoTransformDevice.outputMediaStream):(this.chosenVideoInputIsTransformDevice()&&(this.chosenVideoTransformDevice.onOutputStreamDisconnect(),this.chosenVideoTransformDevice=null),yield this.chooseInputIntrinsicDevice("video",e),this.trace("startVideoInputDevice",e),this.publishVideoInputDidChangeEvent(this.activeDevices.video.stream),this.activeDevices.video.stream)}catch(e){throw e}else this.logger.error("Invalid video input device")})}stopVideoInput(){return n(this,void 0,void 0,function*(){return this.videoInputTaskQueue.add(()=>this.stopVideoInputTask())})}stopVideoInputTask(){return n(this,void 0,void 0,function*(){try{if(this.chosenVideoInputIsTransformDevice()
2138)return void this.releaseVideoTransformStream();this.stopTracksAndRemoveCallbacks("video")}finally{this.watchForDeviceChangesIfNecessary(),this.publishVideoInputDidChangeEvent(void 0)}})}chooseAudioOutput(e){return n(this,void 0,void 0,function*(){this.audioOutputDeviceId=e,this.watchForDeviceChangesIfNecessary();const t=this.deviceInfoFromDeviceId("audiooutput",this.audioOutputDeviceId);this.publishAudioOutputDidChangeEvent(t),this.trace("chooseAudioOutput",e,null)})}addDeviceChangeObserver(e){this.logger.info("adding device change observer"),this.deviceChangeObservers.add(e),this.watchForDeviceChangesIfNecessary(),this.trace("addDeviceChangeObserver")}removeDeviceChangeObserver(e){this.logger.info("removing device change observer"),this.deviceChangeObservers.delete(e),this.watchForDeviceChangesIfNecessary(),this.trace("removeDeviceChangeObserver")}createAnalyserNodeForAudioInput(){var e,t;if(!this.activeDevices.audio)return null;const i=null===(t=null===(e=this.transform)||void 0===e?void 0:e.nodes)||void 0===t?void 0:t.end;if(i){const e=i.context.createAnalyser();return e.removeOriginalInputs=()=>{try{i.disconnect(e)}catch(e){}},i.connect(e),e}return this.createAnalyserNodeForRawAudioInput()}createAnalyserNodeForRawAudioInput(){return this.activeDevices.audio?this.createAnalyserNodeForStream(this.activeDevices.audio.stream):null}createAnalyserNodeForStream(e){const t=C.getAudioContext(),i=t.createAnalyser(),n=t.createMediaStreamSource(e);return n.connect(i),this.trace("createAnalyserNodeForAudioInput"),i.removeOriginalInputs=()=>{try{n.disconnect(i)}catch(e){}},i}startVideoPreviewForVideoInput(e){if(!this.activeDevices.video)return this.logger.warn("cannot bind video preview since video input device has not been chosen"),void this.trace("startVideoPreviewForVideoInput",e.id);
2138u.default.connectVideoStreamToVideoElement(this.chosenVideoTransformDevice?this.chosenVideoTransformDevice.outputMediaStream:this.activeDevices.video.stream,e,!0),this.trace("startVideoPreviewForVideoInput",e.id)}stopVideoPreviewForVideoInput(e){u.default.disconnectVideoStreamFromVideoElement(e,!1),this.trace("stopVideoPreviewForVideoInput",e.id)}setDeviceLabelTrigger(e){if(this.deviceInfoCache)for(const e of this.deviceInfoCache)if(!e.label){this.deviceInfoCache=null;break}this.deviceLabelTrigger=e,this.trace("setDeviceLabelTrigger")}mixIntoAudioInput(e){let t=null;return this.useWebAudio?(t=C.getAudioContext().createMediaStreamSource(e),t.connect(this.getMediaStreamOutputNode())):this.logger.warn("WebAudio is not enabled, mixIntoAudioInput will not work"),this.trace("mixIntoAudioInput",e.id),t}chooseVideoInputQuality(e,t,i){const n=this.browserBehavior.requiresResolutionAlignment(e,t);this.videoInputQualitySettings=new S.default(n[0],n[1],i)}getVideoInputQualitySettings(){return this.videoInputQualitySettings}acquireAudioInputStream(){return n(this,void 0,void 0,function*(){return this.activeDevices.audio||(this.logger.info("No audio device chosen, creating empty audio device"),yield this.startAudioInput(null)),this.useWebAudio?this.getMediaStreamDestinationNode().stream:this.activeDevices.audio.stream})}acquireVideoInputStream(){return n(this,void 0,void 0,function*(){if(!this.activeDevices.video)throw new Error("No video device chosen");return this.chosenVideoInputIsTransformDevice()?this.chosenVideoTransformDevice.outputMediaStream:this.activeDevices.video.stream})}acquireDisplayInputStream(e){return n(this,void 0,void 0,function*(){throw new Error("unsupported")})}releaseAudioTransformStream(){this.logger.info("Stopping audio track for Web Audio graph"),this.stopTracksAndRemoveCallbacks("audio"),this.logger.info("Removing audio transform, if there is one."),this.removeTransform(),this.audioInputSourceNode&&(this.audioInputSourceNode.disconnect(),this.audioInputSourceNode=void 0),this.audioInputDestinationNode&&(this.audioInputDestinationNode.disconnect(),this.audioInputDestinationNode=void 0)}releaseVideoTransformStream(){this.logger.info("Stopping video track for transform"),this.stopTracksAndRemoveCallbacks("video"),this.logger.info("Disconnecting video transform"),this.chosenVideoTransformDevice.onOutputStreamDisconnect(),this.chosenVideoTransformDevice=null}stopTracksAndRemoveCallbacks(e){const t=this.activeDevices[e];if(!t)return;const i=t.endedCallback,n=t.trackMuteCallback,r=t.trackUnmuteCallback;for(const o of t.stream.getTracks())o.stop(),i&&o.removeEventListener("ended",i),n&&o.removeEventListener("mute",n),r&&o.removeEventListener("unmute",r),delete t.endedCallback,delete t.trackMuteCallback,delete t.trackUnmuteCallback,delete this.activeDevices[e]}chosenVideoInputIsTransformDevice(){return!!this.chosenVideoTransformDevice}muteLocalAudioInputStream(){this.toggleLocalAudioInputStream(!1)}unmuteLocalAudioInputStream(){this.toggleLocalAudioInputStream(!0)}toggleLocalAudioInputStream(e){var t;let i=this.activeDevices.audio;if(this.useWebAudio&&(i=this.getMediaStreamDestinationNode()),i){for(const t of i.stream.getTracks())t.enabled!==e&&(t.enabled=e);this.muted!==!e&&(this.muted=!e,null===(t=this.transform)||void 0===t||t.device.mute(this.muted))}}static getIntrinsicDeviceId(e){if(!e)return;if("string"==typeof e)return e;if(e.id)return e.id;const t=e.deviceId;if(!t)return;if("string"==typeof t||Array.isArray(t))return t;const i=t;return"string"==typeof i.exact||Array.isArray(i.exact)?i.exact:void 0}static createEmptyAudioDevice(){return C.synthesizeAudioDevice(0)}static synthesizeAudioDevice(e){const t=C.getAudioContext(),i=t.createMediaStreamDestination();if(e){const n=t.createGain();n.gain.value=.1,n.connect(i);const r=t.createOscillator();r.frequency.value=e,r.connect(n),r.start()}else{const e=t.createBufferSource();try{e.buffer=t.createBuffer(1,5*t.sampleRate,t.sampleRate)}catch(i){if(!i||"NotSupportedError"!==i.name)throw i;e.buffer=t.createBuffer(1,5*C.defaultSampleRate,C.defaultSampleRate)}e.buffer.getChannelData(0)[0]=3e-4,e.loop=!0,e.connect(i),e.start()}return i.stream}listDevicesOfKind(e,t){return n(this,void 0,void 0,function*(){return!t&&null!==this.deviceInfoCache&&this.isWatchingForDeviceChanges()||(yield this.updateDeviceInfoCacheFromBrowser()),this.listCachedDevicesOfKind(e)})}updateDeviceInfoCacheFromBrowser(){var e;return n(this,void 0,void 0,function*(){if("undefined"==typeof MediaDeviceInfo)return void(this.deviceInfoCache=[]);let t=yield navigator.mediaDevices.enumerateDevices(),i=!0;for(const e of t)if(!e.label){i=!1;break}if(!i)try{this.logger.info("attempting to trigger media device labels since they are hidden");const e=yield this.deviceLabelTrigger();t=yield navigator.mediaDevices.enumerateDevices();for(const t of e.getTracks())t.stop()}catch(t){this.logger.info("unable to get media device labels"),null===(e=this.eventController)||void 0===e||e.publishEvent("deviceLabelTriggerFailed",{deviceLabelTriggerErrorMessage:this.getErrorMessage(t)})}
2138this.logger.debug(`Update device info cache with devices: ${JSON.stringify(t)}`),this.deviceInfoCache=t})}listCachedDevicesOfKind(e){const t=[];if(this.deviceInfoCache)for(const i of this.deviceInfoCache)i.kind===e&&t.push(i);return t}handleDeviceChange(){return n(this,void 0,void 0,function*(){if(null===this.deviceInfoCache)return;if(this.alreadyHandlingDeviceChange)return void a.default.nextTick(()=>{this.handleDeviceChange()});this.alreadyHandlingDeviceChange=!0;const e=this.listCachedDevicesOfKind("audioinput"),t=this.listCachedDevicesOfKind("videoinput"),i=this.listCachedDevicesOfKind("audiooutput");yield this.updateDeviceInfoCacheFromBrowser();const n=this.listCachedDevicesOfKind("audioinput"),r=this.listCachedDevicesOfKind("videoinput"),o=this.listCachedDevicesOfKind("audiooutput");this.forEachObserver(s=>{this.areDeviceListsEqual(e,n)||c.Maybe.of(s.audioInputsChanged).map(e=>e.bind(s)(n)),this.areDeviceListsEqual(t,r)||c.Maybe.of(s.videoInputsChanged).map(e=>e.bind(s)(r)),this.areDeviceListsEqual(i,o)||c.Maybe.of(s.audioOutputsChanged).map(e=>e.bind(s)(o))}),this.alreadyHandlingDeviceChange=!1})}handleDeviceStreamEnded(e,t){return n(this,void 0,void 0,function*(){try{"audio"===e?(this.useWebAudio&&this.browserBehavior.requiresAudioContextResetOnDeviceFailureForWebAudio()?(this.logger.warn("Audio input device which was active is no longer available, suspending and resuming audio context before resetting to empty device to ensure packets are sent"),yield this.stopAudioInput(),C.suspendAudioContext(),C.resumeAudioContext()):this.logger.warn("Audio input device which was active is no longer available, resetting to empty device to ensure packets are sent"),yield this.startAudioInput(null)):(this.logger.warn("Video input device which was active is no longer available, stopping video"),yield this.stopVideoInput())}catch(e){this.logger.error("Failed to choose null device after stream ended.")}"audio"===e?this.forEachObserver(e=>{c.Maybe.of(e.audioInputStreamEnded).map(i=>i.bind(e)(t))}):this.forEachObserver(e=>{c.Maybe.of(e.videoInputStreamEnded).map(i=>i.bind(e)(t))})})}forEachObserver(e){for(const t of this.deviceChangeObservers)a.default.nextTick(()=>{this.deviceChangeObservers.has(t)&&e(t)})}forEachMediaStreamBrokerObserver(e){for(const t of this.mediaStreamBrokerObservers)a.default.nextTick(()=>{this.mediaStreamBrokerObservers.has(t)&&e(t)})}areDeviceListsEqual(e,t){return JSON.stringify(e.map(e=>JSON.stringify(e)).sort())===JSON.stringify(t.map(e=>JSON.stringify(e)).sort())}intrinsicDeviceAsMediaStream(e){return e&&e.id?e:null}hasSameMediaStreamId(e,t,i){var n,r,o,s;let a;return"audio"===e?(a=null==i?void 0:i.audio.streamId,!!a&&a===(null===(r=null===(n=t.constraints)||void 0===n?void 0:n.audio)||void 0===r?void 0:r.streamId)):(a=null==i?void 0:i.video.streamId,!!a&&a===(null===(s=null===(o=null==t?void 0:t.constraints)||void 0===o?void 0:o.video)||void 0===s?void 0:s.streamId))}hasSameGroupId(e,t,i){if(""===e)return!0;const n=C.getIntrinsicDeviceId(i);return this.logger.debug(`Checking deviceIds ${n} of type ${typeof n} with groupId ${e}`),"string"==typeof n&&e===this.getGroupIdFromDeviceId(t,n)}getGroupIdFromDeviceId(e,t){if(null!==this.deviceInfoCache){const i=this.listCachedDevicesOfKind(`${e}input`).find(e=>e.deviceId===t);if(i&&i.groupId)return this.logger.debug(`GroupId of deviceId ${t} found in cache is ${i.groupId}`),i.groupId}return this.logger.debug(`GroupId of deviceId ${t} found in cache is empty`),""}handleGetUserMediaError(e,t){if(!e)throw new f.default(e);switch(e.name){case"NotReadableError":case"TrackStartError":throw new g.default(e);case"NotFoundError":case"DevicesNotFoundError":throw new m.default(e);case"NotAllowedError":case"PermissionDeniedError":case"SecurityError":throw t&&t<C.permissionDeniedOriginDetectionThresholdMs?new b.default(e,"Permission denied by browser"):new b.default(e,"Permission denied by user");case"OverconstrainedError":case"ConstraintNotSatisfiedError":throw new v.default(e);case"TypeError":throw new y.default(e);default:throw new f.default(e)}}matchesDeviceSelection(e,t,i,n){return!!(i&&i.stream.active&&(this.hasSameMediaStreamId(e,i,n)||null!==i.groupId&&this.hasSameGroupId(i.groupId,e,t)))&&(this.logger.debug(`Compare current device constraint ${JSON.stringify(i.constraints)} to proposed constraints ${JSON.stringify(n)}`),i.matchesConstraints(n))}chooseInputIntrinsicDevice(e,t){var i,r;return n(this,void 0,void 0,function*(){const n=this.getMediaStreamConstraints(e,t);if(this.matchesDeviceSelection(e,t,this.activeDevices[e],n))return void this.logger.info(`reusing existing ${e} input device`);this.activeDevices[e]&&this.activeDevices[e].stream&&this.stopTracksAndRemoveCallbacks(e);const o=Date.now(),s=new p.default;try{this.logger.info(`requesting new ${e} device with constraint ${JSON.stringify(n)}`);const i=this.intrinsicDeviceAsMediaStream(t);"audio"===e&&null===t?(s.stream=C.createEmptyAudioDevice(),s.constraints=null):i?(this.logger.info(`using media stream ${i.id} for ${e} device`),s.stream=i,s.constraints=n):(s.stream=yield navigator.mediaDevices.getUserMedia(n),s.constraints=n),yield this.handleNewInputDevice(e,s)}
2138catch(a){const d=this.getErrorMessage(a);"audio"===e?null===(i=this.eventController)||void 0===i||i.publishEvent("audioInputFailed",{audioInputErrorMessage:d}):null===(r=this.eventController)||void 0===r||r.publishEvent("videoInputFailed",{videoInputErrorMessage:d}),this.logger.error(`failed to get ${e} device for constraints ${JSON.stringify(n)}: ${d}`);let c=!0;if(a&&"constraint"in a&&(this.logger.error(`Over-constrained by constraint: ${a.constraint}`),this.useMediaConstraintsFallback)){const i=this.getMediaStreamConstraints(e,t,!0),r=JSON.stringify(i);if(r!==JSON.stringify(n)){this.logger.info(`retry requesting new ${e} device with minimal constraint ${r}`);try{s.stream=yield navigator.mediaDevices.getUserMedia(i),s.constraints=i,yield this.handleNewInputDevice(e,s),c=!1}catch(t){this.logger.error(`failed to get ${e} device for constraints ${r}: ${this.getErrorMessage(t)}`)}}}if(c){if("audio"===e){this.logger.info(`choosing null ${e} device instead`);try{s.stream=C.createEmptyAudioDevice(),s.constraints=null,yield this.handleNewInputDevice(e,s)}catch(t){this.logger.error(`failed to choose null ${e} device. ${t.name}: ${t.message}`)}}this.handleGetUserMediaError(a,Date.now()-o)}}finally{this.watchForDeviceChangesIfNecessary()}})}getErrorMessage(e){return e?e.name&&e.message?`${e.name}: ${e.message}`:e.name?e.name:e.message?e.message:"UnknownError":"UnknownError"}handleNewInputDevice(e,t){var i;return n(this,void 0,void 0,function*(){this.logger.info(`got ${e} device for constraints ${JSON.stringify(t.constraints)}`);const n=null===(i=this.getMediaTrackSettings(t.stream))||void 0===i?void 0:i.deviceId;t.groupId=n?this.getGroupIdFromDeviceId(e,n):"",this.activeDevices[e]=t,this.logger.debug(`Set activeDevice to ${JSON.stringify(t)}`),this.watchForDeviceChangesIfNecessary();const r=t.stream.getTracks()[0];if(r&&(t.endedCallback=()=>{this.activeDevices[e]&&this.activeDevices[e].stream===t.stream&&(this.handleDeviceStreamEnded(e,n),delete t.endedCallback)},r.addEventListener("ended",t.endedCallback,{once:!0})),"audio"===e){const e=t.stream.getAudioTracks()[0];if(e){const i=e.getSettings().deviceId||t.stream;t.trackMuteCallback=()=>{this.mediaStreamMuteObserver(i,!0)},t.trackUnmuteCallback=()=>{this.mediaStreamMuteObserver(i,!1)},e.addEventListener("mute",t.trackMuteCallback,{once:!1}),e.addEventListener("unmute",t.trackUnmuteCallback,{once:!1}),this.logger.debug("Notifying mute state after selection"),e.muted?t.trackMuteCallback():t.trackUnmuteCallback()}}})}calculateMediaStreamConstraints(e,t,i,n){if(n&&1===this.listCachedDevicesOfKind(`${e}input`).length)return!0;const r={};return this.browserBehavior.requiresNoExactMediaStreamConstraints()?r.deviceId=t:r.deviceId={exact:t},i&&(r.groupId=i),n?r:"video"===e?(r.width={ideal:this.videoInputQualitySettings.videoWidth}
2138,r.height={ideal:this.videoInputQualitySettings.videoHeight},r.frameRate={ideal:this.videoInputQualitySettings.videoFrameRate},r):(this.supportSampleRateConstraint()&&(r.sampleRate={ideal:C.defaultSampleRate}),this.supportSampleSizeConstraint()&&(r.sampleSize={ideal:C.defaultSampleSize}),this.supportChannelCountConstraint()&&(r.channelCount={ideal:C.defaultChannelCount}),Object.assign({echoCancellation:!0,googEchoCancellation:!0,googEchoCancellation2:!0,googAutoGainControl:!0,googAutoGainControl2:!0,googNoiseSuppression:!0,googNoiseSuppression2:!0,googHighpassFilter:!0},r))}getMediaStreamConstraintsFromTrackConstraints(e,t){return"audio"===e?{audio:t}:{video:t}}getMediaStreamConstraints(e,t,i=!1){let n={};if(!t)return null;const r=this.intrinsicDeviceAsMediaStream(t);if(r)return n.streamId=r.id,this.getMediaStreamConstraintsFromTrackConstraints(e,n);if("string"==typeof t){let r="";return this.browserBehavior.requiresGroupIdMediaStreamConstraints()&&(null!==this.deviceInfoCache?r=this.getGroupIdFromDeviceId(e,t):this.logger.error("Device cache is not populated. Please make sure to call list devices first")),n=this.calculateMediaStreamConstraints(e,t,r,i),this.getMediaStreamConstraintsFromTrackConstraints(e,n)}return function(e){return"object"==typeof e&&"deviceId"in e&&"groupId"in e&&"kind"in e&&"label"in e}(t)?(n=this.calculateMediaStreamConstraints(e,t.deviceId,t.groupId,i),this.getMediaStreamConstraintsFromTrackConstraints(e,n)):(n=t,this.getMediaStreamConstraintsFromTrackConstraints(e,n))}deviceInfoFromDeviceId(e,t){if(null===this.deviceInfoCache)return null;for(const i of this.deviceInfoCache)if(i.kind===e&&i.deviceId===t)return i;return null}hasAppliedTransform(){return!!this.transform}isMediaStreamReusableByDeviceId(e,t){if(!e||!e.active||!t)return!1;if(t.id)return e.id===t.id;const i=this.getMediaTrackSettings(e);if(!i.deviceId)return!1;const n=C.getIntrinsicDeviceId(t);return"string"==typeof n&&i.deviceId===n}getMediaTrackSettings(e){var t;return null===(t=e.getTracks()[0])||void 0===t?void 0:t.getSettings()}reconnectAudioInputs(){if(!this.audioInputSourceNode)return;this.audioInputSourceNode.disconnect();const e=this.getMediaStreamOutputNode();this.audioInputSourceNode.connect(e)}setTransform(e,t){var i,n;null===(n=null===(i=this.transform)||void 0===i?void 0:i.nodes)||void 0===n||n.end.disconnect(),this.transform={nodes:t,device:e};const r=null==t?void 0:t.end,o=this.getMediaStreamDestinationNode();this.logger.debug(`Connecting transform node ${r} to destination ${o}.`),null==r||r.connect(o),this.reconnectAudioInputs()}removeTransform(){var e;const t=this.transform;if(t)return null===(e=this.transform.nodes)||void 0===e||e.end.disconnect(),this.transform=void 0,this.reconnectAudioInputs(),t}attachAudioInputStreamToAudioContext(e){var t;null===(t=this.audioInputSourceNode)||void 0===t||t.disconnect(),this.audioInputSourceNode=C.getAudioContext().createMediaStreamSource(e);const i=this.getMediaStreamOutputNode();this.audioInputSourceNode.connect(i)}getMediaStreamDestinationNode(){return this.audioInputDestinationNode||(this.audioInputDestinationNode=C.getAudioContext().createMediaStreamDestination()),this.audioInputDestinationNode}getMediaStreamOutputNode(){var e,t;return(null===(t=null===(e=this.transform)||void 0===e?void 0:e.nodes)||void 0===t?void 0:t.start)||this.getMediaStreamDestinationNode()}static setDefaultLatencyHint(e){C.defaultLatencyHint=e}static getAudioContext(){if(!C.audioContext){const e={};navigator.mediaDevices.getSupportedConstraints().sampleRate&&(e.sampleRate=C.defaultSampleRate),(new o.default).requiresPlaybackLatencyHintForAudioContext()&&(e.latencyHint="playback"),C.defaultLatencyHint&&(e.latencyHint=C.defaultLatencyHint),C.audioContext=new(window.AudioContext||window.webkitAudioContext)(e)}return C.audioContext}static suspendAudioContext(){return n(this,void 0,void 0,function*(){return C.audioContext?C.audioContext.suspend():Promise.resolve()})}static resumeAudioContext(){return n(this,void 0,void 0,function*(){return C.audioContext?C.audioContext.resume():Promise.resolve()})}static closeAudioContext(){if(C.audioContext)try{C.audioContext.close()}catch(e){}C.audioContext=null}addMediaStreamBrokerObserver(e){this.mediaStreamBrokerObservers.add(e)}removeMediaStreamBrokerObserver(e){this.mediaStreamBrokerObservers.delete(e)}publishVideoInputDidChangeEvent(e){this.forEachMediaStreamBrokerObserver(t=>{t.videoInputDidChange&&t.videoInputDidChange(e)}
2138),this.pushVideoMeetingStateForPermissions(e)}publishAudioInputDidChangeEvent(e){this.forEachMediaStreamBrokerObserver(t=>{t.audioInputDidChange&&t.audioInputDidChange(e)}),this.pushAudioMeetingStateForPermissions(e)}publishAudioOutputDidChangeEvent(e){this.forEachMediaStreamBrokerObserver(t=>{t.audioOutputDidChange&&t.audioOutputDidChange(e)})}supportSampleRateConstraint(){return this.useWebAudio&&!!navigator.mediaDevices.getSupportedConstraints().sampleRate}supportSampleSizeConstraint(){return this.useWebAudio&&!!navigator.mediaDevices.getSupportedConstraints().sampleSize}supportChannelCountConstraint(){return this.useWebAudio&&!!navigator.mediaDevices.getSupportedConstraints().channelCount}trace(e,t,i){let n=`API/DefaultDeviceController/${e}`;void 0!==t&&(n+=` ${JSON.stringify(t)}`),void 0!==i&&(n+=` -> ${JSON.stringify(i)}`),this.logger.info(n)}}t.default=C,C.permissionDeniedOriginDetectionThresholdMs=500,C.defaultVideoWidth=960,C.defaultVideoHeight=540,C.defaultVideoFrameRate=15,C.defaultSampleRate=48e3,C.defaultSampleSize=16,C.defaultChannelCount=1,C.audioContext=null},60135(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.groupId=""}matchesConstraints(e){return JSON.stringify(this.constraints)===JSON.stringify(e)}}},56474(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i extends Error{constructor(e,t){super(t||"Error fetching device."),this.cause=e,this.name="GetUserMediaError"}}t.default=i},90073(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.NoOpDeviceControllerWithEventController=void 0;const o=r(i(62499)),s=r(i(28586));class a extends o.default{constructor(e){super(),this.destroyed=!1}destroy(){return n(this,void 0,void 0,function*(){this.destroyed=!0})}listAudioInputDevices(){return Promise.resolve([])}listVideoInputDevices(){return Promise.resolve([])}listAudioOutputDevices(){return Promise.resolve([])}startAudioInput(e){return Promise.reject()}stopAudioInput(){return Promise.resolve()}startVideoInput(e){return Promise.reject()}stopVideoInput(){return Promise.resolve()}chooseAudioOutput(e){return Promise.reject()}addDeviceChangeObserver(e){}removeDeviceChangeObserver(e){}createAnalyserNodeForAudioInput(){return null}startVideoPreviewForVideoInput(e){}stopVideoPreviewForVideoInput(e){}setDeviceLabelTrigger(e){}mixIntoAudioInput(e){return null}chooseVideoInputQuality(e,t,i){}getVideoInputQualitySettings(){return s.default.VideoDisabled}}t.default=a,t.NoOpDeviceControllerWithEventController=class extends a{constructor(e){super(),this.eventController=e}}},95564(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(56474));class o extends r.default{constructor(e){super(e),this.name="NotFoundError"}}t.default=o},35434(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(56474));class o extends r.default{constructor(e){super(e),this.name="NotReadableError"}}t.default=o},95683(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(56474));class o extends r.default{constructor(e,t){super(e),this.constraint=t,this.name="OverconstrainedError"}}t.default=o},32865(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(56474));class o extends r.default{constructor(e,t){super(e,t),this.name="PermissionDeniedError"}}t.default=o},67543(e,t){"use strict";var i=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.inner=e}mute(e){return i(this,void 0,void 0,function*(){})}stop(){var e;return i(this,void 0,void 0,function*(){null===(e=this.node)||void 0===e||e.disconnect()})}intrinsicDevice(){return i(this,void 0,void 0,function*(){return this.inner})}createAudioNode(e){var t;return i(this,void 0,void 0,function*(){return null===(t=this.node)||void 0===t||t.disconnect(),this.node=yield this.createSingleAudioNode(e),{start:this.node,end:this.node}})}}},93405(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(56474));class o extends r.default{constructor(e){super(e),this.name="TypeError"}}t.default=o},28586(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e,t,i){this.videoWidth=e,this.videoHeight=t,this.videoFrameRate=i}equals(e){return this.videoWidth===e.videoWidth&&this.videoHeight===e.videoHeight&&this.videoFrameRate===e.videoFrameRate}}t.default=i,i.VideoDisabled=new i(0,0,0),i.VideoResolutionHD=new i(1280,720,30),i.VideoResolutionFHD=new i(1920,1080,30),i.VideoResolutionUHD=new i(3840,2160,30)},21260(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isVideoTransformDevice=void 0,t.isVideoTransformDevice=function(e){return!!e&&"object"==typeof e&&"transformStream"in e&&"stop"in e&&"intrinsicDevice"in e}},61858(e,t){"use strict";var i=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t){if(this.devicePixelRatioSource=e,this.observerQueue=new Set,this.mediaQueryListener=()=>{this.observerQueue.forEach(e=>{e.devicePixelRatioChanged(this.devicePixelRatioSource.devicePixelRatio())})},"undefined"==typeof window)return;const i=matchMedia(`(resolution: ${this.devicePixelRatioSource.devicePixelRatio()}dppx)`);"function"==typeof i.addEventListener?(i.addEventListener("change",this.mediaQueryListener),this.mediaQueryList=i):"function"==typeof i.addListener?(i.addListener(this.mediaQueryListener),this.mediaQueryList=i):t.warn("ignoring DefaultDevicePixelRatioMonitor")}destroy(){return i(this,void 0,void 0,function*(){this.mediaQueryList&&("function"==typeof this.mediaQueryList.addEventListener?this.mediaQueryList.removeEventListener("change",this.mediaQueryListener):this.mediaQueryList.removeListener(this.mediaQueryListener)),delete this.mediaQueryListener,this.observerQueue.clear()})}registerObserver(e){this.observerQueue.add(e),e.devicePixelRatioChanged(this.devicePixelRatioSource.devicePixelRatio())}removeObserver(e){this.observerQueue.delete(e)}}},65517(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{devicePixelRatio(){return"undefined"!=typeof window&&window&&window.devicePixelRatio?window.devicePixelRatio:1}}},34853(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__rest||function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}
2138,o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=o(i(50638)),a=o(i(2228)),d=o(i(36594)),c=i(48471);class l{constructor(e,t,i,o,s){this.buffer=[],this.bufferSize=0,this.maxBufferItemCapacityBytes=0,this.ingestionEventSize=0,this.flushIntervalMs=0,this.flushSize=0,this.failedIngestionEvents=[],this.retryCountLimit=15,this.lock=!1,this.cancellableEvents=new Map,this.attributesToFilter=["externalUserId","externalMeetingId","timestampMs"],this.deepCopyCurrentIngestionEvent=e=>({type:e.type,v:e.v,payloads:[...e.payloads]}),this.sendEvents=()=>n(this,void 0,void 0,function*(){if(this.lock)return;const e=this.getItems(this.flushSize);if(0===e.length)return;this.lock=!0;const t=this.makeRequestBody(e);let i=!1;const n=Date.now();"firefox"===this.metadata.browserName.toLowerCase()&&this.cancellableEvents.set(n,e);try{this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - sending body ${t}`);const e=yield this.send(t);if(this.cancellableEvents.delete(n),e.ok)try{const i=yield e.json();this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - send successful events: ${t} message: ${JSON.stringify(i)}`)}catch(e){this.logger.warn(`Event Reporting - InMemoryJSONEventBuffer - sendEvents error reading OK response ${e} for events ${t}`)}else this.logger.error(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - Failed to send events ${t} with response status ${e.status}`),i=!0}catch(e){i=!0,this.logger.warn(`Event Reporting - InMemoryJSONEventBuffer - sendEvents - Error in sending events ${t} to the ingestion endpoint ${e}`)}finally{this.lock=!1}i&&(this.cancellableEvents.delete(n),this.failedIngestionEvents.push(...e))});const a=new d.default(s).getParserResult(),{browserMajorVersion:c}=a,l=r(a,["browserMajorVersion"]),u=t.toJSON(),{type:h,v:p}=u,f=r(u,["type","v"]);this.authenticationToken=t.getAuthenticationToken(),this.metadata=Object.assign(Object.assign({},l),f),Object.keys(this.metadata).forEach(e=>this.attributesToFilter.push(e)),this.type=h,this.v=p,this.ingestionURL=i,this.logger=s,this.importantEvents=new Set(o);const{maxBufferCapacityKb:m,totalBufferItems:g,flushSize:v,flushIntervalMs:b,retryCountLimit:y}=e;this.maxBufferCapacityBytes=1024*m,this.totalBufferItems=g,this.maxBufferItemCapacityBytes=Math.round(this.maxBufferCapacityBytes/g),this.flushIntervalMs=b,this.flushSize=v,this.retryCountLimit=y,this.currentIngestionEvent=this.initializeAndGetCurrentIngestionEvent(),this.beaconEventListener=e=>this.beaconEventHandler(e),this.addEventListeners()}addEventListeners(){this.beaconEventListener&&"window"in i.g&&window.addEventListener&&"document"in i.g&&document.addEventListener&&(this.logger.debug("Event Reporting - InMemoryJSONEventBuffer - addEventListeners - adding pagehide and visibility change event listeners"),window.addEventListener("pagehide",this.beaconEventListener),document.addEventListener("visibilitychange",this.beaconEventListener))}beaconEventHandler(e){("visibilitychange"===e.type&&"hidden"===document.visibilityState||"pagehide"===e.type)&&(this.logger.debug("Event Reporting - InMemoryJSONEventBuffer - beaconEventHandler is triggered calling sendBeacon"),this.sendBeacon())}removeEventListeners(){this.beaconEventListener&&"window"in i.g&&window.removeEventListener&&"document"in i.g&&document.removeEventListener&&(window.removeEventListener("pagehide",this.beaconEventListener),document.removeEventListener("visibilitychange",this.beaconEventListener),this.logger.debug("Event Reporting - InMemoryJSONEventBuffer - removeEventListeners - removing pagehide and visibility change event listeners"))}start(){var e;this.removeEventListeners(),this.addEventListeners(),null===(e=this.intervalScheduler)||void 0===e||e.stop(),this.intervalScheduler=new a.default(this.flushIntervalMs),this.intervalScheduler.start(()=>this.sendEvents())}stop(){var e;null===(e=this.intervalScheduler)||void 0===e||e.stop(),this.intervalScheduler=void 0,this.sendBeacon(),this.removeEventListeners()}addItem(e){return n(this,void 0,void 0,function*(){this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - received event ${JSON.stringify(e)}`);const{name:t,ts:i,attributes:n}=e,r=n&&this.filterAttributes(n,this.attributesToFilter),o=Object.assign({name:t,ts:i},r);this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - event after filtering attributes ${JSON.stringify(o)}`);const s=this.getSize(o);if(s>l.MAX_ITEM_SIZE_BYTES_ALLOWED)throw new Error(`Event Reporting - Item to be added has size ${s} bytes. Item cannot exceed max item size allowed of ${l.MAX_ITEM_SIZE_BYTES_ALLOWED} bytes.`);if(this.importantEvents.has(t))return this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - sending important event ${JSON.stringify(o)}`),void this.sendEventImmediately({name:t,ts:i,attributes:r});if(this.isFull())throw this.logger.warn("Event Reporting - Event buffer is full"),new Error("Buffer full");if(this.currentIngestionEvent.payloads.push(o),this.ingestionEventSize+=s,this.bufferItemThresholdReached(s)){const e=this.deepCopyCurrentIngestionEvent(this.currentIngestionEvent);this.buffer.push(e),this.bufferSize+=this.ingestionEventSize,this.currentIngestionEvent=this.initializeAndGetCurrentIngestionEvent(),this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - addItem - buffer item threshold reached updated buffer ${JSON.stringify(this.buffer)}`)}})}filterAttributes(e,t){const i=new Set(t);return Object.keys(e).filter(e=>
2138i.has(e)).forEach(t=>delete e[t]),e}initializeAndGetCurrentIngestionEvent(){const e={type:this.type,v:this.v,payloads:[]};return this.ingestionEventSize=this.getSize(e),e}bufferItemThresholdReached(e){return e+this.ingestionEventSize>=this.maxBufferItemCapacityBytes||this.currentIngestionEvent.payloads.length===l.MAX_PAYLOAD_ITEMS}getSize(e){let t=0;if("object"==typeof e)for(const[i,n]of Object.entries(e))t+=this.getPrimitiveSize(i),t+=this.getSize(n);else t+=this.getPrimitiveSize(e);return t}getPrimitiveSize(e){let t=0;return"string"==typeof e?t+=2*e.length:"number"==typeof e&&(t+=8),t}isFull(){return this.bufferSize===this.maxBufferCapacityBytes||this.buffer.length===this.totalBufferItems}isEmpty(){return 0===this.buffer.length||0===this.bufferSize}getItems(e,t=0){return this.isEmpty()?[]:(e=Math.min(this.buffer.length,e+1),this.buffer.splice(t,e))}makeBeaconRequestBody(e){const t={metadata:this.metadata,events:e,authorization:this.authenticationToken};return JSON.stringify(t)}makeRequestBody(e){const t={metadata:this.metadata,events:e};return JSON.stringify(t)}sendEventImmediately(e){return n(this,void 0,void 0,function*(){this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - important event received ${JSON.stringify(e)}`);const{name:t,ts:i,attributes:n}=e,r={type:this.type,v:this.v,payloads:[Object.assign({name:t,ts:i},n)]};let o=!1,s=null;const a=this.makeRequestBody([r]);try{if(s=yield this.send(a),s.ok){try{const e=yield s.json();this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - send successful event: ${a}, message: ${JSON.stringify(e)}`)}catch(e){this.logger.warn(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - Error reading OK response ${e} for event ${a}`)}return}this.logger.error(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - Failed to send an important event ${a} with response status ${s.status}`),o=!0}catch(e){this.logger.warn(`Event Reporting - There may be a failure in sending an important event ${a} to the ingestion endpoint ${e}.`),o=!0;try{if("firefox"===this.metadata.browserName.toLowerCase()){const e=this.makeBeaconRequestBody([r]);this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - beaconing data out ${e}`),o=!navigator.sendBeacon(`${this.ingestionURL}?beacon=1`,e)}}catch(e){this.logger.warn(`Event Reporting - Error sending beacon for an important event ${a}`),o=!0}}o&&(this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendEventImmediately - pushing to failed events ${a}`),this.failedIngestionEvents.push(r))})}send(e){return n(this,void 0,void 0,function*(){const t=new s.default(l.RETRY_FIXED_BACKOFF_WAIT_MS,l.RETRY_SHORT_BACKOFF_MS,l.RETRY_LONG_BACKOFF_MS);try{let i=0;for(;i<this.retryCountLimit;){const n=yield fetch(this.ingestionURL,{method:"POST",headers:{Authorization:`Bearer ${this.authenticationToken}`},body:e});if(n.ok||!l.SENDING_FAILURE_CODES.has(n.status))return n;if(this.logger.warn(`Will retry sending failure for ${e} due to status code ${n.status}.`),i++,i<this.retryCountLimit){const e=t.nextBackoffAmountMs();yield c.wait(e)}}if(i===this.retryCountLimit)throw new Error(`Retry count limit reached for ${e}`)}catch(e){throw e}})}sendBeacon(){return n(this,void 0,void 0,function*(){const e=this.buffer;if(this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out buffer events ${JSON.stringify(e)}`),this.buffer=[],this.currentIngestionEvent.payloads.length>0){const t=this.deepCopyCurrentIngestionEvent(this.currentIngestionEvent);e.push(t),this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out current ingestion event ${JSON.stringify(t)}`),this.currentIngestionEvent=this.initializeAndGetCurrentIngestionEvent()}if(this.failedIngestionEvents.length>0){const t=this.failedIngestionEvents.map(e=>this.deepCopyCurrentIngestionEvent(e));e.push(...t),this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out any failed ingestion event ${JSON.stringify(t)}`),this.failedIngestionEvents=[]}if(this.cancellableEvents.size>
21380&&(this.cancellableEvents.forEach(t=>{e.push(...t),this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - clearing out each cancellable event ${JSON.stringify(t)}`)}),this.cancellableEvents.clear()),0===e.length)return;const t=this.makeBeaconRequestBody(e);this.logger.debug(`Event Reporting - InMemoryJSONEventBuffer - sendBeacon - beacon data to send ${t}`);try{navigator.sendBeacon(`${this.ingestionURL}?beacon=1`,t)||this.logger.warn(`Event Reporting - Browser failed to queue beacon data ${t}`)}catch(e){this.logger.warn(`Event Reporting - Sending beacon data ${t} failed with error ${e}`)}})}reset(){this.maxBufferCapacityBytes=0,this.totalBufferItems=0,this.buffer=[],this.bufferSize=0,this.maxBufferItemCapacityBytes=0,this.ingestionEventSize=0,this.flushIntervalMs=0,this.flushSize=0,this.failedIngestionEvents=[],this.lock=!1,this.beaconEventListener=void 0,this.cancellableEvents.clear()}destroy(){return n(this,void 0,void 0,function*(){this.stop(),this.reset()})}}t.default=l,l.SENDING_FAILURE_CODES=new Set([408,429,500,502,503,504]),l.RETRY_FIXED_BACKOFF_WAIT_MS=0,l.RETRY_SHORT_BACKOFF_MS=1e3,l.RETRY_LONG_BACKOFF_MS=15e3,l.MAX_PAYLOAD_ITEMS=2,l.MAX_ITEM_SIZE_BYTES_ALLOWED=3e3},76225(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e=5e3,t=2,i=64,n=100,r=15){this.flushIntervalMs=e,this.flushSize=t,this.maxBufferCapacityKb=i,this.totalBufferItems=n,this.retryCountLimit=r}}},92801(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.audioVideoEventAttributesFromState=void 0,t.audioVideoEventAttributesFromState=function(e){const t={};return null!==e.startTimeMs&&(t.meetingDurationMs=Math.round(Date.now()-e.startTimeMs)),null!==e.signalingOpenDurationMs&&(t.signalingOpenDurationMs=e.signalingOpenDurationMs),null!==e.iceGatheringDurationMs&&(t.iceGatheringDurationMs=e.iceGatheringDurationMs),null!==e.attendeePresenceDurationMs&&(t.attendeePresenceDurationMs=e.attendeePresenceDurationMs),null!==e.meetingStartDurationMs&&(t.meetingStartDurationMs=e.meetingStartDurationMs),void 0!==e.maxVideoTileCount&&(t.maxVideoTileCount=e.maxVideoTileCount),void 0!==e.poorConnectionCount&&(t.poorConnectionCount=e.poorConnectionCount),void 0!==e.retryCount&&(t.retryCount=e.retryCount),t}},57088(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(6660),s=i(45099),a=r(i(92847)),d=r(i(51453)),c=r(i(68212)),l=r(i(91365)),u=r(i(40961)),h=r(i(95764));class p{constructor(e,t,i){var n,r,s,a,d,c,l;this.meetingHistoryStates=[],this.observerSet=new Set,this.destroyed=!1,this.logger=t,this.configuration=e,this.setupEventReporter(e,t,i);try{this.parserResult=navigator&&navigator.userAgent?new o.UAParser(navigator.userAgent).getResult():null}catch(e){this.logger.error(e.message)}this.browserMajorVersion=(null===(s=null===(r=null===(n=this.parserResult)||void 0===n?void 0:n.browser)||void 0===r?void 0:r.version)||void 0===s?void 0:s.split(".")[0])||p.UNAVAILABLE,this.browserName=(null===(a=this.parserResult)||void 0===a?void 0:a.browser.name)||p.UNAVAILABLE,this.browserVersion=(null===(d=this.parserResult)||void 0===d?void 0:d.browser.version)||p.UNAVAILABLE,this.deviceName=[(null===(c=this.parserResult)||void 0===c?void 0:c.device.vendor)||"",(null===(l=this.parserResult)||void 0===l?void 0:l.device.model)||""].join(" ").trim()||p.UNAVAILABLE}addObserver(e){this.observerSet.add(e)}removeObserver(e){this.observerSet.delete(e)}forEachObserver(e){for(const t of this.observerSet)l.default.nextTick(()=>{this.observerSet.has(t)&&e(t)})}publishEvent(e,t){return n(this,void 0,void 0,function*(){const i=Date.now();this.meetingHistoryStates.push({name:e,timestampMs:i});const n=Object.freeze(Object.assign(this.getAttributes(i),t));this.forEachObserver(t=>{t.eventDidReceive(e,n)}),this.reportEvent(e,i,t)})}reportEvent(e,t,i){var r;return n(this,void 0,void 0,function*(){let n;try{i&&(n=h.default(i)),yield null===(r=this.eventReporter)||void 0===r?void 0:r.reportEvent(t,e,n)}catch(e){this.logger.error(`Error reporting event ${e}`)}})}setupEventReporter(e,t,i){if(i)this._eventReporter=i;else if(e.urls){const i=e.urls.eventIngestionURL;if(i){this.logger.info("Event ingestion URL is present in the configuration");const{meetingId:n,credentials:{attendeeId:r,joinToken:o}}=e,s=new c.default(n,r,o),l=new a.default(s,i);this._eventReporter=new d.default(l,t)}}}getAttributes(e){var t,i;return{attendeeId:this.configuration.credentials.attendeeId,browserMajorVersion:this.browserMajorVersion,browserName:this.browserName,browserVersion:this.browserVersion,deviceName:this.deviceName,externalMeetingId:"string"==typeof this.configuration.externalMeetingId?this.configuration.externalMeetingId:"",externalUserId:this.configuration.credentials.externalUserId,meetingHistory:this.meetingHistoryStates,meetingId:this.configuration.meetingId,osName:(null===(t=this.parserResult)||void 0===t?void 0:t.os.name)||p.UNAVAILABLE,osVersion:(null===(i=this.parserResult)||void 0===i?void 0:i.os.version)||p.UNAVAILABLE,sdkVersion:u.default.sdkVersion,sdkName:u.default.sdkName,timestampMs:e}}get eventReporter(){return this._eventReporter}destroy(){return n(this,void 0,void 0,function*(){s.isDestroyable(this.eventReporter)&&(yield this.eventReporter.destroy()),this.logger=void 0,this.configuration=void 0,this._eventReporter=void 0,this.destroyed=!0})}}t.default=p,p.UNAVAILABLE="Unavailable"},95764(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>{const t={};for(const[i,n]of Object.entries(e))if(null!=n&&""!==n){if("number"!=typeof n&&"string"!=typeof n)throw new TypeError("Unhandled type received while flattening attributes.");t[i]=n}return t}},92847(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(76225));t.default=class{constructor(e,t,i=new r.default){this.eventsClientConfiguration=e,this.ingestionURL=t,this.eventBufferConfiguration=i}}},51453(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(45099),s=r(i(34853));t.default=class{constructor(e,t){this.reportingEvents=!1,this.importantEvents=["meetingEnded","meetingFailed","meetingStartFailed","audioInputFailed","videoInputFailed","meetingStartSucceeded","deviceLabelTriggerFailed"],this.destroyed=!1;const{eventsClientConfiguration:i,ingestionURL:n,eventBufferConfiguration:r}=e,{eventsToIgnore:o}=i;this.eventBuffer=new s.default(r,i,n,this.importantEvents,t),this.logger=t,this.eventsToIgnore=o,this.start()}start(){if(!this.reportingEvents)try{this.eventBuffer.start(),this.logger.info("Event reporting started"),this.reportingEvents=!0}catch(e){this.logger.error(`Event Reporting - Error starting the event buffer ${e}`)}}stop(){if(this.reportingEvents)try{this.eventBuffer.stop(),this.logger.info("Event reporting stopped"),this.reportingEvents=!1}catch(e){this.logger.error(`Event Reporting - Error stopping the event buffer ${e}`)}}reportEvent(e,t,i){return n(this,void 0,void 0,function*(){if(this.logger.debug(`Event Reporting - DefaultMeetingEventReporter - event received in reportEvent ${e}, ${t}, ${JSON.stringify(i)}`),this.eventsToIgnore.includes(t))this.logger.debug(`Event Reporting - DefaultMeetingEventReporter - ${t} event will be ignored as it is in events to ignore`);else try{this.logger.debug("Event Reporting - DefaultMeetingEventReporter - adding item to event buffer"),yield this.eventBuffer.addItem({ts:e,name:t,attributes:i})}catch(e){this.logger.error(`Event Reporting - Error adding event to buffer ${e}`)}})}destroy(){return n(this,void 0,void 0,function*(){this.destroyed=!0,this.stop(),o.isDestroyable(this.eventBuffer)&&this.eventBuffer.destroy(),this.eventBuffer=void 0})}}},60207(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){}reportEvent(e,t,i){}start(){}stop(){}}},68212(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i,n=[]){this.type="Meet",this.v=1,this.meetingId=e,this.attendeeId=t,this.eventsToIgnore=n,this.authenticationToken=i}getAuthenticationToken(){return this.authenticationToken}toJSON(){const e={};return e.type=this.type,e.v=this.v,e.meetingId=this.meetingId,e.attendeeId=this.attendeeId,e}}},53028(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultEventController=t.DefaultDevicePixelRatioMonitor=t.DefaultDeviceController=t.DefaultContentShareController=t.DefaultBrowserBehavior=t.DefaultAudioVideoFacade=t.DefaultAudioVideoController=t.DefaultAudioMixController=t.DefaultActiveSpeakerPolicy=t.DefaultActiveSpeakerDetector=t.DataMessage=t.CreateSDPTask=t.CreatePeerConnectionTask=t.ContentShareMediaStreamBroker=t.ContentShareConstants=t.ConsoleLogger=t.ConnectionHealthPolicyConfiguration=t.ConnectionHealthData=t.ClientVideoStreamReceivingReport=t.ClientMetricReportMediaType=t.ClientMetricReportDirection=t.ClientMetricReport=t.CleanStoppedSessionTask=t.CleanRestartedSessionTask=t.CheckVideoInputFeedback=t.CheckVideoConnectivityFeedback=t.CheckNetworkUDPC
2138onnectivityFeedback=t.CheckNetworkTCPConnectivityFeedback=t.CheckContentShareConnectivityFeedback=t.CheckCameraResolutionFeedback=t.CheckAudioOutputFeedback=t.CheckAudioInputFeedback=t.CheckAudioConnectivityFeedback=t.CanvasVideoFrameBuffer=t.CSPMonitor=t.BitrateParameters=t.BaseTask=t.BaseConnectionHealthPolicy=t.BackgroundReplacementVideoFrameProcessor=t.BackgroundFilterVideoFrameProcessor=t.BackgroundBlurVideoFrameProcessor=t.BackgroundBlurStrength=t.AudioVideoControllerState=t.AudioProfile=t.AudioLogEvent=t.Attendee=t.AttachMediaInputTask=t.AsyncScheduler=t.ApplicationMetadata=t.AllHighestVideoBandwidthPolicy=void 0,t.MeetingFeatures=t.MeetingEventsClientConfiguration=t.MediaDeviceProxyHandler=t.Maybe=t.LogLevel=t.Log=t.ListenForVolumeIndicatorsTask=t.LeaveAndReceiveLeaveAckTask=t.JoinAndReceiveIndexTask=t.IntervalScheduler=t.InMemoryJSONEventBuffer=t.GlobalMetricReport=t.GetUserMediaError=t.FullJitterLimitedBackoff=t.FullJitterBackoffFactory=t.FullJitterBackoff=t.FinishGatheringICECandidatesTask=t.EventIngestionConfiguration=t.EventBufferConfiguration=t.DeviceSelection=t.DevicePixelRatioWindowSource=t.DefaultWebSocketAdapter=t.DefaultVolumeIndicatorAdapter=t.DefaultVideoTransformDevice=t.DefaultVideoTileFactory=t.DefaultVideoTileController=t.DefaultVideoTile=t.DefaultVideoStreamIndex=t.DefaultVideoStreamIdSet=t.DefaultVideoFrameProcessorTimer=t.DefaultVideoFrameProcessorPipeline=t.DefaultVideoElementResolutionMonitor=t.DefaultVideoCaptureAndEncodeParameter=t.DefaultUserAgentParser=t.DefaultTranscriptionController=t.DefaultTransceiverController=t.DefaultSimulcastUplinkPolicyForContentShare=t.DefaultSimulcastUplinkPolicy=t.DefaultSignalingClient=t.DefaultSigV4=t.DefaultSessionStateController=t.DefaultReconnectController=t.DefaultRealtimeController=t.DefaultPingPong=t.DefaultModality=t.DefaultMessagingSession=t.DefaultMeetingSession=t.DefaultMeetingReadinessChecker=t.DefaultMeetingEventReporter=t.DefaultMediaDeviceFactory=void 0,t.RedundantAudioEncoder=t.ReconnectionHealthPolicy=t.ReceiveVideoStreamIndexTask=t.ReceiveVideoInputTask=t.ReceiveRemoteVideoPauseResumeTask=t.ReceiveAudioInputTask=t.RealtimeVolumeIndicator=t.RealtimeState=t.RealtimeAttendeePositionInFrame=t.PromoteToPrimaryMeetingTask=t.PromiseQueue=t.PrefetchSortBy=t.PrefetchOn=t.PermissionDeniedError=t.ParallelGroupTask=t.POSTLogger=t.OverconstrainedError=t.OpenSignalingConnectionTask=t.OnceTask=t.NotReadableError=t.NotFoundError=t.None=t.NoVideoUplinkBandwidthPolicy=t.NoVideoDownlinkBandwidthPolicy=t.NoOpVideoFrameProcessor=t.NoOpVideoElementFactory=t.NoOpTask=t.NoOpMediaStreamBroker=t.NoOpLogger=t.NoOpEventReporter=t.NoOpDeviceController=t.NoOpDebugLogger=t.NoOpAudioVideoController=t.NScaleVideoUplinkBandwidthPolicy=t.MutableVideoPreferences=t.MultiLogger=t.MonitorTask=t.ModelSpecBuilder=t.MessagingSessionConfiguration=t.Message=t.MeetingSessionVideoAvailability=t.MeetingSessionURLs=t.MeetingSessionTURNCredentials=t.MeetingSessionStatusCode=t.MeetingSessionStatus=t.MeetingSessionLifecycleEventCondition=t.MeetingSessionLifecycleEvent=t.MeetingSessionCredentials=t.MeetingSessionConfiguration=t.MeetingReadinessCheckerConfiguration=void 0,t.VideoEncodingConcurrentSendersHealthPolicy=t.VideoCodecCapability=t.VideoAdaptiveProbePolicy=t.Versioning=t.UnusableAudioWarningConnectionHealthPolicy=t.TypeError=t.TranscriptionStatusType=t.TranscriptionStatus=t.TranscriptResult=t.TranscriptLanguageWithScore=t.TranscriptItemType=t.TranscriptItem=t.TranscriptEntity=t.TranscriptAlternative=t.Transcript=t.TimeoutTask=t.TimeoutScheduler=t.TaskStatus=t.TargetDisplaySize=t.SubscribeAndReceiveSubscribeAckTask=t.StreamMetricReport=t.Some=t.SingleNodeAudioTransformDevice=t.SimulcastVideoStreamIndex=t.SimulcastTransceiverController=t.SimulcastLayers=t.SimulcastContentShareTransceiverController=t.SignalingClientVideoSubscriptionConfiguration=t.SignalingClientSubscribe=t.SignalingClientJoin=t.SignalingClientEventType=t.SignalingClientEvent=t.SignalingClientConnectionRequest=t.SignalingAndMetricsConnectionMonitor=t.SetRemoteDescriptionTask=t.SetLocalDescriptionTask=t.SessionStateControllerTransitionResult=t.SessionStateControllerState=t.SessionStateControllerDeferPriority=t.SessionStateControllerAction=t.ServerSideNetworkAdaption=t.SerialGroupTask=t.SendingAudioFailureConnectionHealthPolicy=t.SendAnd
2138ReceiveDataMessagesTask=t.SDPMediaSection=t.SDPCandidateType=t.SDP=t.RunnableTask=t.RedundantAudioRecoveryMetricReport=t.RedundantAudioEncoderWorkerCode=void 0,t.isVideoTransformDevice=t.isDestroyable=t.isAudioTransformDevice=t.ZLIBTextCompressor=t.WebSocketReadyState=t.WaitForAttendeePresenceTask=t.VoiceFocusTransformDevice=t.VoiceFocusDeviceTransformer=t.VideoTileState=t.VideoStreamDescription=t.VideoSource=t.VideoQualitySettings=t.VideoQualityAdaptationPreference=t.VideoPriorityBasedPolicyConfig=t.VideoPriorityBasedPolicy=t.VideoPreferences=t.VideoPreference=t.VideoOnlyTransceiverController=t.VideoLogEvent=t.VideoFxProcessor=t.VideoEncodingFramerateConnectionHealthPolicy=t.VideoEncodingCpuConnectionHealthPolicy=t.VideoEncodingConnectionHealthPolicyName=void 0;const r=n(i(12712));t.AllHighestVideoBandwidthPolicy=r.default;const o=n(i(56251));t.ApplicationMetadata=o.default;const s=n(i(91365));t.AsyncScheduler=s.default;const a=n(i(33914));t.AttachMediaInputTask=a.default;const d=n(i(705));t.Attendee=d.default;const c=n(i(65479));t.AudioLogEvent=c.default;const l=n(i(6895));t.AudioProfile=l.default;const u=n(i(97474));t.AudioVideoControllerState=u.default;const h=n(i(20330));t.BackgroundBlurStrength=h.default;const p=n(i(13723));t.BackgroundBlurVideoFrameProcessor=p.default;const f=n(i(94593));t.BackgroundFilterVideoFrameProcessor=f.default;const m=n(i(94081));t.BackgroundReplacementVideoFrameProcessor=m.default;const g=n(i(97640));t.BaseConnectionHealthPolicy=g.default;const v=n(i(80414));t.BaseTask=v.default;const b=n(i(22957));t.BitrateParameters=b.default;const y=n(i(6393));t.CSPMonitor=y.default;const S=n(i(43745));t.CanvasVideoFrameBuffer=S.default;const w=n(i(96587));t.CheckAudioConnectivityFeedback=w.default;
2138const C=n(i(29040));t.CheckAudioInputFeedback=C.default;const k=n(i(54453));t.CheckAudioOutputFeedback=k.default;const E=n(i(27123));t.CheckCameraResolutionFeedback=E.default;const T=n(i(8781));t.CheckContentShareConnectivityFeedback=T.default;const I=n(i(3700));t.CheckNetworkTCPConnectivityFeedback=I.default;const x=n(i(95840));t.CheckNetworkUDPConnectivityFeedback=x.default;const A=n(i(99874));t.CheckVideoConnectivityFeedback=A.default;const P=n(i(56183));t.CheckVideoInputFeedback=P.default;const O=n(i(94594));t.CleanRestartedSessionTask=O.default;const _=n(i(57979));t.CleanStoppedSessionTask=_.default;const M=n(i(48107));t.ClientMetricReport=M.default;const R=n(i(19542));t.ClientMetricReportDirection=R.default;const D=n(i(53551));t.ClientMetricReportMediaType=D.default;const F=n(i(84276));t.ClientVideoStreamReceivingReport=F.default;const L=n(i(2579));t.ConnectionHealthData=L.default;const N=n(i(87811));t.ConnectionHealthPolicyConfiguration=N.default;const B=n(i(38936));t.ConsoleLogger=B.default;const V=n(i(40736));t.ContentShareConstants=V.default;const U=n(i(8892));t.ContentShareMediaStreamBroker=U.default;const j=n(i(15011));t.CreatePeerConnectionTask=j.default;const z=n(i(75192));t.CreateSDPTask=z.default;const $=n(i(26315));t.DataMessage=$.default;const H=n(i(77662));t.DefaultActiveSpeakerDetector=H.default;const W=n(i(13350));t.DefaultActiveSpeakerPolicy=W.default;const q=n(i(46704));t.DefaultAudioMixController=q.default;const K=n(i(88544));t.DefaultAudioVideoController=K.default;const G=n(i(11248));t.DefaultAudioVideoFacade=G.default;const J=n(i(98824));t.DefaultBrowserBehavior=J.default;const Q=n(i(13876));t.DefaultContentShareController=Q.default;const X=n(i(70536));t.DefaultDeviceController=X.default;const Z=n(i(61858));t.DefaultDevicePixelRatioMonitor=Z.default;const Y=n(i(57088));t.DefaultEventController=Y.default;const ee=n(i(84620));t.DefaultMediaDeviceFactory=ee.default;const te=n(i(51453));t.DefaultMeetingEventReporter=te.default;const ie=n(i(32408));t.DefaultMeetingReadinessChecker=ie.default;const ne=n(i(41136));t.DefaultMeetingSession=ne.default;const re=n(i(91324));t.DefaultMessagingSession=re.default;const oe=n(i(38148));t.DefaultModality=oe.default;const se=n(i(98624));t.DefaultPingPong=se.default;const ae=n(i(5928));t.DefaultRealtimeController=ae.default;const de=n(i(12330));t.DefaultReconnectController=de.default;const ce=n(i(38828));t.DefaultSessionStateController=ce.default;const le=n(i(1834));t.DefaultSigV4=le.default;const ue=n(i(27014));t.DefaultSignalingClient=ue.default;const he=n(i(29671));t.DefaultSimulcastUplinkPolicy=he.default;const pe=n(i(45936));t.DefaultSimulcastUplinkPolicyForContentShare=pe.default;const fe=n(i(61472));t.DefaultTransceiverController=fe.default;const me=n(i(66456));t.DefaultTranscriptionController=me.default;const ge=n(i(36594));t.DefaultUserAgentParser=ge.default;const ve=n(i(95480));t.DefaultVideoCaptureAndEncodeParameter=ve.default;const be=n(i(94958));t.DefaultVideoElementResolutionMonitor=be.default;const ye=n(i(94422));t.DefaultVideoFrameProcessorPipeline=ye.default;const Se=n(i(70447));t.DefaultVideoFrameProcessorTimer=Se.default;const we=n(i(32648));t.DefaultVideoStreamIdSet=we.default;const Ce=n(i(50196));t.DefaultVideoStreamIndex=Ce.default;const ke=n(i(60686));t.DefaultVideoTile=ke.default;const Ee=n(i(95570));t.DefaultVideoTileController=Ee.default;const Te=n(i(75824));t.DefaultVideoTileFactory=Te.default;const Ie=n(i(3765));t.DefaultVideoTransformDevice=Ie.default;const xe=n(i(48096));t.DefaultVolumeIndicatorAdapter=xe.default;const Ae=n(i(9944));t.DefaultWebSocketAdapter=Ae.default;const Pe=n(i(65517));t.DevicePixelRatioWindowSource=Pe.default;const Oe=n(i(60135));t.DeviceSelection=Oe.default;const _e=n(i(76225));t.EventBufferConfiguration=_e.default;const Me=n(i(92847));t.EventIngestionConfiguration=Me.default;const Re=n(i(99174));t.FinishGatheringICECandidatesTask=Re.default;const De=n(i(50638));t.FullJitterBackoff=De.default;const Fe=n(i(78710));t.FullJitterBackoffFactory=Fe.default;const Le=n(i(61714));t.FullJitterLimitedBackoff=Le.default;const Ne=n(i(56474));t.GetUserMediaError=Ne.default;const Be=n(i(95963));t.GlobalMetricReport=Be.default;const Ve=n(i(34853));t.InMemoryJSONEventBuffer=Ve.default;const Ue=n(i(2228));
2138t.IntervalScheduler=Ue.default;const je=n(i(59811));t.JoinAndReceiveIndexTask=je.default;const ze=n(i(28708));t.LeaveAndReceiveLeaveAckTask=ze.default;const $e=n(i(51811));t.ListenForVolumeIndicatorsTask=$e.default;const He=n(i(2463));t.Log=He.default;const We=n(i(70305));t.LogLevel=We.default;const qe=n(i(42995));t.MediaDeviceProxyHandler=qe.default;const Ke=n(i(68212));t.MeetingEventsClientConfiguration=Ke.default;const Ge=n(i(85756));t.MeetingFeatures=Ge.default;const Je=n(i(68501));t.MeetingReadinessCheckerConfiguration=Je.default;const Qe=n(i(5481));t.MeetingSessionConfiguration=Qe.default;const Xe=n(i(24981));t.MeetingSessionCredentials=Xe.default;const Ze=n(i(74015));t.MeetingSessionLifecycleEvent=Ze.default;const Ye=n(i(318));t.MeetingSessionLifecycleEventCondition=Ye.default;const et=n(i(60169));t.MeetingSessionStatus=et.default;const tt=n(i(77376));t.MeetingSessionStatusCode=tt.default;const it=n(i(50656));t.MeetingSessionTURNCredentials=it.default;const nt=n(i(8133));t.MeetingSessionURLs=nt.default;const rt=n(i(79375));t.MeetingSessionVideoAvailability=rt.default;const ot=n(i(59003));t.Message=ot.default;const st=n(i(75271));t.MessagingSessionConfiguration=st.default;const at=n(i(38679));t.ModelSpecBuilder=at.default;const dt=n(i(99759));t.MonitorTask=dt.default;const ct=n(i(64328));t.MultiLogger=ct.default;const lt=n(i(43867));t.NScaleVideoUplinkBandwidthPolicy=lt.default;const ut=n(i(37043));t.NoOpAudioVideoController=ut.default;const ht=n(i(1514));t.NoOpDebugLogger=ht.default;const pt=n(i(90073));t.NoOpDeviceController=pt.default;const ft=n(i(60207));t.NoOpEventReporter=ft.default;const mt=n(i(91229));t.NoOpLogger=mt.default;const gt=n(i(62499));t.NoOpMediaStreamBroker=gt.default;const vt=n(i(58587));t.NoOpTask=vt.default;const bt=n(i(43923));t.NoOpVideoElementFactory=bt.default;const yt=n(i(25667));t.NoOpVideoFrameProcessor=yt.default;const St=n(i(53182));t.NoVideoDownlinkBandwidthPolicy=St.default;const wt=n(i(6980));t.NoVideoUplinkBandwidthPolicy=wt.default;const Ct=n(i(95564));t.NotFoundError=Ct.default;const kt=n(i(35434));t.NotReadableError=kt.default;const Et=n(i(19354));t.OnceTask=Et.default;const Tt=n(i(90677));t.OpenSignalingConnectionTask=Tt.default;const It=n(i(95683));t.OverconstrainedError=It.default;const xt=n(i(17391));t.POSTLogger=xt.default;const At=n(i(28763));t.ParallelGroupTask=At.default;const Pt=n(i(32865));t.PermissionDeniedError=Pt.default;const Ot=n(i(19739));t.PrefetchOn=Ot.default;const _t=n(i(21851));t.PrefetchSortBy=_t.default;const Mt=n(i(1e4));t.PromiseQueue=Mt.default;const Rt=n(i(14023));t.PromoteToPrimaryMeetingTask=Rt.default;const Dt=n(i(45084));t.RealtimeAttendeePositionInFrame=Dt.default;const Ft=n(i(68018));t.RealtimeState=Ft.default;const Lt=n(i(85728));t.RealtimeVolumeIndicator=Lt.default;const Nt=n(i(44358));t.ReceiveAudioInputTask=Nt.default;const Bt=n(i(6966));t.ReceiveRemoteVideoPauseResumeTask=Bt.default;const Vt=n(i(47689));t.ReceiveVideoInputTask=Vt.default;const Ut=n(i(72313));t.ReceiveVideoStreamIndexTask=Ut.default;const jt=n(i(24152));t.ReconnectionHealthPolicy=jt.default;const zt=n(i(10899));t.RedundantAudioEncoder=zt.default;const $t=n(i(17107));t.RedundantAudioEncoderWorkerCode=$t.default;const Ht=n(i(39358));t.RedundantAudioRecoveryMetricReport=Ht.default;const Wt=n(i(56282));t.RunnableTask=Wt.default;const qt=n(i(21287));t.SDP=qt.default;const Kt=n(i(40334));t.SDPCandidateType=Kt.default;const Gt=n(i(3960));t.SDPMediaSection=Gt.default;const Jt=n(i(35299));t.SendAndReceiveDataMessagesTask=Jt.default;const Qt=n(i(22967));t.SendingAudioFailureConnectionHealthPolicy=Qt.default;const Xt=n(i(74478));t.SerialGroupTask=Xt.default;const Zt=n(i(35928));t.ServerSideNetworkAdaption=Zt.default;const Yt=n(i(84217));t.SessionStateControllerAction=Yt.default;const ei=n(i(38199));t.SessionStateControllerDeferPriority=ei.default;const ti=n(i(52818));t.SessionStateControllerState=ti.default;const ii=n(i(42985));t.SessionStateControllerTransitionResult=ii.default;const ni=n(i(74218));t.SetLocalDescriptionTask=ni.default;const ri=n(i(97632));t.SetRemoteDescriptionTask=ri.default;const oi=n(i(51569));t.SignalingAndMetricsConnectionMonitor=oi.default;const si=n(i(33774));t.SignalingClientConnectionRequest=si.default;const ai=n(i(23907));t.SignalingClientEvent=ai.default;const di=n(i(10587));t.SignalingClientEventType=di.default;const ci=n(i(62059));t.SignalingClientJoin=ci.default;const li=n(i(5667));t.SignalingClientSubscribe=li.default;const ui=n(i(97375));t.SignalingClientVideoSubscriptionConfiguration=ui.default;const hi=n(i(88284));t.SimulcastContentShareTransceiverController=hi.default;const pi=n(i(3739));t.SimulcastLayers=pi.default;const fi=n(i(26216));t.SimulcastTransceiverController=fi.default;const mi=n(i(26316));t.SimulcastVideoStreamIndex=mi.default;const gi=n(i(67543));t.SingleNodeAudioTransformDevice=gi.default;const vi=n(i(86216));t.StreamMetricReport=vi.default;const bi=n(i(95814));t.SubscribeAndReceiveSubscribeAckTask=bi.default;const yi=n(i(30159));t.TargetDisplaySize=yi.default;const Si=n(i(5217));t.TaskStatus=Si.default;const wi=n(i(50448));
2138t.TimeoutScheduler=wi.default;const Ci=n(i(71630));t.TimeoutTask=Ci.default;const ki=n(i(75221));t.Transcript=ki.default;const Ei=n(i(374));t.TranscriptAlternative=Ei.default;const Ti=n(i(38922));t.TranscriptEntity=Ti.default;const Ii=n(i(62730));t.TranscriptItem=Ii.default;const xi=n(i(71714));t.TranscriptItemType=xi.default;const Ai=n(i(3093));t.TranscriptLanguageWithScore=Ai.default;const Pi=n(i(25312));t.TranscriptResult=Pi.default;const Oi=n(i(2673));t.TranscriptionStatus=Oi.default;const _i=n(i(32897));t.TranscriptionStatusType=_i.default;const Mi=n(i(93405));t.TypeError=Mi.default;const Ri=n(i(60588));t.UnusableAudioWarningConnectionHealthPolicy=Ri.default;const Di=n(i(40961));t.Versioning=Di.default;const Fi=n(i(80728));t.VideoAdaptiveProbePolicy=Fi.default;const Li=n(i(96357));t.VideoCodecCapability=Li.default;const Ni=n(i(5970));t.VideoEncodingConcurrentSendersHealthPolicy=Ni.default;const Bi=n(i(18412));t.VideoEncodingConnectionHealthPolicyName=Bi.default;const Vi=n(i(48021));t.VideoEncodingCpuConnectionHealthPolicy=Vi.default;const Ui=n(i(52580));t.VideoEncodingFramerateConnectionHealthPolicy=Ui.default;const ji=n(i(74227));t.VideoFxProcessor=ji.default;const zi=n(i(37282));t.VideoLogEvent=zi.default;const $i=n(i(21204));t.VideoOnlyTransceiverController=$i.default;const Hi=n(i(4553));t.VideoPreference=Hi.default;const Wi=n(i(7980));t.VideoPreferences=Wi.default;const qi=n(i(31975));t.VideoPriorityBasedPolicy=qi.default;const Ki=n(i(66593));t.VideoPriorityBasedPolicyConfig=Ki.default;const Gi=n(i(62531));t.VideoQualityAdaptationPreference=Gi.default;const Ji=n(i(28586));t.VideoQualitySettings=Ji.default;const Qi=n(i(23487));t.VideoSource=Qi.default;const Xi=n(i(29173));t.VideoStreamDescription=Xi.default;const Zi=n(i(87682));t.VideoTileState=Zi.default;const Yi=n(i(97116));t.VoiceFocusDeviceTransformer=Yi.default;const en=n(i(48163));t.VoiceFocusTransformDevice=en.default;const tn=n(i(77718));t.WaitForAttendeePresenceTask=tn.default;const nn=n(i(90428));t.WebSocketReadyState=nn.default;const rn=n(i(21467));t.ZLIBTextCompressor=rn.default;const on=i(7980);Object.defineProperty(t,"MutableVideoPreferences",{enumerable:!0,get:function(){return on.MutableVideoPreferences}});const sn=i(89419);Object.defineProperty(t,"Some",{enumerable:!0,get:function(){return sn.Some}}),Object.defineProperty(t,"None",{enumerable:!0,get:function(){return sn.None}}),Object.defineProperty(t,"Maybe",{enumerable:!0,get:function(){return sn.Maybe}});const an=i(22975);Object.defineProperty(t,"isAudioTransformDevice",{enumerable:!0,get:function(){return an.isAudioTransformDevice}});const dn=i(45099);Object.defineProperty(t,"isDestroyable",{enumerable:!0,get:function(){return dn.isDestroyable}});const cn=i(21260);Object.defineProperty(t,"isVideoTransformDevice",{enumerable:!0,get:function(){return cn.isVideoTransformDevice}})},38936(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(70305));t.default=class{constructor(e,t=r.default.WARN){this.name=e,this.level=t}info(e){this.log(r.default.INFO,e)}warn(e){this.log(r.default.WARN,e)}error(e){this.log(r.default.ERROR,e)}debug(e){r.default.DEBUG<this.level||("string"==typeof e?this.log(r.default.DEBUG,e):e?this.log(r.default.DEBUG,e()):this.log(r.default.DEBUG,""+e))}setLogLevel(e){this.level=e}getLogLevel(){return this.level}log(e,t){if(e<this.level)return;const i=`${(new Date).toISOString()} [${r.default[e]}] ${this.name} - ${t}`;switch(e){case r.default.ERROR:console.error(i);break;case r.default.WARN:console.warn(i);break;case r.default.DEBUG:console.debug(i.replace(/\\r\\n/g,"\n"));break;case r.default.INFO:console.info(i)}}}},2463(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i,n){this.sequenceNumber=e,this.message=t,this.timestampMs=i,this.logLevel=n}}},70305(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.LogLevel=void 0,function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.OFF=4]="OFF"}(i=t.LogLevel||(t.LogLevel={})),t.default=i},64328(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(70305));t.default=class{constructor(...e){this._loggers=e}info(e){for(const t of this._loggers)t.info(e)}warn(e){for(const t of this._loggers)t.warn(e)}error(e){for(const t of this._loggers)t.error(e)}debug(e){let t,i;i="string"==typeof e?e:e?()=>(t||(t=e()),t):""+e;for(const e of this._loggers)e.debug(i)}setLogLevel(e){for(const t of this._loggers)t.setLogLevel(e)}getLogLevel(){for(const e of this._loggers)return e.getLogLevel();return r.default.OFF}}},1514(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(70305)),o=n(i(91229));class s extends o.default{constructor(){super(r.default.DEBUG)}}t.default=s},91229(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(70305));t.default=class{constructor(e=r.default.OFF){this.level=e}info(e){}warn(e){}error(e){}debug(e){r.default.DEBUG<this.level||"string"!=typeof e&&e()}setLogLevel(e){this.level=e}getLogLevel(){return this.level}}},17391(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(2228)),s=r(i(2463)),a=r(i(70305));class d{constructor(e){this.logCapture=[],this.lock=!1,this.sequenceNumber=0;const{url:t,batchSize:i=d.BATCH_SIZE,intervalMs:n=d.INTERVAL_MS,logLevel:r=a.default.WARN,metadata:o,headers:s}=e;this.url=t,this.batchSize=i,this.intervalMs=n,this.logLevel=r,this.metadata=o,this.headers=s,this.start(),this.eventListener=()=>{this.stop()},this.addEventListener()}addEventListener(){this.eventListener&&"window"in i.g&&window.addEventListener&&window.addEventListener("unload",this.eventListener)}removeEventListener(){this.eventListener&&"window"in i.g&&window.removeEventListener&&window.removeEventListener("unload",this.eventListener)}debug(e){a.default.DEBUG<this.logLevel||("string"==typeof e?this.log(a.default.DEBUG,e):e?this.log(a.default.DEBUG,e()):this.log(a.default.DEBUG,""+e))}info(e){this.log(a.default.INFO,e)}warn(e){this.log(a.default.WARN,e)}error(e){this.log(a.default.ERROR,e)}setLogLevel(e){this.logLevel=e}getLogLevel(){return this.logLevel}getLogCaptureSize(){return this.logCapture.length}start(){this.addEventListener(),this.intervalScheduler=new o.default(this.intervalMs),this.intervalScheduler.start(()=>n(this,void 0,void 0,function*(){if(!0===this.lock||0===this.getLogCaptureSize())return;this.lock=!0;const e=this.logCapture.slice(0,this.batchSize),t=this.makeRequestBody(e);try{200===(yield fetch(this.url,Object.assign({method:"POST",body:t},this.headers?{headers:this.headers}:{}))).status&&(this.logCapture=this.logCapture.slice(e.length))}catch(e){console.warn("[POSTLogger] "+e.message)}finally{this.lock=!1}}))}stop(){var e;null===(e=this.intervalScheduler)||void 0===e||e.stop(),this.intervalScheduler=void 0,this.removeEventListener();const t=this.makeRequestBody(this.logCapture);navigator.sendBeacon(this.url,t)}destroy(){return n(this,void 0,void 0,function*(){this.stop(),this.metadata=void 0,this.headers=void 0,this.logCapture=[],this.sequenceNumber=0,this.lock=!1,this.batchSize=0,this.intervalMs=0,this.url=void 0})}makeRequestBody(e){return JSON.stringify(Object.assign(Object.assign({},this.metadata),{logs:e}))}log(e,t){if(e<this.logLevel)return;const i=Date.now();this.logCapture.push(new s.default(this.sequenceNumber,t,i,a.default[e])),this.sequenceNumber+=1}}t.default=d,d.BATCH_SIZE=85,d.INTERVAL_MS=2e3},84620(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};
2138Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(42995));t.default=class{constructor(){this.isMediaDevicesSupported="undefined"!=typeof navigator&&!!navigator.mediaDevices}create(){if(this.isMediaDevicesSupported)return new Proxy(navigator.mediaDevices,new r.default);throw new Error("navigator.mediaDevices is not supported")}}},42995(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(91365)),s=r(i(2228));class a{constructor(){this.scheduler=null,this.devices=null,this.deviceChangeListeners=new Set,this.get=(e,t,i)=>{if(!Reflect.has(e,t))return;if(!("ondevicechange"in navigator.mediaDevices)){if("addEventListener"===t)return this.patchAddEventListener(e,t,i);if("removeEventListener"===t)return this.patchRemoveEventListener(e,t,i)}const n=Reflect.get(e,t,i);return"function"==typeof n?n.bind(e):n},this.patchAddEventListener=(e,t,i)=>{const n=Reflect.get(e,t,i);return(t,i,r)=>{if("devicechange"!==t)return Reflect.apply(n,e,[t,i,r]);this.deviceChangeListeners.add(i),this.scheduler||(this.scheduler=new s.default(a.INTERVAL_MS),this.scheduler.start(this.pollDeviceLists))}},this.patchRemoveEventListener=(e,t,i)=>{const n=Reflect.get(e,t,i);return(t,i,r)=>{if("devicechange"!==t)return Reflect.apply(n,e,[t,i,r]);this.deviceChangeListeners.delete(i),0===this.deviceChangeListeners.size&&this.scheduler&&(this.scheduler.stop(),this.scheduler=null)}},this.pollDeviceLists=()=>n(this,void 0,void 0,function*(){const e=yield this.sortedDeviceList();this.devices&&(e.length!==this.devices.length||e.some((e,t)=>e.deviceId!==this.devices[t].deviceId))&&this.handleDeviceChangeEvent(),this.devices=e})}sortedDeviceList(){return n(this,void 0,void 0,function*(){return(yield navigator.mediaDevices.enumerateDevices()).sort((e,t)=>e.deviceId<t.deviceId?1:e.deviceId>t.deviceId?-1:0)})}handleDeviceChangeEvent(){for(const e of this.deviceChangeListeners)o.default.nextTick(()=>{if(this.deviceChangeListeners.has(e)){const t=new Event("devicechange");"function"==typeof e?e(t):e.handleEvent(t)}})}}t.default=a,a.INTERVAL_MS=1e3},62499(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{acquireAudioInputStream(){return Promise.reject()}acquireVideoInputStream(){return Promise.reject()}acquireDisplayInputStream(e){return Promise.reject()}muteLocalAudioInputStream(){}unmuteLocalAudioInputStream(){}addMediaStreamBrokerObserver(e){}removeMediaStreamBrokerObserver(e){}}},96587(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckAudioConnectivityFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.AudioInputRequestFailed=1]="AudioInputRequestFailed",e[e.AudioInputPermissionDenied=2]="AudioInputPermissionDenied",e[e.ConnectionFailed=3]="ConnectionFailed",e[e.AudioNotReceived=4]="AudioNotReceived"}(i=t.CheckAudioConnectivityFeedback||(t.CheckAudioConnectivityFeedback={})),t.default=i},29040(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckAudioInputFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.PermissionDenied=2]="PermissionDenied"}(i=t.CheckAudioInputFeedback||(t.CheckAudioInputFeedback={})),t.default=i},54453(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckAudioOutputFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed"}(i=t.CheckAudioOutputFeedback||(t.CheckAudioOutputFeedback={})),t.default=i},27123(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckCameraResolutionFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.ResolutionNotSupported=2]="ResolutionNotSupported",e[e.PermissionDenied=3]="PermissionDenied"}(i=t.CheckCameraResolutionFeedback||(t.CheckCameraResolutionFeedback={})),t.default=i},8781(e,t){"use strict";var i;
2138Object.defineProperty(t,"__esModule",{value:!0}),t.CheckContentShareConnectivityFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.PermissionDenied=2]="PermissionDenied",e[e.TimedOut=3]="TimedOut",e[e.ConnectionFailed=4]="ConnectionFailed"}(i=t.CheckContentShareConnectivityFeedback||(t.CheckContentShareConnectivityFeedback={})),t.default=i},3700(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckNetworkTCPConnectivityFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.MeetingSessionURLsNotInitialized=1]="MeetingSessionURLsNotInitialized",e[e.ConnectionFailed=2]="ConnectionFailed",e[e.ICENegotiationFailed=3]="ICENegotiationFailed"}(i=t.CheckNetworkTCPConnectivityFeedback||(t.CheckNetworkTCPConnectivityFeedback={})),t.default=i},95840(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckNetworkUDPConnectivityFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.MeetingSessionURLsNotInitialized=1]="MeetingSessionURLsNotInitialized",e[e.ConnectionFailed=2]="ConnectionFailed",e[e.ICENegotiationFailed=3]="ICENegotiationFailed"}(i=t.CheckNetworkUDPConnectivityFeedback||(t.CheckNetworkUDPConnectivityFeedback={})),t.default=i},99874(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckVideoConnectivityFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.VideoInputRequestFailed=1]="VideoInputRequestFailed",e[e.VideoInputPermissionDenied=2]="VideoInputPermissionDenied",e[e.ConnectionFailed=3]="ConnectionFailed",e[e.VideoNotSent=4]="VideoNotSent"}(i=t.CheckVideoConnectivityFeedback||(t.CheckVideoConnectivityFeedback={})),t.default=i},56183(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.CheckVideoInputFeedback=void 0,function(e){e[e.Succeeded=0]="Succeeded",e[e.Failed=1]="Failed",e[e.PermissionDenied=2]="PermissionDenied"}(i=t.CheckVideoInputFeedback||(t.CheckVideoInputFeedback={})),t.default=i},32408(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(46704)),s=r(i(98824)),a=r(i(70536)),d=r(i(32865)),c=r(i(80414)),l=r(i(71630)),u=r(i(96587)),h=r(i(29040)),p=r(i(54453)),f=r(i(27123)),m=r(i(8781)),g=r(i(3700)),v=r(i(95840)),b=r(i(99874)),y=r(i(56183)),S=r(i(68501));class w{constructor(e,t,i=new S.default){this.logger=e,this.meetingSession=t,this.configuration=i,this.browserBehavior=new s.default}static delay(e){return n(this,void 0,void 0,function*(){return new Promise(t=>setTimeout(t,e))})}checkAudioInput(e){return n(this,void 0,void 0,function*(){try{return yield this.meetingSession.audioVideo.startAudioInput(e),yield this.meetingSession.audioVideo.stopAudioInput(),h.default.Succeeded}catch(e){return this.logger.error(`MeetingReadinessChecker: Audio input check failed with error ${e}`),e instanceof d.default?h.default.PermissionDenied:h.default.Failed}})}checkAudioOutput(e,t,i=null){return n(this,void 0,void 0,function*(){try{const n=e?a.default.getIntrinsicDeviceId(e):"";return yield this.playTone(n,this.configuration.audioOutputFrequency,i),(yield t())?p.default.Succeeded:p.default.Failed}catch(e){return this.logger.error(`MeetingReadinessChecker: Audio output check failed with error: ${e}`),p.default.Failed}finally{yield this.stopTone()}})}playTone(e,t,i){return n(this,void 0,void 0,function*(){const n=this.configuration.audioOutputGain;this.oscillatorNode&&(yield this.stopTone()),this.audioContext=a.default.getAudioContext(),this.gainNode=this.audioContext.createGain(),this.gainNode.gain.value=0,this.oscillatorNode=this.audioContext.createOscillator(),this.oscillatorNode.frequency.value=t,this.oscillatorNode.connect(this.gainNode),this.destinationStream=this.audioContext.createMediaStreamDestination(),this.gainNode.connect(this.destinationStream);const r=this.audioContext.currentTime+.1;this.gainNode.gain.setValueAtTime(0,r),this.gainNode.gain.linearRampToValueAtTime(n,r+.1),this.oscillatorNode.start();const s=new o.default(this.logger),d=i||new Audio,c=this.destinationStream.stream;this.audioElement=d;try{this.browserBehavior.supportsSetSinkId()&&(yield s.bindAudioDevice({deviceId:e}))}catch(e){this.logger.error(`Failed to bind audio device: ${e}`)}try{yield s.bindAudioElement(d)}catch(e){this.logger.error(`Failed to bind audio element: ${e}`)}yield s.bindAudioStream(c)})}stopTone(){return n(this,void 0,void 0,function*(){if(!(this.audioContext&&this.gainNode&&this.oscillatorNode&&this.destinationStream))return;const e=()=>{this.audioElement&&(this.audioElement.pause(),this.audioElement.srcObject=null),this.oscillatorNode&&this.gainNode&&this.oscillatorNode.disconnect(this.gainNode),this.gainNode&&this.destinationStream&&this.gainNode.disconnect(this.destinationStream),this.oscillatorNode=null,this.gainNode=null,this.destinationStream=null,this.audioElement=null},t=new Promise(t=>{this.oscillatorNode.addEventListener("ended",()=>{e(),t()},{once:!0})}),i=this.configuration.audioOutputGain,n=this.audioContext.currentTime;this.gainNode.gain.setValueAtTime(i,n),this.gainNode.gain.linearRampToValueAtTime(0,n+.1),this.oscillatorNode.stop(n+.1+.1),yield t})}checkVideoInput(e){return n(this,void 0,void 0,function*(){try{return yield this.meetingSession.audioVideo.startVideoInput(e),yield this.meetingSession.audioVideo.stopVideoInput(),y.default.Succeeded}catch(e){return this.logger.error(`MeetingReadinessChecker: Video check failed with error ${e}`),e instanceof d.default?y.default.PermissionDenied:y.default.Failed}})}checkCameraResolution(e,t,i){return n(this,void 0,void 0,function*(){let n;try{const r=a.default.getIntrinsicDeviceId(e),o={video:this.calculateVideoConstraint(r,t,i)};n=yield navigator.mediaDevices.getUserMedia(o)}catch(e){return this.logger.error(`MeetingReadinessChecker: Camera resolution check with width: ${t} height ${i} failed with error ${e}`),e&&"OverconstrainedError"===e.name?f.default.ResolutionNotSupported:e&&"NotAllowedError"===e.name?f.default.PermissionDenied:f.default.Failed}
2138finally{n&&n.getTracks().forEach(function(e){e.stop()})}return f.default.Succeeded})}calculateVideoConstraint(e,t,i){const n=this.browserBehavior.requiresResolutionAlignment(t,i),r={};return this.browserBehavior.requiresNoExactMediaStreamConstraints()?(r.deviceId=e,r.width=t,r.height=i):(r.deviceId={exact:e},r.width={exact:n[0]},r.height={exact:n[1]}),r}checkContentShareConnectivity(e){return n(this,void 0,void 0,function*(){let t=!1,i=!1;const r={contentShareDidStart:()=>{t=!0}},o={audioVideoDidStart:()=>{i=!0}};try{return this.meetingSession.audioVideo.addObserver(o),this.meetingSession.audioVideo.start(),this.meetingSession.audioVideo.addContentShareObserver(r),yield this.meetingSession.audioVideo.startContentShareFromScreenCapture(e),yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return i&&t})),i?(yield this.stopMeeting(),t?m.default.Succeeded:m.default.TimedOut):m.default.ConnectionFailed}catch(e){return this.logger.error(`MeetingReadinessChecker: Content share check failed with error ${e}`),"NotAllowedError"===e.name?m.default.PermissionDenied:m.default.Failed}finally{this.meetingSession.audioVideo.removeObserver(o),this.meetingSession.audioVideo.stopContentShare(),this.meetingSession.audioVideo.removeContentShareObserver(r)}})}checkAudioConnectivity(e){return n(this,void 0,void 0,function*(){let t=!1;const i={packetsReceived:0},r=this.meetingSession.audioVideo,o={metricsDidReceive(e){e.getRTCStatsReport().forEach(e=>
2138{"inbound-rtp"!==e.type||"audio"!==e.mediaType&&"audio"!==e.kind||(i.packetsReceived=e.packetsReceived)})}},s=(e,i,n,r)=>{e===this.meetingSession.configuration.credentials.attendeeId&&i&&(t=!0)};try{yield r.startAudioInput(e)}catch(e){return this.logger.error(`MeetingReadinessChecker: Failed to get audio input device with error ${e}`),e instanceof d.default?u.default.AudioInputPermissionDenied:u.default.AudioInputRequestFailed}return r.realtimeSubscribeToAttendeeIdPresence(s),r.addObserver(o),(yield this.startMeeting())?(yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return this.isAudioConnectionSuccessful(t,i)})),r.removeObserver(o),r.realtimeUnsubscribeToAttendeeIdPresence(s),yield this.stopMeeting(),yield this.meetingSession.audioVideo.stopAudioInput(),this.isAudioConnectionSuccessful(t,i)?u.default.Succeeded:u.default.AudioNotReceived):(r.removeObserver(o),r.realtimeUnsubscribeToAttendeeIdPresence(s),yield this.meetingSession.audioVideo.stopAudioInput(),u.default.ConnectionFailed)})}checkVideoConnectivity(e){return n(this,void 0,void 0,function*(){const t=this.meetingSession.audioVideo;let i=0;const r={metricsDidReceive(e){e.getRTCStatsReport().forEach(e=>{"outbound-rtp"!==e.type||"video"!==e.mediaType&&"video"!==e.kind||(i=e.packetsSent)})}};try{yield t.startVideoInput(e)}catch(e){return this.logger.error(`MeetingReadinessChecker: Failed to get video input device with error ${e}`),e instanceof d.default?b.default.VideoInputPermissionDenied:b.default.VideoInputRequestFailed}return t.addObserver(r),(yield this.startMeeting())?(t.startLocalVideoTile(),yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return i>0})),yield t.stopVideoInput(),yield this.stopMeeting(),t.removeObserver(r),i<=0?b.default.VideoNotSent:b.default.Succeeded):b.default.ConnectionFailed})}checkNetworkUDPConnectivity(){return n(this,void 0,void 0,function*(){let e=!1;const t={metricsDidReceive(t){t.getRTCStatsReport().forEach(t=>{"candidate-pair"===t.type&&"succeeded"===t.state&&(e=!0)})}};try{this.originalURLRewriter=this.meetingSession.configuration.urls.urlRewriter}catch(e){return this.logger.error(`MeetingSessionConfiguration.urls doesn't exist. Error: ${e}`),v.default.MeetingSessionURLsNotInitialized}this.meetingSession.configuration.urls.urlRewriter=e=>{const t=this.originalURLRewriter(e);return t.includes("transport=tcp")?"":t};const i=this.meetingSession.audioVideo;return i.addObserver(t),(yield this.startMeeting())?(yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return e})),this.meetingSession.configuration.urls.urlRewriter=this.originalURLRewriter,yield this.stopMeeting(),i.removeObserver(t),e?v.default.Succeeded:v.default.ICENegotiationFailed):(this.meetingSession.configuration.urls.urlRewriter=this.originalURLRewriter,v.default.ConnectionFailed)})}checkNetworkTCPConnectivity(){return n(this,void 0,void 0,function*(){let e=!1;const t={metricsDidReceive(t){t.getRTCStatsReport().forEach(t=>{"candidate-pair"===t.type&&"succeeded"===t.state&&(e=!0)})}};try{this.originalURLRewriter=this.meetingSession.configuration.urls.urlRewriter}catch(e){return this.logger.error(`MeetingSessionConfiguration.urls doesn't exist. Error: ${e}`),g.default.MeetingSessionURLsNotInitialized}this.meetingSession.configuration.urls.urlRewriter=e=>{const t=this.originalURLRewriter(e);return t.includes("transport=udp")?"":t};const i=this.meetingSession.audioVideo;return i.addObserver(t),(yield this.startMeeting())?(yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return e})),this.meetingSession.configuration.urls.urlRewriter=this.originalURLRewriter,yield this.stopMeeting(),i.removeObserver(t),e?g.default.Succeeded:g.default.ICENegotiationFailed):(this.meetingSession.configuration.urls.urlRewriter=this.originalURLRewriter,g.default.ConnectionFailed)})}startMeeting(){return n(this,void 0,void 0,function*(){let e=!1;const t={audioVideoDidStart:()=>{e=!0}};return this.meetingSession.audioVideo.addObserver(t),this.meetingSession.audioVideo.start(),yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return e})),this.meetingSession.audioVideo.removeObserver(t),e})}stopMeeting(){return n(this,void 0,void 0,function*(){let e=!1;const t={audioVideoDidStop:t=>{e=!0}};return this.meetingSession.audioVideo.addObserver(t),this.meetingSession.audioVideo.stop(),yield this.executeTimeoutTask(()=>n(this,void 0,void 0,function*(){return e})),this.meetingSession.audioVideo.removeObserver(t),e})}executeTimeoutTask(e){return n(this,void 0,void 0,function*(){let t=!1;class i extends c.default{constructor(e,t){super(e),this.waitDurationMs=t,this.isCancelled=!1}cancel(){this.isCancelled=!0}run(){return n(this,void 0,void 0,function*(){for(;!this.isCancelled;){if(yield e()){t=!0;break}yield w.delay(this.waitDurationMs)}})}}const r=new l.default(this.logger,new i(this.logger,this.configuration.waitDurationMs),this.configuration.timeoutMs);return yield r.run(),t})}isAudioConnectionSuccessful(e,t){return e&&t.packetsReceived>0}}t.default=w},68501(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.timeoutMs=1e4,this.waitDurationMs=3e3,this.audioOutputFrequency=440,this.audioOutputGain=.1}}},41136(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(88544)),s=r(i(11248)),a=r(i(50638)),d=r(i(98824)),c=r(i(8892)),l=r(i(13876)),u=r(i(6393)),h=i(45099),p=r(i(57088)),f=r(i(12330)),m=r(i(9944));t.default=class{constructor(e,t,i,n){this._eventController=n,this._configuration=e,this._logger=t,this.checkBrowserSupportAndFeatureConfiguration(),u.default.addLogger(this._logger),u.default.register(),this._eventController||(this._eventController=new p.default(e,t)),i.eventController||(i.eventController=this.eventController),this.audioVideoController=new o.default(this._configuration,this._logger,new m.default(this._logger),i,new f.default(this._configuration.reconnectTimeoutMs,new a.default(this._configuration.reconnectFixedWaitMs,this._configuration.reconnectShortBackOffMs,this._configuration.reconnectLongBackOffMs)),this.eventController),this._deviceController=i,this.logger.info(`MeetingFeatures: ${JSON.stringify(e.meetingFeatures)}`);const r=new c.default(this._logger);this.contentShareController=new l.default(r,new o.default(l.default.createContentShareMeetingSessionConfigure(this._configuration),this._logger,new m.default(this._logger),r,new f.default(this._configuration.reconnectTimeoutMs,new a.default(this._configuration.reconnectFixedWaitMs,this._configuration.reconnectShortBackOffMs,this._configuration.reconnectLongBackOffMs))),this.audioVideoController),this.audioVideoFacade=new s.default(this.audioVideoController,this.audioVideoController.videoTileController,this.audioVideoController.realtimeController,this.audioVideoController.audioMixController,this._deviceController,this.contentShareController)}get configuration(){return this._configuration}get logger(){return this._logger}get audioVideo(){return this.audioVideoFacade}get contentShare(){return this.contentShareController}get deviceController(){return this._deviceController}get eventController(){return this._eventController}destroy(){return n(this,void 0,void 0,function*(){h.isDestroyable(this.contentShareController)&&(yield this.contentShareController.destroy()),h.isDestroyable(this.audioVideoController)&&(yield this.audioVideoController.destroy()),h.isDestroyable(this.eventController)&&(yield this.eventController.destroy()),u.default.removeLogger(this._logger),this._logger=void 0,this._configuration=void 0,this._deviceController=void 0,this.audioVideoFacade=void 0,this.audioVideoController=void 0,this.contentShareController=void 0,this._eventController=void 0})}checkBrowserSupportAndFeatureConfiguration(){const e=new d.default,t=`${e.name()} ${e.majorVersion()} (${e.version()})`;if(this.logger.info(`browser is ${t}`),e.isSupported()||this.logger.warn(`this browser is not currently supported. Stability may suffer. Supported browsers are: ${e.supportString()}.`),this._configuration.videoUplinkBandwidthPolicy)if(this.isSimulcastUplinkPolicy(this._configuration.videoUplinkBandwidthPolicy)){if(!e.hasChromiumWebRTC())throw new Error("Simulcast is only supported on Chromium-based browsers");this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!0}else this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!1;this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers&&(e.hasChromiumWebRTC()?this.logger.info(`Simulcast is enabled for ${e.name()}`):(this._configuration.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!1,this.logger.info("Simulcast is only supported on Chromium-based browsers")),this._configuration.enableSVC&&(this._configuration.enableSVC=!1,this.logger.info("SVC is not successfully enabled since simulcast is enabled"))),this._configuration.enableSVC&&!e.supportsScalableVideoCoding()&&(this._configuration.enableSVC=!1,this.logger.info("SVC is only supported on Chromium-based browsers with version 111 or above"))}isSimulcastUplinkPolicy(e){return!(!e||!e.addObserver)}}},85756(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(28586));class o{constructor(e=r.default.VideoResolutionHD,t=r.default.VideoResolutionFHD){this.videoMaxResolution=e,this.contentMaxResolution=t}clone(){return new o(this.videoMaxResolution,this.contentMaxResolution)}}t.default=o},5481(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(87811)),o=n(i(28586)),s=i(48471),a=n(i(85756)),d=n(i(24981)),c=n(i(8133));t.default=class{constructor(e,t){var i,n;if(this.meetingId=null,this.externalMeetingId=null,this.credentials=null,this.urls=null,this.connectionTimeoutMs=15e3,this.attendeePresenceTimeoutMs=0,this.connectionHealthPolicyConfiguration=new r.default,this.reconnectTimeoutMs=12e4,this.reconnectFixedWaitMs=0,this.reconnectShortBackOffMs=1e3,this.reconnectLongBackOffMs=5e3,this.enableSimulcastForUnifiedPlanChromiumBasedBrowsers=!1,this.enableSVC=!1,this.videoDownlinkBandwidthPolicy=null,this.videoUplinkBandwidthPolicy=null,this.keepLastFrameWhenPaused=!1,this.disablePeriodicKeyframeRequestOnContentSender=!1,this.meetingFeatures=new a.default,e){(e=s.toLowerCasePropertyNames(e)).meeting&&(e=e.meeting),this.meetingId=e.meetingid,this.externalMeetingId=e.externalmeetingid,this.urls=new c.default,this.urls.audioHostURL=e.mediaplacement.audiohosturl,this.urls.signalingURL=e.mediaplacement.signalingurl,this.urls.turnControlURL=e.mediaplacement.turncontrolurl,e.mediaplacement.eventingestionurl&&(this.urls.eventIngestionURL=e.mediaplacement.eventingestionurl);const t=(e,t)=>{switch(e){case"None":return o.default.VideoDisabled;case"HD":return o.default.VideoResolutionHD;case"FHD":return o.default.VideoResolutionFHD;case"UHD":return o.default.VideoResolutionUHD;default:return t}};if(void 0!==(null===(i=e.meetingfeatures)||void 0===i?void 0:i.video)||void 0!==(null===(n=e.meetingfeatures)||void 0===n?void 0:n.content)){const i=void 0===e.meetingfeatures.video?"HD":e.meetingfeatures.video.maxresolution,n=void 0===e.meetingfeatures.content?"FHD":e.meetingfeatures.content.maxresolution;this.meetingFeatures=new a.default(t(i,o.default.VideoResolutionHD),t(n,o.default.VideoResolutionFHD))}}t&&((t=s.toLowerCasePropertyNames(t)).attendee&&(t=t.attendee),this.credentials=new d.default,this.credentials.attendeeId=t.attendeeid,this.credentials.externalUserId=t.externaluserid,this.credentials.joinToken=t.jointoken)}}},24981(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.attendeeId=null,this.externalUserId=null,this.joinToken=null}toJSON(){return{attendeeId:this.attendeeId,joinToken:null===this.joinToken?null:"<redacted>"}}}},74015(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.MeetingSessionLifecycleEvent=void 0,function(e){e[e.Connecting=0]="Connecting",e[e.Started=1]="Started",e[e.Stopped=2]="Stopped"}(i=t.MeetingSessionLifecycleEvent||(t.MeetingSessionLifecycleEvent={})),t.default=i},318(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.MeetingSessionLifecycleEventCondition=void 0,function(e){e[e.ConnectingNew=0]="ConnectingNew",e[e.ReconnectingExisting=1]="ReconnectingExisting",e[e.StartedNew=2]="StartedNew",e[e.StartedExisting=3]="StartedExisting",e[e.StartedAfterReconnect=4]="StartedAfterReconnect",e[e.StoppedCleanly=5]="StoppedCleanly",e[e.StoppedWithFailure=6]="StoppedWithFailure"}(i=t.MeetingSessionLifecycleEventCondition||(t.MeetingSessionLifecycleEventCondition={})),t.default=i},60169(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(38359),o=n(i(77376));class s{constructor(e){this._statusCode=e}statusCode(){return this._statusCode}isFailure(){switch(this._statusCode){case o.default.AudioAuthenticationRejected:case o.default.AudioCallAtCapacity:case o.default.AudioInternalServerError:case o.default.AudioServiceUnavailable:case o.default.AudioDisconnected:case o.default.VideoCallAtSourceCapacity:case o.default.SignalingBadRequest:case o.default.SignalingInternalServerError:case o.default.SignalingRequestFailed:case o.default.ICEGatheringTimeoutWorkaround:case o.default.ConnectionHealthReconnect:case o.default.RealtimeApiFailed:case o.default.TaskFailed:case o.default.NoAttendeePresent:case o.default.SignalingChannelClosedUnexpectedly:return!0;default:return!1}}isTerminal(){switch(this._statusCode){case o.default.Left:case o.default.AudioJoinedFromAnotherDevice:case o.default.AudioAuthenticationRejected:case o.default.AudioCallAtCapacity:case o.default.MeetingEnded:case o.default.AudioDisconnected:case o.default.TURNCredentialsForbidden:case o.default.SignalingBadRequest:case o.default.SignalingRequestFailed:case o.default.VideoCallAtSourceCapacity:case o.default.RealtimeApiFailed:case o.default.AudioAttendeeRemoved:return!0;default:return!1}}isAudioConnectionFailure(){switch(this._statusCode){case o.default.AudioAuthenticationRejected:case o.default.AudioInternalServerError:case o.default.AudioServiceUnavailable:case o.default.ICEGatheringTimeoutWorkaround:case o.default.SignalingBadRequest:case o.default.SignalingInternalServerError:case o.default.SignalingRequestFailed:case o.default.RealtimeApiFailed:case o.default.NoAttendeePresent:return!0;default:return!1}}toString(){switch(this._statusCode){case o.default.OK:return"Everything is OK so far.";case o.default.Left:return"The attendee left the meeting.";case o.default.AudioJoinedFromAnotherDevice:return"The attendee joined from another device.";case o.default.AudioAuthenticationRejected:return"The meeting rejected the attendee.";case o.default.AudioCallAtCapacity:return"The attendee couldn't join because the meeting was at capacity.";case o.default.MeetingEnded:return"The meeting ended.";case o.default.AudioInternalServerError:case o.default.AudioServiceUnavailable:case o.default.AudioDisconnected:return"The audio connection failed.";
2138case o.default.VideoCallSwitchToViewOnly:return"The attendee couldn't start the local video because the maximum video capacity was reached.";case o.default.VideoCallAtSourceCapacity:return"The connection failed due to an internal server error.";case o.default.SignalingBadRequest:case o.default.SignalingInternalServerError:case o.default.SignalingRequestFailed:return"The signaling connection failed.";case o.default.ICEGatheringTimeoutWorkaround:return"Gathering ICE candidates timed out. In Chrome, this might indicate that the browser is in a bad state after reconnecting to VPN.";case o.default.ConnectionHealthReconnect:return"The meeting was reconnected.";case o.default.RealtimeApiFailed:return"The real-time API failed. This status code might indicate that the callback you passed to the real-time API threw an exception.";case o.default.TaskFailed:return"The connection failed. See the error message for more details.";case o.default.IncompatibleSDP:return"The connection failed due to incompatible SDP.";case o.default.TURNCredentialsForbidden:return"The meeting ended, or the attendee was removed.";case o.default.NoAttendeePresent:return"The attendee was not present.";case o.default.AudioAttendeeRemoved:return"The meeting ended because attendee removed.";case o.default.AudioVideoWasRemovedFromPrimaryMeeting:return"The Primary meeting credentials provided are no longer valid. chime::DeleteAttendee may have been called on them.";case o.default.AudioVideoDisconnectedWhilePromoted:return"The client disconnected while promoted, which will automatically demote. The attendee must promote again to participate.";case o.default.AudioDisconnectAudio:return"The audio connection failed.";case o.default.SignalingChannelClosedUnexpectedly:return"The signaling channel was closed unexpectedly. This may be due to a network change or backend detected failure.";default:{const e=this._statusCode;throw new Error(`Unhandled case: ${e}`)}}}static fromSignalFrame(e){return e.error&&e.error.status?this.fromSignalingStatus(e.error.status):e.type===r.SdkSignalFrame.Type.AUDIO_STATUS?e.audioStatus?this.fromAudioStatus(e.audioStatus.audioStatus):new s(o.default.SignalingRequestFailed):e.type===r.SdkSignalFrame.Type.PRIMARY_MEETING_LEAVE?new s(o.default.AudioVideoWasRemovedFromPrimaryMeeting):new s(o.default.OK)}static fromAudioStatus(e){switch(e){case 200:return new s(o.default.OK);case 301:return new s(o.default.AudioJoinedFromAnotherDevice);case 302:return new s(o.default.AudioDisconnectAudio);case 403:return new s(o.default.AudioAuthenticationRejected);case 409:return new s(o.default.AudioCallAtCapacity);case 410:return new s(o.default.MeetingEnded);case 411:return new s(o.default.AudioAttendeeRemoved);case 500:return new s(o.default.AudioInternalServerError);case 503:return new s(o.default.AudioServiceUnavailable);default:return 2===Math.floor(e/100)?new s(o.default.OK):new s(o.default.AudioDisconnected)}}static fromSignalingStatus(e){switch(e){case 206:return new s(o.default.VideoCallSwitchToViewOnly);case 509:return new s(o.default.VideoCallAtSourceCapacity);case 403:return new s(o.default.AudioAuthenticationRejected);case 409:return new s(o.default.AudioCallAtCapacity);default:switch(Math.floor(e/100)){case 2:return new s(o.default.OK);case 4:return new s(o.default.SignalingBadRequest);case 5:return new s(o.default.SignalingInternalServerError);default:return new s(o.default.SignalingRequestFailed)}}}}t.default=s},77376(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.MeetingSessionStatusCode=void 0,function(e){e[e.OK=0]="OK",e[e.Left=1]="Left",e[e.AudioJoinedFromAnotherDevice=2]="AudioJoinedFromAnotherDevice",e[e.AudioAuthenticationRejected=3]="AudioAuthenticationRejected",e[e.AudioCallAtCapacity=4]="AudioCallAtCapacity",e[e.MeetingEnded=5]="MeetingEnded",e[e.AudioInternalServerError=6]="AudioInternalServerError",e[e.AudioServiceUnavailable=7]="AudioServiceUnavailable",e[e.AudioDisconnected=8]="AudioDisconnected",e[e.VideoCallSwitchToViewOnly=9]="VideoCallSwitchToViewOnly",e[e.VideoCallAtSourceCapacity=10]="VideoCallAtSourceCapacity",e[e.SignalingBadRequest=11]="SignalingBadRequest",e[e.SignalingInternalServerError=12]="SignalingInternalServerError",e[e.SignalingRequestFailed=13]="SignalingRequestFailed",e[e.SignalingChannelClosedUnexpectedly=14]="SignalingChannelClosedUnexpectedly",e[e.ICEGatheringTimeoutWorkaround=15]="ICEGatheringTimeoutWorkaround",e[e.ConnectionHealthReconnect=16]="ConnectionHealthReconnect",e[e.RealtimeApiFailed=17]="RealtimeApiFailed",e[e.TaskFailed=18]="TaskFailed",e[e.IncompatibleSDP=19]="IncompatibleSDP",e[e.TURNCredentialsForbidden=20]="TURNCredentialsForbidden",e[e.NoAttendeePresent=21]="NoAttendeePresent",e[e.AudioAttendeeRemoved=22]="AudioAttendeeRemoved",e[e.AudioVideoWasRemovedFromPrimaryMeeting=23]="AudioVideoWasRemovedFromPrimaryMeeting",e[e.AudioVideoDisconnectedWhilePromoted=24]="AudioVideoDisconnectedWhilePromoted",e[e.AudioDisconnectAudio=25]="AudioDisconnectAudio"}(i=t.MeetingSessionStatusCode||(t.MeetingSessionStatusCode={})),t.default=i},50656(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.username=null,this.password=null,this.ttl=null,this.uris=null}}},8133(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this._audioHostURL=null,this._signalingURL=null,this._turnControlURL=null,this._eventIngestionURL=null,this.urlRewriter=e=>e,this.urlRewriterMulti=null}get audioHostURL(){return this.urlRewriter(this._audioHostURL)}set audioHostURL(e){this._audioHostURL=e}get signalingURL(){return this.urlRewriter(this._signalingURL)}set signalingURL(e){this._signalingURL=e}get turnControlURL(){return this.urlRewriter(this._turnControlURL)}set turnControlURL(e){this._turnControlURL=e}get eventIngestionURL(){return this.urlRewriter(this._eventIngestionURL)}set eventIngestionURL(e){this._eventIngestionURL=e}}},79375(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(){this.remoteVideoAvailable=!1,this.canStartLocalVideo=!1}equal(e){return this.remoteVideoAvailable===e.remoteVideoAvailable&&this.canStartLocalVideo===e.canStartLocalVideo}clone(){const e=new i;return e.remoteVideoAvailable=this.remoteVideoAvailable,e.canStartLocalVideo=this.canStartLocalVideo,e}}t.default=i},59003(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i){this.type=e,this.headers=t,this.payload=i}}},91324(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(31269),s=r(i(50638)),a=r(i(6393)),d=r(i(59003)),c=r(i(12330)),l=r(i(91365)),u=r(i(1834)),h=r(i(9944)),p=r(i(90428)),f=r(i(19739));t.default=class{constructor(e,t,i,n,r){this.configuration=e,this.logger=t,this.webSocket=i,this.reconnectController=n,this.sigV4=r,this.observerQueue=new Set,this.webSocket||(this.webSocket=new h.default(this.logger)),this.reconnectController||(this.reconnectController=new c.default(e.reconnectTimeoutMs,new s.default(e.reconnectFixedWaitMs,e.reconnectShortBackoffMs,e.reconnectLongBackoffMs))),this.sigV4||(this.sigV4=new u.default(this.configuration.chimeClient)),a.default.addLogger(this.logger),a.default.register(),this.preBootstrapMessages=[]}addObserver(e){this.logger.info("adding messaging observer"),this.observerQueue.add(e)}removeObserver(e){this.logger.info("removing messaging observer"),this.observerQueue.delete(e)}start(){return n(this,void 0,void 0,function*(){this.isClosed()?yield this.startConnecting(!1):this.logger.info("messaging session already started")})}stop(){this.isClosed()?this.logger.info("no existing messaging session needs closing"):(this.isClosing=!0,this.webSocket.close(),a.default.removeLogger(this.logger))}forEachObserver(e){for(const t of this.observerQueue)l.default.nextTick(()=>{this.observerQueue.has(t)&&e(t)})}setUpEventListeners(){this.webSocket.addEventListener("open",()=>{this.openEventHandler()}),this.webSocket.addEventListener("message",e=>{this.receiveMessageHandler(e.data)}),this.webSocket.addEventListener("close",e=>{this.closeEventHandler(e)}),this.webSocket.addEventListener("error",()=>{this.logger.error("WebSocket error")})}startConnecting(e){return n(this,void 0,void 0,function*(){return yield this.startConnectingInternal(e),yield new Promise((e,t)=>{this.bootstrapResolved=e,this.bootstrapRejected=t})})}startConnectingInternal(e){var t;return n(this,void 0,void 0,function*(){let i=this.configuration.endpointUrl;if(e||this.reconnectController.reset(),this.reconnectController.hasStartedConnectionAttempt()?this.reconnectController.startedConnectionAttempt(!1):this.reconnectController.startedConnectionAttempt(!0),e||void 0===i)try{if(this.configuration.chimeClient.getMessagingSessionEndpoint instanceof Function){const e=yield this.configuration.chimeClient.getMessagingSessionEndpoint();i=(null===(t=e.Endpoint)||void 0===t?void 0:t.Url)?e.Endpoint.Url:(yield this.configuration.chimeClient.getMessagingSessionEndpoint().promise()).Endpoint.Url}else i=(yield this.configuration.chimeClient.send(new o.GetMessagingSessionEndpointCommand({}))).Endpoint.Url;this.logger.debug(`Messaging endpoint resolved to: ${i}`)}catch(e){this.logger.error(`Messaging Session failed to resolve endpoint: ${e}`);const t=new CloseEvent("close",{wasClean:!1,code:4999,reason:"Failed to get messaging session endpoint URL",bubbles:!1});return void this.closeEventHandler(t)}const n=yield this.prepareWebSocketUrl(i);this.logger.info(`opening connection to ${n}`),e||this.reconnectController.reset(),this.reconnectController.hasStartedConnectionAttempt()?this.reconnectController.startedConnectionAttempt(!1):this.reconnectController.startedConnectionAttempt(!0),this.webSocket.create(n,[],!0),this.forEachObserver(t=>{t.messagingSessionDidStartConnecting&&t.messagingSessionDidStartConnecting(e)}),this.setUpEventListeners()})}prepareWebSocketUrl(e){return n(this,void 0,void 0,function*(){const t=new Map;return t.set("userArn",[this.configuration.userArn]),t.set("sessionId",[this.configuration.messagingSessionId]),this.configuration.prefetchOn===f.default.Connect&&t.set("prefetch-on",[f.default.Connect]),this.configuration.prefetchSortBy&&t.set("prefetch-sort-by",[this.configuration.prefetchSortBy]),yield this.sigV4.signURL("GET","wss","chime",e,"/connect","",t)})}isClosed(){return this.webSocket.readyState()===p.default.None||this.webSocket.readyState()===p.default.Closed}openEventHandler(){this.reconnectController.reset(),this.isSessionEstablished=!1}receiveMessageHandler(e){try{const t=JSON.parse(e),i=t.Headers["x-amz-chime-event-type"],n=new d.default(i,t.Headers,t.Payload||null);if(this.isSessionEstablished||"SESSION_ESTABLISHED"!==i){if(!this.isSessionEstablished)return void this.preBootstrapMessages.push(n)}else{this.forEachObserver(e=>{e.messagingSessionDidStart&&e.messagingSessionDidStart()}),this.bootstrapResolved(),this.isSessionEstablished=!0;const e=this.preBootstrapMessages.length;for(let t=0;t<e;t++){const e=this.preBootstrapMessages.shift();this.forEachObserver(t=>{this.sendMessageToObserver(t,e)})}}this.forEachObserver(e=>{this.sendMessageToObserver(e,n)})}catch(e){this.logger.error(`Messaging parsing failed: ${e}`)}}sendMessageToObserver(e,t){e.messagingSessionDidReceiveMessage&&e.messagingSessionDidReceiveMessage(t)}retryConnection(){return this.reconnectController.retryWithBackoff(()=>n(this,void 0,void 0,function*(){yield this.startConnecting(!0)}),null)}closeEventHandler(e){this.logger.info(`WebSocket close: ${e.code} ${e.reason}`),4999!==e.code&&this.webSocket.destroy(),!this.isClosing&&this.canReconnect(e.code)&&this.retryConnection()||(this.isClosing=!1,this.isSessionEstablished?this.forEachObserver(t=>{t.messagingSessionDidStop&&t.messagingSessionDidStop(e)}):this.bootstrapRejected(e))}canReconnect(e){return 1001===e||1006===e||e>=1011&&e<=1014||e>4e3&&4002!==e&&4003!==e&&4401!==e}}},75271(e,t,i){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0});const n=i(48471);t.default=class{constructor(e,t,i,n){this.userArn=e,this.messagingSessionId=t,this.endpointUrl=i,this.chimeClient=n,this.reconnectTimeoutMs=1e4,this.reconnectFixedWaitMs=0,this.reconnectShortBackoffMs=1e3,this.reconnectLongBackoffMs=5e3,this.prefetchOn=void 0,this.prefetchSortBy=void 0,this.messagingSessionId||(this.messagingSessionId=this.generateSessionId())}generateSessionId(){const e=new Uint32Array(1);return n.getRandomValues(e),e[0].toString()}}},19739(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Connect="connect"}(i||(i={})),t.default=i},21851(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Unread="unread",e.LastMessageTimestamp="last-message-timestamp"}(i||(i={})),t.default=i},38148(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(40736));class o{constructor(e){this._id=e}id(){return this._id}base(){return this._id?this._id.split(o.MODALITY_SEPARATOR)[0]:""}modality(){if(!this._id)return"";const e=this._id.split(o.MODALITY_SEPARATOR);return 2===e.length?e[1]:""}hasModality(e){return""!==e&&this.modality()===e}withModality(e){const t=new o(this.base()+o.MODALITY_SEPARATOR+e);return""===e||""===this.base()||new o(t._id).modality()!==e?new o(this.base()):t}}t.default=o,o.MODALITY_SEPARATOR=r.default.Modality[0],o.MODALITY_CONTENT=r.default.Modality.substring(1)},98624(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(91365)),o=n(i(2228)),s=n(i(10587)),a=i(38359),d=i(89419);t.default=class{constructor(e,t,i){this.signalingClient=e,this.intervalMs=t,this.logger=i,this.observerQueue=new Set,this.consecutivePongsUnaccountedFor=0,this.intervalScheduler=new o.default(this.intervalMs),this.pingId=0}addObserver(e){this.logger.info("adding a ping-pong observer"),this.observerQueue.add(e)}removeObserver(e){this.logger.info("removing a ping-pong observer"),this.observerQueue.delete(e)}forEachObserver(e){for(const t of this.observerQueue)r.default.nextTick(()=>{this.observerQueue.has(t)&&e(t)})}start(){this.stop(),this.signalingClient.registerObserver(this),this.signalingClient.ready()&&this.startPingInterval()}stop(){this.stopPingInterval(),this.signalingClient.removeObserver(this)}startPingInterval(){this.intervalScheduler.start(()=>{this.ping()}),this.ping()}stopPingInterval(){this.intervalScheduler.stop(),this.pingId=0,this.consecutivePongsUnaccountedFor=0}ping(){this.consecutivePongsUnaccountedFor>0&&(this.logger.warn(`missed pong ${this.consecutivePongsUnaccountedFor} time(s)`),this.forEachObserver(e=>{d.Maybe.of(e.didMissPongs).map(t=>t.bind(e)(this.consecutivePongsUnaccountedFor))})),this.consecutivePongsUnaccountedFor+=1,this.pingId=this.pingId+1&4294967295;const e=a.SdkPingPongFrame.create();e.pingId=this.pingId,e.type=a.SdkPingPongType.PING,this.pingTimestampLocalMs=this.signalingClient.pingPong(e),this.logger.debug(()=>`sent ping ${this.pingId}`)}pong(e){const t=a.SdkPingPongFrame.create();t.pingId=e,t.type=a.SdkPingPongType.PONG,this.signalingClient.pingPong(t)}handleSignalingClientEvent(e){switch(e.type){case s.default.WebSocketOpen:this.startPingInterval();break;case s.default.WebSocketFailed:case s.default.WebSocketError:this.logger.warn(`stopped pinging (${s.default[e.type]})`),this.stopPingInterval();break;case s.default.WebSocketClosing:case s.default.WebSocketClosed:this.logger.info(`stopped pinging (${s.default[e.type]})`),this.stopPingInterval();break;case s.default.ReceivedSignalFrame:if(e.message.type!==a.SdkSignalFrame.Type.PING_PONG)break;if(e.message.pingPong.type===a.SdkPingPongType.PONG){const t=e.message.pingPong.pingId;if(t!==this.pingId){this.logger.warn(`unexpected ping id ${t} (expected ${this.pingId})`);break}let i;if(this.consecutivePongsUnaccountedFor=0,"number"!=typeof e.message.timestampMs)break;i=e.message.timestampMs,this.logger.debug(()=>`received pong ${t} with timestamp ${i}`);const n=e.timestampMs-this.pingTimestampLocalMs,r=Math.round(i-n/2),o=this.pingTimestampLocalMs-r;this.logger.info(`local clock skew estimate=${o}ms from ping-pong time=${n}ms`),this.forEachObserver(e=>{d.Maybe.of(e.didReceivePong).map(i=>i.bind(e)(t,o,n))})}else this.pong(e.message.pingPong.pingId)}}}},5928(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(66456)),o=i(48471),s=n(i(68018)),a=n(i(85728));t.default=class{constructor(e,t){this.mediaStreamBroker=e,this.state=new s.default,this._transcriptionController=t||new r.default(this)}realtimeSetLocalAttendeeId(e,t){this.state.localAttendeeId=e,this.state.localExternalUserId=t}realtimeSetAttendeeIdPresence(e,t,i,n,r){try{t&&(this.state.attendeeIdToExternalUserId[e]=i);for(const o of this.state.attendeeIdChangesCallbacks)o(e,t,i,n,r)}catch(e){this.onError(e)}}realtimeSubscribeToAttendeeIdPresence(e){try{this.state.attendeeIdChangesCallbacks.push(e)}catch(e){this.onError(e)}}realtimeUnsubscribeToAttendeeIdPresence(e){try{const t=this.state.attendeeIdChangesCallbacks.indexOf(e);-1!==t&&this.state.attendeeIdChangesCallbacks.splice(t,1)}catch(e){this.onError(e)}}realtimeSetCanUnmuteLocalAudio(e){try{if(this.state.canUnmute===e)return;this.state.canUnmute=e;for(const t of this.state.setCanUnmuteLocalAudioCallbacks)t(e)}catch(e){this.onError(e)}}realtimeSubscribeToSetCanUnmuteLocalAudio(e){try{this.state.setCanUnmuteLocalAudioCallbacks.push(e)}catch(e){this.onError(e)}}realtimeUnsubscribeToSetCanUnmuteLocalAudio(e){try{const t=this.state.setCanUnmuteLocalAudioCallbacks.indexOf(e);-1!==t&&this.state.setCanUnmuteLocalAudioCallbacks.splice(t,1)}catch(e){this.onError(e)}}realtimeCanUnmuteLocalAudio(){return this.state.canUnmute}realtimeMuteLocalAudio(){if(!this.state.muted)try{this.setAudioInputEnabled(!1),this.state.muted=!0,this.realtimeUpdateVolumeIndicator(this.state.localAttendeeId,null,null,null,this.state.localExternalUserId);for(const e of this.state.muteAndUnmuteLocalAudioCallbacks)e(!0)}catch(e){this.onError(e)}}realtimeUnmuteLocalAudio(){if(!this.state.muted)return!0;if(!this.state.canUnmute)return!1;try{this.setAudioInputEnabled(!0),this.state.muted=!1,this.realtimeUpdateVolumeIndicator(this.state.localAttendeeId,null,null,null,this.state.localExternalUserId);for(const e of this.state.muteAndUnmuteLocalAudioCallbacks)e(!1);return!0}catch(e){return this.onError(e),!1}}realtimeSubscribeToMuteAndUnmuteLocalAudio(e){try{this.state.muteAndUnmuteLocalAudioCallbacks.push(e)}catch(e){this.onError(e)}}realtimeUnsubscribeToMuteAndUnmuteLocalAudio(e){try{const t=this.state.muteAndUnmuteLocalAudioCallbacks.indexOf(e);-1!==t&&this.state.muteAndUnmuteLocalAudioCallbacks.splice(t,1)}catch(e){this.onError(e)}}realtimeIsLocalAudioMuted(){return this.state.muted}realtimeSubscribeToVolumeIndicator(e,t){try{this.state.volumeIndicatorCallbacks.hasOwnProperty(e)||(this.state.volumeIndicatorCallbacks[e]=[]),this.state.volumeIndicatorCallbacks[e].push(t),this.sendVolumeIndicatorChange(e,!0,!0,!0,this.state.attendeeIdToExternalUserId[e])}catch(e){this.onError(e)}}realtimeUnsubscribeFromVolumeIndicator(e,t){if(this.state.volumeIndicatorCallbacks[e])if(t){const i=this.state.volumeIndicatorCallbacks[e].indexOf(t);i>=0&&this.state.volumeIndicatorCallbacks[e].splice(i,1)}else delete this.state.volumeIndicatorCallbacks[e]}realtimeUpdateVolumeIndicator(e,t,i,n,r){try{i=this.applyLocalMuteOverride(e,i);const o=this.getVolumeIndicatorState(e);let s=!1,a=!1,d=!1;null!==i&&o.muted!==i&&(o.muted=i,a=!0,o.muted&&0!==o.volume&&(o.volume=0,s=!0)),o.muted||null===t||(o.volume!==t&&(o.volume=t,s=!0),null===o.muted&&(o.muted=!1,a=!0)),null!==n&&o.signalStrength!==n&&(o.signalStrength=n,d=!0),this.sendVolumeIndicatorChange(e,s,a,d,r)}catch(e){this.onError(e)}}realtimeSubscribeToLocalSignalStrengthChange(e){try{if(this.state.localSignalStrengthChangeCallbacks.push(e),null===this.state.localAttendeeId)return;this.sendLocalSignalStrengthChange(this.state.localAttendeeId,!0)}catch(e){this.onError(e)}}realtimeUnsubscribeToLocalSignalStrengthChange(e){try{const t=this.state.localSignalStrengthChangeCallbacks.indexOf(e);-1!==t&&this.state.localSignalStrengthChangeCallbacks.splice(t,1)}catch(e){this.onError(e)}}realtimeSubscribeToSendDataMessage(e){try{this.state.sendDataMessageCallbacks.push(e)}catch(e){this.onError(e)}}realtimeUnsubscribeFromSendDataMessage(e){try{const t=this.state.sendDataMessageCallbacks.indexOf(e);-1!==t&&this.state.sendDataMessageCallbacks.splice(t,1)}catch(e){this.onError(e)}}realtimeSendDataMessage(e,t,i){try{for(const n of this.state.sendDataMessageCallbacks)n(e,t,i)}catch(e){this.onError(e)}}realtimeSubscribeToReceiveDataMessage(e,t){try{this.state.receiveDataMessageCallbacks.has(e)?this.state.receiveDataMessageCallbacks.get(e).push(t):this.state.receiveDataMessageCallbacks.set(e,[t])}catch(e){this.onError(e)}}realtimeUnsubscribeFromReceiveDataMessage(e){try{this.state.receiveDataMessageCallbacks.delete(e)}catch(e){this.onError(e)}}realtimeReceiveDataMessage(e){try{o.iterateEvery(this.state.receiveDataMessageCallbacks.get(e.topic),t=>{t(e)})}catch(e){Promise.reject(e)}}realtimeSubscribeToFatalError(e){try{this.state.fatalErrorCallbacks.push(e)}catch(e){this.onError(e)}}realtimeUnsubscribeToFatalError(e){try{const t=this.state.fatalErrorCallbacks.indexOf(e);-1!==t&&this.state.fatalErrorCallbacks.splice(t,1)}catch(e){this.onError(e)}}get transcriptionController(){return this._transcriptionController}setAudioInputEnabled(e){e?this.mediaStreamBroker.unmuteLocalAudioInputStream():this.mediaStreamBroker.muteLocalAudioInputStream()}applyLocalMuteOverride(e,t){const i=this.state.localAttendeeId,n=this.state.muted;return e!==i?t:"activeDevices"in this.mediaStreamBroker&&this.mediaStreamBroker.activeDevices.audio?n:t}
2138sendVolumeIndicatorChange(e,t,i,n,r){if(this.sendLocalSignalStrengthChange(e,n),!this.state.volumeIndicatorCallbacks.hasOwnProperty(e))return;const o=this.getVolumeIndicatorState(e),s=new a.default;if(t&&(s.volume=o.volume),i&&(s.muted=o.muted),n&&(s.signalStrength=o.signalStrength),!this.stateIsEmpty(s))for(const t of this.state.volumeIndicatorCallbacks[e])t(e,s.volume,s.muted,s.signalStrength,r)}sendLocalSignalStrengthChange(e,t){if(!t)return;if(e!==this.state.localAttendeeId)return;const i=this.getVolumeIndicatorState(e).signalStrength;if(null!==i)for(const e of this.state.localSignalStrengthChangeCallbacks)e(i)}getVolumeIndicatorState(e){return this.state.volumeIndicatorState.hasOwnProperty(e)||(this.state.volumeIndicatorState[e]=new a.default),this.state.volumeIndicatorState[e]}stateIsEmpty(e){return null===e.volume&&null===e.muted&&null===e.signalStrength}onError(e){try{for(const t of this.state.fatalErrorCallbacks)t(e)}catch(t){try{console.error(e),console.error(t)}catch(e){}}}}},45084(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.attendeeIndex=null,this.attendeesInFrame=null}}},68018(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.localAttendeeId=null,this.localExternalUserId=null,this.attendeeIdChangesCallbacks=[],this.canUnmute=!0,this.setCanUnmuteLocalAudioCallbacks=[],this.muted=!1,this.muteAndUnmuteLocalAudioCallbacks=[],this.volumeIndicatorState={},this.attendeeIdToExternalUserId={},this.volumeIndicatorCallbacks={},this.localSignalStrengthChangeCallbacks=[],this.fatalErrorCallbacks=[],this.sendDataMessageCallbacks=[],this.receiveDataMessageCallbacks=new Map}}},85728(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.volume=null,this.muted=null,this.signalStrength=null}}},12330(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(50448));class o{constructor(e,t){this.reconnectTimeoutMs=e,this.backoffPolicy=t,this.shouldReconnect=!0,this.onlyRestartPeerConnection=!1,this.firstConnectionAttempted=!1,this.firstConnectionAttemptTimestampMs=0,this.lastActiveTimestampMs=1/0,this._isFirstConnection=!0,this.backoffTimer=null,this.backoffCancel=null,this.reset()}timeSpentReconnectingMs(){return this.firstConnectionAttempted?Date.now()-this.firstConnectionAttemptTimestampMs:0}hasPastReconnectDeadline(){return Date.now()-this.lastActiveTimestampMs>=this.reconnectTimeoutMs||this.timeSpentReconnectingMs()>=this.reconnectTimeoutMs}reset(){this.cancel(),this.shouldReconnect=!0,this.onlyRestartPeerConnection=!1,this.firstConnectionAttempted=!1,this.firstConnectionAttemptTimestampMs=0,this.lastActiveTimestampMs=1/0,this.backoffPolicy.reset()}startedConnectionAttempt(e){this._isFirstConnection=e,this.firstConnectionAttempted||(this.firstConnectionAttempted=!0,this.firstConnectionAttemptTimestampMs=Date.now())}hasStartedConnectionAttempt(){return this.firstConnectionAttempted}isFirstConnection(){return this._isFirstConnection}disableReconnect(){this.shouldReconnect=!1}enableRestartPeerConnection(){this.onlyRestartPeerConnection=!0}cancel(){this.disableReconnect(),this.backoffTimer&&(this.backoffTimer.stop(),this.backoffCancel&&(this.backoffCancel(),this.backoffCancel=null))}retryWithBackoff(e,t){const i=this.shouldReconnect&&!this.hasPastReconnectDeadline();return i&&(this.backoffCancel=t,this.backoffTimer=new r.default(this.backoffPolicy.nextBackoffAmountMs()),this.backoffTimer.start(()=>{this.backoffCancel=null,e()})),i}shouldOnlyRestartPeerConnection(){return this.onlyRestartPeerConnection}clone(){return new o(this.reconnectTimeoutMs,this.backoffPolicy)}setLastActiveTimestampMs(e){this.lastActiveTimestampMs=e}}t.default=o},10899(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(){this.maxRedPacketSizeBytes=1024,this.maxAudioPayloadSizeBytes=1e3,this.maxRedTimestampOffset=16384,this.redHeaderSizeBytes=4,this.redLastHeaderSizeBytes=1,this.redPacket
2138izationTime=960,this.redPacketDistance=2,this.maxRedEncodings=2,this.redMaxRecoveryDistance=this.redPacketDistance*this.maxRedEncodings+1,this.maxEncodingHistorySize=10,this.numRedundantEncodings=0,this.redundancyEnabled=!0,this.lossReportInterval=24e4,this.maxOutOfOrderPacketDistance=16,this.OPUS_BAD_ARG=-1,this.OPUS_INVALID_PACKET=-4,this.OPUS_MAX_OPUS_FRAMES=48,this.OPUS_MAX_FRAME_SIZE_BYTES=1275,this.encodingHistory=new Array,this.opusPayloadType=0,this.redPayloadType=0,this.initializePacketLogs()}static initializeWorker(){i.log("Initializing RedundantAudioEncoder");const e=new i;self.RTCRtpScriptTransformer&&(self.onrtctransform=t=>{"SenderTransform"===t.transformer.options.type?e.setupSenderTransform(t.transformer.readable,t.transformer.writable):"ReceiverTransform"===t.transformer.options.type?e.setupReceiverTransform(t.transformer.readable,t.transformer.writable):"PassthroughTransform"===t.transformer.options.type&&e.setupPassthroughTransform(t.transformer.readable,t.transformer.writable)}),self.onmessage=t=>{"StartRedWorker"===t.data.msgType?(e.setupSenderTransform(t.data.send.readable,t.data.send.writable),e.setupReceiverTransform(t.data.receive.readable,t.data.receive.writable)):"PassthroughTransform"===t.data.msgType?(e.setupPassthroughTransform(t.data.send.readable,t.data.send.writable),e.setupPassthroughTransform(t.data.receive.readable,t.data.receive.writable)):"RedPayloadType"===t.data.msgType?e.setRedPayloadType(t.data.payloadType):"OpusPayloadType"===t.data.msgType?e.setOpusPayloadType(t.data.payloadType):"UpdateNumRedundantEncodings"===t.data.msgType?e.setNumRedundantEncodings(t.data.numRedundantEncodings):"Enable"===t.data.msgType?e.setRedundancyEnabled(!0):"Disable"===t.data.msgType&&e.setRedundancyEnabled(!1)}}static log(e){i.shouldLog&&self.postMessage({type:"REDWorkerLog",log:`[AudioRed] ${e}`})}static getNumRedundantEncodingsForPacketLoss(e){let t=0,i=!1;return e<=8?t=0:e<=18?t=1:e<=75?t=2:(t=0,i=!0),[t,i]}setupPassthroughTransform(e,t){i.log("Setting up passthrough transform"),e.pipeTo(t)}setupSenderTransform(e,t){i.log("Setting up sender RED transform");const n=new TransformStream({transform:this.senderTransform.bind(this)});e.pipeThrough(n).pipeTo(t)}setupReceiverTransform(e,t){i.log("Setting up receiver RED transform");const n=new TransformStream({transform:this.receivePacketLogTransform.bind(this)});e.pipeThrough(n).pipeTo(t)}setRedPayloadType(e){this.redPayloadType=e,i.log(`red payload type set to ${this.redPayloadType}`)}setOpusPayloadType(e){this.opusPayloadType=e,i.log(`opus payload type set to ${this.opusPayloadType}`)}setNumRedundantEncodings(e){this.numRedundantEncodings=e,this.numRedundantEncodings>this.maxRedEncodings&&(this.numRedundantEncodings=this.maxRedEncodings),i.log(`Updated numRedundantEncodings to ${this.numRedundantEncodings}`)}setRedundancyEnabled(e){this.redundancyEnabled=e,i.log("redundancy "+(this.redundancyEnabled?"enabled":"disabled"))}enqueueAudioFrameIfPayloadSizeIsValid(e,t){e.data.byteLength>this.maxAudioPayloadSizeBytes||t.enqueue(e)}senderTransform(e,t){if(e.getMetadata().payloadType!==this.redPayloadType)return void this.enqueueAudioFrameIfPayloadSizeIsValid(e,t);const i=this.getPrimaryPayload(e.timestamp,e.data);if(!i)return void this.enqueueAudioFrameIfPayloadSizeIsValid(e,t);const n=this.encode(e.timestamp,i);n?(e.data=n,this.enqueueAudioFrameIfPayloadSizeIsValid(e,t)):this.enqueueAudioFrameIfPayloadSizeIsValid(e,t)}getPrimaryPayload(e,t){const i=this.splitEncodings(e,t);return!i||i.length<1?null:i[i.length-1].payload}splitEncodings(e,t,i=!1,n=void 0){const r=new DataView(t);let o=r.byteLength,s=0,a=0,d=0,c=0,l=!1;const u=new Array,h=new Array,p=new Array;for(;o>0;){if(l=!(128&r.getUint8(c)),l){if((127&r.getUint8(c))!==this.opusPayloadType)return null;if(s+=this.redLastHeaderSizeBytes,a+=this.redLastHeaderSizeBytes,s>=r.byteLength)return null;d=r.byteLength-s;break}{if(o<this.redHeaderSizeBytes)return null;const t=((3&r.getUint8(c+2))<<8)+r.getUint8(c+3);h.push(t);const i=e-(r.getUint16(c+1)>>2);p.push(i),s+=t+this.redHeaderSizeBytes,a+=this.redHeaderSizeBytes,c+=this.redHeaderSizeBytes,o-=this.redHeaderSizeBytes}}if(!l)return void 0!==n?(u.push({payload:t,isRedundant:!1,seq:n}),u):null;let f=a;for(let e=0;e<p.length;e++){const t=new ArrayBuffer(h[e]);new Uint8Array(t).set(new Uint8Array(r.buffer,f,h[e]),0);const n={timestamp:p[e],payload:t,isRedundant:!0};i&&(n.hasFec=this.opusPacketHasFec(new DataView(t),t.byteLength)),u.push(n),f+=h[e]}const m=r.byteLength-d,g=new ArrayBuffer(d);new Uint8Array(g).set(new Uint8Array(r.buffer,m,d),0);const v={timestamp:e,payload:g,isRedundant:!1,seq:n};return i&&(v.hasFec=this.opusPacketHasFec(new DataView(g),g.byteLength)),u.push(v),u}encode(e,t){const i=t.byteLength;if(0===i||i>=this.maxRedPacketSizeBytes||i>=this.maxAudioPayloadSizeBytes)return null;const n=this.numRedundantEncodings;let r=this.redLastHeaderSizeBytes,o=i,s=this.maxAudioPayloadSizeBytes-i-r;const a=new Array,d=new Array;
2138if(this.redundancyEnabled){let t=this.uint32WrapAround(e-this.redPacketizationTime*this.redPacketDistance);for(let i=0;i<n&&!(this.uint32WrapAround(e-t)>=this.maxRedTimestampOffset);i++){let e=t,i=this.encodingHistory.find(t=>t.timestamp===e);if(i||(e=this.uint32WrapAround(t-this.redPacketizationTime),i=this.encodingHistory.find(t=>t.timestamp===e)),i){const e=i.payload.byteLength;if(s<this.redHeaderSizeBytes+e)break;s-=this.redHeaderSizeBytes+e,r+=this.redHeaderSizeBytes,o+=e,a.unshift(i.timestamp),d.unshift(i.payload)}t-=this.redPacketizationTime*this.redPacketDistance,t=this.uint32WrapAround(t)}}const c=new ArrayBuffer(r+o),l=new DataView(c);let u=0;for(let t=0;t<a.length;t++){const i=e-a[t];l.setUint8(u,128|this.opusPayloadType),l.setUint16(u+1,i<<2|d[t].byteLength>>8),l.setUint8(u+3,255&d[t].byteLength),u+=this.redHeaderSizeBytes}l.setUint8(u,this.opusPayloadType),u+=this.redLastHeaderSizeBytes;const h=new Uint8Array(c);for(let e=0;e<d.length;e++)h.set(new Uint8Array(d[e]),u),u+=d[e].byteLength;return h.set(new Uint8Array(t),u),u+=t.byteLength,u!==r+o?null:(this.updateEncodingHistory(e,t),c)}updateEncodingHistory(e,t){for(const t of this.encodingHistory){const i=this.redPacketizationTime*this.redMaxRecoveryDistance;if(!(e-t.timestamp>=i))break;this.encodingHistory.shift()}const i=new DataView(t);(this.opusPacketIsCeltOnly(i)||this.opusPacketHasVoiceActivity(i,i.byteLength)>0)&&(this.encodingHistory.length+1>this.maxEncodingHistorySize&&(this.encodingHistory.length=0),this.encodingHistory.push({timestamp:e,payload:t}))}initializePacketLogs(){const e=this.maxOutOfOrderPacketDistance+this.redMaxRecoveryDistance;this.primaryPacketLog={window:new Array(e),index:0,windowSize:e},this.redRecoveryLog={window:new Array(e),index:0,windowSize:e},this.fecRecoveryLog={window:new Array(e),index:0,windowSize:e},this.totalAudioPacketsExpected=0,this.totalAudioPacketsLost=0,this.totalAudioPacketsRecoveredRed=0,this.totalAudioPacketsRecoveredFec=0}receivePacketLogTransform(e,t){const i=e.getMetadata();if(i.payloadType!==this.redPayloadType)return void this.enqueueAudioFrameIfPayloadSizeIsValid(e,t);const n=this.splitEncodings(e.timestamp,e.data,!0,i.sequenceNumber);if(n){for(let e=n.length-1;e>=0;e--)this.updateLossStats(n[e])&&(this.updateRedStats(n[e]),this.updateFecStats(n[e]));this.maybeReportLossStats(i.synchronizationSource,n[n.length-1].timestamp),this.enqueueAudioFrameIfPayloadSizeIsValid(e,t)}else this.enqueueAudioFrameIfPayloadSizeIsValid(e,t)}updateLossStats(e){if(e.isRedundant)return!0;const t=e.timestamp,i=e.seq;if(0===this.totalAudioPacketsExpected)return this.totalAudioPacketsExpected=1,this.newestSequenceNumber=i,this.addTimestamp(this.primaryPacketLog,t),!0;const n=this.int16(i-this.newestSequenceNumber);return!(n<-this.maxOutOfOrderPacketDistance||(n<0?this.hasTimestamp(this.primaryPacketLog,t)||(this.totalAudioPacketsLost>0&&this.totalAudioPacketsLost--,this.addTimestamp(this.primaryPacketLog,t),this.removeFromRecoveryWindows(t)):n>1&&(this.totalAudioPacketsLost+=n-1),n>0&&(this.totalAudioPacketsExpected+=n,this.newestSequenceNumber=e.seq,this.addTimestamp(this.primaryPacketLog,t)),0))}updateRedStats(e){if(!e.isRedundant||0===this.totalAudioPacketsLost)return;const t=e.timestamp;this.hasTimestamp(this.primaryPacketLog,t)||(this.hasTimestamp(this.redRecoveryLog,t)||(this.totalAudioPacketsRecoveredRed++,this.addTimestamp(this.redRecoveryLog,t)),this.removeTimestamp(this.fecRecoveryLog,t)&&this.totalAudioPacketsRecoveredFec>0&&this.totalAudioPacketsRecoveredFec--)}updateFecStats(e){if(!e.hasFec||0===this.totalAudioPacketsLost)return;const t=e.timestamp-this.redPacketizationTime;this.hasTimestamp(this.primaryPacketLog,t)||this.hasTimestamp(this.redRecoveryLog,t)||this.hasTimestamp(this.fecRecoveryLog,t)||(this.totalAudioPacketsRecoveredFec++,this.addTimestamp(this.fecRecoveryLog,t))}maybeReportLossStats(e,t){void 0===t||t-this.lastLossReportTimestamp<this.lossReportInterval||(i.shouldReportStats&&self.postMessage({type:"RedundantAudioEncoderStats",ssrc:e,totalAudioPacketsLost:this.totalAudioPacketsLost,totalAudioPacketsExpected:this.totalAudioPacketsExpected,totalAudioPacketsRecoveredRed:this.totalAudioPacketsRecoveredRed,totalAudioPacketsRecoveredFec:this.totalAudioPacketsRecoveredFec}),this.lastLossReportTimestamp=t)}addTimestamp(e,t){void 0!==t&&(e.window[e.index]=t,e.index=(e.index+1)%e.windowSize)}hasTimestamp(e,t){return!!e.window.find(e=>e===t)}removeTimestamp(e,t){const i=e.window.indexOf(t);return i>=0&&(e.window[i]=void 0,!0)}removeFromRecoveryWindows(e){let t=this.removeTimestamp(this.redRecoveryLog,e);t&&this.totalAudioPacketsRecoveredRed>0&&this.totalAudioPacketsRecoveredRed--,t=this.removeTimestamp(this.fecRecoveryLog,e),t&&this.totalAudioPacketsRecoveredFec>0&&this.totalAudioPacketsRecoveredFec--}uint32WrapAround(e){const t=4294967296;let i=e;return e>=t?i=e-t:e<0&&(i=t+e),i}int16(e){return e<<16>>16}opusPacketIsCeltOnly(e){return!!(128&e.getUint8(0))}
2138opusPacketGetSamplesPerFrame(e,t){let i,n;return t=Math.round(t),t=Math.min(Math.max(t,-Math.pow(2,32)),Math.pow(2,32)-1),this.opusPacketIsCeltOnly(e)?(n=e.getUint8(0)>>3&3,i=(t<<n)/400):96&~e.getUint8(0)?(n=e.getUint8(0)>>3&3,i=3===n?60*t/1e3:(t<<n)/100):i=8&e.getUint8(0)?t/50:t/100,i}opusNumSilkFrames(e){let t=this.opusPacketGetSamplesPerFrame(e,48e3)/48;switch(t<10&&(t=10),t){case 10:case 20:return 1;case 40:return 2;case 60:return 3;default:return 0}}opusPacketGetNumChannels(e){return 4&e.getUint8(0)?2:1}opusParseSize(e,t,i,n){return i<1?(n[0]=-1,-1):e.getUint8(t)<252?(n[0]=e.getUint8(t),1):i<2?(n[0]=-1,-1):(n[0]=4*e.getUint8(t+1)+e.getUint8(t),2)}opusPacketParseImpl(e,t,i,n,r,o,s,a){if(!o||t<0)return this.OPUS_BAD_ARG;if(0===t)return this.OPUS_INVALID_PACKET;let d,c,l=0,u=!1;const h=e.getUint8(0);n&&(n[0]=h);let p=t-1,f=1,m=p;switch(3&h){case 0:d=1;break;case 1:if(d=2,u=!0,!i){if(1&p)return this.OPUS_INVALID_PACKET;m=p/2,o[0][0]=m}break;case 2:if(d=2,c=this.opusParseSize(e,f,p,o[0]),p-=c,o[0][0]<0||o[0][0]>p)return this.OPUS_INVALID_PACKET;f+=c,m=p-o[0][0];break;default:if(p<1)return this.OPUS_INVALID_PACKET;const t=e.getUint8(f++);if(--p,d=63&t,d<=0)return this.OPUS_INVALID_PACKET;if(this.opusPacketGetSamplesPerFrame(e,48e3)*d>5760)return this.OPUS_INVALID_PACKET;if(64&t){let t,i;do{if(p<=0)return this.OPUS_INVALID_PACKET;t=e.getUint8(f++),--p,i=255===t?254:t,p-=i,l+=i}while(255===t)}if(p<0)return this.OPUS_INVALID_PACKET;if(u=!(128&t),u){if(!i){if(m=Math.trunc(p/d),m*d!==p)return this.OPUS_INVALID_PACKET;for(let e=0;e<d-1;++e)o[e][0]=m}}else{m=p;for(let t=0;t<d-1;++t){if(c=this.opusParseSize(e,f,p,o[t]),p-=c,o[t][0]<0||o[t][0]>p)return this.OPUS_INVALID_PACKET;f+=c,m-=c+o[t][0]}if(m<0)return this.OPUS_INVALID_PACKET}}if(i){if(c=this.opusParseSize(e,f,p,o[d-1]),p-=c,o[d-1][0]<0||o[d-1][0]>p)return this.OPUS_INVALID_PACKET;if(f+=c,u){if(o[d-1][0]*d>p)return this.OPUS_INVALID_PACKET;for(let e=0;e<d-1;++e)o[e][0]=o[d-1][0]}else if(!(c+o[d-1][0]<=m))return this.OPUS_INVALID_PACKET}else{if(m>this.OPUS_MAX_FRAME_SIZE_BYTES)return this.OPUS_INVALID_PACKET;o[d-1][0]=m}s&&(s[0]=f);for(let e=0;e<d;++e)r&&(r[e][0]=f),f+=o[e][0];return a&&(a[0]=f+l),d}opusPacketParse(e,t,i,n,r,o){return this.opusPacketParseImpl(e,t,!1,i,n,r,o,null)}opusPacketHasVoiceActivity(e,t){if(!e||t<=0)return 0;if(this.opusPacketIsCeltOnly(e))return-1;const i=this.opusNumSilkFrames(e);if(0===i)return-1;const n=new Array(this.OPUS_MAX_OPUS_FRAMES),r=new Array(this.OPUS_MAX_OPUS_FRAMES);for(let e=0;e<this.OPUS_MAX_OPUS_FRAMES;++e)n[e]=[void 0],r[e]=[void 0];const o=this.opusPacketParse(e,t,null,n,r,null);if(o<0)return-1;for(let t=0;t<o;++t)if(!(r[t][0]<1)){if(e.getUint8(n[t][0])>>8-i)return 1;if(2===this.opusPacketGetNumChannels(e)&&e.getUint8(n[t][0])<<i+1>>8-i)return 1}return 0}opusPacketHasFec(e,t){if(!e||t<=0)return!1;if(this.opusPacketIsCeltOnly(e))return!1;const i=new Array(this.OPUS_MAX_OPUS_FRAMES),n=new Array(this.OPUS_MAX_OPUS_FRAMES);for(let e=0;e<this.OPUS_MAX_OPUS_FRAMES;++e)i[e]=[void 0],n[e]=[void 0];if(this.opusPacketParse(e,t,null,i,n,null)<0)return!1;if(n[0][0]<=1)return!1;const r=this.opusNumSilkFrames(e);if(0===r)return!1;const o=this.opusPacketGetNumChannels(e);if(1!==o&&2!==o)return!1;for(let t=0;t<o;t++)if(e.getUint8(i[0][0])&128>>(t+1)*(r+1)-1)return!0;return!1}}t.default=i,i.shouldLog=!1,i.shouldReportStats=!1},17107(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="class RedundantAudioEncoder {\n    constructor() {\n        // Each payload must be less than 1024 bytes to fit the 10 bit block length\n        this.maxRedPacketSizeBytes = 1 << 10;\n        // Limit payload to 1000 bytes to handle small MTU. 1000 is chosen because in Chromium-based browsers, writing audio\n        // payloads larger than 1000 bytes using the WebRTC Insertable Streams API (which is used to enable dynamic audio\n        // redundancy) will cause an error to be thrown and cause audio flow to permanently stop. See\n        // https://crbug.com/1248479.\n        this.maxAudioPayloadSizeBytes = 1000;\n        // Each payload can encode a timestamp delta of 14 bits\n        this.maxRedTimestampOffset = 1 << 14;\n        // 4 byte RED header\n        this.redHeaderSizeBytes = 4;\n        // reduced size for last RED header\n        this.redLastHeaderSizeBytes = 1;\n        // P-Time for Opus 20 msec packets\n        // We do not support other p-times or clock rates\n        this.redPacket
2138izationTime = 960;\n        // distance between redundant payloads, Opus FEC handles a distance of 1\n        // TODO(https://issues.amazon.com/issues/ChimeSDKAudio-55):\n        // Consider making this dynamic\n        this.redPacketDistance = 2;\n        // maximum number of redundant payloads per RTP packet\n        this.maxRedEncodings = 2;\n        // Maximum number of encodings that can be recovered with a single RED packet, assuming the primary and redundant\n        // payloads have FEC.\n        this.redMaxRecoveryDistance = this.redPacketDistance * this.maxRedEncodings + 1;\n        // maximum history of prior payloads to keep\n        // generally we will expire old entries based on timestamp\n        // this limit is in place just to make sure the history does not\n        // grow too large in the case of erroneous timestamp inputs\n        this.maxEncodingHistorySize = 10;\n        // Current number of encodings we want to send\n        // to the remote end. This will be dynamically\n        // updated through the setNumEncodingsFromPacketloss API\n        this.numRedundantEncodings = 0;\n        // Used to enable or disable redundancy\n        // in response to very high packet loss events\n        this.redundancyEnabled = true;\n        // Loss stats are reported to the main thread every 5 seconds.\n        // Since timestamp differences between 2 consecutive packets\n        // give us the number of samples in each channel, 1 second\n        // is equivalent to 48000 samples:\n        // P-time * (1000ms/1s)\n        // = (960 samples/20ms) * (1000ms/1s)\n        // = 48000 samples/s\n        this.lossReportInterval = 48000 * 5;\n        // Maximum distance of a packet from the most recent packet timestamp\n        // that we will consider for recovery.\n        this.maxOutOfOrderPacketDistance = 16;\n        /**\n         * Below are Opus helper methods and constants.\n         */\n        this.OPUS_BAD_ARG = -1;\n        this.OPUS_INVALID_PACKET = -4;\n        // Max number of Opus frames in an Opus packet is 48 (https://www.rfc-editor.org/rfc/rfc6716#section-3.2.5).\n        this.OPUS_MAX_OPUS_FRAMES = 48;\n        // Max number of bytes that any individual Opus frame can have.\n        this.OPUS_MAX_FRAME_SIZE_BYTES = 1275;\n        this.encodingHistory = new Array();\n        this.opusPayloadType = 0;\n        this.redPayloadType = 0;\n        this.initializePacketLogs();\n    }\n    /**\n     * Creates an instance of RedundantAudioEncoder and sets up callbacks.\n     */\n    static initializeWorker() {\n        RedundantAudioEncoder.log('Initializing RedundantAudioEncoder');\n        const encoder = new RedundantAudioEncoder();\n        // RED encoding is done using WebRTC Encoded Transform\n        // https://github.com/w3c/webrtc-encoded-transform/blob/main/explainer.md\n        // Check the DedicatedWorkerGlobalScope for existence of\n        // RTCRtpScriptTransformer interface. If exists, then\n        // RTCRtpScriptTransform is supported by this browser.\n        // @ts-ignore\n        if (self.RTCRtpScriptTransformer) {\n            // @ts-ignore\n            self.onrtctransform = (event) => {\n                if (event.transformer.options.type === 'SenderTransform') {\n                    encoder.setupSenderTransform(event.transformer.readable, event.transformer.writable);\n                }\n                else if (event.transformer.options.type === 'ReceiverTransform') {\n                    encoder.setupReceiverTransform(event.transformer.readable, event.transformer.writable);\n                }\n                else if (event.transformer.options.type === 'PassthroughTransform') {\n                    encoder.setupPassthroughTransform(event.transformer.readable, event.transformer.writable);\n                }\n            };\n        }\n        self.onmessage = (event) => {\n            if (event.data.msgType === 'StartRedWorker') {\n                encoder.setupSenderTransform(event.data.send.readable, event.data.send.writable);\n                encoder.setupReceiverTransform(event.data.receive.readable, event.data.receive.writable);\n            }\n            else if (event.data.msgType === 'PassthroughTransform') {\n                encoder.setupPassthroughTransform(event.data.send.readable, event.data.send.writable);\n                encoder.setupPassthroughTransform(event.data.receive.readable, event.data.receive.writable);\n            }\n            else if (event.data.msgType === 'RedPayloadType') {\n                encoder.setRedPayloadType(event.data.payloadType);\n            }
2138\n            else if (event.data.msgType === 'OpusPayloadType') {\n                encoder.setOpusPayloadType(event.data.payloadType);\n            }\n            else if (event.data.msgType === 'UpdateNumRedundantEncodings') {\n                encoder.setNumRedundantEncodings(event.data.numRedundantEncodings);\n            }\n            else if (event.data.msgType === 'Enable') {\n                encoder.setRedundancyEnabled(true);\n            }\n            else if (event.data.msgType === 'Disable') {\n                encoder.setRedundancyEnabled(false);\n            }\n        };\n    }\n    /**\n     * Post logs to the main thread\n     */\n    static log(msg) {\n        if (RedundantAudioEncoder.shouldLog) {\n            // @ts-ignore\n            self.postMessage({\n                type: 'REDWorkerLog',\n                log: `[AudioRed] ${msg}`,\n            });\n        }\n    }\n    /**\n     * Returns the number of encodings based on packetLoss value. This is used by `DefaultTransceiverController` to\n     * determine when to alert the encoder to update the number of encodings. It also determines if we need to\n     * turn off red in cases of very high packet loss to avoid congestion collapse.\n     */\n    static getNumRedundantEncodingsForPacketLoss(packetLoss) {\n        let recommendedRedundantEncodings = 0;\n        let shouldTurnOffRed = false;\n        if (packetLoss <= 8) {\n            recommendedRedundantEncodings = 0;\n        }\n        else if (packetLoss <= 18) {\n            recommendedRedundantEncodings = 1;\n        }\n        else if (packetLoss <= 75) {\n            recommendedRedundantEncodings = 2;\n        }\n        else {\n            recommendedRedundantEncodings = 0;\n            shouldTurnOffRed = true;\n        }\n        return [recommendedRedundantEncodings, shouldTurnOffRed];\n    }\n    /**\n     * Sets up a passthrough (no-op) transform for the given streams.\n     */\n    setupPassthroughTransform(readable, writable) {\n        RedundantAudioEncoder.log('Setting up passthrough transform');\n        readable.pipeTo(writable);\n    }\n    /**\n     * Sets up the transform stream and pipes the outgoing encoded audio frames through the transform function.\n     */\n    setupSenderTransform(readable, writable) {\n        RedundantAudioEncoder.log('Setting up sender RED transform');\n        const transformStream = new TransformStream({\n            transform: this.senderTransform.bind(this),\n        });\n        readable.pipeThrough(transformStream).pipeTo(writable);\n        return;\n    }\n    /**\n     * Sets up the transform stream and pipes the received encoded audio frames through the transform function.\n     */\n    setupReceiverTransform(readable, writable) {\n        RedundantAudioEncoder.log('Setting up receiver RED transform');\n        const transformStream = new TransformStream({\n            transform: this.receivePacketLogTransform.bind(this),\n        });\n        readable.pipeThrough(transformStream).pipeTo(writable);\n        return;\n    }\n    /**\n     * Set the RED payload type ideally obtained from local offer.\n     */\n    setRedPayloadType(payloadType) {\n        this.redPayloadType = payloadType;\n        RedundantAudioEncoder.log(`red payload type set to ${this.redPayloadType}`);\n    }\n    /**\n     * Set the opus payload type ideally obtained from local offer.\n     */\n    setOpusPayloadType(payloadType) {\n        this.opusPayloadType = payloadType;\n        RedundantAudioEncoder.log(`opus payload type set to ${this.opusPayloadType}`);\n    }\n    /**\n     * Set the number of redundant encodings\n     */\n    setNumRedundantEncodings(numRedundantEncodings) {\n        this.numRedundantEncodings = numRedundantEncodings;\n        if (this.numRedundantEncodings > this.maxRedEncodings) {\n            this.numRedundantEncodings = this.maxRedEncodings;\n        }\n        RedundantAudioEncoder.log(`Updated numRedundantEncodings to ${this.numRedundantEncodings}`);\n    }\n    /**\n     * Enable or disable redundancy in response to\n     * high packet loss event.\n     */\n    setRedundancyEnabled(enabled) {\n        this.redundancyEnabled = enabled;\n        RedundantAudioEncoder.log(`redundancy ${this.redundancyEnabled ? 'enabled' : 'disabled'}`);\n    }\n    /**\n     * Helper function to only enqueue audio frames if they do not exceed the audio payload byte limit imposed by\n     * Chromium-based browsers. Chromium will throw an error (https://crbug.com/1248479) if an audio payload larger than\n     * 1000 bytes is enqueued. Any controller that attempts to enqueue an audio payload larger than 1000 bytes will\n     * encounter this error and will permanently stop sending or receiving audio.\n     */\n    enqueueAudioFrameIfPayloadSizeIsValid(\n    // @ts-ignore\n    frame, controller) {\n        if (frame.data.byteLength > this.maxAudioPayloadSizeBytes)\n            return;\n        controller.enqueue(frame);\n    }\n    /**\n     * Receives encoded frames and modifies as needed before sending to transport.\n     */\n    senderTransform(\n    // @ts-ignore\n    frame, controller) {\n        const frameMetadata = frame.getMetadata();\n        // @ts-ignore\n        if (frameMetadata.payloadType !== this.redPayloadType) {\n            this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n            return;\n        }\n        const primaryPayloadBuffer = this.getPrimaryPayload(frame.timestamp, frame.data);\n        if (!primaryPayloadBuffer) {\n            this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n            return;\n        }\n        const encodedBuffer = this.encode(frame.timestamp, primaryPayloadBuffer);\n        /* istanbul ignore next */\n        if (!encodedBuffer) {\n            this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n            return;\n        }\n        frame.data = encodedBuffer;\n        this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n        return;\n    }\n    /**\n     * Get the primary payload from encoding\n     */\n    getPrimaryPayload(primaryTimestamp, frame) {\n        const encodings = this.splitEncodings(primaryTimestamp, frame);\n        if (!encodings || encodings.length < 1)\n            return null;\n        return encodings[encodings.length - 1].payload;\n    }\n    /**\n     * Split up the encoding received into primary and redundant encodings\n     * These will be ordered oldest to newest which is the same ordering\n     * in the RTP red payload.\n     */\n    splitEncodings(primaryTimestamp, frame, getFecInfo = false, primarySequenceNumber = undefined) {\n        // process RED headers (according to RFC 2198)\n        //   0                   1                   2                   3\n        //   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\n        //  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n        //  |F|   block PT  |  timestamp offset         |   block length    |\n        //  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n        //\n        // last header\n        //   0 1 2 3 4 5 6 7\n        //  +-+-+-+-+-+-+-+-+\n        //  |0|   Block PT  |\n        //  +-+-+-+-+-+-+-+-+\n        const payload = new DataView(frame);\n        let payloadSizeBytes = payload.byteLength;\n        let totalPayloadSizeBytes = 0;\n        let totalHeaderSizeBytes = 0;\n        let primaryPayloadSizeBytes = 0;\n        let payloadOffset = 0;\n        let gotLastBlock = false;\n        const encodings = new Array();\n        const redundantEncodingBlockLengths = new Array();\n        const redundantEncodingTimestamps = new Array();\n        while (payloadSizeBytes > 0) {\n            gotLastBlock = (payload.getUint8(payloadOffset) & 0x80) === 0;\n            if (gotLastBlock) {\n                // Bits 1 through 7 are payload type\n                const payloadType = payload.getUint8(payloadOffset) & 0x7f;\n                // Unexpected payload type. This is a bad packet.\n                if (payloadType !== this.opusPayloadType) {\n                    return null;\n                }\n                totalPayloadSizeBytes += this.redLastHeaderSizeBytes;\n                totalHeaderSizeBytes += this.redLastHeaderSizeBytes;\n                // Accumulated block lengths are equal to or larger than the buffer, which means there is no primary block. This\n                // is a bad packet.\n                if (totalPayloadSizeBytes >= payload.byteLength) {\n                    return null;\n                }\n                primaryPayloadSizeBytes = payload.byteLength - totalPayloadSizeBytes;\n                break;\n            }\n            else {\n                if (payloadSizeBytes < this.redHeaderSizeBytes) {\n                    return null;\n                }\n                // Bits 22 through 31 are payload length\n                const blockLength = ((payload.getUint8(payloadOffset + 2) & 0x03) << 8) + payload.getUint8(payloadOffset + 3);\n                redundantEncodingBlockLengths.push(blockLength);\n                const timestampOffset = payload.getUint16(payloadOffset + 1) >> 2;\n                const timestamp = primaryTimestamp - timestampOffset;\n                redundantEncodingTimestamps.push(timestamp);\n                totalPayloadSizeBytes += blockLength + this.redHeaderSizeBytes;\n                totalHeaderSizeBytes += this.redHeaderSizeBytes;\n                payloadOffset += this.redHeaderSizeBytes;\n                payloadSizeBytes -= this.redHeaderSizeBytes;\n            }\n        }\n        // The last block was never found. The packet we received\n        // does not have a good RED payload.\n        if (!gotLastBlock) {\n            // Note that sequence numbers only exist for\n            // incoming audio frames.\n            if (primarySequenceNumber !== undefined) {\n                // This could be a possible padding packet used\n                // for BWE with a good sequence number.\n                // Create a dummy encoding to make sure loss values\n                // are calculated correctly by consuming sequence number.\n                // Note that for the receive side, we process packets only\n                // for loss/recovery calculations and forward the original\n                // packet without changing it even in the error case.\n                encodings.push({\n                    payload: frame,\n                    isRedundant: false,\n                    seq: primarySequenceNumber,\n                });\n                return encodings;\n            }\n            // This is a bad packet.\n            return null;\n        }\n        let redundantPayloadOffset = totalHeaderSizeBytes;\n        for (let i = 0; i < redundantEncodingTimestamps.length;
2138 i++) {\n            const redundantPayloadBuffer = new ArrayBuffer(redundantEncodingBlockLengths[i]);\n            const redundantPayloadArray = new Uint8Array(redundantPayloadBuffer);\n            redundantPayloadArray.set(new Uint8Array(payload.buffer, redundantPayloadOffset, redundantEncodingBlockLengths[i]), 0);\n            const encoding = {\n                timestamp: redundantEncodingTimestamps[i],\n                payload: redundantPayloadBuffer,\n                isRedundant: true,\n            };\n            if (getFecInfo) {\n                encoding.hasFec = this.opusPacketHasFec(new DataView(redundantPayloadBuffer), redundantPayloadBuffer.byteLength);\n            }\n            encodings.push(encoding);\n            redundantPayloadOffset += redundantEncodingBlockLengths[i];\n        }\n        const primaryPayloadOffset = payload.byteLength - primaryPayloadSizeBytes;\n        const primaryPayloadBuffer = new ArrayBuffer(primaryPayloadSizeBytes);\n        const primaryArray = new Uint8Array(primaryPayloadBuffer);\n        primaryArray.set(new Uint8Array(payload.buffer, primaryPayloadOffset, primaryPayloadSizeBytes), 0);\n        const encoding = {\n            timestamp: primaryTimestamp,\n            payload: primaryPayloadBuffer,\n            isRedundant: false,\n            seq: primarySequenceNumber,\n        };\n        if (getFecInfo) {\n            encoding.hasFec = this.opusPacketHasFec(new DataView(primaryPayloadBuffer), primaryPayloadBuffer.byteLength);\n        }\n        encodings.push(encoding);\n        return encodings;\n    }\n    /**\n     * Create a new encoding with current primary payload and the older payloads of choice.\n     */\n    encode(primaryTimestamp, primaryPayload) {\n        const primaryPayloadSize = primaryPayload.byteLength;\n        // Payload size needs to be valid.\n        if (primaryPayloadSize === 0 ||\n            primaryPayloadSize >= this.maxRedPacketSizeBytes ||\n            primaryPayloadSize >= this.maxAudioPayloadSizeBytes) {\n            return null;\n        }\n        const numRedundantEncodings = this.numRedundantEncodings;\n        let headerSizeBytes = this.redLastHeaderSizeBytes;\n        let payloadSizeBytes = primaryPayloadSize;\n        let bytesAvailable = this.maxAudioPayloadSizeBytes - primaryPayloadSize - headerSizeBytes;\n        const redundantEncodingTimestamps = new Array();\n        const redundantEncodingPayloads = new Array();\n        // If redundancy is disabled then only send the primary payload\n        if (this.redundancyEnabled) {\n            // Determine how much redundancy we can fit into our packet\n            let redundantTimestamp = this.uint32WrapAround(primaryTimestamp - this.redPacketizationTime * this.redPacketDistance);\n            for (let i = 0; i < numRedundantEncodings; i++) {\n                // Do not add redundant encodings that are beyond the maximum timestamp offset.\n                if (this.uint32WrapAround(primaryTimestamp - redundantTimestamp) >= this.maxRedTimestampOffset) {\n                    break;\n                }\n                let findTimestamp = redundantTimestamp;\n                let encoding = this.encodingHistory.find(e => e.timestamp === findTimestamp);\n                if (!encoding) {\n                    // If not found or not important then look for the previous packet.\n                    // The current packet may have included FEC for the previous, so just\n                    // use the previous packet instead provided that it has voice activity.\n                    findTimestamp = this.uint32WrapAround(redundantTimestamp - this.redPacketizationTime);\n                    encoding = this.encodingHistory.find(e => e.timestamp === findTimestamp);\n                }\n                if (encoding) {\n                    const redundantEncodingSizeBytes = encoding.payload.byteLength;\n                    // Only add redundancy if there are enough bytes available.\n                    if (bytesAvailable < this.redHeaderSizeBytes + redundantEncodingSizeBytes)\n                        break;\n                    bytesAvailable -= this.redHeaderSizeBytes + redundantEncodingSizeBytes;\n                    headerSizeBytes += this.redHeaderSizeBytes;\n                    payloadSizeBytes += redundantEncodingSizeBytes;\n                    redundantEncodingTimestamps.unshift(encoding.timestamp);\n                    redundantEncodingPayloads.unshift(encoding.payload);\n                }
2138\n                redundantTimestamp -= this.redPacketizationTime * this.redPacketDistance;\n                redundantTimestamp = this.uint32WrapAround(redundantTimestamp);\n            }\n        }\n        const redPayloadBuffer = new ArrayBuffer(headerSizeBytes + payloadSizeBytes);\n        const redPayloadView = new DataView(redPayloadBuffer);\n        // Add redundant encoding header(s) to new buffer\n        let redPayloadOffset = 0;\n        for (let i = 0; i < redundantEncodingTimestamps.length; i++) {\n            const timestampDelta = primaryTimestamp - redundantEncodingTimestamps[i];\n            redPayloadView.setUint8(redPayloadOffset, this.opusPayloadType | 0x80);\n            redPayloadView.setUint16(redPayloadOffset + 1, (timestampDelta << 2) | (redundantEncodingPayloads[i].byteLength >> 8));\n            redPayloadView.setUint8(redPayloadOffset + 3, redundantEncodingPayloads[i].byteLength & 0xff);\n            redPayloadOffset += this.redHeaderSizeBytes;\n        }\n        // Add primary encoding header to new buffer\n        redPayloadView.setUint8(redPayloadOffset, this.opusPayloadType);\n        redPayloadOffset += this.redLastHeaderSizeBytes;\n        // Add redundant payload(s) to new buffer\n        const redPayloadArray = new Uint8Array(redPayloadBuffer);\n        for (let i = 0; i < redundantEncodingPayloads.length; i++) {\n            redPayloadArray.set(new Uint8Array(redundantEncodingPayloads[i]), redPayloadOffset);\n            redPayloadOffset += redundantEncodingPayloads[i].byteLength;\n        }\n        // Add primary payload to new buffer\n        redPayloadArray.set(new Uint8Array(primaryPayload), redPayloadOffset);\n        redPayloadOffset += primaryPayload.byteLength;\n        /* istanbul ignore next */\n        // Sanity check that we got the expected total payload size.\n        if (redPayloadOffset !== headerSizeBytes + payloadSizeBytes)\n            return null;\n        this.updateEncodingHistory(primaryTimestamp, primaryPayload);\n        return redPayloadBuffer;\n    }\n    /**\n     * Update the encoding history with the latest primary encoding\n     */\n    updateEncodingHistory(primaryTimestamp, primaryPayload) {\n        // Remove encodings from the history if they are too old.\n        for (const encoding of this.encodingHistory) {\n            const maxTimestampDelta = this.redPacketizationTime * this.redMaxRecoveryDistance;\n            if (primaryTimestamp - encoding.timestamp >= maxTimestampDelta) {\n                this.encodingHistory.shift();\n            }\n            else {\n                break;\n            }\n        }\n        // Only add an encoding to the history if the encoding is deemed to be important. An encoding is important if it is\n        // a CELT-only packet or contains voice activity.\n        const packet = new DataView(primaryPayload);\n        if (this.opusPacketIsCeltOnly(packet) ||\n            this.opusPacketHasVoiceActivity(packet, packet.byteLength) > 0) {\n            // Check if adding an encoding will cause the length of the encoding history to exceed the maximum history size.\n            // This is not expected to happen but could occur if we get incorrect timestamps. We want to make sure our memory\n            // usage is bounded. In this case, just clear the history and start over from empty.\n            if (this.encodingHistory.length + 1 > this.maxEncodingHistorySize)\n                this.encodingHistory.length = 0;\n            this.encodingHistory.push({ timestamp: primaryTimestamp, payload: primaryPayload });\n        }\n    }\n    /**\n     * Initialize packet logs and metric values.\n     */\n    initializePacketLogs() {\n        // The extra space from the max RED recovery distance is to ensure that we do not incorrectly count recovery for\n        // packets that have already been received but are outside of the max out-of-order distance.\n        const packetLogSize = this.maxOutOfOrderPacketDistance + this.redMaxRecoveryDistance;\n        this.primaryPacketLog = {\n            window: new Array(packetLogSize),\n            index: 0,\n            windowSize: packetLogSize,\n        };\n        this.redRecoveryLog = {\n            window: new Array(packetLogSize),\n            index: 0,\n            windowSize: packetLogSize,\n        };
2138\n        this.fecRecoveryLog = {\n            window: new Array(packetLogSize),\n            index: 0,\n            windowSize: packetLogSize,\n        };\n        this.totalAudioPacketsExpected = 0;\n        this.totalAudioPacketsLost = 0;\n        this.totalAudioPacketsRecoveredRed = 0;\n        this.totalAudioPacketsRecoveredFec = 0;\n    }\n    /**\n     * Receives encoded frames from the server\n     * and adds the timestamps to a packet log\n     * to calculate an approximate recovery metric.\n     */\n    receivePacketLogTransform(\n    // @ts-ignore\n    frame, controller) {\n        const frameMetadata = frame.getMetadata();\n        // @ts-ignore\n        if (frameMetadata.payloadType !== this.redPayloadType) {\n            this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n            return;\n        }\n        // @ts-ignore\n        const encodings = this.splitEncodings(frame.timestamp, frame.data, \n        /*getFecInfo*/ true, frameMetadata.sequenceNumber);\n        if (!encodings) {\n            this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n            return;\n        }\n        for (let i = encodings.length - 1; i >= 0; i--) {\n            if (this.updateLossStats(encodings[i])) {\n                this.updateRedStats(encodings[i]);\n                this.updateFecStats(encodings[i]);\n            }\n        }\n        this.maybeReportLossStats(frameMetadata.synchronizationSource, encodings[encodings.length - 1].timestamp);\n        this.enqueueAudioFrameIfPayloadSizeIsValid(frame, controller);\n    }\n    /**\n     * Adds a timestamp to the primary packet log.\n     * This also updates totalAudioPacketsLost and totalAudioPacketsExpected by looking\n     * at the difference between timestamps.\n     *\n     * @param encoding : The encoding to be analyzed\n     * @returns false if sequence number was greater than max out of order distance\n     *          true otherwise\n     */\n    updateLossStats(encoding) {\n        if (encoding.isRedundant)\n            return true;\n        const timestamp = encoding.timestamp;\n        const seq = encoding.seq;\n        if (this.totalAudioPacketsExpected === 0) {\n            this.totalAudioPacketsExpected = 1;\n            this.newestSequenceNumber = seq;\n            this.addTimestamp(this.primaryPacketLog, timestamp);\n            return true;\n        }\n        const diff = this.int16(seq - this.newestSequenceNumber);\n        if (diff < -this.maxOutOfOrderPacketDistance)\n            return false;\n        if (diff < 0) {\n            if (!this.hasTimestamp(this.primaryPacketLog, timestamp)) {\n                if (this.totalAudioPacketsLost > 0)\n                    this.totalAudioPacketsLost--;\n                this.addTimestamp(this.primaryPacketLog, timestamp);\n                this.removeFromRecoveryWindows(timestamp);\n            }\n        }\n        else if (diff > 1) {\n            this.totalAudioPacketsLost += diff - 1;\n        }\n        if (diff > 0) {\n            this.totalAudioPacketsExpected += diff;\n            this.newestSequenceNumber = encoding.seq;\n            this.addTimestamp(this.primaryPacketLog, timestamp);\n        }\n        return true;\n    }\n    /**\n     * Adds a timestamp to the red recovery log if it is not present in\n     * the primary packet log and if it's not too old.\n     *\n     * @param encoding : The encoding to be analyzed\n     */\n    updateRedStats(encoding) {\n        if (!encoding.isRedundant || this.totalAudioPacketsLost === 0)\n            return;\n        const timestamp = encoding.timestamp;\n        if (!this.hasTimestamp(this.primaryPacketLog, timestamp)) {\n            if (!this.hasTimestamp(this.redRecoveryLog, timestamp)) {\n                this.totalAudioPacketsRecoveredRed++;\n                this.addTimestamp(this.redRecoveryLog, timestamp);\n            }\n            if (this.removeTimestamp(this.fecRecoveryLog, timestamp)) {\n                /* istanbul ignore else */\n                if (this.totalAudioPacketsRecoveredFec > 0)\n                    this.totalAudioPacketsRecoveredFec--;\n            }\n        }\n    }\n    /**\n     * Adds a timestamp to the fec recovery log if it is not present in\n     * the primary packet log and red recovery log and if it is not too old.\n     *\n     * @param encoding : The encoding to be analyzed\n     */\n    updateFecStats(encoding) {\n        if (!encoding.hasFec || this.totalAudioPacketsLost === 0)\n            return;\n        const fecTimestamp = encoding.timestamp - this.redPacket
2138izationTime;\n        if (this.hasTimestamp(this.primaryPacketLog, fecTimestamp) ||\n            this.hasTimestamp(this.redRecoveryLog, fecTimestamp) ||\n            this.hasTimestamp(this.fecRecoveryLog, fecTimestamp)) {\n            return;\n        }\n        this.totalAudioPacketsRecoveredFec++;\n        this.addTimestamp(this.fecRecoveryLog, fecTimestamp);\n    }\n    /**\n     * Reports loss metrics to DefaultTransceiverController\n     *\n     * @param timestamp : Timestamp of most recent primary packet\n     */\n    maybeReportLossStats(ssrc, timestamp) {\n        if (timestamp === undefined ||\n            timestamp - this.lastLossReportTimestamp < this.lossReportInterval)\n            return;\n        /* istanbul ignore next */\n        if (RedundantAudioEncoder.shouldReportStats) {\n            // @ts-ignore\n            self.postMessage({\n                type: 'RedundantAudioEncoderStats',\n                ssrc,\n                totalAudioPacketsLost: this.totalAudioPacketsLost,\n                totalAudioPacketsExpected: this.totalAudioPacketsExpected,\n                totalAudioPacketsRecoveredRed: this.totalAudioPacketsRecoveredRed,\n                totalAudioPacketsRecoveredFec: this.totalAudioPacketsRecoveredFec,\n            });\n        }\n        this.lastLossReportTimestamp = timestamp;\n    }\n    /**\n     * Adds a timestamp to a packet log\n     *\n     * @param packetLog : The packetlog to add the timestamp to\n     * @param timestamp : The timestamp that should be added\n     */\n    addTimestamp(packetLog, timestamp) {\n        if (timestamp === undefined) {\n            return;\n        }\n        packetLog.window[packetLog.index] = timestamp;\n        packetLog.index = (packetLog.index + 1) % packetLog.windowSize;\n    }\n    /**\n     * Checks if a timestamp is in a packetlog\n     *\n     * @param packetLog : The packetlog to search\n     * @param timestamp : The timestamp to search for\n     * @returns true if timestamp is present, false otherwise\n     */\n    hasTimestamp(packetLog, timestamp) {\n        const element = packetLog.window.find(t => t === timestamp);\n        return !!element;\n    }\n    /**\n     * Removes a timestamp from a packet log\n     *\n     * @param packetLog : The packetlog from which the timestamp should be removed\n     * @param timestamp : The timestamp to be removed\n     * @returns true if timestamp was present in the log and removed, false otherwise\n     */\n    removeTimestamp(packetLog, timestamp) {\n        const index = packetLog.window.indexOf(timestamp);\n        if (index >= 0) {\n            packetLog.window[index] = undefined;\n            return true;\n        }\n        return false;\n    }\n    /**\n     * Removes a timestamp from red and fec recovery windows.\n     *\n     * @param timestamp : The timestamp to be removed\n     */\n    removeFromRecoveryWindows(timestamp) {\n        let removed = this.removeTimestamp(this.redRecoveryLog, timestamp);\n        if (removed) {\n            if (this.totalAudioPacketsRecoveredRed > 0)\n                this.totalAudioPacketsRecoveredRed--;\n        }\n        removed = this.removeTimestamp(this.fecRecoveryLog, timestamp);\n        if (removed) {\n            if (this.totalAudioPacketsRecoveredFec > 0)\n                this.totalAudioPacketsRecoveredFec--;\n        }\n    }\n    /**\n     * Converts the supplied argument to 32-bit unsigned integer\n     */\n    uint32WrapAround(num) {\n        const mod = 4294967296; // 2^32\n        let res = num;\n        if (num >= mod) {\n            res = num - mod;\n        }\n        else if (num < 0) {\n            res = mod + num;\n        }\n        return res;\n    }\n    /**\n     * Converts the supplied argument to 16-bit signed integer\n     */\n    int16(num) {\n        return (num << 16) >> 16;\n    }\n    /**\n     * Determines if an Opus packet is in CELT-only mode.\n     *\n     * @param packet Opus packet.\n     * @returns `true` if the packet is in CELT-only mode.\n     */\n    opusPacketIsCeltOnly(packet) {\n        // TOC byte format (https://www.rfc-editor.org/rfc/rfc6716#section-3.1):\n        //  0\n        //  0 1 2 3 4 5 6 7\n        // +-+-+-+-+-+-+-+-+\n        // | config  |s| c |\n        // +-+-+-+-+-+-+-+-+\n        // Since CELT-only packets are represented using configurations 16 to 31, the highest 'config' bit will always be 1\n        // for CELT-only packets.\n        return !!(packet.getUint8(0) & 0x80);\n    }\n    /**\n     * Gets the number of samples per frame from an Opus packet.\n     *\n     * @param packet Opus packet. This must contain at least one byte of data.\n     * @param sampleRateHz 32-bit integer sampling rate in Hz. This must be a multiple of 400 or inaccurate results will\n     *                     be returned.\n     * @returns Number of samples per frame.\n     */\n    opusPacketGetSamplesPerFrame
2138(packet, sampleRateHz) {\n        // Sample rate must be a 32-bit integer.\n        sampleRateHz = Math.round(sampleRateHz);\n        sampleRateHz = Math.min(Math.max(sampleRateHz, -(Math.pow(2, 32))), Math.pow(2, 32) - 1);\n        // TOC byte format (https://www.rfc-editor.org/rfc/rfc6716#section-3.1):\n        //  0\n        //  0 1 2 3 4 5 6 7\n        // +-+-+-+-+-+-+-+-+\n        // | config  |s| c |\n        // +-+-+-+-+-+-+-+-+\n        let numSamples;\n        let frameSizeOption;\n        // Case for CELT-only packet.\n        if (this.opusPacketIsCeltOnly(packet)) {\n            // The lower 3 'config' bits indicate the frame size option.\n            frameSizeOption = (packet.getUint8(0) >> 3) & 0x3;\n            // The frame size options 0, 1, 2, 3 correspond to frame sizes of 2.5, 5, 10, 20 ms. Notice that the frame sizes\n            // can be represented as (2.5 * 2^0), (2.5 * 2^1), (2.5 * 2^2), (2.5 * 2^3) ms. So, the number of samples can be\n            // calculated as follows:\n            // (sample/s) * (1s/1000ms) * (2.5ms) * 2^(frameSizeOption)\n            // = (sample/s) * (1s/400) * 2^(frameSizeOption)\n            // = (sample/s) * 2^(frameSizeOption) * (1s/400)\n            numSamples = (sampleRateHz << frameSizeOption) / 400;\n        }\n        // Case for Hybrid packet. Since Hybrid packets are represented using configurations 12 to 15, bits 1 and 2 in the\n        // above TOC byte diagram will both be 1.\n        else if ((packet.getUint8(0) & 0x60) === 0x60) {\n            // In the case of configuration 13 or 15, bit 4 in the above TOC byte diagram will be 1. Configurations 13 and 15\n            // correspond to a 20ms frame size, so the number of samples is calculated as follows:\n            // (sample/s) * (1s/1000ms) * (20ms)\n            // = (sample/s) * (1s/50)\n            //\n            // In the case of configuration 12 or 14, bit 4 in the above TOC byte diagram will be 0. Configurations 12 and 14\n            // correspond to a 10ms frame size, so the number of samples is calculated as follows:\n            // (sample/s) * (1s/1000ms) * (10ms)\n            // = (sample/s) * (1s/100)\n            numSamples = packet.getUint8(0) & 0x08 ? sampleRateHz / 50 : sampleRateHz / 100;\n        }\n        // Case for SILK-only packet.\n        else {\n            // The lower 3 'config' bits indicate the frame size option for SILK-only packets.\n            frameSizeOption = (packet.getUint8(0) >> 3) & 0x3;\n            if (frameSizeOption === 3) {\n                // Frame size option 3 corresponds to a frame size of 60ms, so the number of samples is calculated as follows:\n                // (sample/s) * (1s/1000ms) * (60ms)\n                // = (sample/s) * (60ms) * (1s/1000ms)\n                numSamples = (sampleRateHz * 60) / 1000;\n            }\n            else {\n                // The frame size options 0, 1, 2 correspond to frame sizes of 10, 20, 40 ms. Notice that the frame sizes can be\n                // represented as (10 * 2^0), (10 * 2^1), (10 * 2^2) ms. So, the number of samples can be calculated as follows:\n                // (sample/s) * (1s/1000ms) * (10ms) * 2^(frameSizeOption)\n                // = (sample/s) * (1s/100) * 2^(frameSizeOption)\n                // = (sample/s) * 2^(frameSizeOption) * (1s/100)\n                numSamples = (sampleRateHz << frameSizeOption) / 100;\n            }\n        }\n        return numSamples;\n    }\n    /**\n     * Gets the number of SILK frames per Opus frame.\n     *\n     * @param packet Opus packet.\n     * @returns Number of SILK frames per Opus frame.\n     */\n    opusNumSilkFrames(packet) {\n        // For computing the frame length in ms, the sample rate is not important since it cancels out. We use 48 kHz, but\n        // any valid sample rate would work.\n        //\n        // To calculate the length of a frame (with a 48kHz sample rate) in ms:\n        // (samples/frame) * (1s/48000 samples) * (1000ms/s)\n        // = (samples/frame) * (1000ms/48000 samples)\n        // = (samples/frame) * (1ms/48 samples)\n        let frameLengthMs = this.opusPacketGetSamplesPerFrame
2138(packet, 48000) / 48;\n        if (frameLengthMs < 10)\n            frameLengthMs = 10;\n        // The number of SILK frames per Opus frame is described in https://www.rfc-editor.org/rfc/rfc6716#section-4.2.2.\n        switch (frameLengthMs) {\n            case 10:\n            case 20:\n                return 1;\n            case 40:\n                return 2;\n            case 60:\n                return 3;\n            // It is not possible to reach the default case since an Opus packet can only encode sizes of 2.5, 5, 10, 20, 40,\n            // or 60 ms, so we ignore the default case for test coverage.\n            /* istanbul ignore next */\n            default:\n                return 0;\n        }\n    }\n    /**\n     * Gets the number of channels from an Opus packet.\n     *\n     * @param packet Opus packet.\n     * @returns Number of channels.\n     */\n    opusPacketGetNumChannels(packet) {\n        // TOC byte format (https://www.rfc-editor.org/rfc/rfc6716#section-3.1):\n        //  0\n        //  0 1 2 3 4 5 6 7\n        // +-+-+-+-+-+-+-+-+\n        // | config  |s| c |\n        // +-+-+-+-+-+-+-+-+\n        // The 's' bit indicates mono or stereo audio, with 0 indicating mono and 1 indicating stereo.\n        return packet.getUint8(0) & 0x4 ? 2 : 1;\n    }\n    /**\n     * Determine the size (in bytes) of an Opus frame.\n     *\n     * @param packet Opus packet.\n     * @param byteOffset Offset (from the start of the packet) to the byte containing the size information.\n     * @param remainingBytes Remaining number of bytes to parse from the Opus packet.\n     * @param sizeBytes Variable to store the parsed frame size (in bytes).\n     * @returns Number of bytes that were parsed to determine the frame size.\n     */\n    opusParseSize(packet, byteOffset, remainingBytes, sizeBytes) {\n        // See https://www.rfc-editor.org/rfc/rfc6716#section-3.2.1 for an explanation of how frame size is represented.\n        // If there are no remaining bytes to parse the size from, then the size cannot be determined.\n        if (remainingBytes < 1) {\n            sizeBytes[0] = -1;\n            return -1;\n        }\n        // If the first byte is in the range 0...251, then this value is the size of the frame.\n        else if (packet.getUint8(byteOffset) < 252) {\n            sizeBytes[0] = packet.getUint8(byteOffset);\n            return 1;\n        }\n        // If the first byte is in the range 252...255, a second byte is needed. If there is no second byte, then the size\n        // cannot be determined.\n        else if (remainingBytes < 2) {\n            sizeBytes[0] = -1;\n            return -1;\n        }\n        // The total size of the frame given two size bytes is:\n        // (4 * secondSizeByte) + firstSizeByte\n        else {\n            sizeBytes[0] = 4 * packet.getUint8(byteOffset + 1) + packet.getUint8(byteOffset);\n            return 2;\n        }\n    }\n    /**\n     * Parse binary data containing an Opus packet into one or more Opus frames.\n     *\n     * @param data Binary data containing an Opus packet to be parsed. The data should begin with the first byte (i.e the\n     *             TOC byte) of an Opus packet. Note that the size of the data does not have to equal the size of the\n     *             contained Opus packet.\n     * @param lenBytes Size of the data (in bytes).\n     * @param selfDelimited Indicates if the Opus packet is self-delimiting\n     *                      (https://www.rfc-editor.org/rfc/rfc6716#appendix-B).\n     * @param tocByte Optional variable to store the TOC (table of contents) byte.\n     * @param frameOffsets Optional variable to store the offsets (from the start of the data) to the first bytes of each\n     *                     Opus frame.\n     * @param frameSizes Required variable to store the sizes (in bytes) of each Opus frame.\n     * @param payloadOffset Optional variable to store the offset (from the start of the data) to the first byte of the\n     *                      payload.\n     * @param packetLenBytes Optional variable to store the length of the Opus packet (in bytes).\n     * @returns Number of Opus frames.\n     */\n    opusPacketParseImpl(data, lenBytes, selfDelimited, tocByte, frameOffsets, frameSizes, payloadOffset, packetLenBytes) {\n        if (!frameSizes || lenBytes < 0)\n            return this.OPUS_BAD_ARG;\n        if (lenBytes === 0)\n            return this.OPUS_INVALID_PACKET;\n        // The number of Opus frames in the packet.\n        let numFrames;\n        // Intermediate storage for the number of bytes parsed to determine the size of a frame.\n        let numBytesParsed;\n        // The number of the padding bytes (excluding the padding count bytes) in the packet.\n        let paddingBytes = 0;\n        // Indicates whether CBR (constant bitrate) framing is used.\n        let cbr = false;\n        // The TOC (table of contents) byte (https://www.rfc-editor.org/rfc/rfc6716#section-3.1).\n        const toc = data.getUint8(0);\n        // Store the TOC byte.\n        if (tocByte)\n            tocByte[0] = toc;\n        // The remaining number of bytes to parse from the packet. Note that the TOC byte has already been parsed, hence the\n        // minus 1.\n        let remainingBytes = lenBytes - 1;\n        // This keeps track of where we are in the packet. This starts at 1 since the TOC byte has already been read.\n        let byteOffset = 1;
2138\n        // The size of the last Opus frame in bytes.\n        let lastSizeBytes = remainingBytes;\n        // Read the `c` bits (i.e. code bits) from the TOC byte.\n        switch (toc & 0x3) {\n            // A code 0 packet (https://www.rfc-editor.org/rfc/rfc6716#section-3.2.2) has one frame.\n            case 0:\n                numFrames = 1;\n                break;\n            // A code 1 packet (https://www.rfc-editor.org/rfc/rfc6716#section-3.2.3) has two CBR (constant bitrate) frames.\n            case 1:\n                numFrames = 2;\n                cbr = true;\n                if (!selfDelimited) {\n                    // Undelimited code 1 packets must be an even number of data bytes, otherwise the packet is invalid.\n                    if (remainingBytes & 0x1)\n                        return this.OPUS_INVALID_PACKET;\n                    // The sizes of both frames are equal (i.e. half of the number of data bytes).\n                    lastSizeBytes = remainingBytes / 2;\n                    // If `lastSizeBytes` is too large, we will catch it later.\n                    frameSizes[0][0] = lastSizeBytes;\n                }\n                break;\n            // A code 2 packet (https://www.rfc-editor.org/rfc/rfc6716#section-3.2.4) has two VBR (variable bitrate) frames.\n            case 2:\n                numFrames = 2;\n                numBytesParsed = this.opusParseSize(data, byteOffset, remainingBytes, frameSizes[0]);\n                remainingBytes -= numBytesParsed;\n                // The parsed size of the first frame cannot be larger than the number of remaining bytes in the packet.\n                if (frameSizes[0][0] < 0 || frameSizes[0][0] > remainingBytes) {\n                    return this.OPUS_INVALID_PACKET;\n                }\n                byteOffset += numBytesParsed;\n                // The size of the second frame is the remaining number of bytes after the first frame.\n                lastSizeBytes = remainingBytes - frameSizes[0][0];\n                break;\n            // A code 3 packet (https://www.rfc-editor.org/rfc/rfc6716#section-3.2.5) has multiple CBR/VBR frames (from 0 to\n            // 120 ms).\n            default:\n                // Code 3 packets must have at least 2 bytes (i.e. at least 1 byte after the TOC byte).\n                if (remainingBytes < 1)\n                    return this.OPUS_INVALID_PACKET;\n                // Frame count byte format:\n                //  0\n                //  0 1 2 3 4 5 6 7\n                // +-+-+-+-+-+-+-+-+\n                // |v|p|     M     |\n                // +-+-+-+-+-+-+-+-+\n                //\n                // Read the frame count byte, which immediately follows the TOC byte.\n                const frameCountByte = data.getUint8(byteOffset++);\n                --remainingBytes;\n                // Read the 'M' bits of the frame count byte, which encode the number of frames.\n                numFrames = frameCountByte & 0x3f;\n                // The number of frames in a code 3 packet must not be 0.\n                if (numFrames <= 0)\n                    return this.OPUS_INVALID_PACKET;\n                const samplesPerFrame = this.opusPacketGetSamplesPerFrame(data, 48000);\n                // A single frame can have at most 2880 samples, which happens in the case where 60ms of 48kHz audio is encoded\n                // per frame. A code 3 packet cannot contain more than 120ms of audio, so the total number of samples cannot\n                // exceed 2880 * 2 = 5760.\n                if (samplesPerFrame * numFrames > 5760)\n                    return this.OPUS_INVALID_PACKET;\n                // Parse padding bytes if the 'p' bit is 1.\n                if (frameCountByte & 0x40) {\n                    let paddingCountByte;\n                    let numPaddingBytes;\n                    // Remove padding bytes (including padding count bytes) from the remaining byte count.\n                    do {\n                        // Sanity check that there are enough bytes to parse and remove the padding.\n                        if (remainingBytes <= 0)\n                            return this.OPUS_INVALID_PACKET;\n                        // Get the next padding count byte.\n                        paddingCountByte = data.getUint8(byteOffset++);\n                        --remainingBytes;\n                        // If the padding count byte has a value in the range 0...254, then the total size of the padding is the\n                        // value in the padding count byte.\n                        //\n                        // If the padding count byte has value 255, then the total size of the padding is 254 plus the value in the\n                        // next padding count byte. Therefore, keep reading padding count bytes while the value is 255.\n                        numPaddingBytes = paddingCountByte === 25
21385 ? 254 : paddingCountByte;\n                        remainingBytes -= numPaddingBytes;\n                        paddingBytes += numPaddingBytes;\n                    } while (paddingCountByte === 255);\n                }\n                // Sanity check that the remaining number of bytes is not negative after removing the padding.\n                if (remainingBytes < 0)\n                    return this.OPUS_INVALID_PACKET;\n                // Read the 'v' bit (i.e. VBR bit).\n                cbr = !(frameCountByte & 0x80);\n                // VBR case\n                if (!cbr) {\n                    lastSizeBytes = remainingBytes;\n                    // Let M be the number of frames. There will be M - 1 frame length indicators (which can be 1 or 2 bytes)\n                    // corresponding to the lengths of frames 0 to M - 2. The size of the last frame (i.e. frame M - 1) is the\n                    // number of data bytes after the end of frame M - 2 and before the start of the padding bytes.\n                    for (let i = 0; i < numFrames - 1; ++i) {\n                        numBytesParsed = this.opusParseSize(data, byteOffset, remainingBytes, frameSizes[i]);\n                        remainingBytes -= numBytesParsed;\n                        // The remaining number of data bytes must be enough to contain each frame.\n                        if (frameSizes[i][0] < 0 || frameSizes[i][0] > remainingBytes) {\n                            return this.OPUS_INVALID_PACKET;\n                        }\n                        byteOffset += numBytesParsed;\n                        lastSizeBytes -= numBytesParsed + frameSizes[i][0];\n                    }\n                    // Sanity check that the size of the last frame is not negative.\n                    if (lastSizeBytes < 0)\n                        return this.OPUS_INVALID_PACKET;\n                }\n                // CBR case\n                else if (!selfDelimited) {\n                    // The size of each frame is the number of data bytes divided by the number of frames.\n                    lastSizeBytes = Math.trunc(remainingBytes / numFrames);\n                    // The number of data bytes must be a non-negative integer multiple of the number of frames.\n                    if (lastSizeBytes * numFrames !== remainingBytes)\n                        return this.OPUS_INVALID_PACKET;\n                    // All frames have equal size in the undelimited CBR case.\n                    for (let i = 0; i < numFrames - 1; ++i) {\n                        frameSizes[i][0] = lastSizeBytes;\n                    }\n                }\n        }\n        // Self-delimited framing uses an extra 1 or 2 bytes, immediately preceding the data bytes, to indicate either the\n        // size of the last frame (for code 0, code 2, and VBR code 3 packets) or the size of all the frames (for code 1 and\n        // CBR code 3 packets). See https://www.rfc-editor.org/rfc/rfc6716#appendix-B.\n        if (selfDelimited) {\n            // The extra frame size byte(s) will always indicate the size of the last frame.\n            numBytesParsed = this.opusParseSize(data, byteOffset, remainingBytes, frameSizes[numFrames - 1]);\n            remainingBytes -= numBytesParsed;\n            // There must be enough data bytes for the last frame.\n            if (frameSizes[numFrames - 1][0] < 0 || frameSizes[numFrames - 1][0] > remainingBytes) {\n                return this.OPUS_INVALID_PACKET;\n            }\n            byteOffset += numBytesParsed;\n            // For CBR packets, the sizes of all the frames are equal.\n            if (cbr) {\n                // There must be enough data bytes for all the frames.\n                if (frameSizes[numFrames - 1][0] * numFrames > remainingBytes) {\n                    return this.OPUS_INVALID_PACKET;\n                }\n                for (let i = 0; i < numFrames - 1; ++i) {\n                    frameSizes[i][0] = frameSizes[numFrames - 1][0];\n                }\n            }\n            // At this point, `lastSizeBytes` contains the size of the last frame plus the size of the extra frame size\n            // byte(s), so sanity check that `lastSizeBytes` is the upper bound for the size of the last frame.\n            else if (!(numBytesParsed + frameSizes[numFrames - 1][0] <= lastSizeBytes)) {\n                return this.OPUS_INVALID_PACKET;\n            }\n        }\n        // Undelimited case\n        else {\n            // Because the size of the last packet is not encoded explicitly, it is possible that the size of the last packet\n            // (or of all the packets, for the CBR case) is larger than maximum frame size.\n            if (lastSizeBytes > this.OPUS_MAX_FRAME_SIZE_BYTES)\n                return this.OPUS_INVALID_PACKET;\n            frameSizes[numFrames - 1][0] = lastSizeBytes;\n        }\n        // Store the offset to the start of the payload.\n        if (payloadOffset)\n            payloadOffset[0] = byteOffset;\n        // Store the offsets to the start of each frame.\n        for (let i = 0; i < numFrames; ++i) {\n            if (frameOffsets)\n                frameOffsets[i][0] = byteOffset;\n            byteOffset += frameSizes[i][0];\n        }\n        // Store the length of the Opus packet.\n        if (packetLenBytes)\n            packetLenBytes[0] = byteOffset + paddingBytes;\n        return numFrames;\n    }
2138\n    /**\n     * Parse a single undelimited Opus packet into one or more Opus frames.\n     *\n     * @param packet Opus packet to be parsed.\n     * @param lenBytes Size of the packet (in bytes).\n     * @param tocByte Optional variable to store the TOC (table of contents) byte.\n     * @param frameOffsets Optional variable to store the offsets (from the start of the packet) to the first bytes of\n     *                     each Opus frame.\n     * @param frameSizes Required variable to store the sizes (in bytes) of each Opus frame.\n     * @param payloadOffset Optional variable to store the offset (from the start of the packet) to the first byte of the\n     *                      payload.\n     * @returns Number of Opus frames.\n     */\n    opusPacketParse(packet, lenBytes, tocByte, frameOffsets, frameSizes, payloadOffset) {\n        return this.opusPacketParseImpl(packet, lenBytes, \n        /* selfDelimited */ false, tocByte, frameOffsets, frameSizes, payloadOffset, null);\n    }\n    /**\n     * This function returns the SILK VAD (voice activity detection) information encoded in the Opus packet. For CELT-only\n     * packets that do not have VAD information, it returns -1.\n     *\n     * @param packet Opus packet.\n     * @param lenBytes Size of the packet (in bytes).\n     * @returns  0: no frame had the VAD flag set.\n     *           1: at least one frame had the VAD flag set.\n     *          -1: VAD status could not be determined.\n     */\n    opusPacketHasVoiceActivity(packet, lenBytes) {\n        if (!packet || lenBytes <= 0)\n            return 0;\n        // In CELT-only mode, we can not determine whether there is VAD.\n        if (this.opusPacketIsCeltOnly(packet))\n            return -1;\n        const numSilkFrames = this.opusNumSilkFrames(packet);\n        // It is not possible for `opusNumSilkFrames()` to return 0, so we ignore the next sanity check for test coverage.\n        /* istanbul ignore next */\n        if (numSilkFrames === 0)\n            return -1;\n        const opusFrameOffsets = new Array(this.OPUS_MAX_OPUS_FRAMES);\n        const opusFrameSizes = new Array(this.OPUS_MAX_OPUS_FRAMES);\n        for (let i = 0; i < this.OPUS_MAX_OPUS_FRAMES; ++i) {\n            opusFrameOffsets[i] = [undefined];\n            opusFrameSizes[i] = [undefined];\n        }\n        // Parse packet to get the Opus frames.\n        const numOpusFrames = this.opusPacketParse(packet, lenBytes, null, opusFrameOffsets, opusFrameSizes, null);\n        // VAD status cannot be determined for invalid packets.\n        if (numOpusFrames < 0)\n            return -1;\n        // Iterate over all Opus frames, which may contain multiple SILK frames, to determine the VAD status.\n        for (let i = 0; i < numOpusFrames; ++i) {\n            if (opusFrameSizes[i][0] < 1)\n                continue;\n            // LP layer header bits format (https://www.rfc-editor.org/rfc/rfc6716#section-4.2.3):\n            //\n            // Mono case:\n            // +-----------------+----------+\n            // | 1 to 3 VAD bits | LBRR bit |\n            // +-----------------+----------+\n            //\n            // Stereo case:\n            // +---------------------+--------------+----------------------+---------------+\n            // | 1 to 3 mid VAD bits | mid LBRR bit | 1 to 3 side VAD bits | side LBRR bit |\n            // +---------------------+--------------+----------------------+---------------+\n            // The upper 1 to 3 bits (dependent on the number of SILK frames) of the LP layer contain VAD bits. If any of\n            // these VAD bits are 1, then voice activity is present.\n            if (packet.getUint8(opusFrameOffsets[i][0]) >> (8 - numSilkFrames))\n                return 1;\n            // In the stereo case, there is a second set of 1 to 3 VAD bits, so also check these VAD bits.\n            const channels = this.opusPacketGetNumChannels(packet);\n            if (channels === 2 &&\n                (packet.getUint8(opusFrameOffsets[i][0]) << (numSilkFrames + 1)) >> (8 - numSilkFrames)) {\n                return 1;\n            }\n        }\n        // No voice activity was detected.\n        return 0;\n    }\n    /**\n     * This method is based on Definition of the Opus Audio Codec\n     * (https://tools.ietf.org/html/rfc6716). Basically, this method is based on\n     * parsing the LP layer of an Opus packet, particularly the LBRR flag.\n     *\n     * @param packet Opus packet.\n     * @param lenBytes Size of the packet (in bytes).\n     * @returns  true: packet has fec encoding about previous packet.\n     *           false: no fec encoding present.\n     */\n    opusPacketHasFec(packet, lenBytes) {\n        if (!packet || lenBytes <= 0)\n            return false;\n        // In CELT-only mode, packets should not have FEC.\n        if (this.opusPacketIsCeltOnly(packet))\n            return false;\n        const opusFrameOffsets = new Array(this.OPUS_MAX_OPUS_FRAMES);\n        const opusFrameSizes = new Array(this.OPUS_MAX_OPUS_FRAMES);\n        for (let i = 0; i < this.OPUS_MAX_OPUS_FRAMES; ++i) {\n            opusFrameOffsets[i] = [undefined];\n            opusFrameSizes[i] = [undefined];\n        }\n        // Parse packet to get the Opus frames.\n        const numOpusFrames = this.opusPacketParse(packet, lenBytes, null, opusFrameOffsets, opusFrameSizes, null);\n        if (numOpusFrames < 0)\n            return false;\n        /* istanbul ignore next */\n        if (opusFrameSizes[0][0] <= 1)\n            return false;\n        const numSilkFrames = this.opusNumSilkFrames(packet);\n        /* istanbul ignore next */\n        if (numSilkFrames === 0)\n            return false;\n        const channels = this.opusPacketGetNumChannels(packet);\n        /* istanbul ignore next */\n        if (channels !== 1 && channels !== 2)\n            return false;\n        // A frame starts with the LP layer. The LP layer begins with two to eight\n        // header bits.These consist of one VAD bit per SILK frame (up to 3),\n        // followed by a single flag indicating the presence of LBRR frames.\n        // For a stereo packet, these first flags correspond to the mid channel, and\n        // a second set of flags is included for the side channel. Because these are\
2138n        // the first symbols decoded by the range coder and because they are coded\n        // as binary values with uniform probability, they can be extracted directly\n        // from the most significant bits of the first byte of compressed data.\n        for (let i = 0; i < channels; i++) {\n            if (packet.getUint8(opusFrameOffsets[0][0]) & (0x80 >> ((i + 1) * (numSilkFrames + 1) - 1)))\n                return true;\n        }\n        return false;\n    }\n}\nRedundantAudioEncoder.shouldLog = true;\nRedundantAudioEncoder.shouldReportStats = true;\nRedundantAudioEncoder.initializeWorker();\n"},91365(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(50448));class o extends r.default{constructor(){super(0)}static nextTick(e){setTimeout(e,0)}}t.default=o},2228(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.intervalMs=e}start(e){this.stop(),this.timer=setInterval(e,this.intervalMs)}stop(){void 0!==this.timer&&(clearInterval(this.timer),this.timer=void 0)}running(){return void 0!==this.timer}}},50448(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.timeoutMs=e,this.timer=null}start(e){this.stop(),this.timer=setTimeout(()=>{clearTimeout(this.timer),e()},this.timeoutMs)}stop(){null!==this.timer&&(clearTimeout(this.timer),this.timer=null)}}},21287(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(40334)),o=n(i(3960)),s=n(i(96357));class a{constructor(e){this.sdp=e}clone(){return new a(this.sdp)}static isRTPCandidate(e){const t=/candidate[:](\S+) (\d+)/g.exec(e);return null!==t&&"1"===t[2]}static linesToSDP(e){return new a(e.join(a.CRLF))}static candidateTypeFromString(e){switch(e){case r.default.Host:return r.default.Host;case r.default.ServerReflexive:return r.default.ServerReflexive;case r.default.PeerReflexive:return r.default.PeerReflexive;case r.default.Relay:return r.default.Relay}return null}static candidateType(e){const t=/a[=]candidate[:].* typ ([a-z]+) /g.exec(e);return null===t?null:a.candidateTypeFromString(t[1])}static mediaType(e){const t=/m=(audio|video)/g.exec(e);if(null!==t)return t[1]}static mid(e){if(e.includes("a=mid:"))return e.replace(/^(a=mid:)/,"")}static direction(e){const t=/a=(sendrecv|sendonly|recvonly|inactive)/g.exec(e);if(null!==t)return t[1]}static splitLines(e){return e.trim().split("\n").map(e=>e.trim())}static splitSections(e){return e.split("\nm=").map((e,t)=>(t>0?"m="+e:e).trim()+a.CRLF)}static findActiveCameraSection(e){let t=0,i=!1;for(const n of e){if(/^m=video/.test(n)&&(n.indexOf("sendrecv")>-1||-1===n.indexOf("sendonly")&&-1===n.indexOf("recvonly")&&-1===n.indexOf("inactive"))){i=!0;break}t++}return!1===i&&(t=-1),t}static extractSSRCsFromFIDGroupLine(e){return/^a=ssrc-group:FID\s(.+)/.exec(e)[1]}static matchPrefix(e,t){return a.splitLines(e).filter(e=>0===e.indexOf(t))}lines(){return this.sdp.split(a.CRLF)}hasVideo(){return null!==/^m=video/gm.exec(this.sdp)}hasCandidates(){return null!==/a[=]candidate[:]/g.exec(this.sdp)}hasCandidatesForAllMLines(){return!(this.sdp.indexOf("c=IN IP4 0.0.0.0")>-1)}withoutCandidateType(e){return a.linesToSDP(this.lines().filter(t=>a.candidateType(t)!==e))}withoutServerReflexiveCandidates(){return this.withoutCandidateType(r.default.ServerReflexive)}withAudioMaxAverageBitrate(e){if(!e)return this.clone();e=Math.trunc(Math.min(Math.max(e,a.rfc7587LowestBitrate),a.rfc7587HighestBitrate));const t=this.lines(),i=a.findOpusFmtpAttributes(t),n=a.updateOpusFmtpAttributes(t,i,[`maxaveragebitrate=${e}`]);return a.linesToSDP(n)}withStereoAudio(){const e=this.lines(),t=a.findOpusFmtpAttributes(e),i=a.updateOpusFmtpAttributes(e,t,["stereo=1","sprop-stereo=1"]);return a.linesToSDP(i)}static findOpusFmtpAttributes(e){const t=/^a=rtpmap:\s*(\d+)\s+opus\/48000/;let i=!1;const n=[];for(const r of e)if(r.startsWith("m=audio")&&(n.push(null),i=!0),r.startsWith("m=video")&&(i=!1),i){const e=t.exec(r);null!==e&&(n[n.length-1]=`a=fmtp:${e[1]} `)}return n}static updateOpusFmtpAttributes(e,t,i){const n=[];let r=0,o=null;for(const s of e)if(s.startsWith("m=audio")&&(o=t[r],r++),s.startsWith("m=video")&&(o=null),o&&s.startsWith(o)){const e=s.slice(o.length).split(";"),t=[];for(const n of e)i.findIndex(e=>e.startsWith(n.split("=")[0]))<0&&t.push(n);for(const e of i)t.push(e);n.push(o+t.join(";"))}else n.push(s);return n}withUnifiedPlanFormat(){let e=this.sdp;return e.includes("mozilla")?this.clone():(e=e.replace("o=-","o=mozilla-chrome"),new a(e))}getUniqueRtpHeaderExtensionId(e){const t=[];for(const i of e)if(/^a=extmap:/.test(i.trim())){const e=+i.split("a=extmap:")[1].split(" ")[0];t.includes(e)||t.push(e)}t.sort((e,t)=>
2138e-t);let i=0;for(const e of t){if(e-i>1)return i+1;i=e}return 14===i?-1:i+1}withVideoLayersAllocationRtpHeaderExtension(e){return this.withRtpHeaderExtension(e,a.videoLayersAllocationRtpHeaderExtensionUrl)}withDependencyDescriptorRtpHeaderExtension(e){return this.withRtpHeaderExtension(e,a.dependencyDescriptorRtpHeaderExtensionUrl)}withoutDependencyDescriptorRtpHeaderExtension(){const e=a.splitLines(this.sdp).filter(e=>!e.includes(a.dependencyDescriptorRtpHeaderExtensionUrl));return new a(e.join(a.CRLF)+a.CRLF)}withRtpHeaderExtension(e,t){const i=e?e.getRtpHeaderExtensionId(t):-1,n=-1===i?this.getUniqueRtpHeaderExtensionId(a.splitLines(this.sdp)):i,r=a.splitSections(this.sdp),o=[];for(let e of r){if(/^m=video/.test(e)&&-1===a.getRtpHeaderExtensionIdInSection(e,t)){const i=a.splitLines(e),r=[];if(-1===n||this.hasRtpHeaderExtensionId(n)){o.push(e);continue}for(const e of i)if(r.push(e),/^a=sendrecv/.test(e.trim())){const e="a=extmap:"+n+" "+t;r.push(e)}e=r.join(a.CRLF)+a.CRLF}else if(-1!==i&&/^m=video/.test(e)&&a.getRtpHeaderExtensionIdInSection(e,t)!==i){const n=a.splitLines(e),r=[];for(const e of n)if(/^a=extmap:/.test(e.trim())&&e.split("a=extmap:")[1].split(" ")[1]===t){if(!this.hasRtpHeaderExtensionId(i)){const e="a=extmap:"+i+" "+t;r.push(e)}}else r.push(e);e=r.join(a.CRLF)+a.CRLF}o.push(e)}const s=o.join("");return new a(s)}ssrcForVideoSendingSection(){const e=this.sdp,t=a.splitSections(e);if(t.length<2)return"";const i=a.findActiveCameraSection(t);if(-1===i)return"";const n=a.matchPrefix(t[i],"a=ssrc-group:FID ");if(n.length<1)return"";const r=a.extractSSRCsFromFIDGroupLine(n[0]),[o]=r.split(" ").map(e=>parseInt(e,10));return o.toString()}videoSendSectionHasDifferentSSRC(e){const t=this.ssrcForVideoSendingSection(),i=e.ssrcForVideoSendingSection();return""!==t&&""!==i&&parseInt(t,10)!==parseInt(i,10)}removeH264SupportFromSendSection(){const e=this.sdp,t=a.splitSections(e),i=a.findActiveCameraSection(t);if(-1===i)return new a(this.sdp);const n=t[i],r=a.splitLines(n),o=[],s=new Map;r.forEach(e=>{if(/^a=rtpmap:/.test(e)){const t=/^a=rtpmap:([0-9]+)\s/.exec(e);t&&e.toLowerCase().includes("h264")&&o.push(parseInt(t[1],10))}if(/^a=fmtp:/.test(e)){const t=/^a=fmtp:([0-9]+) apt=([0-9]+)/.exec(e);if(t&&3===t.length){const e=parseInt(t[1],10),i=parseInt(t[2],10);s.has(i)?s.get(i).push(e):s.set(i,[e])}}});const d=new Set;for(const e of o){d.add(e);const t=s.get(e);if(t)for(const e of t)d.add(e)}if(o.length>0){const e=r[0].split(" ");r[0]=e.filter(e=>!d.has(parseInt(e))).join(" ")}const c=r.filter(e=>{if(!e.includes("rtpmap")&&!e.includes("rtcp-fb")&&!e.includes("fmtp"))return!0;for(const t of d)if(e.includes(t.toString()))return!1;return!0});t[i]=c.join(a.CRLF)+a.CRLF;const l=t.join("");return new a(l)}mediaSections(){const e=a.splitSections(this.sdp);if(e.length<2)return[];const t=[];for(let i=1;i<e.length;i++){const n=new o.default,r=a.splitLines(e[i]);for(const e of r){const t=a.mediaType(e);if(void 0!==t){n.mediaType=t;continue}const i=a.direction(e);if(void 0!==i){n.direction=i;continue}const r=a.mid(e);void 0===r||(n.mid=r)}t.push(n)}return t}static getRtpHeaderExtensionIdInSection(e,t){const i=a.splitLines(e);for(const e of i)if(/^a=extmap:/.test(e.trim())){const i=e.split("a=extmap:")[1].split(" "),n=+i[0];if(i[1]===t)return n}return-1}getRtpHeaderExtensionId(e){const t=a.splitSections(this.sdp);for(const i of t)if(/^m=video/.test(i)){const t=a.getRtpHeaderExtensionIdInSection(i,e);if(-1!==t)return t}return-1}hasRtpHeaderExtensionId(e){const t=a.splitLines(this.sdp);for(const i of t)if(/^a=extmap:/.test(i.trim())&&+i.split("a=extmap:")[1].split(" ")[0]===e)return!0;return!1}withVideoSendCodecPreferences(e){const t=this.sdp,i=a.splitSections(t),n=a.findActiveCameraSection(i);if(-1===n)return new a(this.sdp);i[n]=this.sectionWithCodecPreferences(i[n],e);const r=i.join("");return new a(r)}sectionWithCodecPreferences(e,t){const i=new Map,n=a.splitLines(e);n.forEach(e=>{if(!e.startsWith("a=rtpmap:"))return;const r=/^a=rtpmap:(\d+)\s/.exec(e);if(!r)return;const o=r[1];for(const r of t){if(!e.includes(`${r.codecName}/${r.codecCapability.clockRate}`))continue;let t=!1;if(void 0!==r.codecCapability.sdpFmtpLine){let e=!1;for(const i of n){if(r.fmtpLineMatches(i,parseInt(o))){t=!0;break}e||(e=i.startsWith(`a=fmtp:${o} profile-id=`))}r.equals(s.default.vp9Profile0())&&!e&&(t=!0)}else t=!0;if(t){i.set(o,r);break}}});const r=new Set(i.keys()),o=n[0].split(" ").filter(e=>!r.has(e)),d=Array.from(i.entries()).sort(([e,i],[n,r])=>t.indexOf(i)-t.indexOf(r)).map(([e,t])=>e);return o.splice(3,0,...d),n[0]=o.join(" "),n.join(a.CRLF)+a.CRLF}highestPriorityVideoSendCodec(){const e=this.prioritizedSendVideoCodecCapabilities();return e.length>0?e[0]:void 0}prioritizedSendVideoCodecCapabilities(){const e=this.sdp,t=a.splitSections(e),i=a.findActiveCameraSection(t);
2138if(-1===i)return[];const n=a.splitLines(t[i]),r=n[0].split(" ");return r.length<4?[]:r.slice(3).map(e=>this.videoCodecCapabilityForPayloadType(n,e)).filter(e=>void 0!==e&&["VP8","H264","VP9","AV1"].includes(e.codecName))}videoCodecCapabilityForPayloadType(e,t){let i,n,r;for(const o of e){const e=/^a=rtpmap:([0-9]+)\s/.exec(o);if(e&&e[1]===t){const e=o.split(" ")[1].split("/");e.length>=2&&(i=e[0],n=e[1])}o.startsWith(`a=fmtp:${t} `)&&(r=o.split(" ")[1])}if(void 0!==i)return new s.default(i,{clockRate:parseInt(n),mimeType:`video/${i}`,sdpFmtpLine:r})}getAudioPayloadTypes(){const e=new Map,t=this.sdp,i=a.splitSections(t);return e.set("opus",a.findAudioPayloadType("opus",i)),e.set("red",a.findAudioPayloadType("red",i)),e}static findAudioPayloadType(e,t){const i=new RegExp(`a=rtpmap:\\s*(\\d+)\\s+${e}\\/48000`);for(const e of t)if(/^m=audio/.test(e)){const t=i.exec(e);if(null!==t)return Number(t[1])}return 0}withStartingVideoSendBitrate(e){const t=a.splitSections(this.sdp);for(let i=0;i<t.length;i++){if(!/^m=video/.test(t[i]))continue;const n=a.splitLines(t[i]),r=[];let o,s=!1;for(const e of n){/^a=fmtp:\d*/.test(e)&&!/apt=/.test(e)&&(s=!0);const t=e.match(/^a=rtpmap:(\d+)/);t&&(o=t[1])}for(const t of n)if(!/^a=fmtp:\d*/.test(t)||/apt=/.test(t)||/x-google-start-bitrate=/.test(t))r.push(t);else{const i=t+`;x-google-start-bitrate=${e}`;r.push(i)}if(!s&&o){const t=r.findIndex(e=>e.match(/^a=rtpmap:\d+/));-1!==t&&r.splice(t+1,0,`a=fmtp:${o} x-google-start-bitrate=${e}`)}t[i]=r.join(a.CRLF)+a.CRLF}const i=t.join("");return new a(i)}}t.default=a,a.CRLF="\r\n",a.rfc7587LowestBitrate=6e3,a.rfc7587HighestBitrate=51e4,a.dependencyDescriptorRtpHeaderExtensionUrl="https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension",a.videoLayersAllocationRtpHeaderExtensionUrl="http://www.webrtc.org/experiments/rtp-hdrext/video-layers-allocation00"},40334(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SDPCandidateType=void 0,function(e){e.Host="host",e.ServerReflexive="srflx",e.PeerReflexive="prflx",e.Relay="relay"}(i=t.SDPCandidateType||(t.SDPCandidateType={})),t.default=i},3960(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},96357(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38359);class r{constructor(e,t){this.codecName=e,this.codecCapability=t}equals(e){return void 0!==e&&(this.codecName===e.codecName&&this.codecCapability.mimeType===e.codecCapability.mimeType&&this.codecCapability.clockRate===e.codecCapability.clockRate&&(this.codecCapability.sdpFmtpLine?this.cleanupFmtpLine(this.codecCapability.sdpFmtpLine,this.codecName):"")===(e.codecCapability.sdpFmtpLine?this.cleanupFmtpLine(e.codecCapability.sdpFmtpLine,e.codecName):""))}fmtpLineMatches(e,t){const i=this.codecCapability.sdpFmtpLine;if(!i)return!1;const n=`a=fmtp:${t} `;if(!e.startsWith(n))return!1;const r=e.substring(n.length);return this.cleanupFmtpLine(r,this.codecName)===this.cleanupFmtpLine(i,this.codecName)}cleanupFmtpLine(e,t){let i=e.replace(/;x-google-start-bitrate=\d+/g,"");if("H264"===t){const e=/profile-level-id=([0-9a-f]{4})[0-9a-f]{2}/i;i=i.replace(e,"profile-level-id=$1")}return i}static vp8(){return new r("VP8",{clockRate:9e4,mimeType:"video/VP8"})}static h264BaselineProfile(){return new r("H264",{clockRate:9e4,mimeType:"video/H264",sdpFmtpLine:"level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f"})}static h264ConstrainedBaselineProfile(){return new r("H264",{clockRate:9e4,mimeType:"video/H264",sdpFmtpLine:"level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f"})}static h264MainProfile(){return new r("H264",{clockRate:9e4,mimeType:"video/H264",sdpFmtpLine:"level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d001f"})}static h264HighProfile(){return new r("H264",{clockRate:9e4,mimeType:"video/H264",sdpFmtpLine:"level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=64001f"})}static h264ConstrainedHighProfile(){return new r("H264",{clockRate:9e4,mimeType:"video/H264",sdpFmtpLine:"level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c1f"})}static h264(){return r.h264ConstrainedBaselineProfile()}static vp9Profile0(){return new r("VP9",{clockRate:9e4,mimeType:"video/VP9",sdpFmtpLine:"profile-id=0"})}static vp9(){return r.vp9Profile0()}static av1Main(){return new r("AV1",{clockRate:9e4,mimeType:"video/AV1"})}static av1(){return r.av1Main()}static fromSignaled(e){switch(e){case n.SdkVideoCodecCapability.VP8:return r.vp8();case n.SdkVideoCodecCapability.H264_BASELINE_PROFILE:return r.h264BaselineProfile();case n.SdkVideoCodecCapability.H264_CONSTRAINED_BASELINE_PROFILE:return r.h264ConstrainedBaselineProfile();case n.SdkVideoCodecCapability.H264_MAIN_PROFILE:return r.h264MainProfile();case n.SdkVideoCodecCapability.H264_HIGH_PROFILE:return r.h264HighProfile();case n.SdkVideoCodecCapability.H264_CONSTRAINED_HIGH_PROFILE:return r.h264ConstrainedHighProfile();case n.SdkVideoCodecCapability.VP9_PROFILE_0:return r.vp9Profile0();case n.SdkVideoCodecCapability.AV1_MAIN_PROFILE:return r.av1Main();default:return}}}t.default=r},21467(e,t,i){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0});const n=i(53048);class r{constructor(e){this.logger=e}compress(e,t){if(t.length>0){const e=Math.min(t.length,r.MAX_DICTIONARY_SIZE);t=t.slice(0,e)}const i={memLevel:r.Z_MEM_LEVEL,dictionary:t};return n.deflateRaw(e,i)}decompress(e,t){if(t.length>0){const e=Math.min(t.length,r.MAX_DICTIONARY_SIZE);t=t.slice(0,e)}const i={to:"string",dictionary:t,chunkSize:4096};let o="";try{o=n.inflateRaw(e,i)}catch(e){this.logger.error(`failed to decompress the string with error: [${e}]`)}return o}}t.default=r,r.Z_MEM_LEVEL=9,r.MAX_DICTIONARY_SIZE=31744},38828(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(84217),r=i(38199),o=i(52818),s=i(42985);t.default=class{constructor(e){this.logger=e,this.currentState=o.SessionStateControllerState.NotConnected,this.deferredAction=null,this.deferredWork=null}perform(e,t){const i=this.currentState;if(i===o.SessionStateControllerState.NotConnected&&e===n.SessionStateControllerAction.Connect)this.transition(o.SessionStateControllerState.Connecting,e);else if(i===o.SessionStateControllerState.Connecting&&e===n.SessionStateControllerAction.Fail)this.transition(o.SessionStateControllerState.Disconnecting,e);else if(i===o.SessionStateControllerState.Connecting&&e===n.SessionStateControllerAction.FinishConnecting)this.transition(o.SessionStateControllerState.Connected,e);else if(i===o.SessionStateControllerState.Connected&&e===n.SessionStateControllerAction.Disconnect)this.transition(o.SessionStateControllerState.Disconnecting,e);else if(i===o.SessionStateControllerState.Connected&&e===n.SessionStateControllerAction.Reconnect)this.transition(o.SessionStateControllerState.Connecting,e);else if(i===o.SessionStateControllerState.Connected&&e===n.SessionStateControllerAction.Fail)this.transition(o.SessionStateControllerState.Disconnecting,e);else if(i===o.SessionStateControllerState.Connected&&e===n.SessionStateControllerAction.Update)this.transition(o.SessionStateControllerState.Updating,e);else if(i===o.SessionStateControllerState.Updating&&e===n.SessionStateControllerAction.Fail)this.transition(o.SessionStateControllerState.Disconnecting,e);else if(i===o.SessionStateControllerState.Updating&&e===n.SessionStateControllerAction.FinishUpdating)this.transition(o.SessionStateControllerState.Connected,e);else{if(i!==o.SessionStateControllerState.Disconnecting||e!==n.SessionStateControllerAction.FinishDisconnecting)return this.canDefer(e)?(this.logger.info(`deferring transition from ${o.SessionStateControllerState[this.currentState]} with ${n.SessionStateControllerAction[e]}`),this.deferAction(e,t),s.SessionStateControllerTransitionResult.DeferredTransition):(this.logger.warn(`no transition found from ${o.SessionStateControllerState[this.currentState]} with ${n.SessionStateControllerAction[e]}`),s.SessionStateControllerTransitionResult.NoTransitionAvailable);this.transition(o.SessionStateControllerState.NotConnected,e)}try{t()}catch(t){return this.logger.error(`error during state ${o.SessionStateControllerState[this.currentState]} with action ${n.SessionStateControllerAction[e]}: ${t}`),this.logger.info(`rolling back transition to ${o.SessionStateControllerState[i]}`),this.currentState=i,s.SessionStateControllerTransitionResult.TransitionFailed}return this.performDeferredAction(),s.SessionStateControllerTransitionResult.Transitioned}state(){return this.currentState}transition(e,t){this.logger.info(`transitioning from ${o.SessionStateControllerState[this.currentState]} to ${o.SessionStateControllerState[e]} with ${n.SessionStateControllerAction[t]}`),this.currentState=e}deferPriority(e){switch(e){case n.SessionStateControllerAction.Disconnect:return r.SessionStateControllerDeferPriority.VeryHigh;case n.SessionStateControllerAction.Fail:return r.SessionStateControllerDeferPriority.High;case n.SessionStateControllerAction.Reconnect:return r.SessionStateControllerDeferPriority.Medium;case n.SessionStateControllerAction.Update:return r.SessionStateControllerDeferPriority.Low;default:return r.SessionStateControllerDeferPriority.DoNotDefer}}deferAction(e,t){null!==this.deferredAction&&this.deferPriority(this.deferredAction)>this.deferPriority(e)||(this.deferredAction=e,this.deferredWork=t)}canDefer(e){return this.deferPriority(e)!==r.SessionStateControllerDeferPriority.DoNotDefer&&(this.currentState===o.SessionStateControllerState.Connecting||this.currentState===o.SessionStateControllerState.Updating)}performDeferredAction(){if(!this.deferredAction)return;const e=this.deferredAction,t=this.deferredWork;this.deferredAction=null,this.deferredWork=null,this.logger.info(`performing deferred action ${n.SessionStateControllerAction[e]}`),this.perform(e,t)!==s.SessionStateControllerTransitionResult.Transitioned&&this.logger.info(`unable to perform deferred action ${n.SessionStateControllerAction[e]} in state ${o.SessionStateControllerState[this.currentState]}`)}}},84217(e,t){"use strict";var i;
2138Object.defineProperty(t,"__esModule",{value:!0}),t.SessionStateControllerAction=void 0,function(e){e[e.Connect=0]="Connect",e[e.FinishConnecting=1]="FinishConnecting",e[e.Update=2]="Update",e[e.FinishUpdating=3]="FinishUpdating",e[e.Reconnect=4]="Reconnect",e[e.Disconnect=5]="Disconnect",e[e.Fail=6]="Fail",e[e.FinishDisconnecting=7]="FinishDisconnecting"}(i=t.SessionStateControllerAction||(t.SessionStateControllerAction={})),t.default=i},38199(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SessionStateControllerDeferPriority=void 0,function(e){e[e.DoNotDefer=0]="DoNotDefer",e[e.Low=1]="Low",e[e.Medium=2]="Medium",e[e.High=3]="High",e[e.VeryHigh=4]="VeryHigh"}(i=t.SessionStateControllerDeferPriority||(t.SessionStateControllerDeferPriority={})),t.default=i},52818(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SessionStateControllerState=void 0,function(e){e[e.NotConnected=0]="NotConnected",e[e.Connecting=1]="Connecting",e[e.Connected=2]="Connected",e[e.Updating=3]="Updating",e[e.Disconnecting=4]="Disconnecting"}(i=t.SessionStateControllerState||(t.SessionStateControllerState={})),t.default=i},42985(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SessionStateControllerTransitionResult=void 0,function(e){e[e.Transitioned=0]="Transitioned",e[e.NoTransitionAvailable=1]="NoTransitionAvailable",e[e.DeferredTransition=2]="DeferredTransition",e[e.TransitionFailed=3]="TransitionFailed"}(i=t.SessionStateControllerTransitionResult||(t.SessionStateControllerTransitionResult={})),t.default=i},27014(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(98824)),o=n(i(50448)),s=i(38359),a=i(48471),d=n(i(40961)),c=n(i(62531)),l=n(i(90428)),u=i(35928),h=n(i(23907)),p=n(i(10587));class f{constructor(e,t){this.webSocket=e,this.logger=t,this.closeEventHandler=e=>{this.resetConnection(),this.sendEvent(new h.default(this,p.default.WebSocketClosed,null,e.code,e.reason,e.wasClean)),this.serviceConnectionRequestQueue()},this.observerQueue=new Set,this.connectionRequestQueue=[],this.resetConnection(),this.logger.debug(()=>"signaling client init"),this.audioSessionId=this.generateNewAudioSessionId()}registerObserver(e){this.logger.debug(()=>"registering signaling client observer"),this.observerQueue.add(e)}removeObserver(e){this.logger.debug(()=>"removing signaling client observer"),this.observerQueue.delete(e)}openConnection(e){this.logger.info("adding connection request to queue: "+e.url()),this.connectionRequestQueue.push(e),this.closeConnection()}pingPong(e){this.logger.debug(()=>"sending ping");const t=s.SdkSignalFrame.create();return t.type=s.SdkSignalFrame.Type.PING_PONG,t.pingPong=e,this.sendMessage(t),t.timestampMs}join(e){this.logger.info("sending join");const t=s.SdkJoinFrame.create();t.protocolVersion=2,t.flags=s.SdkJoinFlags.HAS_STREAM_UPDATE;const i=new r.default,n={platformName:i.name(),platformVersion:i.version(),clientSource:d.default.sdkName,chimeSdkVersion:d.default.sdkVersion,clientUtcOffset:a.getFormattedOffset((new Date).getTimezoneOffset())};if(e.applicationMetadata){const{appName:t,appVersion:i}=e.applicationMetadata;n.appName=t,n.appVersion=i}t.clientDetails=s.SdkClientDetails.create(n),t.audioSessionId=this.audioSessionId,t.wantsCompressedSdp=f.CLIENT_SUPPORTS_COMPRESSION,t.disablePeriodicKeyframeRequestOnContentSender=e.disablePeriodicKeyframeRequestOnContentSender,t.serverSideNetworkAdaption=u.convertServerSideNetworkAdaptionEnumToSignaled(e.serverSideNetworkAdaption),t.supportedServerSideNetworkAdaptions=e.supportedServerSideNetworkAdaptions.map(u.convertServerSideNetworkAdaptionEnumToSignaled),t.wantsAllTemporalLayersInIndex=e.wantsAllTemporalLayersInIndex;const o=s.SdkSignalFrame.create();o.type=s.SdkSignalFrame.Type.JOIN,o.join=t,this.sendMessage(o)}subscribe(e){const t=s.SdkSubscribeFrame.create();if(t.sendStreams=[],t.sdpOffer=e.sdpOffer,e.connectionTypeHasVideo&&(t.receiveStreamIds=e.receiveStreamIds),e.audioHost&&(t.audioCheckin=e.audioCheckin,t.audioHost=e.audioHost,t.audioMuted=e.audioMuted,!e.audioCheckin)){const i=s.SdkStreamDescriptor.create();i.mediaType=s.SdkStreamMediaType.AUDIO,i.trackLabel="AmazonChimeExpressAudio",i.attendeeId=e.attendeeId,i.streamId=1,i.groupId=1,i.framerate=15,i.maxBitrateKbps=600,i.avgBitrateBps=4e5,t.sendStreams.push(i)}if(t.compressedSdpOffer=e.compressedSdpOffer,t.duplex=s.SdkStreamServiceType.RX,e.localVideoEnabled){t.duplex=s.SdkStreamServiceType.DUPLEX;for(let i=0;i<e.videoStreamDescriptions.length;i++){const n=e.videoStreamDescriptions[i].clone();n.attendeeId=e.attendeeId,t.sendStreams.push(n.toStreamDescriptor())}}e.videoSubscriptionConfiguration.length>0&&(t.videoSubscriptionConfiguration=e.videoSubscriptionConfiguration.map(this.convertSignalingClientVideoSubscriptionConfiguration));const i=s.SdkSignalFrame.create();i.type=s.SdkSignalFrame.Type.SUBSCRIBE,i.sub=t,this.sendMessage(i)}remoteVideoUpdate(e,t){const i=s.SdkRemoteVideoUpdateFrame.create();i.addedOrUpdatedVideoSubscriptions=e.map(this.convertSignalingClientVideoSubscriptionConfiguration),i.removedVideoSubscriptionMids=t;const n=s.SdkSignalFrame.create();n.type=s.SdkSignalFrame.Type.REMOTE_VIDEO_UPDATE,n.remoteVideoUpdate=i,this.sendMessage(n)}convertSignalingClientVideoSubscriptionConfiguration(e){const t=new s.SdkVideoSubscriptionConfiguration;switch(t.mid=e.mid,t.attendeeId=e.attendeeId,t.streamId=e.streamId,t.groupId=e.groupId,t.priority=e.priority,t.targetBitrateKbps=e.targetBitrateKbps,e.qualityAdaptationPreference){case c.default.Balanced:t.qualityAdaptationPreference=s.SdkVideoQualityAdaptationPreference.BALANCED;break;case c.default.MaintainFramerate:t.qualityAdaptationPreference=s.SdkVideoQualityAdaptationPreference.MAINTAIN_FRAMERATE;break;case c.default.MaintainResolution:t.qualityAdaptationPreference=s.SdkVideoQualityAdaptationPreference.MAINTAIN_RESOLUTION;break;default:t.qualityAdaptationPreference=s.SdkVideoQualityAdaptationPreference.BALANCED}return t}leave(){const e=s.SdkSignalFrame.create();e.type=s.SdkSignalFrame.Type.LEAVE,e.leave=s.SdkLeaveFrame.create(),this.sendMessage(e),this.logger.debug(()=>"sent leave")}sendClientMetrics(e){const t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.CLIENT_METRIC,t.clientMetric=e,this.sendMessage(t)}sendDataMessage(e){const t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.DATA_MESSAGE,t.dataMessage=e,this.sendMessage(t)}closeConnection(){var e,t;if(this.webSocket.readyState()!==l.default.None&&this.webSocket.readyState()!==l.default.Closed){this.isClosing=!0,this.sendEvent(new h.default(this,p.default.WebSocketClosing,null));const i=new o.default(f.CLOSE_EVENT_TIMEOUT_MS),n=e=>{var t,r;null===(r=(t=this.webSocket).removeEventListener)||void 0===r||r.call(t,"close",n),i.stop(),this.closeEventHandler(e)};null===(t=(e=this.webSocket).removeEventListener)||void 0===t||t.call(e,"close",this.closeEventHandler),this.webSocket.addEventListener("close",n),i.start(()=>{n(new CloseEvent("close",{wasClean:!1,code:1005,reason:"",bubbles:!1}))}),this.webSocket.close()}else this.logger.info("no existing signaling client connection needs closing"),this.serviceConnectionRequestQueue()}ready(){return this.webSocket.readyState()===l.default.Open&&!this.isClosing&&this.wasOpened}mute(e){const t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.AUDIO_CONTROL;const i=s.SdkAudioControlFrame.create();i.muted=e,t.audioControl=i,this.sendMessage(t)}pause(e){const t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.PAUSE,t.pause=s.SdkPauseResumeFrame.create(),t.pause.streamIds=e,this.sendMessage(t)}resume(e){const t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.RESUME,t.pause=s.SdkPauseResumeFrame.create(),t.pause.streamIds=e,this.sendMessage(t)}resetConnection(){this.webSocket.destroy(),this.wasOpened=!1}sendMessage(e){e.timestampMs=Date.now(),this.logger.debug(()=>`sending: ${JSON.stringify(e)}`);const t=this.prependWithFrameTypeRTC(s.SdkSignalFrame.encode(e).finish());
2138if(this.ready()){if(!this.webSocket.send(t))return void this.sendEvent(new h.default(this,p.default.WebSocketSendMessageFailure,null));this.sendEvent(new h.default(this,p.default.WebSocketSentMessage,null))}else this.sendEvent(new h.default(this,p.default.WebSocketSkippedMessage,null))}receiveMessage(e){let t;try{t=s.SdkSignalFrame.decode(e)}catch(t){return this.logger.info(`failed to decode: ${e}`),void this.sendEvent(new h.default(this,p.default.ProtocolDecodeFailure,null))}this.logger.debug(()=>`received: ${JSON.stringify(t)}`),this.webSocket.readyState()===l.default.Open?this.sendEvent(new h.default(this,p.default.ReceivedSignalFrame,t)):this.logger.info(`skipping notification of message since WebSocket is not open: ${JSON.stringify(t)}`)}stripFrameTypeRTC(e){const t=e[0];return t!==f.FRAME_TYPE_RTC&&2!==t&&this.logger.warn(`expected FrameTypeRTC for message but got ${t}`),e.slice(1)}prependWithFrameTypeRTC(e){const t=new Uint8Array(e.length+1);return t[0]=f.FRAME_TYPE_RTC,t.set(e,1),t}serviceConnectionRequestQueue(){if(0===this.connectionRequestQueue.length)return void this.logger.info("no connection requests to service");const e=this.connectionRequestQueue.shift();this.logger.info(`opening connection to ${e.url()}`),this.isClosing=!1,this.webSocket.create(e.url(),e.protocols()),this.setUpEventListeners(),this.sendEvent(new h.default(this,p.default.WebSocketConnecting,null))}sendEvent(e){switch(e.type){case p.default.WebSocketMessage:case p.default.ReceivedSignalFrame:case p.default.WebSocketSentMessage:this.logger.debug(()=>`notifying event: ${p.default[e.type]}`);break;case p.default.WebSocketSkippedMessage:this.logger.debug(()=>`notifying event: ${p.default[e.type]}, websocket state=${l.default[this.webSocket.readyState()]}`);break;case p.default.WebSocketClosed:this.logger.info(`Notifying event: ${p.default[e.type]}, \n              code: ${e.closeCode} reason: "${e.closeReason}" wasClean ${e.wasClean}`);break;default:this.logger.info(`notifying event: ${p.default[e.type]}`)}for(const t of this.observerQueue)t.handleSignalingClientEvent(e)}setUpEventListeners(){this.webSocket.addEventListener("open",()=>{this.wasOpened=!0,this.sendEvent(new h.default(this,p.default.WebSocketOpen,null))}),this.webSocket.addEventListener("message",e=>{this.sendEvent(new h.default(this,p.default.WebSocketMessage,null)),this.receiveMessage(this.stripFrameTypeRTC(new Uint8Array(e.data)))}),this.webSocket.addEventListener("close",this.closeEventHandler),this.webSocket.addEventListener("error",()=>{!this.isClosing||this.wasOpened?this.wasOpened?(this.logger.error("Signaling WebSocket received error while connected"),this.sendEvent(new h.default(this,p.default.WebSocketError,null))):(this.logger.error("Signaling WebSocket received error while connecting"),this.sendEvent(new h.default(this,p.default.WebSocketFailed,null))):this.logger.info("Signaling WebSocket ignoring error closing while connecting")})}generateNewAudioSessionId(){const e=new Uint32Array(1);return a.getRandomValues(e),e[0]}promoteToPrimaryMeeting(e){const t=s.SdkMeetingSessionCredentials.create();t.attendeeId=e.attendeeId,t.externalUserId=e.externalUserId,t.joinToken=e.joinToken;const i=s.SdkPrimaryMeetingJoinFrame.create();i.credentials=t;const n=s.SdkSignalFrame.create();n.type=s.SdkSignalFrame.Type.PRIMARY_MEETING_JOIN,n.primaryMeetingJoin=i,this.sendMessage(n)}demoteFromPrimaryMeeting(){const e=s.SdkPrimaryMeetingLeaveFrame.create(),t=s.SdkSignalFrame.create();t.type=s.SdkSignalFrame.Type.PRIMARY_MEETING_LEAVE,t.primaryMeetingLeave=e,this.sendMessage(t)}}t.default=f,f.FRAME_TYPE_RTC=5,f.CLOSE_EVENT_TIMEOUT_MS=2e3,f.CLIENT_SUPPORTS_COMPRESSION=!0},35928(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertServerSideNetworkAdaptionEnumToSignaled=t.convertServerSideNetworkAdaptionEnumFromSignaled=t.serverSideNetworkAdaptionIsNoneOrDefault=t.ServerSideNetworkAdaption=void 0;const n=i(38359);var r;!function(e){e[e.Default=0]="Default",e[e.None=1]="None",e[e.BandwidthProbing=2]="BandwidthProbing",e[e.BandwidthProbingAndRemoteVideoQualityAdaption=3]="BandwidthProbingAndRemoteVideoQualityAdaption"}(r=t.ServerSideNetworkAdaption||(t.ServerSideNetworkAdaption={})),t.default=r,t.serverSideNetworkAdaptionIsNoneOrDefault=function(e){return e===r.None||e===r.Default},t.convertServerSideNetworkAdaptionEnumFromSignaled=function(e){switch(e){case n.SdkServerSideNetworkAdaption.DEFAULT:return r.Default;
2138case n.SdkServerSideNetworkAdaption.NONE:return r.None;case n.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING:return r.BandwidthProbing;case n.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION:return r.BandwidthProbingAndRemoteVideoQualityAdaption}},t.convertServerSideNetworkAdaptionEnumToSignaled=function(e){switch(e){case r.Default:return n.SdkServerSideNetworkAdaption.DEFAULT;case r.None:return n.SdkServerSideNetworkAdaption.NONE;case r.BandwidthProbing:return n.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING;case r.BandwidthProbingAndRemoteVideoQualityAdaption:return n.SdkServerSideNetworkAdaption.BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION}}},33774(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t){this.signalingURL=e,this.joinToken=t}url(){return this.signalingURL+"?X-Chime-Control-Protocol-Version=3&X-Amzn-Chime-Send-Close-On-Error=1"}protocols(){return["_aws_wt_session",this.joinToken]}}},23907(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(10587));t.default=class{constructor(e,t,i,n,r,o){this.client=e,this.type=t,this.message=i,this.closeCode=n,this.closeReason=r,this.wasClean=o,this.timestampMs=Date.now()}isConnectionTerminated(){switch(this.type){case r.default.WebSocketFailed:case r.default.WebSocketError:case r.default.WebSocketClosing:case r.default.WebSocketClosed:return!0;default:return!1}}}},10587(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SignalingClientEventType=void 0,function(e){e[e.WebSocketConnecting=0]="WebSocketConnecting",e[e.WebSocketOpen=1]="WebSocketOpen",e[e.WebSocketError=2]="WebSocketError",e[e.WebSocketClosing=3]="WebSocketClosing",e[e.WebSocketClosed=4]="WebSocketClosed",e[e.WebSocketFailed=5]="WebSocketFailed",e[e.WebSocketMessage=6]="WebSocketMessage",e[e.WebSocketSendMessageFailure=7]="WebSocketSendMessageFailure",e[e.WebSocketSentMessage=8]="WebSocketSentMessage",e[e.ProtocolDecodeFailure=9]="ProtocolDecodeFailure",e[e.ReceivedSignalFrame=10]="ReceivedSignalFrame",e[e.WebSocketSkippedMessage=11]="WebSocketSkippedMessage"}(i=t.SignalingClientEventType||(t.SignalingClientEventType={})),t.default=i},62059(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(35928));t.default=class{constructor(e){this.applicationMetadata=e,this.serverSideNetworkAdaption=r.default.Default,this.supportedServerSideNetworkAdaptions=[],this.wantsAllTemporalLayersInIndex=!1,this.disablePeriodicKeyframeRequestOnContentSender=!1}}},5667(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e,t,i,n,r,o,s,a,d,c){this.attendeeId=e,this.sdpOffer=t,this.audioHost=i,this.audioMuted=n,this.audioCheckin=r,this.receiveStreamIds=o,this.localVideoEnabled=s,this.videoStreamDescriptions=a,this.connectionTypeHasVideo=d,this.compressedSdpOffer=c,this.videoSubscriptionConfiguration=[]}}},97375(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{equals(e){return void 0!==e&&this.mid===e.mid&&this.attendeeId===e.attendeeId&&this.streamId===e.streamId&&this.groupId===e.groupId&&this.priority===e.priority&&this.targetBitrateKbps===e.targetBitrateKbps&&this.qualityAdaptationPreference===e.qualityAdaptationPreference}}},38359(e,t,i){"use strict";var n,r,o=i(44110),s=o.Reader,a=o.Writer,d=o.util,c=o.roots.default||(o.roots.default={});c.SdkSignalFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}var t,i;return e.prototype.timestampMs=d.Long?d.Long.fromBits(0,0,!0):0,e.prototype.type=1,e.prototype.error=null,e.prototype.join=null,e.prototype.joinack=null,e.prototype.sub=null,e.prototype.suback=null,e.prototype.index=null,e.prototype.pause=null,e.prototype.leave=null,e.prototype.leaveAck=null,e.prototype.bitrates=null,e.prototype.audioControl=null,e.prototype.audioMetadata=null,e.prototype.audioStreamIdInfo=null,e.prototype.pingPong=null,e.prototype.audioStatus=null,e.prototype.clientMetric=null,e.prototype.dataMessage=null,e.prototype.remoteVideoUpdate=null,e.prototype.primaryMeetingJoin=null,e.prototype.primaryMeetingJoinAck=null,e.prototype.primaryMeetingLeave=null,e.prototype.notification=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t.uint32(8).uint64(e.timestampMs),t.uint32(16).int32(e.type),null!=e.error&&Object.hasOwnProperty.call(e,"error")&&c.SdkErrorFrame.encode(e.error,t.uint32(26).fork()).ldelim(),null!=e.join&&Object.hasOwnProperty.call(e,"join")&&c.SdkJoinFrame.encode(e.join,t.uint32(34).fork()).ldelim(),null!=e.joinack&&Object.hasOwnProperty.call(e,"joinack")&&c.SdkJoinAckFrame.encode(e.joinack,t.uint32(42).fork()).ldelim(),null!=e.sub&&Object.hasOwnProperty.call(e,"sub")&&c.SdkSubscribeFrame.encode(e.sub,t.uint32(50).fork()).ldelim(),null!=e.suback&&Object.hasOwnProperty.call(e,"suback")&&c.SdkSubscribeAckFrame.encode(e.suback,t.uint32(58).fork()).ldelim(),null!=e.index&&Object.hasOwnProperty.call(e,"index")&&c.SdkIndexFrame.encode(e.index,t.uint32(66).fork()).ldelim(),null!=e.pause&&Ob
2138ject.hasOwnProperty.call(e,"pause")&&c.SdkPauseResumeFrame.encode(e.pause,t.uint32(82).fork()).ldelim(),null!=e.leave&&Object.hasOwnProperty.call(e,"leave")&&c.SdkLeaveFrame.encode(e.leave,t.uint32(90).fork()).ldelim(),null!=e.leaveAck&&Object.hasOwnProperty.call(e,"leaveAck")&&c.SdkLeaveAckFrame.encode(e.leaveAck,t.uint32(98).fork()).ldelim(),null!=e.bitrates&&Object.hasOwnProperty.call(e,"bitrates")&&c.SdkBitrateFrame.encode(e.bitrates,t.uint32(114).fork()).ldelim(),null!=e.audioControl&&Object.hasOwnProperty.call(e,"audioControl")&&c.SdkAudioControlFrame.encode(e.audioControl,t.uint32(138).fork()).ldelim(),null!=e.audioMetadata&&Object.hasOwnProperty.call(e,"audioMetadata")&&c.SdkAudioMetadataFrame.encode(e.audioMetadata,t.uint32(146).fork()).ldelim(),null!=e.audioStreamIdInfo&&Object.hasOwnProperty.call(e,"audioStreamIdInfo")&&c.SdkAudioStreamIdInfoFrame.encode(e.audioStreamIdInfo,t.uint32(154).fork()).ldelim(),null!=e.pingPong&&Object.hasOwnProperty.call(e,"pingPong")&&c.SdkPingPongFrame.encode(e.pingPong,t.uint32(162).fork()).ldelim(),null!=e.audioStatus&&Object.hasOwnProperty.call(e,"audioStatus")&&c.SdkAudioStatusFrame.encode(e.audioStatus,t.uint32(170).fork()).ldelim(),null!=e.clientMetric&&Object.hasOwnProperty.call(e,"clientMetric")&&c.SdkClientMetricFrame.encode(e.clientMetric,t.uint32(178).fork()).ldelim(),null!=e.dataMessage&&Object.hasOwnProperty.call(e,"dataMessage")&&c.SdkDataMessageFrame.encode(e.dataMessage,t.uint32(186).fork()).ldelim(),null!=e.remoteVideoUpdate&&Object.hasOwnProperty.call(e,"remoteVideoUpdate")&&c.SdkRemoteVideoUpdateFrame.encode(e.remoteVideoUpdate,t.uint32(202).fork()).ldelim(),null!=e.primaryMeetingJoin&&Object.hasOwnProperty.call(e,"primaryMeetingJoin")&&c.SdkPrimaryMeetingJoinFrame.encode(e.primaryMeetingJoin,t.uint32(210).fork()).ldelim(),null!=e.primaryMeetingJoinAck&&Object.hasOwnProperty.call(e,"primaryMeetingJoinAck")&&c.SdkPrimaryMeetingJoinAckFrame.encode(e.primaryMeetingJoinAck,t.uint32(218).fork()).ldelim(),null!=e.primaryMeetingLeave&&Object.hasOwnProperty.call(e,"primaryMeetingLeave")&&c.SdkPrimaryMeetingLeaveFrame.encode(e.primaryMeetingLeave,t.uint32(226).fork()).ldelim(),null!=e.notification&&Object.hasOwnProperty.call(e,"notification")&&c.SdkNotificationFrame.encode(e.notification,t.uint32(282).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkSignalFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.timestampMs=e.uint64();break;case 2:n.type=e.int32();break;case 3:n.error=c.SdkErrorFrame.decode(e,e.uint32());break;case 4:n.join=c.SdkJoinFrame.decode(e,e.uint32());break;case 5:n.joinack=c.SdkJoinAckFrame.decode(e,e.uint32());break;case 6:n.sub=c.SdkSubscribeFrame.decode(e,e.uint32());break;case 7:n.suback=c.SdkSubscribeAckFrame.decode(e,e.uint32());break;case 8:n.index=c.SdkIndexFrame.decode(e,e.uint32());break;case 10:n.pause=c.SdkPauseResumeFrame.decode(e,e.uint32());break;case 11:n.leave=c.SdkLeaveFrame.decode(e,e.uint32());break;case 12:n.leaveAck=c.SdkLeaveAckFrame.decode(e,e.uint32());break;case 14:n.bitrates=c.SdkBitrateFrame.decode(e,e.uint32());break;case 17:n.audioControl=c.SdkAudioControlFrame.decode(e,e.uint32());break;case 18:n.audioMetadata=c.SdkAudioMetadataFrame.decode(e,e.uint32());break;case 19:n.audioStreamIdInfo=c.SdkAudioStreamIdInfoFrame.decode(e,e.uint32());break;case 20:n.pingPong=c.SdkPingPongFrame.decode(e,e.uint32());break;case 21:n.audioStatus=c.SdkAudioStatusFrame.decode(e,e.uint32());break;case 22:n.clientMetric=c.SdkClientMetricFrame.decode(e,e.uint32());break;case 23:n.dataMessage=c.SdkDataMessageFrame.decode(e,e.uint32());break;case 25:n.remoteVideoUpdate=c.SdkRemoteVideoUpdateFrame.decode(e,e.uint32());break;case 26:n.primaryMeetingJoin=c.SdkPrimaryMeetingJoinFrame.decode(e,e.uint32());break;case 27:n.primaryMeetingJoinAck=c.SdkPrimaryMeetingJoinAckFrame.decode(e,e.uint32());break;case 28:n.primaryMeetingLeave=c.SdkPrimaryMeetingLeaveFrame.decode(e,e.uint32());break;case 35:n.notification=c.SdkNotificationFrame.decode(e,e.uint32());break;default:e.skipType(7&r)}}if(!n.hasOwnProperty("timestampMs"))throw d.ProtocolError("missing required 'timestampMs'",{instance:n});if(!n.hasOwnProperty("type"))throw d.ProtocolError("missing required 'type'",{instance:n});return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!(d.isInteger(e.timestampMs)||e.timestampMs&&d.isInteger(e.timestampMs.low)&&d.isInteger(e.timestampMs.high)))return"timestampMs: integer|Long expected";switch(e.type){default:return"type: enum value expected";case 1:case 2:case 3:case 4:case 5:case 7:case 8:case 9:case 10:case 13:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 24:case 25:case 26:case 27:case 34:}var t;return null!=e.error&&e.hasOwnProperty("error")&&(t=c.SdkErrorFrame.verify(e.error))?"error."+t:null!=e.join&&e.hasOwnProperty("join")&&(t=c.SdkJoinFrame.verify(e.join))?"join."+t:null!=e.joinack&&e.hasOwnProperty("joinack")&&(t=c.SdkJoinAckFrame.verify(e.joinack))?"joinack."+t:null!=e.sub&&e.hasOwnProperty("sub")&&(t=c.SdkSubscribeFrame.verify(e.sub))?"sub."+t:null!=e.suback&&e.hasOwnProperty("suback")&&(t=c.SdkSubscribeAckFrame.verify(e.suback))?"suback."+t:null!=e.index&&e.hasOwnProperty("index")&&(t=c.SdkIndexFrame.verify(e.index))?"index."+t:null!=e.pause&&e.hasOwnProperty("pause")&&(t=c.SdkPauseResumeFrame.verify(e.pause))?"pause."+t:null!=e.leave&&e.hasOwnProperty("leave")&&(t=c.SdkLeaveFrame.verify(e.leave))?"leave."+t:null!=e.leaveAck&&e.hasOwnProperty("leaveAck")&&(t=c.SdkLeaveAckFrame.verify(e.leaveAck))?"leaveAck."+t:null!=e.bitrates&&e.hasOwnProperty("bitrates")&&(t=c.SdkBitrateFrame.verify(e.bitrates))?"bitrates."+t:null!=e.audioControl&&e.hasOwnProperty("audioControl")&&(t=c.SdkAudioControlFrame.verify(e.audioControl))?"audioControl."+t:null!=e.audioMetadata&&e.hasOwnProperty("audioMetadata")&&(t=c.SdkAudioMetadataFrame.verify(e.audioMetadata))?"audioMetadata."+t:null!=e.audioStreamIdInfo&&e.hasOwnProperty("audioStreamIdInfo")&&(t=c.SdkAudioStreamIdInfoFrame.verify(e.audioStreamIdInfo))?"audioStreamIdInfo."+t:null!=e.pingPong&&e.hasOwnProperty("pingPong")&&(t=c.SdkPingPongFrame.verify(e.pingPong))?"pingPong."+t:null!=e.audioStatus&&e.hasOwnProperty("audioStatus")&&(t=c.SdkAudioStatusFrame.verify(e.audioStatus))?"audioStatus."+t:null!=e.clientMetric&&e.hasOwnProperty("clientMetric")&&(t=c.SdkClientMetricFrame.verify(e.clientMetric))?"clientMetric."+t:null!=e.dataMessage&&e.hasOwnProperty("dataMessage")&&(t=c.SdkDataMessageFrame.verify(e.dataMessage))?"dataMessage."+t:null!=e.remoteVideoUpdate&&e.hasOwnProperty("remoteVideoUpdate")&&(t=c.SdkRemoteVideoUpdateFrame.verify(e.remoteVideoUpdate))?"remoteVideoUpdate."+t:null!=e.primaryMeetingJoin&&e.hasOwnProperty("primaryMeetingJoin")&&(t=c.SdkPrimaryMeetingJoinFrame.verify(e.primaryMeetingJoin))?"primaryMeetingJoin."+t:null!=e.primaryMeetingJoinAck&&e.hasOwnProperty("primaryMeetingJoinAck")&&(t=c.SdkPrimaryMeetingJoinAckFrame.verify(e.primaryMeetingJoinAck))?"primaryMeetingJoinAck."+t:null!=e.primaryMeetingLeave&&e.hasOwnProperty("primaryMeetingLeave")&&(t=c.SdkPrimaryMeetingLeaveFrame.verify(e.primaryMeetingLeave))?"primaryMeetingLeave."+t:null!=e.notification&&e.hasOwnProperty("notification")&&(t=c.SdkNotificationFrame.verify(e.notification))?"notification."+t:null},e.fromObject=function(e){if(e instanceof c.SdkSignalFrame)return e;var t=new c.SdkSignalFrame;switch(null!=e.timestampMs&&(d.Long?(t.timestampMs=d.Long.fromValue(e.timestampMs)).unsigned=!0:"string"==typeof e.timestampMs?t.timestampMs=parseInt(e.timestampMs,10):"number"==typeof e.timestampMs?t.timestampMs=e.timestampMs:"object"==typeof e.timestampMs&&(t.timestampMs=new d.LongBits(e.timestampMs.low>>>0,e.timestampMs.high>>>0).toNumber(!0))),e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"JOIN":case 1:t.type=1;break;case"JOIN_ACK":case 2:t.type=2;break;case"SUBSCRIBE":case 3:t.type=3;break;case"SUBSCRIBE_ACK":case 4:t.type=4;break;case"INDEX":case 5:t.type=5;break;case"PAUSE":case 7:t.type=7;break;case"RESUME":case 8:t.type=8;break;case"LEAVE":case 9:t.type=9;break;case"LEAVE_ACK":case 10:t.type=10;break;case"BITRATES":case 13:t.type=13;break;case"AUDIO_CONTROL":case 16:t.type=16;break;case"AUDIO_METADATA":case 17:t.type=17;break;case"AUDIO_STREAM_ID_INFO":case 18:t.type=18;break;case"PING_PONG":case 19:t.type=19;break;case"AUDIO_STATUS":case 20:t.type=20;break;case"CLIENT_METRIC":case 21:t.type=21;break;case"DATA_MESSAGE":case 22:t.type=22;break;case"REMOTE_VIDEO_UPDATE":case 24:t.type=24;break;case"PRIMARY_MEETING_JOIN":case 25:t.type=25;break;case"PRIMARY_MEETING_JOIN_ACK":case 26:t.type=26;break;case"PRIMARY_MEETING_LEAVE":case 27:t.type=27;break;case"NOTIFICATION":case 34:t.type=34}if(null!=e.error){if("object"!=typeof e.error)throw TypeError(".SdkSignalFrame.error: object expected");t.error=c.SdkErrorFrame.fromObject(e.error)}if(null!=e.join){if("object"!=typeof e.join)throw TypeError(".SdkSignalFrame.join: object expected");t.join=c.SdkJoinFrame.fromObject(e.join)}if(null!=e.joinack){if("object"!=typeof e.joinack)throw TypeError(".SdkSignalFrame.joinack: object expected");t.joinack=c.SdkJoinAckFrame.fromObject(e.joinack)}if(null!=e.sub){if("object"!=typeof e.sub)throw TypeError(".SdkSignalFrame.sub: object expected");t.sub=c.SdkSubscribeFrame.fromObject(e.sub)}if(null!=e.suback){if("object"!=typeof e.suback)throw TypeError(".SdkSignalFrame.suback: object expected");t.suback=c.SdkSubscribeAckFrame.fromObject(e.suback)}if(null!=e.index){if("object"!=typeof e.index)throw TypeError(".SdkSignalFrame.index: object expected");t.index=c.SdkIndexFrame.fromObject(e.index)}if(null!=e.pause){if("object"!=typeof e.pause)throw TypeError(".SdkSignalFrame.pause: object expected");t.pause=c.SdkPauseResumeFrame.fromObject(e.pause)}if(null!=e.leave){if("object"!=typeof e.leave)throw TypeError(".SdkSignalFrame.leave: object expected");t.leave=c.SdkLeaveFrame.fromObject(e.leave)}if(null!=e.leaveAck){if("object"!=typeof e.leaveAck)throw TypeError(".SdkSignalFrame.leaveAck: object expected");t.leaveAck=c.SdkLeaveAckFrame.fromObject(e.leaveAck)}if(null!=e.bitrates){if("object"!=typeof e.bitrates)throw TypeError(".SdkSignalFrame.bitrates: object expected");t.bitrates=c.SdkBitrateFrame.fromObject(e.bitrates)}if(null!=e.audioControl){if("object"!=typeof e.audioControl)throw TypeError(".SdkSignalFrame.audioControl: object expected");t.audioControl=c.SdkAudioControlFrame.fromObject(e.audioControl)}if(null!=e.audioMetadata){if("object"!=typeof e.audioMetadata)throw TypeError(".SdkSignalFrame.audioMetadata: object expected");t.audioMetadata=c.SdkAudioMetadataFrame.fromObject(e.audioMetadata)}if(null!=e.audioStreamIdInfo){if("object"!=typeof e.audioStreamIdInfo)throw TypeError(".SdkSignalFrame.audioStreamIdInfo: object expected");t.audioStreamIdInfo=c.SdkAudioStreamIdInfoFrame.fromObject(e.audioStreamIdInfo)}if(null!=e.pingPong){if("object"!=typeof e.pingPong)throw TypeError(".SdkSignalFrame.pingPong: object expected");t.pingPong=c.SdkPingPongFrame.fromObject(e.pingPong)}if(null!=e.audioStatus){if("object"!=typeof e.audioStatus)throw TypeError(".SdkSignalFrame.audioStatus: object expected");t.audioStatus=c.SdkAudioStatusFrame.fromObject(e.audioStatus)}if(null!=e.clientMetric){if("object"!=typeof e.clientMetric)throw TypeError(".SdkSignalFrame.clientMetric: object expected");t.clientMetric=c.SdkClientMetricFrame.fromObject(e.clientMetric)}if(null!=e.dataMessage){if("object"!=typeof e.dataMessage)throw TypeError(".SdkSignalFrame.dataMessage: object expected");t.dataMessage=c.SdkDataMessageFrame.fromObject(e.dataMessage)}if(null!=e.remoteVideoUpdate){if("object"!=typeof e.remoteVideoUpdate)throw TypeError(".SdkSignalFrame.remoteVideoUpdate: object expected");t.remoteVideoUpdate=c.SdkRemoteVideoUpdateFrame.fromObject(e.remoteVideoUpdate)}if(null!=e.primaryMeetingJoin){if("object"!=typeof e.primaryMeetingJoin)throw TypeError(".SdkSignalFrame.primaryMeetingJoin: object expected");t.primaryMeetingJoin=c.SdkPrimaryMeetingJoinFrame.fromObject(e.primaryMeetingJoin)}if(null!=e.primaryMeetingJoinAck){if("object"!=typeof e.primaryMeetingJoinAck)throw TypeError(".SdkSignalFrame.primaryMeetingJoinAck: object expected");t.primaryMeetingJoinAck=c.SdkPrimaryMeetingJoinAckFrame.fromObject(e.primaryMeetingJoinAck)}if(null!=e.primaryMeetingLeave){if("object"!=typeof e.primaryMeetingLeave)throw TypeError(".SdkSignalFrame.primaryMeetingLeave: object expected");t.primaryMeetingLeave=c.SdkPrimaryMeetingLeaveFrame.fromObject(e.primaryMeetingLeave)}if(null!=e.notification){if("object"!=typeof e.notification)throw TypeError(".SdkSignalFrame.notification: object expected");t.notification=c.SdkNotificationFrame.fromObject(e.notification)}return t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults){if(d.Long){var n=new d.Long(0,0,!0);i.timestampMs=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.timestampMs=t.longs===String?"0":0;i.type=t.enums===String?"JOIN":1,i.error=null,i.join=null,i.joinack=null,i.sub=null,i.suback=null,i.index=null,i.pause=null,i.leave=null,i.leaveAck=null,i.bitrates=null,i.audioControl=null,i.audioMetadata=null,i.audioStreamIdInfo=null,i.pingPong=null,i.audioStatus=null,i.clientMetric=null,i.dataMessage=null,i.remoteVideoUpdate=null,i.primaryMeetingJoin=null,i.primaryMeetingJoinAck=null,i.primaryMeetingLeave=null,i.notification=null}return null!=e.timestampMs&&e.hasOwnProperty("timestampMs")&&("number"==typeof e.timestampMs?i.timestampMs=t.longs===String?String(e.timestampMs):e.timestampMs:i.timestampMs=t.longs===String?d.Long.prototype.toString.call(e.timestampMs):t.longs===Number?new d.LongBits(e.timestampMs.low>>>0,e.timestampMs.high>>>0).toNumber(!0):e.timestampMs),null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkSignalFrame.Type[e.type]?e.type:c.SdkSignalFrame.Type[e.type]:e.type),null!=e.error&&e.hasOwnProperty("error")&&(i.error=c.SdkErrorFrame.toObject(e.error,t)),null!=e.join&&e.hasOwnProperty("join")&&(i.join=c.SdkJoinFrame.toObject(e.join,t)),null!=e.joinack&&e.hasOwnProperty("joinack")&&(i.joinack=c.SdkJoinAckFrame.toObject(e.joinack,t)),null!=e.sub&&e.hasOwnProperty("sub")&&(i.sub=c.SdkSubscribeFrame.toObject(e.sub,t)),null!=e.suback&&e.hasOwnProperty("suback")&&(i.suback=c.SdkSubscribeAckFrame.toObject(e.suback,t)),null!=e.index&&e.hasOwnProperty("index")&&(i.index=c.SdkIndexFrame.toObject(e.index,t)),null!=e.pause&&e.hasOwnProperty("pause")&&(i.pause=c.SdkPauseResumeFrame.toObject(e.pause,t)),null!=e.leave&&e.hasOwnProperty("leave")&&(i.leave=c.SdkLeaveFrame.toObject(e.leave,t)),null!=e.leaveAck&&e.hasOwnProperty("leaveAck")&&(i.leaveAck=c.SdkLeaveAckFrame.toObject(e.leaveAck,t)),null!=e.bitrates&&e.hasOwnProperty("bitrates")&&(i.bitrates=c.SdkBitrateFrame.toObject(e.bitrates,t)),null!=e.audioControl&&e.hasOwnProperty("audioControl")&&(i.audioControl=c.SdkAudioControlFrame.toObject(e.audioControl,t)),null!=e.audioMetadata&&e.hasOwnProperty("audioMetadata")&&(i.audioMetadata=c.SdkAudioMetadataFrame.toObject(e.audioMetadata,t)),null!=e.audioStreamIdInfo&&e.hasOwnProperty("audioStreamIdInfo")&&(i.audioStreamIdInfo=c.SdkAudioStreamIdInfoFrame.toObject(e.audioStreamIdInfo,t)),null!=e.pingPong&&e.hasOwnProperty("pingPong")&&(i.pingPong=c.SdkPingPongFrame.toObject(e.pingPong,t)),null!=e.audioStatus&&e.hasOwnProperty("audioStatus")&&(i.audioStatus=c.SdkAudioStatusFrame.toObject(e.audioStatus,t)),null!=e.clientMetric&&e.hasOwnProperty("clientMetric")&&(i.clientMetric=c.SdkClientMetricFrame.toObject(e.clientMetric,t)),null!=e.dataMessage&&e.hasOwnProperty("dataMessage")&&(i.dataMessage=c.SdkDataMessageFrame.toObject(e.dataMessage,t)),null!=e.remoteVideoUpdate&&e.hasOwnProperty("remoteVideoUpdate")&&(i.remoteVideoUpdate=c.SdkRemoteVideoUpdateFrame.toObject(e.remoteVideoUpdate,t)),null!=e.primaryMeetingJoin&&e.hasOwnProperty("primaryMeetingJoin")&&(i.primaryMeetingJoin=c.SdkPrimaryMeetingJoinFrame.toObject(e.primaryMeetingJoin,t)),null!=e.primaryMeetingJoinAck&&e.hasOwnProperty("primaryMeetingJoinAck")&&(i.primaryMeetingJoinAck=c.SdkPrimaryMeetingJoinAckFrame.toObject(e.primaryMeetingJoinAck,t)),null!=e.primaryMeetingLeave&&e.hasOwnProperty("primaryMeeting
2138Leave")&&(i.primaryMeetingLeave=c.SdkPrimaryMeetingLeaveFrame.toObject(e.primaryMeetingLeave,t)),null!=e.notification&&e.hasOwnProperty("notification")&&(i.notification=c.SdkNotificationFrame.toObject(e.notification,t)),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkSignalFrame"},e.Type=(t={},(i=Object.create(t))[t[1]="JOIN"]=1,i[t[2]="JOIN_ACK"]=2,i[t[3]="SUBSCRIBE"]=3,i[t[4]="SUBSCRIBE_ACK"]=4,i[t[5]="INDEX"]=5,i[t[7]="PAUSE"]=7,i[t[8]="RESUME"]=8,i[t[9]="LEAVE"]=9,i[t[10]="LEAVE_ACK"]=10,i[t[13]="BITRATES"]=13,i[t[16]="AUDIO_CONTROL"]=16,i[t[17]="AUDIO_METADATA"]=17,i[t[18]="AUDIO_STREAM_ID_INFO"]=18,i[t[19]="PING_PONG"]=19,i[t[20]="AUDIO_STATUS"]=20,i[t[21]="CLIENT_METRIC"]=21,i[t[22]="DATA_MESSAGE"]=22,i[t[24]="REMOTE_VIDEO_UPDATE"]=24,i[t[25]="PRIMARY_MEETING_JOIN"]=25,i[t[26]="PRIMARY_MEETING_JOIN_ACK"]=26,i[t[27]="PRIMARY_MEETING_LEAVE"]=27,i[t[34]="NOTIFICATION"]=34,i),e}(),c.SdkErrorFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.status=0,e.prototype.description="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.status&&Object.hasOwnProperty.call(e,"status")&&t.uint32(8).uint32(e.status),null!=e.description&&Object.hasOwnProperty.call(e,"description")&&t.uint32(18).string(e.description),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkErrorFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.status=e.uint32();break;case 2:n.description=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.status&&e.hasOwnProperty("status")&&!d.isInteger(e.status)?"status: integer expected":null!=e.description&&e.hasOwnProperty("description")&&!d.isString(e.description)?"description: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkErrorFrame)return e;var t=new c.SdkErrorFrame;return null!=e.status&&(t.status=e.status>>>0),null!=e.description&&(t.description=String(e.description)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.status=0,i.description=""),null!=e.status&&e.hasOwnProperty("status")&&(i.status=e.status),null!=e.description&&e.hasOwnProperty("description")&&(i.description=e.description),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkErrorFrame"},e}(),c.SdkJoinFlags=(n={},(r=Object.create(n))[n[2]="HAS_STREAM_UPDATE"]=2,r[n[16]="COMPLETE_VIDEO_SOURCES_LIST"]=16,r[n[32]="EXCLUDE_SELF_CONTENT_IN_INDEX"]=32,r),c.SdkClientDetails=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.appName="",e.prototype.appVersion="",e.prototype.deviceModel="",e.prototype.deviceMake="",e.prototype.platformName="",e.prototype.platformVersion="",e.prototype.clientSource="",e.prototype.chimeSdkVersion="",e.prototype.clientUtcOffset="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.appName&&Object.hasOwnProperty.call(e,"appName")&&t.uint32(10).string(e.appName),null!=e.appVersion&&Object.hasOwnProperty.call(e,"appVersion")&&t.uint32(18).string(e.appVersion),null!=e.deviceModel&&Object.hasOwnProperty.call(e,"deviceModel")&&t.uint32(26).string(e.deviceModel),null!=e.deviceMake&&Object.hasOwnProperty.call(e,"deviceMake")&&t.uint32(34).string(e.deviceMake),null!=e.platformName&&Object.hasOwnProperty.call(e,"platformName")&&t.uint32(42).string(e.platformName),null!=e.platformVersion&&Object.hasOwnProperty.call(e,"platformVersion")&&t.uint32(50).string(e.platformVersion),null!=e.clientSource&&Object.hasOwnProperty.call(e,"clientSource")&&t.uint32(58).string(e.clientSource),null!=e.chimeSdkVersion&&Object.hasOwnProperty.call(e,"chimeSdkVersion")&&t.uint32(66).string(e.chimeSdkVersion),null!=e.clientUtcOffset&&Object.hasOwnProperty.call(e,"clientUtcOffset")&&t.uint32(74).string(e.clientUtcOffset),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkClientDetails;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.appName=e.string();break;case 2:n.appVersion=e.string();break;case 3:n.deviceModel=e.string();break;case 4:n.deviceMake=e.string();break;case 5:n.platformName=e.string();break;case 6:n.platformVersion=e.string();break;case 7:n.clientSource=e.string();break;case 8:n.chimeSdkVersion=e.string();break;case 9:n.clientUtcOffset=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.appName&&e.hasOwnProperty("appName")&&!d.isString(e.appName)?"appName: string expected":null!=e.appVersion&&e.hasOwnProperty("appVersion")&&!d.isString(e.appVersion)?"appVersion: string expected":null!=e.deviceModel&&e.hasOwnProperty("deviceModel")&&!d.isString(e.deviceModel)?"deviceModel: string expected":null!=e.deviceMake&&e.hasOwnProperty("deviceMake")&&!d.isString(e.deviceMake)?"deviceMake: string expected":null!=e.platformName&&e.hasOwnProperty("platformName")&&!d.isString(e.platformName)?"platformName: string expected":null!=e.platformVersion&&e.hasOwnProperty("platformVersion")&&!d.isString(e.platformVersion)?"platformVersion: string expected":null!=e.clientSource&&e.hasOwnProperty("clientSource")&&!d.isString(e.clientSource)?"clientSource: string expected":null!=e.chimeSdkVersion&&e.hasOwnProperty("chimeSdkVersion")&&!d.isString(e.chimeSdkVersion)?"chimeSdkVersion: string expected":null!=e.clientUtcOffset&&e.hasOwnProperty("clientUtcOffset")&&!d.isString(e.clientUtcOffset)?"clientUtcOffset: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkClientDetails)return e;var t=new c.SdkClientDetails;return null!=e.appName&&(t.appName=String(e.appName)),null!=e.appVersion&&(t.appVersion=String(e.appVersion)),null!=e.deviceModel&&(t.deviceModel=String(e.deviceModel)),null!=e.deviceMake&&(t.deviceMake=String(e.deviceMake)),null!=e.platformName&&(t.platformName=String(e.platformName)),null!=e.platformVersion&&(t.platformVersion=String(e.platformVersion)),null!=e.clientSource&&(t.clientSource=String(e.clientSource)),null!=e.chimeSdkVersion&&(t.chimeSdkVersion=String(e.chimeSdkVersion)),null!=e.clientUtcOffset&&(t.clientUtcOffset=String(e.clientUtcOffset)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.appName="",i.appVersion="",i.deviceModel="",i.deviceMake="",i.platformName="",i.platformVersion="",i.clientSource="",i.chimeSdkVersion="",i.clientUtcOffset=""),null!=e.appName&&e.hasOwnProperty("appName")&&(i.appName=e.appName),null!=e.appVersion&&e.hasOwnProperty("appVersion")&&(i.appVersion=e.appVersion),null!=e.deviceModel&&e.hasOwnProperty("deviceModel")&&(i.deviceModel=e.deviceModel),null!=e.deviceMake&&e.hasOwnProperty("deviceMake")&&(i.deviceMake=e.deviceMake),null!=e.platformName&&e.hasOwnProperty("platformName")&&(i.platformName=e.platformName),null!=e.platformVersion&&e.hasOwnProperty("platformVersion")&&(i.platformVersion=e.platformVersion),null!=e.clientSource&&e.hasOwnProperty("clientSource")&&(i.clientSource=e.clientSource),null!=e.chimeSdkVersion&&e.hasOwnProperty("chimeSdkVersion")&&(i.chimeSdkVersion=e.chimeSdkVersion),null!=e.clientUtcOffset&&e.hasOwnProperty("clientUtcOffset")&&(i.clientUtcOffset=e.clientUtcOffset),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkClientDetails"},e}(),c.SdkServerSideNetworkAdaption=function(){var e={},t=Object.create(e);return t[e[1]="DEFAULT"]=1,t[e[2]="NONE"]=2,t[e[3]="BANDWIDTH_PROBING"]=3,t[e[4]="BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION"]=4,t}(),c.SdkJoinFrame=function(){function e(e){if(this.supportedServerSideNetworkAdaptions=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.protocolVersion=2,e.prototype.maxNumOfVideos=0,e.prototype.flags=0,e.prototype.clientDetails=null,e.prototype.audioSessionId=d.Long?d.Long.fromBits(0,0,!0):0,e.prototype.wantsCompressedSdp=!1,e.prototype.serverSideNetworkAdaption=1,e.prototype.supportedServerSideNetworkAdaptions=d.emptyArray,e.prototype.wantsAllTemporalLayersInIndex=!1,e.prototype.disablePerio
2138dicKeyframeRequestOnContentSender=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.protocolVersion&&Object.hasOwnProperty.call(e,"protocolVersion")&&t.uint32(8).uint32(e.protocolVersion),null!=e.maxNumOfVideos&&Object.hasOwnProperty.call(e,"maxNumOfVideos")&&t.uint32(16).uint32(e.maxNumOfVideos),null!=e.flags&&Object.hasOwnProperty.call(e,"flags")&&t.uint32(24).uint32(e.flags),null!=e.clientDetails&&Object.hasOwnProperty.call(e,"clientDetails")&&c.SdkClientDetails.encode(e.clientDetails,t.uint32(34).fork()).ldelim(),null!=e.audioSessionId&&Object.hasOwnProperty.call(e,"audioSessionId")&&t.uint32(48).uint64(e.audioSessionId),null!=e.wantsCompressedSdp&&Object.hasOwnProperty.call(e,"wantsCompressedSdp")&&t.uint32(56).bool(e.wantsCompressedSdp),null!=e.serverSideNetworkAdaption&&Object.hasOwnProperty.call(e,"serverSideNetworkAdaption")&&t.uint32(80).int32(e.serverSideNetworkAdaption),null!=e.supportedServerSideNetworkAdaptions&&e.supportedServerSideNetworkAdaptions.length)for(var i=0;i<e.supportedServerSideNetworkAdaptions.length;++i)t.uint32(88).int32(e.supportedServerSideNetworkAdaptions[i]);return null!=e.wantsAllTemporalLayersInIndex&&Object.hasOwnProperty.call(e,"wantsAllTemporalLayersInIndex")&&t.uint32(96).bool(e.wantsAllTemporalLayersInIndex),null!=e.disablePeriodicKeyframeRequestOnContentSender&&Object.hasOwnProperty.call(e,"disablePeriodicKeyframeRequestOnContentSender")&&t.uint32(104).bool(e.disablePeriodicKeyframeRequestOnContentSender),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkJoinFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.protocolVersion=e.uint32();break;case 2:n.maxNumOfVideos=e.uint32();break;case 3:n.flags=e.uint32();break;case 4:n.clientDetails=c.SdkClientDetails.decode(e,e.uint32());break;case 6:n.audioSessionId=e.uint64();break;case 7:n.wantsCompressedSdp=e.bool();break;case 10:n.serverSideNetworkAdaption=e.int32();break;case 11:if(n.supportedServerSideNetworkAdaptions&&n.supportedServerSideNetworkAdaptions.length||(n.supportedServerSideNetworkAdaptions=[]),2==(7&r))for(var o=e.uint32()+e.pos;e.pos<o;)n.supportedServerSideNetworkAdaptions.push(e.int32());else n.supportedServerSideNetworkAdaptions.push(e.int32());break;case 12:n.wantsAllTemporalLayersInIndex=e.bool();break;case 13:n.disablePeriodicKeyframeRequestOnContentSender=e.bool();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.protocolVersion&&e.hasOwnProperty("protocolVersion")&&!d.isInteger(e.protocolVersion))return"protocolVersion: integer expected";if(null!=e.maxNumOfVideos&&e.hasOwnProperty("maxNumOfVideos")&&!d.isInteger(e.maxNumOfVideos))return"maxNumOfVideos: integer expected";if(null!=e.flags&&e.hasOwnProperty("flags")&&!d.isInteger(e.flags))return"flags: integer expected";if(null!=e.clientDetails&&e.hasOwnProperty("clientDetails")){var t=c.SdkClientDetails.verify(e.clientDetails);if(t)return"clientDetails."+t}if(null!=e.audioSessionId&&e.hasOwnProperty("audioSessionId")&&!(d.isInteger(e.audioSessionId)||e.audioSessionId&&d.isInteger(e.audioSessionId.low)&&d.isInteger(e.audioSessionId.high)))return"audioSessionId: integer|Long expected";if(null!=e.wantsCompressedSdp&&e.hasOwnProperty("wantsCompressedSdp")&&"boolean"!=typeof e.wantsCompressedSdp)return"wantsCompressedSdp: boolean expected";if(null!=e.serverSideNetworkAdaption&&e.hasOwnProperty("serverSideNetworkAdaption"))switch(e.serverSideNetworkAdaption){default:return"serverSideNetworkAdaption: enum value expected";case 1:case 2:case 3:case 4:}if(null!=e.supportedServerSideNetworkAdaptions&&e.hasOwnProperty("supportedServerSideNetworkAdaptions")){if(!Array.isArray(e.supportedServerSideNetworkAdaptions))return"supportedServerSideNetworkAdaptions: array expected";for(var i=0;i<e.supportedServerSideNetworkAdaptions.length;++i)switch(e.supportedServerSideNetworkAdaptions[i]){default:return"supportedServerSideNetworkAdaptions: enum value[] expected";case 1:case 2:case 3:case 4:}}return null!=e.wantsAllTemporalLayersInIndex&&e.hasOwnProperty("wantsAllTemporalLayersInIndex")&&"boolean"!=typeof e.wantsAllTemporalLayersInIndex?"wantsAllTemporalLayersInIndex: boolean expected":null!=e.disablePerio
2138dicKeyframeRequestOnContentSender&&e.hasOwnProperty("disablePeriodicKeyframeRequestOnContentSender")&&"boolean"!=typeof e.disablePeriodicKeyframeRequestOnContentSender?"disablePeriodicKeyframeRequestOnContentSender: boolean expected":null},e.fromObject=function(e){if(e instanceof c.SdkJoinFrame)return e;var t=new c.SdkJoinFrame;if(null!=e.protocolVersion&&(t.protocolVersion=e.protocolVersion>>>0),null!=e.maxNumOfVideos&&(t.maxNumOfVideos=e.maxNumOfVideos>>>0),null!=e.flags&&(t.flags=e.flags>>>0),null!=e.clientDetails){if("object"!=typeof e.clientDetails)throw TypeError(".SdkJoinFrame.clientDetails: object expected");t.clientDetails=c.SdkClientDetails.fromObject(e.clientDetails)}switch(null!=e.audioSessionId&&(d.Long?(t.audioSessionId=d.Long.fromValue(e.audioSessionId)).unsigned=!0:"string"==typeof e.audioSessionId?t.audioSessionId=parseInt(e.audioSessionId,10):"number"==typeof e.audioSessionId?t.audioSessionId=e.audioSessionId:"object"==typeof e.audioSessionId&&(t.audioSessionId=new d.LongBits(e.audioSessionId.low>>>0,e.audioSessionId.high>>>0).toNumber(!0))),null!=e.wantsCompressedSdp&&(t.wantsCompressedSdp=Boolean(e.wantsCompressedSdp)),e.serverSideNetworkAdaption){default:if("number"==typeof e.serverSideNetworkAdaption){t.serverSideNetworkAdaption=e.serverSideNetworkAdaption;break}break;case"DEFAULT":case 1:t.serverSideNetworkAdaption=1;break;case"NONE":case 2:t.serverSideNetworkAdaption=2;break;case"BANDWIDTH_PROBING":case 3:t.serverSideNetworkAdaption=3;break;case"BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION":case 4:t.serverSideNetworkAdaption=4}if(e.supportedServerSideNetworkAdaptions){if(!Array.isArray(e.supportedServerSideNetworkAdaptions))throw TypeError(".SdkJoinFrame.supportedServerSideNetworkAdaptions: array expected");t.supportedServerSideNetworkAdaptions=[];for(var i=0;i<e.supportedServerSideNetworkAdaptions.length;++i)switch(e.supportedServerSideNetworkAdaptions[i]){default:if("number"==typeof e.supportedServerSideNetworkAdaptions[i]){t.supportedServerSideNetworkAdaptions[i]=e.supportedServerSideNetworkAdaptions[i];break}case"DEFAULT":case 1:t.supportedServerSideNetworkAdaptions[i]=1;break;
2138case"NONE":case 2:t.supportedServerSideNetworkAdaptions[i]=2;break;case"BANDWIDTH_PROBING":case 3:t.supportedServerSideNetworkAdaptions[i]=3;break;case"BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION":case 4:t.supportedServerSideNetworkAdaptions[i]=4}}return null!=e.wantsAllTemporalLayersInIndex&&(t.wantsAllTemporalLayersInIndex=Boolean(e.wantsAllTemporalLayersInIndex)),null!=e.disablePeriodicKeyframeRequestOnContentSender&&(t.disablePeriodicKeyframeRequestOnContentSender=Boolean(e.disablePeriodicKeyframeRequestOnContentSender)),t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.supportedServerSideNetworkAdaptions=[]),t.defaults){if(i.protocolVersion=2,i.maxNumOfVideos=0,i.flags=0,i.clientDetails=null,d.Long){var n=new d.Long(0,0,!0);i.audioSessionId=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.audioSessionId=t.longs===String?"0":0;i.wantsCompressedSdp=!1,i.serverSideNetworkAdaption=t.enums===String?"DEFAULT":1,i.wantsAllTemporalLayersInIndex=!1,i.disablePeriodicKeyframeRequestOnContentSender=!1}if(null!=e.protocolVersion&&e.hasOwnProperty("protocolVersion")&&(i.protocolVersion=e.protocolVersion),null!=e.maxNumOfVideos&&e.hasOwnProperty("maxNumOfVideos")&&(i.maxNumOfVideos=e.maxNumOfVideos),null!=e.flags&&e.hasOwnProperty("flags")&&(i.flags=e.flags),null!=e.clientDetails&&e.hasOwnProperty("clientDetails")&&(i.clientDetails=c.SdkClientDetails.toObject(e.clientDetails,t)),null!=e.audioSessionId&&e.hasOwnProperty("audioSessionId")&&("number"==typeof e.audioSessionId?i.audioSessionId=t.longs===String?String(e.audioSessionId):e.audioSessionId:i.audioSessionId=t.longs===String?d.Long.prototype.toString.call(e.audioSessionId):t.longs===Number?new d.LongBits(e.audioSessionId.low>>>0,e.audioSessionId.high>>>0).toNumber(!0):e.audioSessionId),null!=e.wantsCompressedSdp&&e.hasOwnProperty("wantsCompressedSdp")&&(i.wantsCompressedSdp=e.wantsCompressedSdp),null!=e.serverSideNetworkAdaption&&e.hasOwnProperty("serverSideNetworkAdaption")&&(i.serverSideNetworkAdaption=t.enums===String?void 0===c.SdkServerSideNetworkAdaption[e.serverSideNetworkAdaption]?e.serverSideNetworkAdaption:c.SdkServerSideNetworkAdaption[e.serverSideNetworkAdaption]:e.serverSideNetworkAdaption),e.supportedServerSideNetworkAdaptions&&e.supportedServerSideNetworkAdaptions.length){i.supportedServerSideNetworkAdaptions=[];for(var r=0;r<e.supportedServerSideNetworkAdaptions.length;++r)i.supportedServerSideNetworkAdaptions[r]=t.enums===String?void 0===c.SdkServerSideNetworkAdaption[e.supportedServerSideNetworkAdaptions[r]]?e.supportedServerSideNetworkAdaptions[r]:c.SdkServerSideNetworkAdaption[e.supportedServerSideNetworkAdaptions[r]]:e.supportedServerSideNetworkAdaptions[r]}return null!=e.wantsAllTemporalLayersInIndex&&e.hasOwnProperty("wantsAllTemporalLayersInIndex")&&(i.wantsAllTemporalLayersInIndex=e.wantsAllTemporalLayersInIndex),null!=e.disablePeriodicKeyframeRequestOnContentSender&&e.hasOwnProperty("disablePeriodicKeyframeRequestOnContentSender")&&(i.disablePeriodicKeyframeRequestOnContentSender=e.disablePeriodicKeyframeRequestOnContentSender),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkJoinFrame"},e}(),c.SdkJoinAckFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.turnCredentials=null,e.prototype.videoSubscriptionLimit=0,e.prototype.wantsCompressedSdp=!1,e.prototype.defaultServerSideNetworkAdaption=1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.turnCredentials&&Object.hasOwnProperty.call(e,"turnCredentials")&&c.SdkTurnCredentials.encode(e.turnCredentials,t.uint32(10).fork()).ldelim(),null!=e.videoSubscriptionLimit&&Object.hasOwnProperty.call(e,"videoSubscriptionLimit")&&t.uint32(16).uint32(e.videoSubscriptionLimit),null!=e.wantsCompressedSdp&&Object.hasOwnProperty.call(e,"wantsCompressedSdp")&&t.uint32(24).bool(e.wantsCompressedSdp),null!=e.defaultServerSideNetworkAdaption&&Object.hasOwnProperty.call(e,"defaultServerSideNetworkAdaption")&&t.uint32(32).int32(e.defaultServerSideNetworkAdaption),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkJoinAckFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.turnCredentials=c.SdkTurnCredentials.decode(e,e.uint32());break;case 2:n.videoSubscriptionLimit=e.uint32();break;case 3:n.wantsCompressedSdp=e.bool();break;case 4:n.defaultServerSideNetworkAdaption=e.int32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.turnCredentials&&e.hasOwnProperty("turnCredentials")){var t=c.SdkTurnCredentials.verify(e.turnCredentials);if(t)return"turnCredentials."+t}if(null!=e.videoSubscriptionLimit&&e.hasOwnProperty("videoSubscriptionLimit")&&!d.isInteger(e.videoSubscriptionLimit))return"videoSubscriptionLimit: integer expected";if(null!=e.wantsCompressedSdp&&e.hasOwnProperty("wantsCompressedSdp")&&"boolean"!=typeof e.wantsCompressedSdp)return"wantsCompressedSdp: boolean expected";if(null!=e.defaultServerSideNetworkAdaption&&e.hasOwnProperty("defaultServerSideNetworkAdaption"))switch(e.defaultServerSideNetworkAdaption){default:return"defaultServerSideNetworkAdaption: enum value expected";case 1:case 2:case 3:case 4:}return null},e.fromObject=function(e){if(e instanceof c.SdkJoinAckFrame)return e;var t=new c.SdkJoinAckFrame;if(null!=e.turnCredentials){if("object"!=typeof e.turnCredentials)throw TypeError(".SdkJoinAckFrame.turnCredentials: object expected");t.turnCredentials=c.SdkTurnCredentials.fromObject(e.turnCredentials)}switch(null!=e.videoSubscriptionLimit&&(t.videoSubscriptionLimit=e.videoSubscriptionLimit>>>0),null!=e.wantsCompressedSdp&&(t.wantsCompressedSdp=Boolean(e.wantsCompressedSdp)
2138),e.defaultServerSideNetworkAdaption){default:if("number"==typeof e.defaultServerSideNetworkAdaption){t.defaultServerSideNetworkAdaption=e.defaultServerSideNetworkAdaption;break}break;case"DEFAULT":case 1:t.defaultServerSideNetworkAdaption=1;break;case"NONE":case 2:t.defaultServerSideNetworkAdaption=2;break;case"BANDWIDTH_PROBING":case 3:t.defaultServerSideNetworkAdaption=3;break;case"BANDWIDTH_PROBING_AND_VIDEO_QUALITY_ADAPTION":case 4:t.defaultServerSideNetworkAdaption=4}return t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.turnCredentials=null,i.videoSubscriptionLimit=0,i.wantsCompressedSdp=!1,i.defaultServerSideNetworkAdaption=t.enums===String?"DEFAULT":1),null!=e.turnCredentials&&e.hasOwnProperty("turnCredentials")&&(i.turnCredentials=c.SdkTurnCredentials.toObject(e.turnCredentials,t)),null!=e.videoSubscriptionLimit&&e.hasOwnProperty("videoSubscriptionLimit")&&(i.videoSubscriptionLimit=e.videoSubscriptionLimit),null!=e.wantsCompressedSdp&&e.hasOwnProperty("wantsCompressedSdp")&&(i.wantsCompressedSdp=e.wantsCompressedSdp),null!=e.defaultServerSideNetworkAdaption&&e.hasOwnProperty("defaultServerSideNetworkAdaption")&&(i.defaultServerSideNetworkAdaption=t.enums===String?void 0===c.SdkServerSideNetworkAdaption[e.defaultServerSideNetworkAdaption]?e.defaultServerSideNetworkAdaption:c.SdkServerSideNetworkAdaption[e.defaultServerSideNetworkAdaption]:e.defaultServerSideNetworkAdaption),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkJoinAckFrame"},e}(),c.SdkLeaveFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkLeaveFrame;e.pos<i;){var r=e.uint32();e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof c.SdkLeaveFrame?e:new c.SdkLeaveFrame},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkLeaveFrame"},e}(),c.SdkLeaveAckFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkLeaveAckFrame;e.pos<i;){var r=e.uint32();e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof c.SdkLeaveAckFrame?e:new c.SdkLeaveAckFrame},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkLeaveAckFrame"},e}(),c.SdkStreamServiceType=function(){var e={},t=Object.create(e);return t[e[1]="RX"]=1,t[e[2]="TX"]=2,t[e[3]="DUPLEX"]=3,t}(),c.SdkStreamMediaType=function(){var e={},t=Object.create(e);return t[e[1]="AUDIO"]=1,t[e[2]="VIDEO"]=2,t}(),c.SdkSubscribeFrame=function(){function e(e){if(this.sendStreams=[],this.receiveStreamIds=[],this.videoSubscriptionConfiguration=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.duplex=1,e.prototype.sendStreams=d.emptyArray,e.prototype.receiveStreamIds=d.emptyArray,e.prototype.sdpOffer="",e.prototype.audioHost="",e.prototype.audioCheckin=!1,e.prototype.audioMuted=!1,e.prototype.compressedSdpOffer=d.newBuffer([]),e.prototype.videoSubscriptionConfiguration=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.duplex&&Object.hasOwnProperty.call(e,"duplex")&&t.uint32(8).int32(e.duplex),null!=e.sendStreams&&e.sendStreams.length)for(var i=0;i<e.sendStreams.length;++i)c.SdkStreamDescriptor.encode(e.sendStreams[i],t.uint32(18).fork()).ldelim();if(null!=e.receiveStreamIds&&e.receiveStreamIds.length)for(i=0;i<e.receiveStreamIds.length;++i)t.uint32(24).uint32(e.receiveStreamIds[i]);if(null!=e.sdpOffer&&Object.hasOwnProperty.call(e,"sdpOffer")&&t.uint32(34).string(e.sdpOffer),null!=e.audioHost&&Object.hasOwnProperty.call(e,"audioHost")&&t.uint32(42).string(e.audioHost),null!=e.audioCheckin&&Object.hasOwnProperty.call(e,"audioCheckin")&&t.uint32(48).bool(e.audioCheckin),null!=e.audioMuted&&Object.hasOwnProperty.call(e,"audioMuted")&&t.uint32(56).bool(e.audioMuted),null!=e.compressedSdpOffer&&Object.hasOwnProperty.call(e,"compressedSdpOffer")&&t.uint32(66).bytes(e.compressedSdpOffer),null!=e.videoSubscriptionConfiguration&&e.videoSubscriptionConfiguration.length)for(i=0;i<e.videoSubscriptionConfiguration.length;++i)c.SdkVideoSubscriptionConfiguration.encode(e.videoSubscriptionConfiguration[i],t.uint32(74).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkSubscribeFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.duplex=e.int32();break;case 2:n.sendStreams&&n.sendStreams.length||(n.sendStreams=[]),n.sendStreams.push(c.SdkStreamDescriptor.decode(e,e.uint32()));break;case 3:if(n.receiveStreamIds&&n.receiveStreamIds.length||(n.receiveStreamIds=[]),2==(7&r))for(var o=e.uint32()+e.pos;e.pos<o;)n.receiveStreamIds.push(e.uint32());else n.receiveStreamIds.push(e.uint32());break;case 4:n.sdpOffer=e.string();break;case 5:n.audioHost=e.string();break;case 6:n.audioCheckin=e.bool();break;case 7:n.audioMuted=e.bool();break;case 8:n.compressedSdpOffer=e.bytes();break;case 9:n.videoSubscriptionConfiguration&&n.videoSubscriptionConfiguration.length||(n.videoSubscriptionConfiguration=[]),n.videoSubscriptionConfiguration.push(c.SdkVideoSubscriptionConfiguration.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.duplex&&e.hasOwnProperty("duplex"))switch(e.duplex){default:return"duplex: enum value expected";case 1:case 2:case 3:}if(null!=e.sendStreams&&e.hasOwnProperty("sendStreams")){if(!Array.isArray(e.sendStreams))return"sendStreams: array expected";for(var t=0;t<e.sendStreams.length;++t)if(i=c.SdkStreamDescriptor.verify(e.sendStreams[t]))return"sendStreams."+i}if(null!=e.receiveStreamIds&&e.hasOwnProperty("receiveStreamIds")){if(!Array.isArray(e.receiveStreamIds))return"receiveStreamIds: array expected";for(t=0;t<e.receiveStreamIds.length;++t)if(!d.isInteger(e.receiveStreamIds[t]))return"receiveStreamIds: integer[] expected"}
2138if(null!=e.sdpOffer&&e.hasOwnProperty("sdpOffer")&&!d.isString(e.sdpOffer))return"sdpOffer: string expected";if(null!=e.audioHost&&e.hasOwnProperty("audioHost")&&!d.isString(e.audioHost))return"audioHost: string expected";if(null!=e.audioCheckin&&e.hasOwnProperty("audioCheckin")&&"boolean"!=typeof e.audioCheckin)return"audioCheckin: boolean expected";if(null!=e.audioMuted&&e.hasOwnProperty("audioMuted")&&"boolean"!=typeof e.audioMuted)return"audioMuted: boolean expected";if(null!=e.compressedSdpOffer&&e.hasOwnProperty("compressedSdpOffer")&&!(e.compressedSdpOffer&&"number"==typeof e.compressedSdpOffer.length||d.isString(e.compressedSdpOffer)))return"compressedSdpOffer: buffer expected";if(null!=e.videoSubscriptionConfiguration&&e.hasOwnProperty("videoSubscriptionConfiguration")){if(!Array.isArray(e.videoSubscriptionConfiguration))return"videoSubscriptionConfiguration: array expected";for(t=0;t<e.videoSubscriptionConfiguration.length;++t){var i;if(i=c.SdkVideoSubscriptionConfiguration.verify(e.videoSubscriptionConfiguration[t]))return"videoSubscriptionConfiguration."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkSubscribeFrame)return e;var t=new c.SdkSubscribeFrame;switch(e.duplex){default:if("number"==typeof e.duplex){t.duplex=e.duplex;break}break;case"RX":case 1:t.duplex=1;break;case"TX":case 2:t.duplex=2;break;case"DUPLEX":case 3:t.duplex=3}if(e.sendStreams){if(!Array.isArray(e.sendStreams))throw TypeError(".SdkSubscribeFrame.sendStreams: array expected");t.sendStreams=[];for(var i=0;i<e.sendStreams.length;++i){if("object"!=typeof e.sendStreams[i])throw TypeError(".SdkSubscribeFrame.sendStreams: object expected");t.sendStreams[i]=c.SdkStreamDescriptor.fromObject(e.sendStreams[i])}}if(e.receiveStreamIds){if(!Array.isArray(e.receiveStreamIds))throw TypeError(".SdkSubscribeFrame.receiveStreamIds: array expected");for(t.receiveStreamIds=[],i=0;i<e.receiveStreamIds.length;++i)t.receiveStreamIds[i]=e.receiveStreamIds[i]>>>0}if(null!=e.sdpOffer&&(t.sdpOffer=String(e.sdpOffer)),null!=e.audioHost&&(t.audioHost=String(e.audioHost)),null!=e.audioCheckin&&(t.audioCheckin=Boolean(e.audioCheckin)),null!=e.audioMuted&&(t.audioMuted=Boolean(e.audioMuted)),null!=e.compressedSdpOffer&&("string"==typeof e.compressedSdpOffer?d.base64.decode(e.compressedSdpOffer,t.compressedSdpOffer=d.newBuffer(d.base64.length(e.compressedSdpOffer)),0):e.compressedSdpOffer.length>=0&&(t.compressedSdpOffer=e.compressedSdpOffer)),e.videoSubscriptionConfiguration){if(!Array.isArray(e.videoSubscriptionConfiguration))throw TypeError(".SdkSubscribeFrame.videoSubscriptionConfiguration: array expected");for(t.videoSubscriptionConfiguration=[],i=0;i<e.videoSubscriptionConfiguration.length;++i){if("object"!=typeof e.videoSubscriptionConfiguration[i])throw TypeError(".SdkSubscribeFrame.videoSubscriptionConfiguration: object expected");t.videoSubscriptionConfiguration[i]=c.SdkVideoSubscriptionConfiguration.fromObject(e.videoSubscriptionConfiguration[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.sendStreams=[],i.receiveStreamIds=[],i.videoSubscriptionConfiguration=[]),t.defaults&&(i.duplex=t.enums===String?"RX":1,i.sdpOffer="",i.audioHost="",i.audioCheckin=!1,i.audioMuted=!1,t.bytes===String?i.compressedSdpOffer="":(i.compressedSdpOffer=[],t.bytes!==Array&&(i.compressedSdpOffer=d.newBuffer(i.compressedSdpOffer)))),null!=e.duplex&&e.hasOwnProperty("duplex")&&(i.duplex=t.enums===String?void 0===c.SdkStreamServiceType[e.duplex]?e.duplex:c.SdkStreamServiceType[e.duplex]:e.duplex),e.sendStreams&&e.sendStreams.length){i.sendStreams=[];for(var n=0;n<e.sendStreams.length;++n)i.sendStreams[n]=c.SdkStreamDescriptor.toObject(e.sendStreams[n],t)}if(e.receiveStreamIds&&e.receiveStreamIds.length)for(i.receiveStreamIds=[],n=0;n<e.receiveStreamIds.length;++n)i.receiveStreamIds[n]=e.receiveStreamIds[n];if(null!=e.sdpOffer&&e.hasOwnProperty("sdpOffer")&&(i.sdpOffer=e.sdpOffer),null!=e.audioHost&&e.hasOwnProperty("audioHost")&&(i.audioHost=e.audioHost),null!=e.audioCheckin&&e.hasOwnProperty("audioCheckin")&&(i.audioCheckin=e.audioCheckin),null!=e.audioMuted&&e.hasOwnProperty("audioMuted")&&(i.audioMuted=e.audioMuted),null!=e.compressedSdpOffer&&e.hasOwnProperty("compressedSdpOffer")&&(i.compressedSdpOffer=t.bytes===String?d.base64.encode(e.compressedSdpOffer,0,e.compressedSdpOffer.length):t.bytes===Array?Array.prototype.slice.call(e.compressedSdpOffer):e.compressedSdpOffer),e.videoSubscriptionConfiguration&&e.videoSubscriptionConfiguration.length)for(i.videoSubscriptionConfiguration=[],n=0;n<e.videoSubscriptionConfiguration.length;++n)i.videoSubscriptionConfiguration[n]=c.SdkVideoSubscriptionConfiguration.toObject(e.videoSubscriptionConfiguration[n],t);return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkSubscribeFrame"},e}(),c.SdkSubscribeAckFrame=function(){function e(e){if(this.allocations=[],this.tracks=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.duplex=1,e.prototype.allocations=d.emptyArray,e.prototype.sdpAnswer="",e.prototype.tracks=d.emptyArray,e.prototype.compressedSdpAnswer=d.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.duplex&&Object.hasOwnProperty.call(e,"duplex")&&t.uint32(8).int32(e.duplex),null!=e.allocations&&e.allocations.length)for(var i=0;i<e.allocations.length;++i)c.SdkStreamAllocation.encode(e.allocations[i],t.uint32(18).fork()).ldelim();
2138if(null!=e.sdpAnswer&&Object.hasOwnProperty.call(e,"sdpAnswer")&&t.uint32(26).string(e.sdpAnswer),null!=e.tracks&&e.tracks.length)for(i=0;i<e.tracks.length;++i)c.SdkTrackMapping.encode(e.tracks[i],t.uint32(34).fork()).ldelim();return null!=e.compressedSdpAnswer&&Object.hasOwnProperty.call(e,"compressedSdpAnswer")&&t.uint32(42).bytes(e.compressedSdpAnswer),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkSubscribeAckFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.duplex=e.int32();break;case 2:n.allocations&&n.allocations.length||(n.allocations=[]),n.allocations.push(c.SdkStreamAllocation.decode(e,e.uint32()));break;case 3:n.sdpAnswer=e.string();break;case 4:n.tracks&&n.tracks.length||(n.tracks=[]),n.tracks.push(c.SdkTrackMapping.decode(e,e.uint32()));break;case 5:n.compressedSdpAnswer=e.bytes();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.duplex&&e.hasOwnProperty("duplex"))switch(e.duplex){default:return"duplex: enum value expected";case 1:case 2:case 3:}if(null!=e.allocations&&e.hasOwnProperty("allocations")){if(!Array.isArray(e.allocations))return"allocations: array expected";for(var t=0;t<e.allocations.length;++t)if(i=c.SdkStreamAllocation.verify(e.allocations[t]))return"allocations."+i}if(null!=e.sdpAnswer&&e.hasOwnProperty("sdpAnswer")&&!d.isString(e.sdpAnswer))return"sdpAnswer: string expected";if(null!=e.tracks&&e.hasOwnProperty("tracks")){if(!Array.isArray(e.tracks))return"tracks: array expected";for(t=0;t<e.tracks.length;++t){var i;if(i=c.SdkTrackMapping.verify(e.tracks[t]))return"tracks."+i}}return null!=e.compressedSdpAnswer&&e.hasOwnProperty("compressedSdpAnswer")&&!(e.compressedSdpAnswer&&"number"==typeof e.compressedSdpAnswer.length||d.isString(e.compressedSdpAnswer))?"compressedSdpAnswer: buffer expected":null},e.fromObject=function(e){if(e instanceof c.SdkSubscribeAckFrame)return e;var t=new c.SdkSubscribeAckFrame;switch(e.duplex){default:if("number"==typeof e.duplex){t.duplex=e.duplex;break}break;case"RX":case 1:t.duplex=1;break;case"TX":case 2:t.duplex=2;break;case"DUPLEX":case 3:t.duplex=3}if(e.allocations){if(!Array.isArray(e.allocations))throw TypeError(".SdkSubscribeAckFrame.allocations: array expected");t.allocations=[];for(var i=0;i<e.allocations.length;++i){if("object"!=typeof e.allocations[i])throw TypeError(".SdkSubscribeAckFrame.allocations: object expected");t.allocations[i]=c.SdkStreamAllocation.fromObject(e.allocations[i])}}if(null!=e.sdpAnswer&&(t.sdpAnswer=String(e.sdpAnswer)),e.tracks){if(!Array.isArray(e.tracks))throw TypeError(".SdkSubscribeAckFrame.tracks: array expected");for(t.tracks=[],i=0;i<e.tracks.length;++i){if("object"!=typeof e.tracks[i])throw TypeError(".SdkSubscribeAckFrame.tracks: object expected");t.tracks[i]=c.SdkTrackMapping.fromObject(e.tracks[i])}}return null!=e.compressedSdpAnswer&&("string"==typeof e.compressedSdpAnswer?d.base64.decode(e.compressedSdpAnswer,t.compressedSdpAnswer=d.newBuffer(d.base64.length(e.compressedSdpAnswer)),0):e.compressedSdpAnswer.length>=0&&(t.compressedSdpAnswer=e.compressedSdpAnswer)),t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.allocations=[],i.tracks=[]),t.defaults&&(i.duplex=t.enums===String?"RX":1,i.sdpAnswer="",t.bytes===String?i.compressedSdpAnswer="":(i.compressedSdpAnswer=[],t.bytes!==Array&&(i.compressedSdpAnswer=d.newBuffer(i.compressedSdpAnswer)))),null!=e.duplex&&e.hasOwnProperty("duplex")&&(i.duplex=t.enums===String?void 0===c.SdkStreamServiceType[e.duplex]?e.duplex:c.SdkStreamServiceType[e.duplex]:e.duplex),e.allocations&&e.allocations.length){i.allocations=[];for(var n=0;n<e.allocations.length;++n)i.allocations[n]=c.SdkStreamAllocation.toObject(e.allocations[n],t)}if(null!=e.sdpAnswer&&e.hasOwnProperty("sdpAnswer")&&(i.sdpAnswer=e.sdpAnswer),e.tracks&&e.tracks.length)for(i.tracks=[],n=0;n<e.tracks.length;++n)i.tracks[n]=c.SdkTrackMapping.toObject(e.tracks[n],t);return null!=e.compressedSdpAnswer&&e.hasOwnProperty("compressedSdpAnswer")&&(i.compressedSdpAnswer=t.bytes===String?d.base64.encode(e.compressedSdpAnswer,0,e.compressedSdpAnswer.length):t.bytes===Array?Array.prototype.slice.call(e.compressedSdpAnswer):e.compressedSdpAnswer),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkSubscribeAckFrame"},e}(),c.SdkIndexFrame=function(){function e(e){if(this.sources=[],this.pausedAtS
2138ourceIds=[],this.supportedReceiveCodecIntersection=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.atCapacity=!1,e.prototype.sources=d.emptyArray,e.prototype.pausedAtSourceIds=d.emptyArray,e.prototype.numParticipants=0,e.prototype.supportedReceiveCodecIntersection=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.atCapacity&&Object.hasOwnProperty.call(e,"atCapacity")&&t.uint32(8).bool(e.atCapacity),null!=e.sources&&e.sources.length)for(var i=0;i<e.sources.length;++i)c.SdkStreamDescriptor.encode(e.sources[i],t.uint32(18).fork()).ldelim();if(null!=e.pausedAtSourceIds&&e.pausedAtSourceIds.length)for(i=0;i<e.pausedAtSourceIds.length;++i)t.uint32(24).uint32(e.pausedAtSourceIds[i]);if(null!=e.numParticipants&&Object.hasOwnProperty.call(e,"numParticipants")&&t.uint32(32).uint32(e.numParticipants),null!=e.supportedReceiveCodecIntersection&&e.supportedReceiveCodecIntersection.length)for(i=0;i<e.supportedReceiveCodecIntersection.length;++i)t.uint32(40).int32(e.supportedReceiveCodecIntersection[i]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkIndexFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.atCapacity=e.bool();break;case 2:n.sources&&n.sources.length||(n.sources=[]),n.sources.push(c.SdkStreamDescriptor.decode(e,e.uint32()));break;case 3:if(n.pausedAtSourceIds&&n.pausedAtSourceIds.length||(n.pausedAtSourceIds=[]),2==(7&r))for(var o=e.uint32()+e.pos;e.pos<o;)n.pausedAtSourceIds.push(e.uint32());else n.pausedAtSourceIds.push(e.uint32());break;case 4:n.numParticipants=e.uint32();break;case 5:if(n.supportedReceiveCodecIntersection&&n.supportedReceiveCodecIntersection.length||(n.supportedReceiveCodecIntersection=[]),2==(7&r))for(o=e.uint32()+e.pos;e.pos<o;)n.supportedReceiveCodecIntersection.push(e.int32());else n.supportedReceiveCodecIntersection.push(e.int32());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.atCapacity&&e.hasOwnProperty("atCapacity")&&"boolean"!=typeof e.atCapacity)return"atCapacity: boolean expected";if(null!=e.sources&&e.hasOwnProperty("sources")){if(!Array.isArray(e.sources))return"sources: array expected";for(var t=0;t<e.sources.length;++t){var i=c.SdkStreamDescriptor.verify(e.sources[t]);if(i)return"sources."+i}}if(null!=e.pausedAtSourceIds&&e.hasOwnProperty("pausedAtSourceIds")){if(!Array.isArray(e.pausedAtSourceIds))return"pausedAtSourceIds: array expected";for(t=0;t<e.pausedAtSourceIds.length;++t)if(!d.isInteger(e.pausedAtSourceIds[t]))return"pausedAtSourceIds: integer[] expected"}if(null!=e.numParticipants&&e.hasOwnProperty("numParticipants")&&!d.isInteger(e.numParticipants))return"numParticipants: integer expected";if(null!=e.supportedReceiveCodecIntersection&&e.hasOwnProperty("supportedReceiveCodecIntersection")){if(!Array.isArray(e.supportedReceiveCodecIntersection))return"supportedReceiveCodecIntersection: array expected";for(t=0;t<e.supportedReceiveCodecIntersection.length;++t)switch(e.supportedReceiveCodecIntersection[t]){default:return"supportedReceiveCodecIntersection: enum value[] expected";case 1:case 2:case 3:case 4:case 5:case 6:case 8:case 11:}}return null},e.fromObject=function(e){if(e instanceof c.SdkIndexFrame)return e;var t=new c.SdkIndexFrame;if(null!=e.atCapacity&&(t.atCapacity=Boolean(e.atCapacity)),e.sources){if(!Array.isArray(e.sources))throw TypeError(".SdkIndexFrame.sources: array expected");t.sources=[];for(var i=0;i<e.sources.length;++i){if("object"!=typeof e.sources[i])throw TypeError(".SdkIndexFrame.sources: object expected");t.sources[i]=c.SdkStreamDescriptor.fromObject(e.sources[i])}}if(e.pausedAtSourceIds){if(!Array.isArray(e.pausedAtSourceIds))throw TypeError(".SdkIndexFrame.pausedAtSourceIds: array expected");for(t.pausedAtSourceIds=[],i=0;i<e.pausedAtSourceIds.length;
2138++i)t.pausedAtSourceIds[i]=e.pausedAtSourceIds[i]>>>0}if(null!=e.numParticipants&&(t.numParticipants=e.numParticipants>>>0),e.supportedReceiveCodecIntersection){if(!Array.isArray(e.supportedReceiveCodecIntersection))throw TypeError(".SdkIndexFrame.supportedReceiveCodecIntersection: array expected");for(t.supportedReceiveCodecIntersection=[],i=0;i<e.supportedReceiveCodecIntersection.length;++i)switch(e.supportedReceiveCodecIntersection[i]){default:if("number"==typeof e.supportedReceiveCodecIntersection[i]){t.supportedReceiveCodecIntersection[i]=e.supportedReceiveCodecIntersection[i];break}case"VP8":case 1:t.supportedReceiveCodecIntersection[i]=1;break;case"H264_BASELINE_PROFILE":case 2:t.supportedReceiveCodecIntersection[i]=2;break;case"H264_CONSTRAINED_BASELINE_PROFILE":case 3:t.supportedReceiveCodecIntersection[i]=3;break;case"H264_MAIN_PROFILE":case 4:t.supportedReceiveCodecIntersection[i]=4;break;case"H264_HIGH_PROFILE":case 5:t.supportedReceiveCodecIntersection[i]=5;break;case"H264_CONSTRAINED_HIGH_PROFILE":case 6:t.supportedReceiveCodecIntersection[i]=6;break;case"VP9_PROFILE_0":case 8:t.supportedReceiveCodecIntersection[i]=8;break;case"AV1_MAIN_PROFILE":case 11:t.supportedReceiveCodecIntersection[i]=11}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.sources=[],i.pausedAtSourceIds=[],i.supportedReceiveCodecIntersection=[]),t.defaults&&(i.atCapacity=!1,i.numParticipants=0),null!=e.atCapacity&&e.hasOwnProperty("atCapacity")&&(i.atCapacity=e.atCapacity),e.sources&&e.sources.length){i.sources=[];for(var n=0;n<e.sources.length;++n)i.sources[n]=c.SdkStreamDescriptor.toObject(e.sources[n],t)}
2138if(e.pausedAtSourceIds&&e.pausedAtSourceIds.length)for(i.pausedAtSourceIds=[],n=0;n<e.pausedAtSourceIds.length;++n)i.pausedAtSourceIds[n]=e.pausedAtSourceIds[n];if(null!=e.numParticipants&&e.hasOwnProperty("numParticipants")&&(i.numParticipants=e.numParticipants),e.supportedReceiveCodecIntersection&&e.supportedReceiveCodecIntersection.length)for(i.supportedReceiveCodecIntersection=[],n=0;n<e.supportedReceiveCodecIntersection.length;++n)i.supportedReceiveCodecIntersection[n]=t.enums===String?void 0===c.SdkVideoCodecCapability[e.supportedReceiveCodecIntersection[n]]?e.supportedReceiveCodecIntersection[n]:c.SdkVideoCodecCapability[e.supportedReceiveCodecIntersection[n]]:e.supportedReceiveCodecIntersection[n];return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkIndexFrame"},e}(),c.SdkPauseResumeFrame=function(){function e(e){if(this.streamIds=[],this.groupIds=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.streamIds=d.emptyArray,e.prototype.groupIds=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.streamIds&&e.streamIds.length)for(var i=0;i<e.streamIds.length;++i)t.uint32(8).uint32(e.streamIds[i]);if(null!=e.groupIds&&e.groupIds.length)for(i=0;i<e.groupIds.length;++i)t.uint32(16).uint32(e.groupIds[i]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkPauseResumeFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:if(n.streamIds&&n.streamIds.length||(n.streamIds=[]),2==(7&r))for(var o=e.uint32()+e.pos;e.pos<o;)n.streamIds.push(e.uint32());else n.streamIds.push(e.uint32());break;case 2:if(n.groupIds&&n.groupIds.length||(n.groupIds=[]),2==(7&r))for(o=e.uint32()+e.pos;e.pos<o;)n.groupIds.push(e.uint32());else n.groupIds.push(e.uint32());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamIds&&e.hasOwnProperty("streamIds")){if(!Array.isArray(e.streamIds))return"streamIds: array expected";for(var t=0;t<e.streamIds.length;++t)if(!d.isInteger(e.streamIds[t]))return"streamIds: integer[] expected"}if(null!=e.groupIds&&e.hasOwnProperty("groupIds")){if(!Array.isArray(e.groupIds))return"groupIds: array expected";for(t=0;t<e.groupIds.length;++t)if(!d.isInteger(e.groupIds[t]))return"groupIds: integer[] expected"}return null},e.fromObject=function(e){if(e instanceof c.SdkPauseResumeFrame)return e;var t=new c.SdkPauseResumeFrame;if(e.streamIds){if(!Array.isArray(e.streamIds))throw TypeError(".SdkPauseResumeFrame.streamIds: array expected");t.streamIds=[];for(var i=0;i<e.streamIds.length;++i)t.streamIds[i]=e.streamIds[i]>>>0}if(e.groupIds){if(!Array.isArray(e.groupIds))throw TypeError(".SdkPauseResumeFrame.groupIds: array expected");for(t.groupIds=[],i=0;i<e.groupIds.length;++i)t.groupIds[i]=e.groupIds[i]>>>0}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.streamIds=[],i.groupIds=[]),e.streamIds&&e.streamIds.length){i.streamIds=[];for(var n=0;n<e.streamIds.length;++n)i.streamIds[n]=e.streamIds[n]}if(e.groupIds&&e.groupIds.length)for(i.groupIds=[],n=0;n<e.groupIds.length;++n)i.groupIds[n]=e.groupIds[n];return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkPauseResumeFrame"},e}(),c.SdkBitrateFrame=function(){function e(e){if(this.bitrates=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.bitrates=d.emptyArray,e.prototype.serverAvailableOutgoingBitrate=0,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.bitrates&&e.bitrates.length)for(var i=0;i<e.bitrates.length;++i)c.SdkBitrate.encode(e.bitrates[i],t.uint32(10).fork()).ldelim();return null!=e.serverAvailableOutgoingBitrate&&Object.hasOwnProperty.call(e,"serverAvailableOutgoingBitrate")&&t.uint32(16).uint32(e.serverAvailableOutgoingBitrate),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkBitrateFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.bitrates&&n.bitrates.length||(n.bitrates=[]),n.bitrates.push(c.SdkBitrate.decode(e,e.uint32()));break;case 2:n.serverAvailableOutgoingBitrate=e.uint32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.bitrates&&e.hasOwnProperty("bitrates")){if(!Array.isArray(e.bitrates))return"bitrates: array expected";for(var t=0;t<e.bitrates.length;++t){var i=c.SdkBitrate.verify(e.bitrates[t]);if(i)return"bitrates."+i}}return null!=e.serverAvailableOutgoingBitrate&&e.hasOwnProperty("serverAvailableOutgoingBitrate")&&!d.isInteger(e.serverAvailableOutgoingBitrate)?"serverAvailableOutgoingBitrate: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkBitrateFrame)return e;var t=new c.SdkBitrateFrame;if(e.bitrates){if(!Array.isArray(e.bitrates))throw TypeError(".SdkBitrateFrame.bitrates: array expected");t.bitrates=[];for(var i=0;i<e.bitrates.length;++i){if("object"!=typeof e.bitrates[i])throw TypeError(".SdkBitrateFrame.bitrates: object expected");t.bitrates[i]=c.SdkBitrate.fromObject(e.bitrates[i])}}return null!=e.serverAvailableOutgoingBitrate&&(t.serverAvailableOutgoingBitrate=e.serverAvailableOutgoingBitrate>>>0),t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.bitrates=[]),t.defaults&&(i.serverAvailableOutgoingBitrate=0),e.bitrates&&e.bitrates.length){i.bitrates=[];for(var n=0;n<e.bitrates.length;++n)i.bitrates[n]=c.SdkBitrate.toObject(e.bitrates[n],t)}return null!=e.serverAvailableOutgoingBitrate&&e.hasOwnProperty("serverAvailableOutgoingBitrate")&&(i.serverAvailableOutgoingBitrate=e.serverAvailableOutgoingBitrate),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkBitrateFrame"},e}(),c.SdkStreamDescriptor=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.streamId=0,e.prototype.framerate=0,e.prototype.maxBitrateKbps=0,e.prototype.trackLabel="",e.prototype.groupId=0,e.prototype.avgBitrateBps=0,e.prototype.attendeeId="",e.prototype.mediaType=1,e.prototype.externalUserId="",e.prototype.width=0,e.prototype.height=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&t.uint32(8).uint32(e.streamId),null!=e.framerate&&Object.hasOwnProperty.call(e,"framerate")&&t.uint32(16).uint32(e.framerate),null!=e.maxBitrateKbps&&Object.hasOwnProperty.call(e,"maxBitrateKbps")&&t.uint32(24).uint32(e.max
2138BitrateKbps),null!=e.trackLabel&&Object.hasOwnProperty.call(e,"trackLabel")&&t.uint32(34).string(e.trackLabel),null!=e.groupId&&Object.hasOwnProperty.call(e,"groupId")&&t.uint32(48).uint32(e.groupId),null!=e.avgBitrateBps&&Object.hasOwnProperty.call(e,"avgBitrateBps")&&t.uint32(56).uint32(e.avgBitrateBps),null!=e.attendeeId&&Object.hasOwnProperty.call(e,"attendeeId")&&t.uint32(66).string(e.attendeeId),null!=e.mediaType&&Object.hasOwnProperty.call(e,"mediaType")&&t.uint32(72).int32(e.mediaType),null!=e.externalUserId&&Object.hasOwnProperty.call(e,"externalUserId")&&t.uint32(82).string(e.externalUserId),null!=e.width&&Object.hasOwnProperty.call(e,"width")&&t.uint32(88).uint32(e.width),null!=e.height&&Object.hasOwnProperty.call(e,"height")&&t.uint32(96).uint32(e.height),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkStreamDescriptor;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.streamId=e.uint32();break;case 2:n.framerate=e.uint32();break;case 3:n.maxBitrateKbps=e.uint32();break;case 4:n.trackLabel=e.string();break;case 6:n.groupId=e.uint32();break;case 7:n.avgBitrateBps=e.uint32();break;case 8:n.attendeeId=e.string();break;case 9:n.mediaType=e.int32();break;case 10:n.externalUserId=e.string();break;case 11:n.width=e.uint32();break;case 12:n.height=e.uint32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")&&!d.isInteger(e.streamId))return"streamId: integer expected";if(null!=e.framerate&&e.hasOwnProperty("framerate")&&!d.isInteger(e.framerate))return"framerate: integer expected";if(null!=e.maxBitrateKbps&&e.hasOwnProperty("maxBitrateKbps")&&!d.isInteger(e.maxBitrateKbps))return"maxBitrateKbps: integer expected";if(null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&!d.isString(e.trackLabel))return"trackLabel: string expected";if(null!=e.groupId&&e.hasOwnProperty("groupId")&&!d.isInteger(e.groupId))return"groupId: integer expected";if(null!=e.avgBitrateBps&&e.hasOwnProperty("avgBitrateBps")&&!d.isInteger(e.avgBitrateBps))return"avgBitrateBps: integer expected";if(null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&!d.isString(e.attendeeId))return"attendeeId: string expected";if(null!=e.mediaType&&e.hasOwnProperty("mediaType"))switch(e.mediaType){default:return"mediaType: enum value expected";case 1:case 2:}return null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&!d.isString(e.externalUserId)?"externalUserId: string expected":null!=e.width&&e.hasOwnProperty("width")&&!d.isInteger(e.width)?"width: integer expected":null!=e.height&&e.hasOwnProperty("height")&&!d.isInteger(e.height)?"height: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkStreamDescriptor)return e;var t=new c.SdkStreamDescriptor;switch(null!=e.streamId&&(t.streamId=e.streamId>>>0),null!=e.framerate&&(t.framerate=e.framerate>>>0),null!=e.maxBitrateKbps&&(t.maxBitrateKbps=e.maxBitrateKbps>>>0),null!=e.trackLabel&&(t.trackLabel=String(e.trackLabel)),null!=e.groupId&&(t.groupId=e.groupId>>>0),null!=e.avgBitrateBps&&(t.avgBitrateBps=e.avgBitrateBps>>>0),null!=e.attendeeId&&(t.attendeeId=String(e.attendeeId)),e.mediaType){default:if("number"==typeof e.mediaType){t.mediaType=e.mediaType;break}break;case"AUDIO":case 1:t.mediaType=1;break;case"VIDEO":case 2:t.mediaType=2}return null!=e.externalUserId&&(t.externalUserId=String(e.externalUserId)),null!=e.width&&(t.width=e.width>>>0),null!=e.height&&(t.height=e.height>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.streamId=0,i.framerate=0,i.maxBitrateKbps=0,i.trackLabel="",i.groupId=0,i.avgBitrateBps=0,i.attendeeId="",i.mediaType=t.enums===String?"AUDIO":1,i.externalUserId="",i.width=0,i.height=0),null!=e.streamId&&e.hasOwnProperty("streamId")&&(i.streamId=e.streamId),null!=e.framerate&&e.hasOwnProperty("framerate")&&(i.framerate=e.framerate),null!=e.maxBitrateKbps&&e.hasOwnProperty("maxBitrateKbps")&&(i.maxBitrateKbps=e.maxBitrateKbps),null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&(i.trackLabel=e.trackLabel),null!=e.groupId&&e.hasOwnProperty("groupId")&&(i.groupId=e.groupId),null!=e.avgBitrateBps&&e.hasOwnProperty("avgBitrateBps")&&(i.avgBitrateBps=e.avgBitrateBps),null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&(i.attendeeId=e.attendeeId),null!=e.mediaType&&e.hasOwnProperty("mediaType")&&(i.mediaType=t.enums===String?void 0===c.SdkStreamMediaType[e.mediaType]?e.mediaType:c.SdkStreamMediaType[e.mediaType]:e.mediaType),null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&(i.externalUserId=e.externalUserId),null!=e.width&&e.hasOwnProperty("width")&&(i.width=e.width),null!=e.height&&e.hasOwnProperty("height")&&(i.height=e.height),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkStreamDescriptor"},e}(),c.SdkStreamAllocation=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.trackLabel="",e.prototype.streamId=0,e.prototype.groupId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.trackLabel&&Object.hasOwnProperty.call(e,"trackLabel")&&t.uint32(10).string(e.trackLabel),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&t.uint32(16).uint32(e.streamId),null!=e.groupId&&Object.hasOwnProperty.call(e,"groupId")&&t.uint32(24).uint32(e.groupId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkStreamAllocation;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.trackLabel=e.string();break;case 2:n.streamId=e.uint32();break;case 3:n.groupId=e.uint32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&!d.isString(e.trackLabel)?"trackLabel: string expected":null!=e.streamId&&e.hasOwnProperty("streamId")&&!d.isInteger(e.streamId)?"streamId: integer expected":null!=e.groupId&&e.hasOwnProperty("groupId")&&!d.isInteger(e.groupId)?"groupId: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkStreamAllocation)return e;var t=new c.SdkStreamAllocation;return null!=e.trackLabel&&(t.trackLabel=String(e.trackLabel)),null!=e.streamId&&(t.streamId=e.streamId>>>0),null!=e.groupId&&(t.groupId=e.groupId>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.trackLabel="",i.streamId=0,i.groupId=0),null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&(i.trackLabel=e.trackLabel),null!=e.streamId&&e.hasOwnProperty("streamId")&&(i.streamId=e.streamId),null!=e.groupId&&e.hasOwnProperty("groupId")&&(i.groupId=e.groupId),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkStreamAllocation"},e}(),c.SdkTrackMapping=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.streamId=0,e.prototype.ssrc=0,e.prototype.trackLabel="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&t.uint32(8).uint32(e.streamId),null!=e.ssrc&&Object.hasOwnProperty.call(e,"ssrc")&&t.uint32(16).uint32(e.ssrc),null!=e.trackLabel&&Object.hasOwnProperty.call(e,"trackLabel")&&t.uint32(26).string(e.trackLabel),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTrackMapping;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.streamId=e.uint32();break;case 2:n.ssrc=e.uint32();break;case 3:n.trackLabel=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.streamId&&e.hasOwnProperty("streamId")&&!d.isInteger(e.streamId)?"streamId: integer expected":null!=e.ssrc&&e.hasOwnProperty("ssrc")&&!d.isInteger(e.ssrc)?"ssrc: integer expected":null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&!d.isString(e.trackLabel)?"trackLabel: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkTrackMapping)return e;var t=new c.SdkTrackMapping;return null!=e.streamId&&(t.streamId=e.streamId>>>0),null!=e.ssrc&&(t.ssrc=e.ssrc>>>0),null!=e.trackLabel&&(t.trackLabel=String(e.trackLabel)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.streamId=0,i.ssrc=0,i.trackLabel=""),null!=e.streamId&&e.hasOwnProperty("streamId")&&(i.streamId=e.streamId),null!=e.ssrc&&e.hasOwnProperty("ssrc")&&(i.ssrc=e.ssrc),null!=e.trackLabel&&e.hasOwnProperty("trackLabel")&&(i.trackLabel=e.trackLabel),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTrackMapping"},e}(),c.SdkBitrate=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.sourceStreamId=0,e.prototype.avgBitrateBps=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.sourceStreamId&&Object.hasOwnProperty.call(e,"sourceStreamId")&&t.uint32(8).uint32(e.sourceStreamId),null!=e.avgBitrateBps&&Object.hasOwnProperty.call(e,"avgBitrateBps")&&t.uint32(16).uint32(e.avgBitrateBps),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkBitrate;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.sourceStreamId=e.uint32();break;case 2:n.avgBitrateBps=e.uint32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.sourceStreamId&&e.hasOwnProperty("sourceStreamId")&&!d.isInteger(e.sourceStreamId)?"sourceStreamId: integer expected":null!=e.avgBitrateBps&&e.hasOwnProperty("avgBitrateBps")&&!d.isInteger(e.avgBitrateBps)?"avgBitrateBps: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkBitrate)return e;var t=new c.SdkBitrate;return null!=e.sourceStreamId&&(t.sourceStreamId=e.sourceStreamId>>>0),null!=e.avgBitrateBps&&(t.avgBitrateBps=e.avgBitrateBps>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.sourceStreamId=0,i.avgBitrateBps=0),null!=e.sourceStreamId&&e.hasOwnProperty("sourceStreamId")&&(i.sourceStreamId=e.sourceStreamId),null!=e.avgBitrateBps&&e.hasOwnProperty("avgBitrateBps")&&(i.avgBitrateBps=e.avgBitrateBps),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkBitrate"},e}(),c.SdkAudioControlFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.muted=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.muted&&Object.hasOwnProperty.call(e,"muted")&&t.uint32(8).bool(e.muted),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioControlFrame;e.pos<i;){var r=e.uint32();r>>>
21383==1?n.muted=e.bool():e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.muted&&e.hasOwnProperty("muted")&&"boolean"!=typeof e.muted?"muted: boolean expected":null},e.fromObject=function(e){if(e instanceof c.SdkAudioControlFrame)return e;var t=new c.SdkAudioControlFrame;return null!=e.muted&&(t.muted=Boolean(e.muted)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.muted=!1),null!=e.muted&&e.hasOwnProperty("muted")&&(i.muted=e.muted),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioControlFrame"},e}(),c.SdkAudioMetadataFrame=function(){function e(e){if(this.attendeeStates=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.attendeeStates=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.attendeeStates&&e.attendeeStates.length)for(var i=0;i<e.attendeeStates.length;++i)c.SdkAudioAttendeeState.encode(e.attendeeStates[i],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioMetadataFrame;e.pos<i;){var r=e.uint32();r>>>3==1?(n.attendeeStates&&n.attendeeStates.length||(n.attendeeStates=[]),n.attendeeStates.push(c.SdkAudioAttendeeState.decode(e,e.uint32()))):e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attendeeStates&&e.hasOwnProperty("attendeeStates")){if(!Array.isArray(e.attendeeStates))return"attendeeStates: array expected";for(var t=0;t<e.attendeeStates.length;++t){var i=c.SdkAudioAttendeeState.verify(e.attendeeStates[t]);if(i)return"attendeeStates."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkAudioMetadataFrame)return e;var t=new c.SdkAudioMetadataFrame;if(e.attendeeStates){if(!Array.isArray(e.attendeeStates))throw TypeError(".SdkAudioMetadataFrame.attendeeStates: array expected");t.attendeeStates=[];for(var i=0;i<e.attendeeStates.length;++i){if("object"!=typeof e.attendeeStates[i])throw TypeError(".SdkAudioMetadataFrame.attendeeStates: object expected");t.attendeeStates[i]=c.SdkAudioAttendeeState.fromObject(e.attendeeStates[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.attendeeStates=[]),e.attendeeStates&&e.attendeeStates.length){i.attendeeStates=[];for(var n=0;n<e.attendeeStates.length;++n)i.attendeeStates[n]=c.SdkAudioAttendeeState.toObject(e.attendeeStates[n],t)}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioMetadataFrame"},e}(),c.SdkAudioAttendeeState=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.audioStreamId=0,e.prototype.volume=0,e.prototype.muted=!1,e.prototype.signalStrength=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.audioStreamId&&Object.hasOwnProperty.call(e,"audioStreamId")&&t.uint32(8).uint32(e.audioStreamId),null!=e.volume&&Object.hasOwnProperty.call(e,"volume")&&t.uint32(16).uint32(e.volume),null!=e.muted&&Object.hasOwnProperty.call(e,"muted")&&t.uint32(24).bool(e.muted),null!=e.signalStrength&&Object.hasOwnProperty.call(e,"signalStrength")&&t.uint32(32).uint32(e.signalStrength),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioAttendeeState;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.audioStreamId=e.uint32();break;case 2:n.volume=e.uint32();break;case 3:n.muted=e.bool();break;case 4:n.signalStrength=e.uint32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.audioStreamId&&e.hasOwnProperty("audioStreamId")&&!d.isInteger(e.audioStreamId)?"audioStreamId: integer expected":null!=e.volume&&e.hasOwnProperty("volume")&&!d.isInteger(e.volume)?"volume: integer expected":null!=e.muted&&e.hasOwnProperty("muted")&&"boolean"!=typeof e.muted?"muted: boolean expected":null!=e.signalStrength&&e.hasOwnProperty("signalStrength")&&!d.isInteger(e.signalStrength)?"signalStrength: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkAudioAttendeeState)return e;var t=new c.SdkAudioAttendeeState;return null!=e.audioStreamId&&(t.audioStreamId=e.audioStreamId>>>0),null!=e.volume&&(t.volume=e.volume>>>0),null!=e.muted&&(t.muted=Boolean(e.muted)),null!=e.signalStrength&&(t.signalStrength=e.signalStrength>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.audioStreamId=0,i.volume=0,i.muted=!1,i.signalStrength=0),null!=e.audioStreamId&&e.hasOwnProperty("audioStreamId")&&(i.audioStreamId=e.audioStreamId),null!=e.volume&&e.hasOwnProperty("volume")&&(i.volume=e.volume),null!=e.muted&&e.hasOwnProperty("muted")&&(i.muted=e.muted),null!=e.signalStrength&&e.hasOwnProperty("signalStrength")&&(i.signalStrength=e.signalStrength),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioAttendeeState"},e}(),c.SdkAudioStreamIdInfoFrame=function(){function e(e){if(this.streams=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.streams=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.streams&&e.streams.length)for(var i=0;i<e.streams.length;++i)c.SdkAudioStreamIdInfo.encode(e.streams[i],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioStreamIdInfoFrame;e.pos<i;){var r=e.uint32();r>>>3==1?(n.streams&&n.streams.length||(n.streams=[]),n.streams.push(c.SdkAudioStreamIdInfo.decode(e,e.uint32()))):e.ski
2138pType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streams&&e.hasOwnProperty("streams")){if(!Array.isArray(e.streams))return"streams: array expected";for(var t=0;t<e.streams.length;++t){var i=c.SdkAudioStreamIdInfo.verify(e.streams[t]);if(i)return"streams."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkAudioStreamIdInfoFrame)return e;var t=new c.SdkAudioStreamIdInfoFrame;if(e.streams){if(!Array.isArray(e.streams))throw TypeError(".SdkAudioStreamIdInfoFrame.streams: array expected");t.streams=[];for(var i=0;i<e.streams.length;++i){if("object"!=typeof e.streams[i])throw TypeError(".SdkAudioStreamIdInfoFrame.streams: object expected");t.streams[i]=c.SdkAudioStreamIdInfo.fromObject(e.streams[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.streams=[]),e.streams&&e.streams.length){i.streams=[];for(var n=0;n<e.streams.length;++n)i.streams[n]=c.SdkAudioStreamIdInfo.toObject(e.streams[n],t)}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioStreamIdInfoFrame"},e}(),c.SdkAudioStreamIdInfo=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.audioStreamId=0,e.prototype.attendeeId="",e.prototype.muted=!1,e.prototype.externalUserId="",e.prototype.dropped=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.audioStreamId&&Object.hasOwnProperty.call(e,"audioStreamId")&&t.uint32(8).uint32(e.audioStreamId),null!=e.attendeeId&&Object.hasOwnProperty.call(e,"attendeeId")&&t.uint32(18).string(e.attendeeId),null!=e.muted&&Object.hasOwnProperty.call(e,"muted")&&t.uint32(24).bool(e.muted),null!=e.externalUserId&&Object.hasOwnProperty.call(e,"externalUserId")&&t.uint32(34).string(e.externalUserId),null!=e.dropped&&Object.hasOwnProperty.call(e,"dropped")&&t.uint32(40).bool(e.dropped),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioStreamIdInfo;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.audioStreamId=e.uint32();break;case 2:n.attendeeId=e.string();break;case 3:n.muted=e.bool();break;case 4:n.externalUserId=e.string();break;case 5:n.dropped=e.bool();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.audioStreamId&&e.hasOwnProperty("audioStreamId")&&!d.isInteger(e.audioStreamId)?"audioStreamId: integer expected":null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&!d.isString(e.attendeeId)?"attendeeId: string expected":null!=e.muted&&e.hasOwnProperty("muted")&&"boolean"!=typeof e.muted?"muted: boolean expected":null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&!d.isString(e.externalUserId)?"externalUserId: string expected":null!=e.dropped&&e.hasOwnProperty("dropped")&&"boolean"!=typeof e.dropped?"dropped: boolean expected":null},e.fromObject=function(e){if(e instanceof c.SdkAudioStreamIdInfo)return e;var t=new c.SdkAudioStreamIdInfo;return null!=e.audioStreamId&&(t.audioStreamId=e.audioStreamId>>>0),null!=e.attendeeId&&(t.attendeeId=String(e.attendeeId)),null!=e.muted&&(t.muted=Boolean(e.muted)),null!=e.externalUserId&&(t.externalUserId=String(e.externalUserId)),null!=e.dropped&&(t.dropped=Boolean(e.dropped)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.audioStreamId=0,i.attendeeId="",i.muted=!1,i.externalUserId="",i.dropped=!1),null!=e.audioStreamId&&e.hasOwnProperty("audioStreamId")&&(i.audioStreamId=e.audioStreamId),null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&(i.attendeeId=e.attendeeId),null!=e.muted&&e.hasOwnProperty("muted")&&(i.muted=e.muted),null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&(i.externalUserId=e.externalUserId),null!=e.dropped&&e.hasOwnProperty("dropped")&&(i.dropped=e.dropped),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioStreamIdInfo"},e}(),c.SdkPingPongType=function(){var e={},t=Object.create(e);return t[e[1]="PING"]=1,t[e[2]="PONG"]=2,t}(),c.SdkPingPongFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.type=1,e.prototype.pingId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t.uint32(8).int32(e.type),t.uint32(16).uint32(e.pingId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkPingPongFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.type=e.int32();break;case 2:n.pingId=e.uint32();break;default:e.skipType(7&r)}}if(!n.hasOwnProperty("type"))throw d.ProtocolError("missing required 'type'",{instance:n});if(!n.hasOwnProperty("pingId"))throw d.ProtocolError("missing required 'pingId'",{instance:n});return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";switch(e.type){default:return"type: enum value expected";case 1:case 2:}return d.isInteger(e.pingId)?null:"pingId: integer expected"},e.fromObject=function(e){if(e instanceof c.SdkPingPongFrame)return e;var t=new c.SdkPingPongFrame;switch(e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"PING":case 1:t.type=1;break;case"PONG":case 2:t.type=2}return null!=e.pingId&&(t.pingId=e.pingId>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.type=t.enums===String?"PING":1,i.pingId=0),null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkPingPongType[e.type]?e.type:c.SdkPingPongType[e.type]:e.type),null!=e.pingId&&e.hasOwnProperty("pingId")&&(i.pingId=e.pingId),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkPingPongFrame"},e}(),c.SdkAudioStatusFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.audioStatus=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.audioStatus&&Object.hasOwnProperty.call(e,"audioStatus")&&t.uint32(8).uint32(e.audioStatus),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkAudioStatusFrame;e.pos<i;){var r=e.uint32();r>>>
21383==1?n.audioStatus=e.uint32():e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.audioStatus&&e.hasOwnProperty("audioStatus")&&!d.isInteger(e.audioStatus)?"audioStatus: integer expected":null},e.fromObject=function(e){if(e instanceof c.SdkAudioStatusFrame)return e;var t=new c.SdkAudioStatusFrame;return null!=e.audioStatus&&(t.audioStatus=e.audioStatus>>>0),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.audioStatus=0),null!=e.audioStatus&&e.hasOwnProperty("audioStatus")&&(i.audioStatus=e.audioStatus),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkAudioStatusFrame"},e}(),c.SdkMetric=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.type=1,e.prototype.value=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(17).double(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkMetric;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.type=e.int32();break;case 2:n.value=e.double();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 60:case 64:case 66:case 
213869:case 72:case 86:case 87:case 88:case 89:case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:}return null!=e.value&&e.hasOwnProperty("value")&&"number"!=typeof e.value?"value: number expected":null},e.fromObject=function(e){if(e instanceof c.SdkMetric)return e;var t=new c.SdkMetric;switch(e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"VIDEO_ACTUAL_ENCODER_BITRATE":case 1:t.type=1;break;case"VIDEO_AVAILABLE_SEND_BANDWIDTH":case 2:t.type=2;break;case"VIDEO_RETRANSMIT_BITRATE":case 3:t.type=3;break;case"VIDEO_AVAILABLE_RECEIVE_BANDWIDTH":case 4:t.type=4;break;case"VIDEO_TARGET_ENCODER_BITRATE":case 5:t.type=5;break;case"VIDEO_BUCKET_DELAY_MS":case 6:t.type=6;break;case"STUN_RTT_MS":case 7:t.type=7;break;case"SOCKET_DISCARDED_PPS":case 8:t.type=8;break;case"RTC_MIC_JITTER_MS":case 9:t.type=9;break;case"RTC_MIC_PPS":case 10:t.type=10;break;case"RTC_MIC_FRACTION_PACKET_LOST_PERCENT":case 11:t.type=11;break;case"RTC_MIC_BITRATE":case 12:t.type=12;break;case"RTC_MIC_RTT_MS":case 13:t.type=13;break;case"RTC_SPK_PPS":case 14:t.type=14;break;case"RTC_SPK_FRACTION_PACKET_LOST_PERCENT":case 15:t.type=15;break;case"RTC_SPK_JITTER_MS":case 16:t.type=16;break;case"RTC_SPK_FRACTION_DECODER_LOSS_PERCENT":case 17:t.type=17;break;case"RTC_SPK_BITRATE":case 18:t.type=18;break;case"RTC_SPK_CURRENT_DELAY_MS":case 19:t.type=19;break;case"RTC_SPK_JITTER_BUFFER_MS":case 20:t.type=20;break;case"VIDEO_SENT_RTT_MS":case 21:t.type=21;break;case"VIDEO_ENCODE_USAGE_PERCENT":case 22:t.type=22;break;case"VIDEO_NACKS_RECEIVED":case 23:t.type=23;break;case"VIDEO_PLIS_RECEIVED":case 24:t.type=24;break;case"VIDEO_ENCODE_MS":case 25:t.type=25;break;case"VIDEO_INPUT_FPS":case 26:t.type=26;break;case"VIDEO_ENCODE_FPS":case 27:t.type=27;break;case"VIDEO_SENT_FPS":case 28:t.type=28;break;case"VIDEO_FIRS_RECEIVED":case 29:t.type=29;break;case"VIDEO_SENT_PPS":case 30:t.type=30;break;case"VIDEO_SENT_FRACTION_PACKET_LOST_PERCENT":case 31:t.type=31;break;case"VIDEO_SENT_BITRATE":case 32:t.type=32;break;case"VIDEO_DROPPED_FPS":case 33:t.type=33;break;case"VIDEO_TARGET_DELAY_MS":case 34:t.type=34;break;case"VIDEO_DECODE_MS":case 35:t.type=35;break;case"VIDEO_OUTPUT_FPS":case 36:t.type=36;break;case"VIDEO_RECEIVED_PPS":case 37:t.type=37;break;case"VIDEO_RECEIVED_FRACTION_PACKET_LOST_PERCENT":case 38:t.type=38;break;case"VIDEO_RENDER_DELAY_MS":case 39:t.type=39;break;case"VIDEO_RECEIVED_FPS":case 40:t.type=40;break;case"VIDEO_DECODE_FPS":case 41:t.type=41;break;case"VIDEO_NACKS_SENT":case 42:t.type=42;break;case"VIDEO_FIRS_SENT":case 43:t.type=43;break;case"VIDEO_RECEIVED_BITRATE":case 44:t.type=44;break;case"VIDEO_CURRENT_DELAY_MS":case 45:t.type=45;break;case"VIDEO_JITTER_BUFFER_MS":case 46:t.type=46;break;case"VIDEO_DISCARDED_PPS":case 47:t.type=47;break;case"VIDEO_PLIS_SENT":case 48:t.type=48;break;case"VIDEO_RECEIVED_JITTER_MS":case 49:t.type=49;break;case"VIDEO_INPUT_HEIGHT":case 60:t.type=60;break;case"VIDEO_ENCODE_HEIGHT":case 64:t.type=64;break;case"VIDEO_SENT_QP_SUM":case 66:t.type=66;break;case"VIDEO_DECODE_HEIGHT":case 69:t.type=69;break;case"VIDEO_RECEIVED_QP_SUM":case 72:t.type=72;break;case"VIDEO_ENCODE_WIDTH":case 86:t.type=86;break;case"VIDEO_DECODE_WIDTH":case 87:t.type=87;break;case"VIDEO_ENCODER_IS_HARDWARE":case 88:t.type=88;break;case"VIDEO_DECODER_IS_HARDWARE":case 89:t.type=89;break;case"VIDEO_FREEZE_COUNT":case 90:t.type=90;break;case"VIDEO_FREEZE_DURATION":case 91:t.type=91;break;case"VIDEO_PAUSE_COUNT":case 92:t.type=92;break;case"VIDEO_PAUSE_DURATION":case 93:t.type=93;break;case"VIDEO_QUALITY_REASON":case 94:t.type=94;break;case"VIDEO_PROCESSING_TIME":case 95:t.type=95;break;case"RTC_SPK_AUDIO_LEVEL":case 96:t.type=96;break;case"RTC_MIC_AUDIO_LEVEL":case 97:t.type=97;break;case"RTC_SPK_TOTAL_LOST":case 98:t.type=98;break;case"RTC_SPK_TOTAL_EXPECTED":case 99:t.type=99;break;case"RTC_SPK_TOTAL_RECOVERED_RED":case 100:t.type=100;break;case"RTC_SPK_TOTAL_RECOVERED_FEC":case 101:t.type=101;break;case"VIDEO_QUALITY_LIMITATION_DURATION_CPU":case 102:t.type=102;break;case"VIDEO_CODEC_DEGRADATION_HIGH_ENCODE_CPU":case 103:t.type=103;break;case"VIDEO_CODEC_DEGRADATION_ENCODE_FAILURE":case 104:t.type=104;break;case"VIDEO_RENDER_HEIGHT":case 105:t.type=105;break;case"VIDEO_RENDER_WIDTH":case 106:t.type=106;break;case"VIDEO_INPUT_WIDTH":case 107:t.type=107;break;case"VIDEO_SENT_JITTER_MS":case 108:t.type=108}return null!=e.value&&(t.value=Number(e.value)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.type=t.enums===String?"VIDEO_ACTUAL_ENCODER_BITRATE":1,i.value=0),null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkMetric.Type[e.type]?e.type:c.SdkMetric.Type[e.type]:e.type),null!=e.value&&e.hasOwnProperty("value")&&(i.value=t.json&&!isFinite(e.value)?String(e.value):e.value),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkMetric"},e.Type=function(){var e={},t=Object.create(e);return t[e[1]="VIDEO_ACTUAL_ENCODER_BITRATE"]=1,t[e[2]="VIDEO_AVAILABLE_SEND_BANDWIDTH"]=2,t[e[3]="VIDEO_RETRANSMIT_BITRATE"]=3,t[e[4]="VIDEO_AVAILABLE_RECEIVE_BANDWIDTH"]=4,t[e[5]="VIDEO_TARGET_ENCODER_BITRATE"]=5,t[e[6]="VIDEO_BUCKET_DELAY_MS"]=6,t[e[7]="STUN_RTT_MS"]=7,t[e[8]="SOCKET_DISCARDED_PPS"]=8,t[e[9]="RTC_MIC_JITTER_MS"]=9,t[e[10]="RTC_MIC_PPS"]=10,t[e[11]="RTC_MIC_FRACTION_PACKET_LOST_PERCENT"]=11,t[e[12]="RTC_MIC_BITRATE"]=12,t[e[13]="RTC_MIC_RTT_MS"]=13,t[e[14]="RTC_SPK_PPS"]=14,t[e[15]="RTC_SPK_FRACTION_PACKET_LOST_PERCENT"]=15,t[e[16]="RTC_SPK_JITTER_MS"]=16,t[e[17]="RTC_SPK_FRACTION_DECODER_LOSS_PERCENT"]=17,t[e[18]="RTC_SPK_BITRATE"]=18,t[e[19]="RTC_SPK_CURRENT_DELAY_MS"]=19,t[e[20]="RTC_SPK_JITTER_BUFFER_MS"]=20,t[e[21]="VIDEO_SENT_RTT_MS"]=21,t[e[22]="VIDEO_ENCODE_USAGE_PERCENT"]=22,t[e[23]="VIDEO_NACKS_RECEIVED"]=23,t[e[24]="VIDEO_PLIS_RECEIVED"]=24,t[e[25]="VIDEO_ENCODE_MS"]=25,t[e[26]="VIDEO_INPUT_FPS"]=26,t[e[27]="VIDEO_ENCODE_FPS"]=27,t[e[28]="VIDEO_SENT_FPS"]=28,t[e[29]="VIDEO_FIRS_RECEIVED"]=29,t[e[30]="VIDEO_SENT_PPS"]=30,t[e[31]="VIDEO_SENT_FRACTION_PACKET_LOST_PERCENT"]=31,t[e[32]="VIDEO_SENT_BITRATE"]=32,t[e[33]="VIDEO_DROPPED_FPS"]=33,t[e[34]="VIDEO_TARGET_DELAY_MS"]=34,t[e[35]="VIDEO_DECODE_MS"]=35,t[e[36]="VIDEO_OUTPUT_FPS"]=36,t[e[37]="VIDEO_RECEIVED_PPS"]=37,t[e[38]="VIDEO_RECEIVED_FRACTION_PACKET_LOST_PERCENT"]=38,t[e[39]="VIDEO_RENDER_DELAY_MS"]=39,t[e[40]="VIDEO_RECEIVED_FPS"]=40,t[e[41]="VIDEO_DECODE_FPS"]=41,t[e[42]="VIDEO_NACKS_SENT"]=42,t[e[43]="VIDEO_FIRS_SENT"]=43,t[e[44]="VIDEO_RECEIVED_BITRATE"]=44,t[e[45]="VIDEO_CURRENT_DELAY_MS"]=45,t[e[46]="VIDEO_JITTER_BUFFER_MS"]=46,t[e[47]="VIDEO_DISCARDED_PPS"]=47,t[e[48]="VIDEO_PLIS_SENT"]=48,t[e[49]="VIDEO_RECEIVED_JITTER_MS"]=49,t[e[60]="VIDEO_INPUT_HEIGHT"]=60,t[e[64]="VIDEO_ENCODE_HEIGHT"]=64,t[e[66]="VIDEO_SENT_QP_SUM"]=66,t[e[69]="VIDEO_DECODE_HEIGHT"]=69,t[e[72]="VIDEO_RECEIVED_QP_SUM"]=72,t[e[86]="VIDEO_ENCODE_WIDTH"]=86,t[e[87]="VIDEO_DECODE_WIDTH"]=87,t[e[88]="VIDEO_ENCODER_IS_HARDWARE"]=88,t[e[89]="VIDEO_DECODER_IS_HARDWARE"]=89,t[e[90]="VIDEO_FREEZE_COUNT"]=90,t[e[91]="VIDEO_FREEZE_DURATION"]=91,t[e[92]="VIDEO_PAUSE_COUNT"]=92,t[e[93]="VIDEO_PAUSE_DURATION"]=93,t[e[94]="VIDEO_QUALITY_REASON"]=94,t[e[95]="VIDEO_PROCESSING_TIME"]=95,t[e[96]="RTC_SPK_AUDIO_LEVEL"]=96,t[e[97]="RTC_MIC_AUDIO_LEVEL"]=97,t[e[98]="RTC_SPK_TOTAL_LOST"]=98,t[e[99]="RTC_SPK_TOTAL_EXPECTED"]=99,t[e[100]="RTC_SPK_TOTAL_RECOVERED_RED"]=100,t[e[101]="RTC_SPK_TOTAL_RECOVERED_FEC"]=101,t[e[102]="VIDEO_QUALITY_LIMITATION_DURATION_CPU"]=102,t[e[103]="VIDEO_CODEC_DEGRADATION_HIGH_ENCODE_CPU"]=103,t[e[104]="VIDEO_CODEC_DEGRADATION_ENCODE_FAILURE"]=104,t[e[105]="VIDEO_RENDER_HEIGHT"]=105,t[e[106]="VIDEO_RENDER_WIDTH"]=106,t[e[107]="VIDEO_INPUT_WIDTH"]=107,t[e[108]="VIDEO_SENT_JITTER_MS"]=108,t}(),e}(),c.SdkStreamMetricFrame=function(){function e(e){if(this.metrics=[],this.dimensions=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.streamId=0,e.prototype.groupId=0,e.prototype.metrics=d.emptyArray,e.prototype.dimensions=d.emptyArray,e.prototype.mediaType=1,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&t.uint32(24).uint32(e.streamId),null!=e.groupId&&Object.hasOwnProperty.call(e,"groupId")&&t.uint32(32).uint32(e.groupId),null!=e.metrics&&e.metrics.length)for(var i=0;i<e.metrics.length;++i)c.SdkMetric.encode(e.metrics[i],t.uint32(42).fork()).ldelim();if(null!=e.dimensions&&e.dimensions.length)for(i=0;i<e.dimensions.length;++i)c.SdkStreamDimension.encode(e.dimensions[i],t.uint32(50).fork()).ldelim();return null!=e.mediaType&&Object.hasOwnProperty.call(e,"mediaType")&&t.uint32(56).int32(e.mediaType),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkStreamMetricFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 3:n.streamId=e.uint32();break;case 4:n.groupId=e.uint32();break;case 5:n.metrics&&n.metrics.length||(n.metrics=[]),n.metrics.push(c.SdkMetric.decode(e,e.uint32()));break;case 6:n.dimensions&&n.dimensions.length||(n.dimensions=[]),n.dimensions.push(c.SdkStreamDimension.decode(e,e.uint32()));break;case 7:n.mediaType=e.int32();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")&&!d.isInteger(e.streamId))return"streamId: integer expected";if(null!=e.groupId&&e.hasOwnProperty("groupId")&&!d.isInteger(e.groupId))return"groupId: integer expected";if(null!=e.metrics&&e.hasOwnProperty("metrics")){if(!Array.isArray(e.metrics))return"metrics: array expected";for(var t=0;t<e.metrics.length;++t)if(i=c.SdkMetric.verify(e.metrics[t]))return"metrics."+i}if(null!=e.dimensions&&e.hasOwnProperty("dimensions")){if(!Array.isArray(e.dimensions))return"dimensions: array expected";for(t=0;t<e.dimensions.length;++t){var i;if(i=c.SdkStreamDimension.verify(e.dimensions[t]))return"dimensions."+i}}if(null!=e.mediaType&&e.hasOwnProperty("mediaType"))switch(e.mediaType){default:return"mediaType: enum value expected";case 1:case 2:}return null},e.fromObject=function(e){if(e instanceof c.SdkStreamMetricFrame)return e;var t=new c.SdkStreamMetricFrame;if(null!=e.streamId&&(t.streamId=e.streamId>>>0),null!=e.groupId&&(t.groupId=e.groupId>>>
21380),e.metrics){if(!Array.isArray(e.metrics))throw TypeError(".SdkStreamMetricFrame.metrics: array expected");t.metrics=[];for(var i=0;i<e.metrics.length;++i){if("object"!=typeof e.metrics[i])throw TypeError(".SdkStreamMetricFrame.metrics: object expected");t.metrics[i]=c.SdkMetric.fromObject(e.metrics[i])}}if(e.dimensions){if(!Array.isArray(e.dimensions))throw TypeError(".SdkStreamMetricFrame.dimensions: array expected");for(t.dimensions=[],i=0;i<e.dimensions.length;++i){if("object"!=typeof e.dimensions[i])throw TypeError(".SdkStreamMetricFrame.dimensions: object expected");t.dimensions[i]=c.SdkStreamDimension.fromObject(e.dimensions[i])}}switch(e.mediaType){default:if("number"==typeof e.mediaType){t.mediaType=e.mediaType;break}break;case"AUDIO":case 1:t.mediaType=1;break;case"VIDEO":case 2:t.mediaType=2}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.metrics=[],i.dimensions=[]),t.defaults&&(i.streamId=0,i.groupId=0,i.mediaType=t.enums===String?"AUDIO":1),null!=e.streamId&&e.hasOwnProperty("streamId")&&(i.streamId=e.streamId),null!=e.groupId&&e.hasOwnProperty("groupId")&&(i.groupId=e.groupId),e.metrics&&e.metrics.length){i.metrics=[];for(var n=0;n<e.metrics.length;++n)i.metrics[n]=c.SdkMetric.toObject(e.metrics[n],t)}if(e.dimensions&&e.dimensions.length)for(i.dimensions=[],n=0;n<e.dimensions.length;++n)i.dimensions[n]=c.SdkStreamDimension.toObject(e.dimensions[n],t);return null!=e.mediaType&&e.hasOwnProperty("mediaType")&&(i.mediaType=t.enums===String?void 0===c.SdkStreamMediaType[e.mediaType]?e.mediaType:c.SdkStreamMediaType[e.mediaType]:e.mediaType),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkStreamMetricFrame"},e}(),c.SdkClientMetricFrame=function(){function e(e){if(this.globalMetrics=[],this.streamMetricFrames=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.globalMetrics=d.emptyArray,e.prototype.streamMetricFrames=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.globalMetrics&&e.globalMetrics.length)for(var i=0;i<e.globalMetrics.length;++i)c.SdkMetric.encode(e.globalMetrics[i],t.uint32(10).fork()).ldelim();if(null!=e.streamMetricFrames&&e.streamMetricFrames.length)for(i=0;i<e.streamMetricFrames.length;++i)c.SdkStreamMetricFrame.encode(e.streamMetricFrames[i],t.uint32(18).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkClientMetricFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.globalMetrics&&n.globalMetrics.length||(n.globalMetrics=[]),n.globalMetrics.push(c.SdkMetric.decode(e,e.uint32()));break;case 2:n.streamMetricFrames&&n.streamMetricFrames.length||(n.streamMetricFrames=[]),n.streamMetricFrames.push(c.SdkStreamMetricFrame.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.globalMetrics&&e.hasOwnProperty("globalMetrics")){if(!Array.isArray(e.globalMetrics))return"globalMetrics: array expected";for(var t=0;t<e.globalMetrics.length;++t)if(i=c.SdkMetric.verify(e.globalMetrics[t]))return"globalMetrics."+i}if(null!=e.streamMetricFrames&&e.hasOwnProperty("streamMetricFrames")){if(!Array.isArray(e.streamMetricFrames))return"streamMetricFrames: array expected";for(t=0;t<e.streamMetricFrames.length;++t){var i;if(i=c.SdkStreamMetricFrame.verify(e.streamMetricFrames[t]))return"streamMetricFrames."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkClientMetricFrame)return e;var t=new c.SdkClientMetricFrame;if(e.globalMetrics){if(!Array.isArray(e.globalMetrics))throw TypeError(".SdkClientMetricFrame.globalMetrics: array expected");t.globalMetrics=[];for(var i=0;i<e.globalMetrics.length;++i){if("object"!=typeof e.globalMetrics[i])throw TypeError(".SdkClientMetricFrame.globalMetrics: object expected");t.globalMetrics[i]=c.SdkMetric.fromObject(e.globalMetrics[i])}}if(e.streamMetricFrames){if(!Array.isArray(e.streamMetricFrames))throw TypeError(".SdkClientMetricFrame.streamMetricFrames: array expected");for(t.streamMetricFrames=[],i=0;i<e.streamMetricFrames.length;++i){if("object"!=typeof e.streamMetricFrames[i])throw TypeError(".SdkClientMetricFrame.streamMetricFrames: object expected");t.streamMetricFrames[i]=c.SdkStreamMetricFrame.fromObject(e.streamMetricFrames[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.globalMetrics=[],i.streamMetricFrames=[]),e.globalMetrics&&e.globalMetrics.length){i.globalMetrics=[];for(var n=0;n<e.globalMetrics.length;++n)i.globalMetrics[n]=c.SdkMetric.toObject(e.globalMetrics[n],t)}if(e.streamMetricFrames&&e.streamMetricFrames.length)for(i.streamMetricFrames=[],n=0;n<e.streamMetricFrames.length;++n)i.streamMetricFrames[n]=c.SdkStreamMetricFrame.toObject(e.streamMetricFrames[n],t);return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkClientMetricFrame"},e}(),c.SdkStreamDimension=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.type=1,e.prototype.value=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&c.SdkDimensionValue.encode(e.value,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkStreamDimension;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.type=e.int32();break;case 2:n.value=c.SdkDimensionValue.decode(e,e.uint32());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 1:case 2:}if(null!=e.value&&e.hasOwnProperty("value")){var t=c.SdkDimensionValue.verify(e.value);if(t)return"value."+t}return null},e.fromObject=function(e){if(e instanceof c.SdkStreamDimension)return e;var t=new c.SdkStreamDimension;switch(e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"VIDEO_ENCODER_NAME":case 1:t.type=1;break;case"VIDEO_DECODER_NAME":case 2:t.type=2}if(null!=e.value){if("object"!=typeof e.value)throw TypeError(".SdkStreamDimension.value: object expected");t.value=c.SdkDimensionValue.fromObject(e.value)}return t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.type=t.enums===String?"VIDEO_ENCODER_NAME":1,i.value=null),null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkStreamDimension.Type[e.type]?e.type:c.SdkStreamDimension.Type[e.type]:e.type),null!=e.value&&e.hasOwnProperty("value")&&(i.value=c.SdkDimensionValue.toObject(e.value,t)),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkStreamDimension"},e.Type=function(){var e={},t=Object.create(e);return t[e[1]="VIDEO_ENCODER_NAME"]=1,t[e[2]="VIDEO_DECODER_NAME"]=2,t}(),e}(),c.SdkDimensionValue=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.stringValue="",e.prototype.boolValue=!1,e.prototype.uintValue=d.Long?d.Long.fromBits(0,0,!0):0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.stringValue&&Object.hasOwnProperty.call(e,"stringValue")&&t.uint32(10).string(e.stringValue),null!=e.boolValue&&Object.hasOwnProperty.call(e,"boolValue")&&t.uint32(16).bool(e.boolValue),null!=e.uintValue&&Object.hasOwnProperty.call(e,"uintValue")&&t.uint32(24).uint64(e.uintValue),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkDimensionValue;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.stringValue=e.string();break;case 2:n.boolValue=e.bool();break;case 3:n.uintValue=e.uint64();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.stringValue&&e.hasOwnProperty("str
2138ingValue")&&!d.isString(e.stringValue)?"stringValue: string expected":null!=e.boolValue&&e.hasOwnProperty("boolValue")&&"boolean"!=typeof e.boolValue?"boolValue: boolean expected":null!=e.uintValue&&e.hasOwnProperty("uintValue")&&!(d.isInteger(e.uintValue)||e.uintValue&&d.isInteger(e.uintValue.low)&&d.isInteger(e.uintValue.high))?"uintValue: integer|Long expected":null},e.fromObject=function(e){if(e instanceof c.SdkDimensionValue)return e;var t=new c.SdkDimensionValue;return null!=e.stringValue&&(t.stringValue=String(e.stringValue)),null!=e.boolValue&&(t.boolValue=Boolean(e.boolValue)),null!=e.uintValue&&(d.Long?(t.uintValue=d.Long.fromValue(e.uintValue)).unsigned=!0:"string"==typeof e.uintValue?t.uintValue=parseInt(e.uintValue,10):"number"==typeof e.uintValue?t.uintValue=e.uintValue:"object"==typeof e.uintValue&&(t.uintValue=new d.LongBits(e.uintValue.low>>>0,e.uintValue.high>>>0).toNumber(!0))),t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults)if(i.stringValue="",i.boolValue=!1,d.Long){var n=new d.Long(0,0,!0);i.uintValue=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.uintValue=t.longs===String?"0":0;return null!=e.stringValue&&e.hasOwnProperty("stringValue")&&(i.stringValue=e.stringValue),null!=e.boolValue&&e.hasOwnProperty("boolValue")&&(i.boolValue=e.boolValue),null!=e.uintValue&&e.hasOwnProperty("uintValue")&&("number"==typeof e.uintValue?i.uintValue=t.longs===String?String(e.uintValue):e.uintValue:i.uintValue=t.longs===String?d.Long.prototype.toString.call(e.uintValue):t.longs===Number?new d.LongBits(e.uintValue.low>>>0,e.uintValue.high>>>0).toNumber(!0):e.uintValue),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkDimensionValue"},e}(),c.SdkDataMessageFrame=function(){function e(e){if(this.messages=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.messages=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.messages&&e.messages.length)for(var i=0;i<e.messages.length;++i)c.SdkDataMessagePayload.encode(e.messages[i],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkDataMessageFrame;e.pos<i;){var r=e.uint32();r>>>3==1?(n.messages&&n.messages.length||(n.messages=[]),n.messages.push(c.SdkDataMessagePayload.decode(e,e.uint32()))):e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.messages&&e.hasOwnProperty("messages")){if(!Array.isArray(e.messages))return"messages: array expected";for(var t=0;t<e.messages.length;++t){var i=c.SdkDataMessagePayload.verify(e.messages[t]);if(i)return"messages."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkDataMessageFrame)return e;var t=new c.SdkDataMessageFrame;if(e.messages){if(!Array.isArray(e.messages))throw TypeError(".SdkDataMessageFrame.messages: array expected");t.messages=[];for(var i=0;i<e.messages.length;++i){if("object"!=typeof e.messages[i])throw TypeError(".SdkDataMessageFrame.messages: object expected");t.messages[i]=c.SdkDataMessagePayload.fromObject(e.messages[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.messages=[]),e.messages&&e.messages.length){i.messages=[];for(var n=0;n<e.messages.length;++n)i.messages[n]=c.SdkDataMessagePayload.toObject(e.messages[n],t)}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkDataMessageFrame"},e}(),c.SdkDataMessagePayload=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.topic="",e.prototype.data=d.newBuffer([]),e.prototype.lifetimeMs=0,e.prototype.senderAttendeeId="",e.prototype.ingestTimeNs=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.senderExternalUserId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.topic&&Object.hasOwnProperty.call(e,"topic")&&t.uint32(10).string(e.topic),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(18).bytes(e.data),null!=e.lifetimeMs&&Object.hasOwnProperty.call(e,"lifetimeMs")&&t.uint32(24).uint32(e.lifetimeMs),null!=e.senderAttendeeId&&Object.hasOwnProperty.call(e,"senderAttendeeId")&&t.uint32(34).string(e.senderAttendeeId),null!=e.ingestTimeNs&&Object.hasOwnProperty.call(e,"ingestTimeNs")&&t.uint32(40).int64(e.ingestTimeNs),null!=e.senderExternalUserId&&Object.hasOwnProperty.call(e,"senderExternalUserId")&&t.uint32(50).string(e.senderExternalUserId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkDataMessagePayload;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.topic=e.string();break;case 2:n.data=e.bytes();break;case 3:n.lifetimeMs=e.uint32();break;case 4:n.senderAttendeeId=e.string();break;case 5:n.ingestTimeNs=e.int64();break;case 6:n.senderExternalUserId=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.topic&&e.hasOwnProperty("topic")&&!d.isString(e.topic)?"topic: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||d.isString(e.data))?"data: buffer expected":null!=e.lifetimeMs&&e.hasOwnProperty("lifetimeMs")&&!d.isInteger(e.lifetimeMs)?"lifetimeMs: integer expected":null!=e.senderAttendeeId&&e.hasOwnProperty("senderAttendeeId")&&!d.isString(e.senderAttendeeId)?"senderAttendeeId: string expected":null!=e.ingestTimeNs&&e.hasOwnProperty("ingestTimeNs")&&!(d.isInteger(e.ingestTimeNs)||e.ingestTimeNs&&d.isInteger(e.ingestTimeNs.low)&&d.isInteger(e.ingestTimeNs.high))?"ingestTimeNs: integer|Long expected":null!=e.senderExternalUserId&&e.hasOwnProperty("senderExternalUserId")&&!d.isString(e.senderExternalUserId)?"senderExternalUserId: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkDataMessagePayload)return e;var t=new c.SdkDataMessagePayload;return null!=e.topic&&(t.topic=String(e.topic)),null!=e.data&&("string"==typeof e.data?d.base64.decode(e.data,t.data=d.newBuffer(d.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.lifetimeMs&&(t.lifetimeMs=e.lifetimeMs>>>0),null!=e.senderAttendeeId&&(t.senderAttendeeId=String(e.senderAttendeeId)),null!=e.ingestTimeNs&&(d.Long?(t.ingestTimeNs=d.Long.fromValue(e.ingestTimeNs)).unsigned=!1:"string"==typeof e.ingestTimeNs?t.ingestTimeNs=parseInt(e.ingestTimeNs,10):"number"==typeof e.ingestTimeNs?t.ingestTimeNs=e.ingestTimeNs:"object"==typeof e.ingestTimeNs&&(t.ingestTimeNs=new d.LongBits(e.ingestTimeNs.low>>>0,e.ingestTimeNs.high>>>0).toNumber())),null!=e.senderExternalUserId&&(t.senderExternalUserId=String(e.senderExternalUserId)),t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults){if(i.topic="",t.bytes===String?i.data="":(i.data=[],t.bytes!==Array&&(i.data=d.newBuffer(i.data))),i.lifetimeMs=0,i.senderAttendeeId="",d.Long){var n=new d.Long(0,0,!1);i.ingestTimeNs=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.ingestTimeNs=t.longs===String?"0":0;i.senderExternalUserId=""}return null!=e.topic&&e.hasOwnProperty("topic")&&(i.topic=e.topic),null!=e.data&&e.hasOwnProperty("data")&&(i.data=t.bytes===String?d.base64.encode(e.data,
vendor: 7,665 bytes, line 2138
21380,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.lifetimeMs&&e.hasOwnProperty("lifetimeMs")&&(i.lifetimeMs=e.lifetimeMs),null!=e.senderAttendeeId&&e.hasOwnProperty("senderAttendeeId")&&(i.senderAttendeeId=e.senderAttendeeId),null!=e.ingestTimeNs&&e.hasOwnProperty("ingestTimeNs")&&("number"==typeof e.ingestTimeNs?i.ingestTimeNs=t.longs===String?String(e.ingestTimeNs):e.ingestTimeNs:i.ingestTimeNs=t.longs===String?d.Long.prototype.toString.call(e.ingestTimeNs):t.longs===Number?new d.LongBits(e.ingestTimeNs.low>>>0,e.ingestTimeNs.high>>>0).toNumber():e.ingestTimeNs),null!=e.senderExternalUserId&&e.hasOwnProperty("senderExternalUserId")&&(i.senderExternalUserId=e.senderExternalUserId),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkDataMessagePayload"},e}(),c.SdkTurnCredentials=function(){function e(e){if(this.uris=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.username="",e.prototype.password="",e.prototype.ttl=0,e.prototype.uris=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.username&&Object.hasOwnProperty.call(e,"username")&&t.uint32(10).string(e.username),null!=e.password&&Object.hasOwnProperty.call(e,"password")&&t.uint32(18).string(e.password),null!=e.ttl&&Object.hasOwnProperty.call(e,"ttl")&&t.uint32(24).uint32(e.ttl),null!=e.uris&&e.uris.length)for(var i=0;i<e.uris.length;++i)t.uint32(34).string(e.uris[i]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTurnCredentials;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.username=e.string();break;case 2:n.password=e.string();break;case 3:n.ttl=e.uint32();break;case 4:n.uris&&n.uris.length||(n.uris=[]),n.uris.push(e.string());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.username&&e.hasOwnProperty("username")&&!d.isString(e.username))return"username: string expected";if(null!=e.password&&e.hasOwnProperty("password")&&!d.isString(e.password))return"password: string expected";if(null!=e.ttl&&e.hasOwnProperty("ttl")&&!d.isInteger(e.ttl))return"ttl: integer expected";if(null!=e.uris&&e.hasOwnProperty("uris")){if(!Array.isArray(e.uris))return"uris: array expected";for(var t=0;t<e.uris.length;++t)if(!d.isString(e.uris[t]))return"uris: string[] expected"}return null},e.fromObject=function(e){if(e instanceof c.SdkTurnCredentials)return e;var t=new c.SdkTurnCredentials;if(null!=e.username&&(t.username=String(e.username)),null!=e.password&&(t.password=String(e.password)),null!=e.ttl&&(t.ttl=e.ttl>>>0),e.uris){if(!Array.isArray(e.uris))throw TypeError(".SdkTurnCredentials.uris: array expected");t.uris=[];for(var i=0;i<e.uris.length;++i)t.uris[i]=String(e.uris[i])}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.uris=[]),t.defaults&&(i.username="",i.password="",i.ttl=0),null!=e.username&&e.hasOwnProperty("username")&&(i.username=e.username),null!=e.password&&e.hasOwnProperty("password")&&(i.password=e.password),null!=e.ttl&&e.hasOwnProperty("ttl")&&(i.ttl=e.ttl),e.uris&&e.uris.length){i.uris=[];for(var n=0;n<e.uris.length;++n)i.uris[n]=e.uris[n]}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTurnCredentials"},e}(),c.SdkTranscriptItem=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.content="",e.prototype.endTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.speakerAttendeeId="",e.prototype.speakerExternalUserId="",e.prototype.startTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.type=1,e.prototype.vocabularyFilterMatch=!1,e.prototype.confidence=0,e.prototype.stable=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(10).string(e.content),null!=e.endTime&&Object.hasOwnProperty.call(e,"endTime")&&t.uint32(16).int64(e.endTime),null!=e.speakerAttendeeId&&Object.hasOwnProperty.call(e,"speakerAttendeeId")&&t.uint32(26).string(e.speakerAttendeeId),null!=e.speakerExternalUserId&&Object.hasOwnProperty.call(e,"speakerExternalUserId")&&t.uint32(34).string(e.speakerExternalUserId),null!=e.startTime&&Object.hasOwnProperty.call(e,"startTime")&&t.uint32(40).int64(e.startTime),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(48).int32(e.type),null!=e.vocabularyFilterMatch&&Object.hasOwnProperty.call(e,"vocabularyFilterMatch")&&t.uint32(56).bool(e.vocabularyFilterMatch),null!=e.confidence&&Object.hasOwnProperty.call(e,"confidence")&&t.uint32(65).double(e.confidence),null!=e.stable&&Object.hasOwnProperty.call(e,"stable")&&t.uint32(72).bool(e.stable),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptItem;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.content=e.string();break;case 2:n.endTime=e.int64();break;case 3:n.speakerAttendeeId=e.string();break;case 4:n.speakerExternalUserId=e.string();break;case 5:n.startTime=e.int64();break;case 6:n.type=e.int32();break;case 7:n.vocabularyFilterMatch=e.bool();break;case 8:n.confidence=e.double();break;case 9:n.stable=e.bool();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.content&&e.hasOwnProperty("content")&&!d.isString(e.content))return"content: string expected";if(null!=e.endTime&&e.hasOwnProperty("endTime")&&!(d.isInteger(e.endTime)||e.endTime&&d.isInteger(e.endTime.low)&&d.isInteger(e.endTime.high)))return"endTime: integer|Long expected";if(null!=e.speakerAttendeeId&&e.hasOwnProperty("speakerAttendeeId")&&!d.isString(e.speakerAttendeeId))return"speakerAttendeeId: string expected";if(null!=e.speakerExternalUserId&&e.hasOwnProperty("speakerExternalUserId")&&!d.isString(e.speakerExternalUserId))return"speakerExternalUserId: string expected";if(null!=e.startTime&&e.hasOwnProperty("startTime")&&!(d.isInteger(e.startTime)||e.startTime&&d.isInteger(e.startTime.low)&&d.isInteger(e.startTime.high)))return"startTime: integer|Long expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 1:case 2:}return null!=e.vocabularyFilterMatch&&e.hasOwnProperty("vocabularyFilterMatch")&&"boolean"!=typeof e.vocabularyFilterMatch?"vocabularyFilterMatch: boolean expected":null!=e.confidence&&e.hasOwnProperty("confidence")&&"number"!=typeof e.confidence?"confidence: number expected":null!=e.stable&&e.hasOwnProperty("stable")&&"boolean"!=typeof e.stable?"stable: boolean expected":null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptItem)return e;var t=new c.SdkTranscriptItem;switch(null!=e.content&&(t.content=String(e.content)),null!=e.endTime&&(d.Long?(t.endTime=d.Long.fromValue(e.endTime)).unsigned=!1:"string"==typeof e.endTime?t.endTime=parseInt(e.endTime,10):"number"==typeof e.endTime?t.endTime=e.endTime:"object"==typeof e.endTime&&(t.endTime=new d.LongBits(e.endTime.low>>>0,e.endTime.high>
2138>>0).toNumber())),null!=e.speakerAttendeeId&&(t.speakerAttendeeId=String(e.speakerAttendeeId)),null!=e.speakerExternalUserId&&(t.speakerExternalUserId=String(e.speakerExternalUserId)),null!=e.startTime&&(d.Long?(t.startTime=d.Long.fromValue(e.startTime)).unsigned=!1:"string"==typeof e.startTime?t.startTime=parseInt(e.startTime,10):"number"==typeof e.startTime?t.startTime=e.startTime:"object"==typeof e.startTime&&(t.startTime=new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber())),e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"PRONUNCIATION":case 1:t.type=1;break;case"PUNCTUATION":case 2:t.type=2}return null!=e.vocabularyFilterMatch&&(t.vocabularyFilterMatch=Boolean(e.vocabularyFilterMatch)),null!=e.confidence&&(t.confidence=Number(e.confidence)),null!=e.stable&&(t.stable=Boolean(e.stable)),t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults){if(i.content="",d.Long){var n=new d.Long(0,0,!1);i.endTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.endTime=t.longs===String?"0":0;i.speakerAttendeeId="",i.speakerExternalUserId="",d.Long?(n=new d.Long(0,0,!1),i.startTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n):i.startTime=t.longs===String?"0":0,i.type=t.enums===String?"PRONUNCIATION":1,i.vocabularyFilterMatch=!1,i.confidence=0,i.stable=!1}return null!=e.content&&e.hasOwnProperty("content")&&(i.content=e.content),null!=e.endTime&&e.hasOwnProperty("endTime")&&("number"==typeof e.endTime?i.endTime=t.longs===String?String(e.endTime):e.endTime:i.endTime=t.longs===String?d.Long.prototype.toString.call(e.endTime):t.longs===Number?new d.LongBits(e.endTime.low>>>0,e.endTime.high>>>0).toNumber():e.endTime),null!=e.speakerAttendeeId&&e.hasOwnProperty("speakerAttendeeId")&&(i.speakerAttendeeId=e.speakerAttendeeId),null!=e.speakerExternalUserId&&e.hasOwnProperty("speakerExternalUserId")&&(i.speakerExternalUserId=e.speakerExternalUserId),null!=e.startTime&&e.hasOwnProperty("startTime")&&("number"==typeof e.startTime?i.startTime=t.longs===String?String(e.startTime):e.startTime:i.startTime=t.longs===String?d.Long.prototype.toString.call(e.startTime):t.longs===Number?new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber():e.startTime),null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkTranscriptItem.Type[e.type]?e.type:c.SdkTranscriptItem.Type[e.type]:e.type),null!=e.vocabularyFilterMatch&&e.hasOwnProperty("vocabularyFilterMatch")&&(i.vocabularyFilterMatch=e.vocabularyFilterMatch),null!=e.confidence&&e.hasOwnProperty("confidence")&&(i.confidence=t.json&&!isFinite(e.confidence)?String(e.confidence):e.confidence),null!=e.stable&&e.hasOwnProperty("stable")&&(i.stable=e.stable),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptItem"},e.Type=function(){var e={},t=Object.create(e);return t[e[1]="PRONUNCIATION"]=1,t[e[2]="PUNCTUATION"]=2,t}(),e}(),c.SdkTranscriptEntity=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.category="",e.prototype.confidence=0,e.prototype.content="",e.prototype.endTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.startTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.type="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.category&&Object.hasOwnProperty.call(e,"category")&&t.uint32(10).string(e.category),null!=e.confidence&&Object.hasOwnProperty.call(e,"confidence")&&t.uint32(17).double(e.confidence),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(26).string(e.content),null!=e.endTime&&Object.hasOwnProperty.call(e,"endTime")&&t.uint32(32).int64(e.endTime),null!=e.startTime&&Object.hasOwnProperty.call(e,"startTime")&&t.uint32(40).int64(e.startTime),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(50).string(e.type),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptEntity;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.category=e.string();break;case 2:n.confidence=e.double();break;case 3:n.content=e.string();break;case 4:n.endTime=e.int64();break;case 5:n.startTime=e.int64();break;case 6:n.type=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.category&&e.hasOwnProperty("category")&&!d.isString(e.category)?"category: string expected":null!=e.confidence&&e.hasOwnProperty("confidence")&&"number"!=typeof e.confidence?"confidence: number expected":null!=e.content&&e.hasOwnProperty("content")&&!d.isString(e.content)?"content: string expected":null!=e.endTime&&e.hasOwnProperty("endTime")&&!(d.isInteger(e.endTime)||e.endTime&&d.isInteger(e.endTime.low)&&d.isInteger(e.endTime.high))?"endTime: integer|Long expected":null!=e.startTime&&e.hasOwnProperty("startTime")&&!(d.isInteger(e.startTime)||e.startTime&&d.isInteger(e.startTime.low)&&d.isInteger(e.startTime.high))?"startTime: integer|Long expected":null!=e.type&&e.hasOwnProperty("type")&&!d.isString(e.type)?"type: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptEntity)return e;var t=new c.SdkTranscriptEntity;return null!=e.category&&(t.category=String(e.category)),null!=e.confidence&&(t.confidence=Number(e.confidence)),null!=e.content&&(t.content=String(e.content)),null!=e.endTime&&(d.Long?(t.endTime=d.Long.fromValue(e.endTime)).unsigned=!1:"string"==typeof e.endTime?t.endTime=parseInt(e.endTime,10):"number"==typeof e.endTime?t.endTime=e.endTime:"object"==typeof e.endTime&&(t.endTime=new d.LongBits(e.endTime.low>>>0,e.endTime.high>
vendor: 11,338 bytes, line 2138
2138>>0).toNumber())),null!=e.startTime&&(d.Long?(t.startTime=d.Long.fromValue(e.startTime)).unsigned=!1:"string"==typeof e.startTime?t.startTime=parseInt(e.startTime,10):"number"==typeof e.startTime?t.startTime=e.startTime:"object"==typeof e.startTime&&(t.startTime=new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber())),null!=e.type&&(t.type=String(e.type)),t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults){if(i.category="",i.confidence=0,i.content="",d.Long){var n=new d.Long(0,0,!1);i.endTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.endTime=t.longs===String?"0":0;d.Long?(n=new d.Long(0,0,!1),i.startTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n):i.startTime=t.longs===String?"0":0,i.type=""}return null!=e.category&&e.hasOwnProperty("category")&&(i.category=e.category),null!=e.confidence&&e.hasOwnProperty("confidence")&&(i.confidence=t.json&&!isFinite(e.confidence)?String(e.confidence):e.confidence),null!=e.content&&e.hasOwnProperty("content")&&(i.content=e.content),null!=e.endTime&&e.hasOwnProperty("endTime")&&("number"==typeof e.endTime?i.endTime=t.longs===String?String(e.endTime):e.endTime:i.endTime=t.longs===String?d.Long.prototype.toString.call(e.endTime):t.longs===Number?new d.LongBits(e.endTime.low>>>0,e.endTime.high>>>0).toNumber():e.endTime),null!=e.startTime&&e.hasOwnProperty("startTime")&&("number"==typeof e.startTime?i.startTime=t.longs===String?String(e.startTime):e.startTime:i.startTime=t.longs===String?d.Long.prototype.toString.call(e.startTime):t.longs===Number?new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber():e.startTime),null!=e.type&&e.hasOwnProperty("type")&&(i.type=e.type),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptEntity"},e}(),c.SdkTranscriptAlternative=function(){function e(e){if(this.items=[],this.entities=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.items=d.emptyArray,e.prototype.transcript="",e.prototype.entities=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.items&&e.items.length)for(var i=0;i<e.items.length;++i)c.SdkTranscriptItem.encode(e.items[i],t.uint32(10).fork()).ldelim();if(null!=e.transcript&&Object.hasOwnProperty.call(e,"transcript")&&t.uint32(18).string(e.transcript),null!=e.entities&&e.entities.length)for(i=0;i<e.entities.length;++i)c.SdkTranscriptEntity.encode(e.entities[i],t.uint32(26).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptAlternative;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.items&&n.items.length||(n.items=[]),n.items.push(c.SdkTranscriptItem.decode(e,e.uint32()));break;case 2:n.transcript=e.string();break;case 3:n.entities&&n.entities.length||(n.entities=[]),n.entities.push(c.SdkTranscriptEntity.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.items&&e.hasOwnProperty("items")){if(!Array.isArray(e.items))return"items: array expected";for(var t=0;t<e.items.length;++t)if(i=c.SdkTranscriptItem.verify(e.items[t]))return"items."+i}if(null!=e.transcript&&e.hasOwnProperty("transcript")&&!d.isString(e.transcript))return"transcript: string expected";if(null!=e.entities&&e.hasOwnProperty("entities")){if(!Array.isArray(e.entities))return"entities: array expected";for(t=0;t<e.entities.length;++t){var i;if(i=c.SdkTranscriptEntity.verify(e.entities[t]))return"entities."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptAlternative)return e;var t=new c.SdkTranscriptAlternative;if(e.items){if(!Array.isArray(e.items))throw TypeError(".SdkTranscriptAlternative.items: array expected");t.items=[];for(var i=0;i<e.items.length;++i){if("object"!=typeof e.items[i])throw TypeError(".SdkTranscriptAlternative.items: object expected");t.items[i]=c.SdkTranscriptItem.fromObject(e.items[i])}}if(null!=e.transcript&&(t.transcript=String(e.transcript)),e.entities){if(!Array.isArray(e.entities))throw TypeError(".SdkTranscriptAlternative.entities: array expected");for(t.entities=[],i=0;i<e.entities.length;++i){if("object"!=typeof e.entities[i])throw TypeError(".SdkTranscriptAlternative.entities: object expected");t.entities[i]=c.SdkTranscriptEntity.fromObject(e.entities[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.items=[],i.entities=[]),t.defaults&&(i.transcript=""),e.items&&e.items.length){i.items=[];for(var n=0;n<e.items.length;++n)i.items[n]=c.SdkTranscriptItem.toObject(e.items[n],t)}if(null!=e.transcript&&e.hasOwnProperty("transcript")&&(i.transcript=e.transcript),e.entities&&e.entities.length)for(i.entities=[],n=0;n<e.entities.length;++n)i.entities[n]=c.SdkTranscriptEntity.toObject(e.entities[n],t);return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptAlternative"},e}(),c.SdkTranscriptLanguageWithScore=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.languageCode="",e.prototype.score=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.languageCode&&Object.hasOwnProperty.call(e,"languageCode")&&t.uint32(10).string(e.languageCode),null!=e.score&&Object.hasOwnProperty.call(e,"score")&&t.uint32(17).double(e.score),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptLanguageWithScore;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.languageCode=e.string();break;case 2:n.score=e.double();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.languageCode&&e.hasOwnProperty("languageCode")&&!d.isString(e.languageCode)?"languageCode: string expected":null!=e.score&&e.hasOwnProperty("score")&&"number"!=typeof e.score?"score: number expected":null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptLanguageWithScore)return e;var t=new c.SdkTranscriptLanguageWithScore;return null!=e.languageCode&&(t.languageCode=String(e.languageCode)),null!=e.score&&(t.score=Number(e.score)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.languageCode="",i.score=0),null!=e.languageCode&&e.hasOwnProperty("languageCode")&&(i.languageCode=e.languageCode),null!=e.score&&e.hasOwnProperty("score")&&(i.score=t.json&&!isFinite(e.score)?String(e.score):e.score),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptLanguageWithScore"},e}(),c.SdkTranscriptResult=function(){function e(e){if(this.alternatives=[],this.languageIdentification=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.alternatives=d.emptyArray,e.prototype.channelId="",e.prototype.endTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.isPartial=!1,e.prototype.resultId="",e.prototype.startTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.languageCode="",e.prototype.languageIdentification=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.alternatives&&e.alternatives.length)for(var i=0;i<e.alternatives.length;++i)c.SdkTranscriptAlternative.encode(e.alternatives[i],t.uint32(10).fork()).ldelim();if(null!=e.channelId&&Object.hasOwnProperty.call(e,"channelId")&&t.uint32(18).string(e.channelId),null!=e.endTime&&Object.hasOwnProperty.call(e,"endTime")&&t.uint32(24).int64(e.endTime),null!=e.isPartial&&Object.hasOwnProperty.call(e,"isPartial")&&t.uint32(32).bool(e.isPartial),null!=e.resultId&&Object.hasOwnProperty.call(e,"resultId")&&t.uint32(42).string(e.resultId),null!=e.startTime&&Object.hasOwnProperty.call(e,"startTime")&&t.uint32(48).int64(e.startTime),null!=e.languageCode&&Object.hasOwnProperty.call(e,"languageCode")&&t.uint32(58).string(e.languageCode),null!=e.languageIdentification&&e.languageIdentification.length)for(i=0;i<e.languageIdentification.length;++i)c.SdkTranscriptLanguageWithScore.encode(e.languageIdentification[i],t.uint32(66).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptResult;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.alternatives&&n.alternatives.length||(n.alternatives=[]),n.alternatives.push(c.SdkTranscriptAlternative.decode(e,e.uint32()));break;case 2:n.channelId=e.string();break;case 3:n.endTime=e.int64();break;case 4:n.isPartial=e.bool();break;case 5:n.resultId=e.string();break;case 6:n.startTime=e.int64();break;case 7:n.languageCode=e.string();break;case 8:n.languageIdentification&&n.languageIdentification.length||(n.languageIdentification=[]),n.languageIdentification.push(c.SdkTranscriptLanguageWithScore.decode(e,e.uint32()));break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.alternatives&&e.hasOwnProperty("alternatives")){if(!Array.isArray(e.alternatives))return"alternatives: array expected";for(var t=0;t<e.alternatives.length;++t)if(i=c.SdkTranscriptAlternative.verify(e.alternatives[t]))return"alternatives."+i}if(null!=e.channelId&&e.hasOwnProperty("channelId")&&!d.isString(e.channelId))return"channelId: string expected";if(null!=e.endTime&&e.hasOwnProperty("endTime")&&!(d.isInteger(e.endTime)||e.endTime&&d.isInteger(e.endTime.low)&&d.isInteger(e.endTime.high)))return"endTime: integer|Long expected";if(null!=e.isPartial&&e.hasOwnProperty("isPartial")&&"boolean"!=typeof e.isPartial)return"isPartial: boolean expected";if(null!=e.resultId&&e.hasOwnProperty("resultId")&&!d.isString(e.resultId))return"resultId: string expected";if(null!=e.startTime&&e.hasOwnProperty("startTime")&&!(d.isInteger(e.startTime)||e.startTime&&d.isInteger(e.startTime.low)&&d.isInteger(e.startTime.high)))return"startTime: integer|Long expected";if(null!=e.languageCode&&e.hasOwnProperty("languageCode")&&!d.isString(e.languageCode))return"languageCode: string expected";if(null!=e.languageIdentification&&e.hasOwnProperty("languageIdentification")){if(!Array.isArray(e.languageIdentification))return"languageIdentification: array expected";for(t=0;t<e.languageIdentification.length;++t){var i;if(i=c.SdkTranscriptLanguageWithScore.verify(e.languageIdentification[t]))return"languageIdentification."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptResult)return e;var t=new c.SdkTranscriptResult;
vendor: 4,399 bytes, line 2138
2138if(e.alternatives){if(!Array.isArray(e.alternatives))throw TypeError(".SdkTranscriptResult.alternatives: array expected");t.alternatives=[];for(var i=0;i<e.alternatives.length;++i){if("object"!=typeof e.alternatives[i])throw TypeError(".SdkTranscriptResult.alternatives: object expected");t.alternatives[i]=c.SdkTranscriptAlternative.fromObject(e.alternatives[i])}}if(null!=e.channelId&&(t.channelId=String(e.channelId)),null!=e.endTime&&(d.Long?(t.endTime=d.Long.fromValue(e.endTime)).unsigned=!1:"string"==typeof e.endTime?t.endTime=parseInt(e.endTime,10):"number"==typeof e.endTime?t.endTime=e.endTime:"object"==typeof e.endTime&&(t.endTime=new d.LongBits(e.endTime.low>>>0,e.endTime.high>>>0).toNumber())),null!=e.isPartial&&(t.isPartial=Boolean(e.isPartial)),null!=e.resultId&&(t.resultId=String(e.resultId)),null!=e.startTime&&(d.Long?(t.startTime=d.Long.fromValue(e.startTime)).unsigned=!1:"string"==typeof e.startTime?t.startTime=parseInt(e.startTime,10):"number"==typeof e.startTime?t.startTime=e.startTime:"object"==typeof e.startTime&&(t.startTime=new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber())),null!=e.languageCode&&(t.languageCode=String(e.languageCode)),e.languageIdentification){if(!Array.isArray(e.languageIdentification))throw TypeError(".SdkTranscriptResult.languageIdentification: array expected");for(t.languageIdentification=[],i=0;i<e.languageIdentification.length;++i){if("object"!=typeof e.languageIdentification[i])throw TypeError(".SdkTranscriptResult.languageIdentification: object expected");t.languageIdentification[i]=c.SdkTranscriptLanguageWithScore.fromObject(e.languageIdentification[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.alternatives=[],i.languageIdentification=[]),t.defaults){if(i.channelId="",d.Long){var n=new d.Long(0,0,!1);i.endTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.endTime=t.longs===String?"0":0;i.isPartial=!1,i.resultId="",d.Long?(n=new d.Long(0,0,!1),i.startTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n):i.startTime=t.longs===String?"0":0,i.languageCode=""}if(e.alternatives&&e.alternatives.length){i.alternatives=[];for(var r=0;r<e.alternatives.length;++r)i.alternatives[r]=c.SdkTranscriptAlternative.toObject(e.alternatives[r],t)}if(null!=e.channelId&&e.hasOwnProperty("channelId")&&(i.channelId=e.channelId),null!=e.endTime&&e.hasOwnProperty("endTime")&&("number"==typeof e.endTime?i.endTime=t.longs===String?String(e.endTime):e.endTime:i.endTime=t.longs===String?d.Long.prototype.toString.call(e.endTime):t.longs===Number?new d.LongBits(e.endTime.low>>>0,e.endTime.high>>>0).toNumber():e.endTime),null!=e.isPartial&&e.hasOwnProperty("isPartial")&&(i.isPartial=e.isPartial),null!=e.resultId&&e.hasOwnProperty("resultId")&&(i.resultId=e.resultId),null!=e.startTime&&e.hasOwnProperty("startTime")&&("number"==typeof e.startTime?i.startTime=t.longs===String?String(e.startTime):e.startTime:i.startTime=t.longs===String?d.Long.prototype.toString.call(e.startTime):t.longs===Number?new d.LongBits(e.startTime.low>>>0,e.startTime.high>>>0).toNumber():e.startTime),null!=e.languageCode&&e.hasOwnProperty("languageCode")&&(i.languageCode=e.languageCode),e.languageIdentification&&e.languageIdentification.length)for(i.languageIdentification=[],r=0;r<e.languageIdentification.length;++r)i.languageIdentification[r]=c.SdkTranscriptLanguageWithScore.toObject(e.languageIdentification[r],t);return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptResult"},e}(),c.SdkTranscript=function(){function e(e){if(this.results=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.results=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.results&&e.results.length)for(var i=0;i<e.results.length;++i)c.SdkTranscriptResult.encode(e.results[i],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscript;e.pos<i;){var r=e.uint32();r>>>3==1?(n.results&&n.results.length||(n.results=[]),n.results.push(c.SdkTranscriptResult.decode(e,e.uint32()))):e.ski
2138pType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.results&&e.hasOwnProperty("results")){if(!Array.isArray(e.results))return"results: array expected";for(var t=0;t<e.results.length;++t){var i=c.SdkTranscriptResult.verify(e.results[t]);if(i)return"results."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkTranscript)return e;var t=new c.SdkTranscript;if(e.results){if(!Array.isArray(e.results))throw TypeError(".SdkTranscript.results: array expected");t.results=[];for(var i=0;i<e.results.length;++i){if("object"!=typeof e.results[i])throw TypeError(".SdkTranscript.results: object expected");t.results[i]=c.SdkTranscriptResult.fromObject(e.results[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.results=[]),e.results&&e.results.length){i.results=[];for(var n=0;n<e.results.length;++n)i.results[n]=c.SdkTranscriptResult.toObject(e.results[n],t)}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscript"},e}(),c.SdkTranscriptionStatus=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.type=1,e.prototype.eventTime=d.Long?d.Long.fromBits(0,0,!1):0,e.prototype.transcriptionRegion="",e.prototype.transcriptionConfiguration="",e.prototype.message="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).int32(e.type),null!=e.eventTime&&Object.hasOwnProperty.call(e,"eventTime")&&t.uint32(16).int64(e.eventTime),null!=e.transcriptionRegion&&Object.hasOwnProperty.call(e,"transcriptionRegion")&&t.uint32(26).string(e.transcriptionRegion),null!=e.transcriptionConfiguration&&Object.hasOwnProperty.call(e,"transcriptionConfiguration")&&t.uint32(34).string(e.transcriptionConfiguration),null!=e.message&&Object.hasOwnProperty.call(e,"message")&&t.uint32(42).string(e.message),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptionStatus;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.type=e.int32();break;case 2:n.eventTime=e.int64();break;case 3:n.transcriptionRegion=e.string();break;case 4:n.transcriptionConfiguration=e.string();break;case 5:n.message=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.type&&e.hasOwnProperty("type"))switch(e.type){default:return"type: enum value expected";case 1:case 2:case 3:case 4:case 5:}return null!=e.eventTime&&e.hasOwnProperty("eventTime")&&!(d.isInteger(e.eventTime)||e.eventTime&&d.isInteger(e.eventTime.low)&&d.isInteger(e.eventTime.high))?"eventTime: integer|Long expected":null!=e.transcriptionRegion&&e.hasOwnProperty("transcriptionRegion")&&!d.isString(e.transcriptionRegion)?"transcriptionRegion: string expected":null!=e.transcriptionConfiguration&&e.hasOwnProperty("transcriptionConfiguration")&&!d.isString(e.transcriptionConfiguration)?"transcriptionConfiguration: string expected":null!=e.message&&e.hasOwnProperty("message")&&!d.isString(e.message)?"message: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptionStatus)return e;var t=new c.SdkTranscriptionStatus;switch(e.type){default:if("number"==typeof e.type){t.type=e.type;break}break;case"STARTED":case 1:t.type=1;break;case"INTERRUPTED":case 2:t.type=2;break;case"RESUMED":case 3:t.type=3;break;case"STOPPED":case 4:t.type=4;break;case"FAILED":case 5:t.type=5}return null!=e.eventTime&&(d.Long?(t.eventTime=d.Long.fromValue(e.eventTime)).unsigned=!1:"string"==typeof e.eventTime?t.eventTime=parseInt(e.eventTime,10):"number"==typeof e.eventTime?t.eventTime=e.eventTime:"object"==typeof e.eventTime&&(t.eventTime=new d.LongBits(e.eventTime.low>>>0,e.eventTime.high>
2138>>0).toNumber())),null!=e.transcriptionRegion&&(t.transcriptionRegion=String(e.transcriptionRegion)),null!=e.transcriptionConfiguration&&(t.transcriptionConfiguration=String(e.transcriptionConfiguration)),null!=e.message&&(t.message=String(e.message)),t},e.toObject=function(e,t){t||(t={});var i={};if(t.defaults){if(i.type=t.enums===String?"STARTED":1,d.Long){var n=new d.Long(0,0,!1);i.eventTime=t.longs===String?n.toString():t.longs===Number?n.toNumber():n}else i.eventTime=t.longs===String?"0":0;i.transcriptionRegion="",i.transcriptionConfiguration="",i.message=""}return null!=e.type&&e.hasOwnProperty("type")&&(i.type=t.enums===String?void 0===c.SdkTranscriptionStatus.Type[e.type]?e.type:c.SdkTranscriptionStatus.Type[e.type]:e.type),null!=e.eventTime&&e.hasOwnProperty("eventTime")&&("number"==typeof e.eventTime?i.eventTime=t.longs===String?String(e.eventTime):e.eventTime:i.eventTime=t.longs===String?d.Long.prototype.toString.call(e.eventTime):t.longs===Number?new d.LongBits(e.eventTime.low>>>0,e.eventTime.high>>>0).toNumber():e.eventTime),null!=e.transcriptionRegion&&e.hasOwnProperty("transcriptionRegion")&&(i.transcriptionRegion=e.transcriptionRegion),null!=e.transcriptionConfiguration&&e.hasOwnProperty("transcriptionConfiguration")&&(i.transcriptionConfiguration=e.transcriptionConfiguration),null!=e.message&&e.hasOwnProperty("message")&&(i.message=e.message),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptionStatus"},e.Type=function(){var e={},t=Object.create(e);return t[e[1]="STARTED"]=1,t[e[2]="INTERRUPTED"]=2,t[e[3]="RESUMED"]=3,t[e[4]="STOPPED"]=4,t[e[5]="FAILED"]=5,t}(),e}(),c.SdkTranscriptEvent=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}var t;return e.prototype.status=null,e.prototype.transcript=null,Object.defineProperty(e.prototype,"Event",{get:d.oneOfGetter(t=["status","transcript"]),set:d.oneOfSetter(t)}),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.status&&Object.hasOwnProperty.call(e,"status")&&c.SdkTranscriptionStatus.encode(e.status,t.uint32(10).fork()).ldelim(),null!=e.transcript&&Object.hasOwnProperty.call(e,"transcript")&&c.SdkTranscript.encode(e.transcript,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptEvent;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.status=c.SdkTranscriptionStatus.decode(e,e.uint32());break;case 2:n.transcript=c.SdkTranscript.decode(e,e.uint32());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";var t={};if(null!=e.status&&e.hasOwnProperty("status")&&(t.Event=1,i=c.SdkTranscriptionStatus.verify(e.status)))return"status."+i;if(null!=e.transcript&&e.hasOwnProperty("transcript")){if(1===t.Event)return"Event: multiple values";var i;if(t.Event=1,i=c.SdkTranscript.verify(e.transcript))return"transcript."+i}return null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptEvent)return e;var t=new c.SdkTranscriptEvent;if(null!=e.status){if("object"!=typeof e.status)throw TypeError(".SdkTranscriptEvent.status: object expected");t.status=c.SdkTranscriptionStatus.fromObject(e.status)}if(null!=e.transcript){if("object"!=typeof e.transcript)throw TypeError(".SdkTranscriptEvent.transcript: object expected");t.transcript=c.SdkTranscript.fromObject(e.transcript)}return t},e.toObject=function(e,t){t||(t={});var i={};return null!=e.status&&e.hasOwnProperty("status")&&(i.status=c.SdkTranscriptionStatus.toObject(e.status,t),t.oneofs&&(i.Event="status")),null!=e.transcript&&e.hasOwnProperty("transcript")&&(i.transcript=c.SdkTranscript.toObject(e.transcript,t),t.oneofs&&(i.Event="transcript")),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptEvent"},e}(),c.SdkTranscriptFrame=function(){function e(e){if(this.events=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.events=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.events&&e.events.length)for(var i=0;i<e.events.length;++i)c.SdkTranscriptEvent.encode(e.events[i],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkTranscriptFrame;e.pos<i;){var r=e.uint32();r>>>3==1?(n.events&&n.events.length||(n.events=[]),n.events.push(c.SdkTranscriptEvent.decode(e,e.uint32()))):e.ski
vendor: 7,355 bytes, line 2138
2138pType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.events&&e.hasOwnProperty("events")){if(!Array.isArray(e.events))return"events: array expected";for(var t=0;t<e.events.length;++t){var i=c.SdkTranscriptEvent.verify(e.events[t]);if(i)return"events."+i}}return null},e.fromObject=function(e){if(e instanceof c.SdkTranscriptFrame)return e;var t=new c.SdkTranscriptFrame;if(e.events){if(!Array.isArray(e.events))throw TypeError(".SdkTranscriptFrame.events: array expected");t.events=[];for(var i=0;i<e.events.length;++i){if("object"!=typeof e.events[i])throw TypeError(".SdkTranscriptFrame.events: object expected");t.events[i]=c.SdkTranscriptEvent.fromObject(e.events[i])}}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.events=[]),e.events&&e.events.length){i.events=[];for(var n=0;n<e.events.length;++n)i.events[n]=c.SdkTranscriptEvent.toObject(e.events[n],t)}return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkTranscriptFrame"},e}(),c.SdkRemoteVideoUpdateFrame=function(){function e(e){if(this.addedOrUpdatedVideoSubscriptions=[],this.removedVideoSubscriptionMids=[],e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.addedOrUpdatedVideoSubscriptions=d.emptyArray,e.prototype.removedVideoSubscriptionMids=d.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=a.create()),null!=e.addedOrUpdatedVideoSubscriptions&&e.addedOrUpdatedVideoSubscriptions.length)for(var i=0;i<e.addedOrUpdatedVideoSubscriptions.length;++i)c.SdkVideoSubscriptionConfiguration.encode(e.addedOrUpdatedVideoSubscriptions[i],t.uint32(10).fork()).ldelim();if(null!=e.removedVideoSubscriptionMids&&e.removedVideoSubscriptionMids.length)for(i=0;i<e.removedVideoSubscriptionMids.length;++i)t.uint32(18).string(e.removedVideoSubscriptionMids[i]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkRemoteVideoUpdateFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.addedOrUpdatedVideoSubscriptions&&n.addedOrUpdatedVideoSubscriptions.length||(n.addedOrUpdatedVideoSubscriptions=[]),n.addedOrUpdatedVideoSubscriptions.push(c.SdkVideoSubscriptionConfiguration.decode(e,e.uint32()));break;case 2:n.removedVideoSubscriptionMids&&n.removedVideoSubscriptionMids.length||(n.removedVideoSubscriptionMids=[]),n.removedVideoSubscriptionMids.push(e.string());break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.addedOrUpdatedVideoSubscriptions&&e.hasOwnProperty("addedOrUpdatedVideoSubscriptions")){if(!Array.isArray(e.addedOrUpdatedVideoSubscriptions))return"addedOrUpdatedVideoSubscriptions: array expected";for(var t=0;t<e.addedOrUpdatedVideoSubscriptions.length;++t){var i=c.SdkVideoSubscriptionConfiguration.verify(e.addedOrUpdatedVideoSubscriptions[t]);if(i)return"addedOrUpdatedVideoSubscriptions."+i}}if(null!=e.removedVideoSubscriptionMids&&e.hasOwnProperty("removedVideoSubscriptionMids")){if(!Array.isArray(e.removedVideoSubscriptionMids))return"removedVideoSubscriptionMids: array expected";for(t=0;t<e.removedVideoSubscriptionMids.length;++t)if(!d.isString(e.removedVideoSubscriptionMids[t]))return"removedVideoSubscriptionMids: string[] expected"}return null},e.fromObject=function(e){if(e instanceof c.SdkRemoteVideoUpdateFrame)return e;var t=new c.SdkRemoteVideoUpdateFrame;if(e.addedOrUpdatedVideoSubscriptions){if(!Array.isArray(e.addedOrUpdatedVideoSubscriptions))throw TypeError(".SdkRemoteVideoUpdateFrame.addedOrUpdatedVideoSubscriptions: array expected");t.addedOrUpdatedVideoSubscriptions=[];for(var i=0;i<e.addedOrUpdatedVideoSubscriptions.length;++i){if("object"!=typeof e.addedOrUpdatedVideoSubscriptions[i])throw TypeError(".SdkRemoteVideoUpdateFrame.addedOrUpdatedVideoSubscriptions: object expected");t.addedOrUpdatedVideoSubscriptions[i]=c.SdkVideoSubscriptionConfiguration.fromObject(e.addedOrUpdatedVideoSubscriptions[i])}}if(e.removedVideoSubscriptionMids){if(!Array.isArray(e.removedVideoSubscriptionMids))throw TypeError(".SdkRemoteVideoUpdateFrame.removedVideoSubscriptionMids: array expected");for(t.removedVideoSubscriptionMids=[],i=0;i<e.removedVideoSubscriptionMids.length;++i)t.removedVideoSubscriptionMids[i]=String(e.removedVideoSubscriptionMids[i])}return t},e.toObject=function(e,t){t||(t={});var i={};if((t.arrays||t.defaults)&&(i.addedOrUpdatedVideoSubscriptions=[],i.removedVideoSubscriptionMids=[]),e.addedOrUpdatedVideoSubscriptions&&e.addedOrUpdatedVideoSubscriptions.length){i.addedOrUpdatedVideoSubscriptions=[];for(var n=0;n<e.addedOrUpdatedVideoSubscriptions.length;++n)i.addedOrUpdatedVideoSubscriptions[n]=c.SdkVideoSubscriptionConfiguration.toObject(e.addedOrUpdatedVideoSubscriptions[n],t)}if(e.removedVideoSubscriptionMids&&e.removedVideoSubscriptionMids.length)for(i.removedVideoSubscriptionMids=[],n=0;n<e.removedVideoSubscriptionMids.length;++n)i.removedVideoSubscriptionMids[n]=e.removedVideoSubscriptionMids[n];return i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkRemoteVideoUpdateFrame"},e}(),c.SdkVideoQualityAdaptationPreference=function(){var e={},t=Object.create(e);return t[e[1]="BALANCED"]=1,t[e[2]="MAINTAIN_FRAMERATE"]=2,t[e[3]="MAINTAIN_RESOLUTION"]=3,t}(),c.SdkVideoSubscriptionConfiguration=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.mid="",e.prototype.attendeeId="",e.prototype.streamId=0,e.prototype.priority=0,e.prototype.targetBitrateKbps=0,e.prototype.groupId=0,e.prototype.qualityAdaptationPreference=1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t.uint32(10).string(e.mid),null!=e.attendeeId&&Object.hasOwnProperty.call(e,"attendeeId")&&t.uint32(18).string(e.attendeeId),null!=e.streamId&&Object.hasOwnProperty.call(e,"streamId")&&t.uint32(24).uint32(e.streamId),null!=e.priority&&Object.hasOwnProperty.call(e,"priority")&&t.uint32(32).uint32(e.priority),null!=e.targetBitrateKbps&&Object.hasOwnProperty.call(e,"targetBitrateKbps")&&t.uint32(40).uint32(e.targetBitrateKbps),null!=e.groupId&&Object.hasOwnProperty.call(e,"groupId")&&t.uint32(48).uint32(e.groupId),null!=e.qualityAdaptationPreference&&Object.hasOwnProperty.call(e,"qualityAdaptationPreference")&&t.uint32(56).int32(e.qualityAdaptationPreference),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkVideoSubscriptionConfiguration;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.mid=e.string();break;case 2:n.attendeeId=e.string();break;case 3:n.streamId=e.uint32();break;case 4:n.priority=e.uint32();break;case 5:n.targetBitrateKbps=e.uint32();break;case 6:n.groupId=e.uint32();break;
2138case 7:n.qualityAdaptationPreference=e.int32();break;default:e.skipType(7&r)}}if(!n.hasOwnProperty("mid"))throw d.ProtocolError("missing required 'mid'",{instance:n});return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(!d.isString(e.mid))return"mid: string expected";if(null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&!d.isString(e.attendeeId))return"attendeeId: string expected";if(null!=e.streamId&&e.hasOwnProperty("streamId")&&!d.isInteger(e.streamId))return"streamId: integer expected";if(null!=e.priority&&e.hasOwnProperty("priority")&&!d.isInteger(e.priority))return"priority: integer expected";if(null!=e.targetBitrateKbps&&e.hasOwnProperty("targetBitrateKbps")&&!d.isInteger(e.targetBitrateKbps))return"targetBitrateKbps: integer expected";if(null!=e.groupId&&e.hasOwnProperty("groupId")&&!d.isInteger(e.groupId))return"groupId: integer expected";if(null!=e.qualityAdaptationPreference&&e.hasOwnProperty("qualityAdaptationPreference"))switch(e.qualityAdaptationPreference){default:return"qualityAdaptationPreference: enum value expected";case 1:case 2:case 3:}return null},e.fromObject=function(e){if(e instanceof c.SdkVideoSubscriptionConfiguration)return e;var t=new c.SdkVideoSubscriptionConfiguration;switch(null!=e.mid&&(t.mid=String(e.mid)),null!=e.attendeeId&&(t.attendeeId=String(e.attendeeId)),null!=e.streamId&&(t.streamId=e.streamId>>>0),null!=e.priority&&(t.priority=e.priority>>>0),null!=e.targetBitrateKbps&&(t.targetBitrateKbps=e.targetBitrateKbps>>>0),null!=e.groupId&&(t.groupId=e.groupId>>>0),e.qualityAdaptationPreference){default:if("number"==typeof e.qualityAdaptationPreference){t.qualityAdaptationPreference=e.qualityAdaptationPreference;break}break;case"BALANCED":case 1:t.qualityAdaptationPreference=1;break;case"MAINTAIN_FRAMERATE":case 2:t.qualityAdaptationPreference=2;break;case"MAINTAIN_RESOLUTION":case 3:t.qualityAdaptationPreference=3}return t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.mid="",i.attendeeId="",i.streamId=0,i.priority=0,i.targetBitrateKbps=0,i.groupId=0,i.qualityAdaptationPreference=t.enums===String?"BALANCED":1),null!=e.mid&&e.hasOwnProperty("mid")&&(i.mid=e.mid),null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&(i.attendeeId=e.attendeeId),null!=e.streamId&&e.hasOwnProperty("streamId")&&(i.streamId=e.streamId),null!=e.priority&&e.hasOwnProperty("priority")&&(i.priority=e.priority),null!=e.targetBitrateKbps&&e.hasOwnProperty("targetBitrateKbps")&&(i.targetBitrateKbps=e.targetBitrateKbps),null!=e.groupId&&e.hasOwnProperty("groupId")&&(i.groupId=e.groupId),null!=e.qualityAdaptationPreference&&e.hasOwnProperty("qualityAdaptationPreference")&&(i.qualityAdaptationPreference=t.enums===String?void 0===c.SdkVideoQualityAdaptationPreference[e.qualityAdaptationPreference]?e.qualityAdaptationPreference:c.SdkVideoQualityAdaptationPreference[e.qualityAdaptationPreference]:e.qualityAdaptationPreference),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkVideoSubscriptionConfiguration"},e}(),c.SdkNotificationFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.level=3,e.prototype.message="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.level&&Object.hasOwnProperty.call(e,"level")&&t.uint32(8).int32(e.level),null!=e.message&&Object.hasOwnProperty.call(e,"message")&&t.uint32(18).string(e.message),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkNotificationFrame;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.level=e.int32();break;case 2:n.message=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.level&&e.hasOwnProperty("level"))switch(e.level){default:return"level: enum value expected";case 1:case 2:case 3:}return null!=e.message&&e.hasOwnProperty("message")&&!d.isString(e.message)?"message: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkNotificationFrame)return e;var t=new c.SdkNotificationFrame;switch(e.level){case"INFO":case 1:t.level=1;break;case"WARNING":case 2:t.level=2;break;default:if("number"==typeof e.level){t.level=e.level;break}break;case"ERROR":case 3:t.level=3}return null!=e.message&&(t.message=String(e.message)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.level=t.enums===String?"ERROR":3,i.message=""),null!=e.level&&e.hasOwnProperty("level")&&(i.level=t.enums===String?void 0===c.SdkNotificationFrame.NotificationLevel[e.level]?e.level:c.SdkNotificationFrame.NotificationLevel[e.level]:e.level),null!=e.message&&e.hasOwnProperty("message")&&(i.message=e.message),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkNotificationFrame"},e.NotificationLevel=function(){var e={},t=Object.create(e);return t[e[1]="INFO"]=1,t[e[2]="WARNING"]=2,t[e[3]="ERROR"]=3,t}(),e}(),c.SdkPrimaryMeetingJoinFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.credentials=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.credentials&&Object.hasOwnProperty.call(e,"credentials")&&c.SdkMeetingSessionCredentials.encode(e.credentials,t.uint32(10).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkPrimaryMeetingJoinFrame;e.pos<i;){var r=e.uint32();r>>>3==1?n.credentials=c.SdkMeetingSessionCredentials.decode(e,e.uint32()):e.ski
2138pType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.credentials&&e.hasOwnProperty("credentials")){var t=c.SdkMeetingSessionCredentials.verify(e.credentials);if(t)return"credentials."+t}return null},e.fromObject=function(e){if(e instanceof c.SdkPrimaryMeetingJoinFrame)return e;var t=new c.SdkPrimaryMeetingJoinFrame;if(null!=e.credentials){if("object"!=typeof e.credentials)throw TypeError(".SdkPrimaryMeetingJoinFrame.credentials: object expected");t.credentials=c.SdkMeetingSessionCredentials.fromObject(e.credentials)}return t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.credentials=null),null!=e.credentials&&e.hasOwnProperty("credentials")&&(i.credentials=c.SdkMeetingSessionCredentials.toObject(e.credentials,t)),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkPrimaryMeetingJoinFrame"},e}(),c.SdkPrimaryMeetingJoinAckFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkPrimaryMeetingJoinAckFrame;e.pos<i;){var r=e.uint32();e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof c.SdkPrimaryMeetingJoinAckFrame?e:new c.SdkPrimaryMeetingJoinAckFrame},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkPrimaryMeetingJoinAckFrame"},e}(),c.SdkPrimaryMeetingLeaveFrame=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkPrimaryMeetingLeaveFrame;e.pos<i;){var r=e.uint32();e.skipType(7&r)}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null},e.fromObject=function(e){return e instanceof c.SdkPrimaryMeetingLeaveFrame?e:new c.SdkPrimaryMeetingLeaveFrame},e.toObject=function(){return{}},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkPrimaryMeetingLeaveFrame"},e}(),c.SdkMeetingSessionCredentials=function(){function e(e){if(e)for(var t=Object.keys(e),i=0;i<t.length;++i)null!=e[t[i]]&&(this[t[i]]=e[t[i]])}return e.prototype.attendeeId="",e.prototype.externalUserId="",e.prototype.joinToken="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=a.create()),null!=e.attendeeId&&Object.hasOwnProperty.call(e,"attendeeId")&&t.uint32(10).string(e.attendeeId),null!=e.externalUserId&&Object.hasOwnProperty.call(e,"externalUserId")&&t.uint32(18).string(e.externalUserId),null!=e.joinToken&&Object.hasOwnProperty.call(e,"joinToken")&&t.uint32(26).string(e.joinToken),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof s||(e=s.create(e));for(var i=void 0===t?e.len:e.pos+t,n=new c.SdkMeetingSessionCredentials;e.pos<i;){var r=e.uint32();switch(r>>>3){case 1:n.attendeeId=e.string();break;case 2:n.externalUserId=e.string();break;case 3:n.joinToken=e.string();break;default:e.skipType(7&r)}}return n},e.decodeDelimited=function(e){return e instanceof s||(e=new s(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&!d.isString(e.attendeeId)?"attendeeId: string expected":null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&!d.isString(e.externalUserId)?"externalUserId: string expected":null!=e.joinToken&&e.hasOwnProperty("joinToken")&&!d.isString(e.joinToken)?"joinToken: string expected":null},e.fromObject=function(e){if(e instanceof c.SdkMeetingSessionCredentials)return e;var t=new c.SdkMeetingSessionCredentials;return null!=e.attendeeId&&(t.attendeeId=String(e.attendeeId)),null!=e.externalUserId&&(t.externalUserId=String(e.externalUserId)),null!=e.joinToken&&(t.joinToken=String(e.joinToken)),t},e.toObject=function(e,t){t||(t={});var i={};return t.defaults&&(i.attendeeId="",i.externalUserId="",i.joinToken=""),null!=e.attendeeId&&e.hasOwnProperty("attendeeId")&&(i.attendeeId=e.attendeeId),null!=e.externalUserId&&e.hasOwnProperty("externalUserId")&&(i.externalUserId=e.externalUserId),null!=e.joinToken&&e.hasOwnProperty("joinToken")&&(i.joinToken=e.joinToken),i},e.prototype.toJSON=function(){return this.constructor.toObject(this,o.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SdkMeetingSessionCredentials"},e}(),c.SdkVideoCodecCapability=function(){var e={},t=Object.create(e);return t[e[1]="VP8"]=1,t[e[2]="H264_BASELINE_PROFILE"]=2,t[e[3]="H264_CONSTRAINED_BASELINE_PROFILE"]=3,t[e[4]="H264_MAIN_PROFILE"]=4,t[e[5]="H264_HIGH_PROFILE"]=5,t[e[6]="H264_CONSTRAINED_HIGH_PROFILE"]=6,t[e[8]="VP9_PROFILE_0"]=8,t[e[11]="AV1_MAIN_PROFILE"]=11,t}(),e.exports=c,d.Long=void 0,o.configure()},1834(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(4049),s=i(76572),a=r(i(40961));t.default=class{constructor(e){this.chimeClient=e}makeTwoDigits(e){return e>9?e.toString():"0"+e.toString()}hmac(e,t){const i=new o.Sha256(t);return i.update(e),i.digest()}getDateTimeString(){const e=new Date;return e.getUTCFullYear()+this.makeTwoDigits(e.getUTCMonth()+1)+this.makeTwoDigits(e.getUTCDate())+"T"+this.makeTwoDigits(e.getUTCHours())+this.makeTwoDigits(e.getUTCMinutes())+this.makeTwoDigits(e.getUTCSeconds())+"Z"}getDateString(e){return e.substring(0,e.indexOf("T"))}getSignatureKey(e,t,i,r){return n(this,void 0,void 0,function*(){const n=yield this.hmac(t,"AWS4"+e),o=yield this.hmac(i,n),s=yield this.hmac(r,o);return yield this.hmac("aws4_request",s)})}signURL(e,t,i,r,o,d,c){return n(this,void 0,void 0,function*(){const n=this.getDateTimeString(),l=this.getDateString(n);let u="";u=this.chimeClient.config.region instanceof Function?yield this.chimeClient.config.region():this.chimeClient.config.region;const h="host:"+r.toLowerCase()+"\n",p=l+"/"+u+"/"+i+"/aws4_request";let f;f=this.chimeClient.config.credentials instanceof Function?yield this.chimeClient.config.credentials():this.chimeClient.config.credentials;let m=new Map;m.set("X-Amz-Algorithm",["AWS4-HMAC-SHA256"]),m.set("X-Amz-Credential",[encodeURIComponent(f.accessKeyId+"/"+p)]),m.set("X-Amz-Date",[n]),m.set("X-Amz-Expires",["10"]),m.set("X-Amz-SignedHeaders",["host"]),f.sessionToken&&m.set("X-Amz-Security-Token",[encodeURIComponent(f.sessionToken)]),m.set(a.default.X_AMZN_VERSION,[encodeURIComponent(a.default.sdkVersion)]),m.set(a.default.X_AMZN_USER_AGENT,[encodeURIComponent(a.default.sdkUserAgentLowResolution)]),null==c||c.forEach((e,t)=>{const i=encodeURIComponent(t);e.sort().forEach(e=>{m.has(i)||m.set(i,[]),m.get(i).push(encodeURIComponent(e))})});let g="";m=new Map([...m.entries()].sort()),m.forEach((e,t)=>{e.forEach(e=>{g.length&&(g+="&"),g+=t+"="+e})});const v=e+"\n"+o+"\n"+g+"\n"+h+"\nhost\n"+s.toHex(yield this.hmac(d)),b=s.toHex(yield this.hmac(v)),y="AWS4-HMAC-SHA256\n"+n+"\n"+l+"/"+u+"/"+i+"/aws4_request\n"+b,S=yield this.getSignatureKey(f.secretAccessKey,l,u,i),w=s.toHex(yield this.hmac(y,S));return t+"://"+r+o+"?"+g+"&X-Amz-Signature="+w})}}},3739(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SimulcastLayers=void 0,function(e){e[e.Low=0]="Low",e[e.LowAndMedium=1]="LowAndMedium",e[e.LowAndHigh=2]="LowAndHigh",e[e.Medium=3]="Medium",e[e.MediumAndHigh=4]="MediumAndHigh",e[e.High=5]="High"}(i=t.SimulcastLayers||(t.SimulcastLayers={})),t.default=i},65479(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.AudioLogEvent=void 0,function(e){e[e.DeviceChanged=0]="DeviceChanged",e[e.MutedLocal=1]="MutedLocal",e[e.UnmutedLocal=2]="UnmutedLocal",e[e.Connected=3]="Connected",e[e.ConnectFailed=4]="ConnectFailed",e[e.RedmicStartLoss=5]="RedmicStartLoss",e[e.RedmicEndLoss=6]="RedmicEndLoss"}(i=t.AudioLogEvent||(t.AudioLogEvent={})),t.default=i},74977(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(48107)),s=r(i(19542)),a=r(i(53551)),d=r(i(39358)),c=r(i(86216)),l=r(i(74015)),u=r(i(318)),h=r(i(2228)),p=i(38359),f=i(89419),m=r(i(65479)),g=r(i(37282));class v{constructor(e,t,i=v.INTERVAL_MS){this.audioVideoController=e,this.logger=t,this.interval=i,this.intervalScheduler=null,this.redRecoveryMetricReport=new d.default,this.lastRedRecoveryMetricReportConsumedTimestampMs=0,this.videoCodecDegradationHighEncodeCpuCount=0,this.videoCodecDegradationEncodeFailureCount=0,this.videoCodecDegradationConcurrentSendersCount=0,this.resolutionMap=new Map,this.metricsAddTime=(e,t,i)=>{},this.metricsLogEvent=(e,t)=>
2138{}}toAttribute(e){return this.toSuffix(e).substring(1)}toSuffix(e){return e.toLowerCase()===e?`_${e}`:e.toUpperCase()===e?`_${e.toLowerCase()}`:e.replace(/([A-Z][a-z]+)/g,function(e){return`_${e}`}).replace(/([A-Z][A-Z]+)/g,function(e){return`_${e}`}).toLowerCase()}logLatency(e,t,i){const n=this.toSuffix(e);this.logEventTime("meeting"+n,t,i)}logStateTimeout(e,t){const i=this.toSuffix(e);this.logEvent("meeting_session_state_timeout",Object.assign(Object.assign({},t),{state:`state${i}`}))}logAudioEvent(e,t){const i="audio"+this.toSuffix(m.default[e]);this.logEvent(i,t)}logVideoEvent(e,t){const i="video"+this.toSuffix(g.default[e]);this.logEvent(i,t)}logEventTime(e,t,i={}){const n=Object.assign(Object.assign({},i),{call_id:this.audioVideoController.configuration.meetingId,client_type:v.CLIENT_TYPE,metric_type:"latency"});this.logger.debug(()=>`[StatsCollector] ${e}: ${JSON.stringify(n)}`),this.metricsAddTime(e,t,n)}logMeetingSessionStatus(e){const t=`${e.statusCode()}`;this.logEvent(t);const i={status:t,status_code:`${e.statusCode()}`};this.logEvent("meeting_session_status",i),e.isTerminal()&&this.logEvent("meeting_session_stopped",i),e.isAudioConnectionFailure()&&this.logEvent("meeting_session_audio_failed",i),e.isFailure()&&this.logEvent("meeting_session_failed",i)}logLifecycleEvent(e,t){const i={lifecycle_event:`lifecycle${this.toSuffix(l.default[e])}`,lifecycle_event_code:`${e}`,lifecycle_event_condition:`condition${this.toSuffix(u.default[t])}`,lifecycle_event_condition_code:`${t}`};this.logEvent("meeting_session_lifecycle",i)}logEvent(e,t={}){const i=Object.assign(Object.assign({},t),{call_id:this.audioVideoController.configuration.meetingId,client_type:v.CLIENT_TYPE});this.logger.debug(()=>`[StatsCollector] ${e}: ${JSON.stringify(i)}`),this.metricsLogEvent(e,i)}start(e,t){return!this.intervalScheduler&&(this.logger.info("Starting StatsCollector"),this.signalingClient=e,this.videoStreamIndex=t,this.clientMetricReport=new o.default(this.logger,this.videoStreamIndex,this.audioVideoController.configuration.credentials.attendeeId),this.intervalScheduler=new h.default(this.interval),this.intervalScheduler.start(()=>n(this,void 0,void 0,function*(){yield this.getStatsWrapper()})),!0)}stop(){this.logger.info("Stopping StatsCollector"),this.intervalScheduler&&this.intervalScheduler.stop(),this.intervalScheduler=null}videoTileResolutionDidChange(e,t,i){this.resolutionMap.set(e,{width:t,height:i})}videoTileUnbound(e){this.resolutionMap.delete(e)}updateMetricValues(e,t){const i=t?this.clientMetricReport.streamMetricReports[Number(e.ssrc)]:this.clientMetricReport.globalMetricReport;let n;if(t){const t=i.mediaType,r=i.direction;n=this.clientMetricReport.getMetricMap(t,r),t===a.default.VIDEO&&r===s.default.DOWNSTREAM&&this.addRenderResolutionToVideoDownstreamMetrics(i,e.ssrc)}else n=this.clientMetricReport.getMetricMap();for(const t in e)t in n&&("number"==typeof e[t]?(i.previousMetrics[t]=i.currentMetrics[t],i.currentMetrics[t]=e[t]):"string"==typeof e[t]?i.currentStringMetrics[t]=e[t]:"object"==typeof e[t]?(i.previousObjectMetrics[t]=void 0===i.currentObjectMetrics[t]?e[t]:i.currentObjectMetrics[t],i.currentObjectMetrics[t]=e[t]):this.logger.error(`Unknown metric value type ${typeof e[t]} for metric ${t}`))}processRawMetricReports(e){this.clientMetricReport.currentSsrcs={};const t=Date.now();for(const t of e){if(this.isVideoSourceMetricReport(t))continue;const e=this.isStreamRawMetricReport(t);if(e){const e=this.clientMetricReport.streamMetricReports[Number(t.ssrc)];if(e)e.mediaType===a.default.VIDEO&&e.direction===s.default.UPSTREAM?e.streamId=this.videoStreamIndex.sendVideoStreamIdFromRid(t.rid):e.streamId=this.videoStreamIndex.streamIdForSSRC(Number(t.ssrc));else{const e=new c.default;e.mediaType=this.getMediaType(t),e.direction=this.getDirectionType(t),e.mediaType===a.default.VIDEO&&e.direction===s.default.UPSTREAM?e.streamId=this.videoStreamIndex.sendVideoStreamIdFromRid(t.rid):this.videoStreamIndex.allStreams().empty()||(e.streamId=this.videoStreamIndex.streamIdForSSRC(Number(t.ssrc)),void 0!==this.videoStreamIndex.groupIdForSSRC&&(e.groupId=this.videoStreamIndex.groupIdForSSRC(Number(t.ssrc)))),this.clientMetricReport.streamMetricReports[Number(t.ssrc)]=e}this.clientMetricReport.currentSsrcs[Number(t.ssrc)]=1}this.updateMetricValues(t,e)}this.clientMetricReport.removeDestroyedSsrcs(),this.clientMetricReport.previousTimestampMs=this.clientMetricReport.currentTimestampMs,this.clientMetricReport.currentTimestampMs=t,this.clientMetricReport.print()}addStreamMetricDimensionFrames(e,t){const i=this.clientMetricReport.getStreamDimensionMap();for(const n in t.currentStringMetrics)if(n in i){const r=p.SdkStreamDimension.create();r.type=i[n];const o=p.SdkDimensionValue.create();o.stringValue=t.currentStringMetrics[n],r.value=o,e.dimensions.push(r)}}addMetricFrame(e,t,i,n){const r=i.type,o=i.transform,s=i.source,a=t.streamMetricFrames.length,d=t.streamMetricFrames[a-1];if(r){const i=p.SdkMetric.create();
2138i.type=r,i.value=o(s||e,n),n?d.metrics.push(i):t.globalMetrics.push(i)}}addGlobalMetricsToProtobuf(e){const t=this.clientMetricReport.getMetricMap();for(const i in this.clientMetricReport.globalMetricReport.currentMetrics)this.addMetricFrame(i,e,t[i])}addStreamMetricsToProtobuf(e){for(const t in this.clientMetricReport.streamMetricReports){const i=this.clientMetricReport.streamMetricReports[t],n=p.SdkStreamMetricFrame.create();n.streamId=i.streamId,n.mediaType=i.mediaType===a.default.AUDIO?p.SdkStreamMediaType.AUDIO:p.SdkStreamMediaType.VIDEO,n.metrics=[],this.addStreamMetricDimensionFrames(n,i),e.streamMetricFrames.push(n);const r=this.clientMetricReport.getMetricMap(i.mediaType,i.direction);for(const n in r)this.hasMetricDependenciesInReport(n,i)&&this.addMetricFrame(n,e,r[n],Number(t))}}hasMetricDependenciesInReport(e,t){return"decoderLoss"===e&&void 0!==t.currentMetrics.concealedSamples&&void 0!==t.currentMetrics.totalSamplesReceived||"jitterBufferMs"===e&&void 0!==t.currentMetrics.jitterBufferDelay&&void 0!==t.currentMetrics.jitterBufferEmittedCount||e in t.currentMetrics||e in t.currentStringMetrics||e in t.currentObjectMetrics}makeClientMetricProtobuf(){const e=p.SdkClientMetricFrame.create();return e.globalMetrics=[],e.streamMetricFrames=[],this.addGlobalMetricsToProtobuf(e),this.addStreamMetricsToProtobuf(e),e}sendClientMetricProtobuf(e){this.signalingClient.sendClientMetrics(e)}isStreamRawMetricReport(e){return["inbound-rtp","inbound-rtp-red","outbound-rtp","remote-inbound-rtp","remote-outbound-rtp"].includes(e.type)||this.isVideoSourceMetricReport(e)}getMediaType(e){return"audio"===e.kind?a.default.AUDIO:a.default.VIDEO}getDirectionType(e){const{type:t}=e;return"inbound-rtp"===t||"remote-outbound-rtp"===t||"inbound-rtp-red"===t?s.default.DOWNSTREAM:s.default.UPSTREAM}isValidStandardRawMetric(e){return"inbound-rtp"===e.type||"inbound-rtp-red"===e.type||"outbound-rtp"===e.type||"remote-inbound-rtp"===e.type||"remote-outbound-rtp"===e.type||"candidate-pair"===e.type&&"succeeded"===e.state||"media-source"===e.type}isValidSsrc(e){let t=!0;return this.isStreamRawMetricReport(e)&&this.getDirectionType(e)===s.default.DOWNSTREAM&&this.getMediaType(e)===a.default.VIDEO&&(t=this.videoStreamIndex.streamIdForSSRC(Number(e.ssrc))>0),t}isValidRawMetricReport(e){return this.isValidStandardRawMetric(e)&&this.isValidSsrc(e)}filterRawMetricReports(e){const t=[];for(const i of e)this.isValidRawMetricReport(i)&&t.push(i);return t}handleRawMetricReports(e){const t=this.filterRawMetricReports(e);this.logger.debug(()=>`Filtered raw metrics : ${JSON.stringify(t)}`);const i=[];this.maybeAddRedRecoveryMetrics(i);const n=this.getVideoUpstreamSsrcFromRawMetricReports(t);null!==n&&this.addVideoCodecDegradationMetrics(i,n),this.clientMetricReport.customStatsReports=i,t.push(...i),this.processRawMetricReports(t),this.updateVideoSourceMetrics(t);const r=this.makeClientMetricProtobuf();this.sendClientMetricProtobuf(r),this.audioVideoController.forEachObserver(e=>{f.Maybe.of(e.metricsDidReceive).map(t=>t.bind(e)(this.clientMetricReport.clone()))})}getStatsWrapper(){return n(this,void 0,void 0,function*(){if(!this.audioVideoController.rtcPeerConnection)return;const e=[];try{const t=yield this.audioVideoController.rtcPeerConnection.getStats();this.clientMetricReport.rtcStatsReport=t,t.forEach(t=>{e.push(t)}),this.handleRawMetricReports(e)}catch(e){this.logger.error(e.message)}})}overrideObservableMetric(e,t){this.clientMetricReport.overrideObservableMetric(e,t)}recoveryMetricsDidReceive(e){this.redRecoveryMetricReport=e}maybeAddRedRecoveryMetrics(e){this.redRecoveryMetricReport.currentTimestampMs!==this.lastRedRecoveryMetricReportConsumedTimestampMs&&(e.push({kind:"audio",type:"inbound-rtp-red",ssrc:this.redRecoveryMetricReport.ssrc,timestamp:this.redRecoveryMetricReport.currentTimestampMs,totalAudioPacketsLost:this.redRecoveryMetricReport.totalAudioPacketsLost,totalAudioPacketsExpected:this.redRecoveryMetricReport.totalAudioPacketsExpected,totalAudioPacketsRecoveredRed:this.redRecoveryMetricReport.totalAudioPacketsRecoveredRed,totalAudioPacketsRecoveredFec:this.redRecoveryMetricReport.totalAudioPacketsRecoveredFec}),this.lastRedRecoveryMetricReportConsumedTimestampMs=this.redRecoveryMetricReport.currentTimestampMs)}videoCodecDegradationHighEncodeCpuDidReceive(){this.videoCodecDegradationHighEncodeCpuCount+=1}videoCodecDegradationEncodeFailureDidReceive(){this.videoCodecDegradationEncodeFailureCount+=1}videoCodecDegradationConcurrentSendersDidReceive(){this.videoCodecDegradationConcurrentSendersCount+=1}addVideoCodecDegradationMetrics(e,t){e.push({kind:"video",type:"outbound-rtp",ssrc:t,timestamp:Date.now(),videoCodecDegradationHighEncodeCpu:this.videoCodecDegradationHighEncodeCpuCount,videoCodecDegradationEncodeFailure:this.videoCodecDegradationEncodeFailureCount,videoCodecDegradationConcurrentSenders:this.videoCodecDegradationConcurrentSendersCount}),this.videoCodecDegradationHighEncodeCpuCount=0,this.videoCodecDegradationEncodeFailureCount=0,this.videoCodecDegradationConcurrentSendersCount=0}getVideoUpstreamSsrcFromRawMetricReports(e){for(const t of e)if(this.isStreamRawMetricReport(t)&&this.getMediaType(t)===a.default.VIDEO&&this.getDirectionType(t)===s.default.UPSTREAM)return t.ssrc;return null}isVideoSourceMetricReport(e){return"media-source"===e.type&&"video"===e.kind}addRenderResolutionToVideoDownstreamMetrics(e,t){const i=this.videoStreamIndex.streamIdForSSRC(Number(t)),n=this.videoStreamIndex.attendeeIdForStreamId(i);void 0!==i&&""!==n?this.resolutionMap.has(n)&&(e.currentMetrics.videoRenderWidth=this.resolutionMap.get(n).width,e.currentMetrics.videoRenderHeight=this.resolutionMap.get(n).height):this.logger.warn(`No attendee found for ssrc ${t}`)}updateVideoSourceMetrics(e){for(const t of e)if(this.isVideoSourceMetricReport(t)){const e=this.clientMetricReport.getVideoUpstreamSsrcs();if(0===e.length)return void this.logger.warn("No video upstream ssrcs found");for(const i of e)this.clientMetricReport.streamMetricReports[i].currentMetrics.videoInputWi
2138dth=t.width,this.clientMetricReport.streamMetricReports[i].currentMetrics.videoInputHeight=t.height}}}t.default=v,v.INTERVAL_MS=1e3,v.CLIENT_TYPE="amazon-chime-sdk-js"},37282(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.VideoLogEvent=void 0,function(e){e[e.InputAttached=0]="InputAttached",e[e.SendingFailed=1]="SendingFailed",e[e.SendingSuccess=2]="SendingSuccess"}(i=t.VideoLogEvent||(t.VideoLogEvent={})),t.default=i},33914(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(37282)),s=r(i(80414));class a extends s.default{constructor(e){super(e.logger),this.context=e,this.taskName="AttachMediaInputTask"}run(){return n(this,void 0,void 0,function*(){const e=this.context.transceiverController;e.setPeer(this.context.peer),e.setupLocalTransceivers();const t=this.context.activeAudioInput;if(t){const i=t.getAudioTracks();this.context.logger.info("attaching audio track to peer connection"),yield e.setAudioInput(i.length?i[0]:null)}else yield e.setAudioInput(null),this.context.logger.info("no audio track");this.setAudioCodecPreferences();const i=this.context.activeVideoInput;if(i){const t=i.getVideoTracks(),n=t.length?t[0]:null;if(this.context.logger.info("attaching video track to peer connection"),yield e.setVideoInput(n),this.context.enableSimulcast&&this.context.videoUplinkBandwidthPolicy){const t=this.context.videoUplinkBandwidthPolicy.chooseEncodingParameters();e.setEncodingParameters(t)}n&&this.context.statsCollector.logVideoEvent(o.default.InputAttached,this.context.videoDeviceInformation)}else yield e.setVideoInput(null),this.context.logger.info("no video track");this.context.videoSubscriptions=e.updateVideoTransceivers(this.context.videoStreamIndex,this.context.videosToReceive),this.context.videoStreamIndex.subscribeFrameSent()})}setAudioCodecPreferences(){const e=window.RTCRtpTransceiver&&"setCodecPreferences"in window.RTCRtpTransceiver.prototype,t=this.context.audioProfile.hasRedundancyEnabled();if(!e)return void this.context.logger.warn("Setting codec preferences not supported");const i=this.context.transceiverController.localAudioTransceiver(),{codecs:n}=RTCRtpSender.getCapabilities("audio");this.context.logger.debug(`Available audio codecs ${JSON.stringify(n,null,4)}`);const r=n.findIndex(e=>"audio/red"===e.mimeType);if(i){if(r>=0){const e=n[r];return n.splice(r,1),t?(n.unshift(e),this.context.logger.info("audio/red set as preferred codec")):this.context.logger.info("audio/red removed from preferred codec"),void i.setCodecPreferences(n)}this.context.logger.info("audio/red codec not supported")}else this.context.logger.error("audio transceiver is null")}}t.default=a},80414(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(19354)),s=r(i(5217));t.default=class{constructor(e){this.logger=e,this.taskName="BaseTask",this.parentTask=null,this.status=s.default.IDLE,this.run=this.baseRun.bind(this,this.run),this.cancel=this.baseCancel.bind(this,this.cancel)}once(...e){return new o.default(this.logger,this,e)}cancel(){}name(){return this.parentTask?`${this.parentTask.name()}/${this.taskName}`:this.taskName}setParent(e){this.parentTask=e}getStatus(){return this.status}logAndThrow(e){throw this.logger.info(e),new Error(e)}baseRun(e){return n(this,void 0,void 0,function*(){try{const t=Date.now();switch(this.logger.info(`running task ${this.name()}`),this.status){case s.default.RUNNING:this.logAndThrow(`${this.name()} is already running`);case s.default.CANCELED:this.logAndThrow(`${this.name()} was canceled before running`);case s.default.FINISHED:this.logAndThrow(`${this.name()} was already finished`)}this.status=s.default.RUNNING,yield e.call(this),this.logger.info(`${this.name()} took ${Math.round(Date.now()-t)} ms`)}catch(e){throw e}finally{this.status!==s.default.CANCELED&&(this.status=s.default.FINISHED)}})}baseCancel(e){this.status!==s.default.CANCELED&&this.status!==s.default.FINISHED?(this.logger.info(`canceling task ${this.name()}`),this.status=s.default.CANCELED,e.call(this)):this.logger.info(`Not canceling ${this.name()}: state is ${this.status}`)}}},94594(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(80414));class s extends o.default{constructor(e){super(e.logger),this.context=e,this.taskName="CleanRestartedSessionTask"}run(){return n(this,void 0,void 0,function*(){this.context.resetConnectionSpecificState()})}}t.default=s},57979(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(10587)),s=r(i(80414));class a extends s.default{constructor(e){super(e.logger),this.context=e,this.taskName="CleanStoppedSessionTask",this.taskCanceler=null}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return n(this,void 0,void 0,function*(){try{this.context.signalingClient.ready()&&(this.context.signalingClient.closeConnection(),yield this.receiveWebSocketClosedEvent())}catch(e){throw e}finally{for(const e of this.context.removableObservers)e.removeObserver();this.context.resetConnectionSpecificState(),this.context.statsCollector.stop(),this.context.statsCollector=null,this.context.connectionMonitor.stop(),this.context.connectionMonitor=null,this.context.videoUplinkBandwidthPolicy.setTransceiverController&&this.context.videoUplinkBandwidthPolicy.setTransceiverController(void 0),this.context.videoDownlinkBandwidthPolicy.bindToTileController&&this.context.videoDownlinkBandwidthPolicy.bindToTileController(void 0);const e=this.context.videoTileController.getLocalVideoTile();e&&e.bindVideoStream("",!0,null,null,null,null),this.context.videoTileController.removeAllVideoTiles()}})}receiveWebSocketClosedEvent(){return new Promise((e,t)=>{const i=new class{constructor(e){this.signalingClient=e}cancel(){this.signalingClient.removeObserver(this),t(new Error("CleanStoppedSessionTask got canceled while waiting for the WebSocket closed event"))}handleSignalingClientEvent(t){t.type===o.default.WebSocketClosed&&(this.signalingClient.removeObserver(this),e())}}(this.context.signalingClient);this.taskCanceler=i,this.context.signalingClient.registerObserver(i)})}}t.default=a},15011(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(80414));class s extends o.default{constructor(e){super(e.logger),this.context=e,this.taskName="CreatePeerConnectionTask",this.removeTrackAddedEventListener=null,this.removeTrackRemovedEventListeners={},this.trackEvents=["ended","mute","unmute","isolationchange","overconstrained"],this.removeVideoTrackEventListeners={},this.trackAddedHandler=e=>{const t=e.track;if(this.context.logger.info(`received track event: kind=${t.kind} id=${t.id} label=${t.label}`),e.transceiver&&"inactive"===e.transceiver.currentDirection)return;if(0===e.streams.length)return void this.context.logger.warn("Track event but no stream");const i=e.streams[0];"audio"===t.kind?this.context.audioMixController.bindAudioStream(i):"video"!==t.kind||this.trackIsVideoInput(t)||this.addRemoteVideoTrack(t,i)}}removeObserver(){this.removeTrackAddedEventListener&&this.removeTrackAddedEventListener();for(const e in this.removeTrackRemovedEventListeners)this.removeTrackRemovedEventListeners[e]()}addPeerConnectionEventLogger(){const e=this.context.peer;e.addEventListener("connectionstatechange",()=>{this.context.logger.info(`peer connection state changed: ${e.connectionState}`)}),e.addEventListener("negotiationneeded",()=>{this.context.logger.info("peer connection negotiation is needed")}),e.addEventListener("icegatheringstatechange",()=>{this.context.logger.info(`peer connection ice gathering state changed: ${e.iceGatheringState}`)}),e.addEventListener("icecandidate",e=>{this.context.logger.info(`peer connection ice candidate: ${e.candidate?e.candidate.candidate:"(null)"}`)}),e.addEventListener("iceconnectionstatechange",()=>{this.context.logger.info(`peer connection ice connection state changed: ${e.iceConnectionState}`)})}run(){return n(this,void 0,void 0,function*(){this.context.removableObservers.push(this);const e=this.context.turnCredentials&&this.context.turnCredentials.uris.length>0?{iceServers:[{urls:this.context.turnCredentials.uris,username:this.context.turnCredentials.username,credential:this.context.turnCredentials.password,credentialType:"password"}],iceTransportPolicy:"relay"}:{};e.bundlePolicy=this.context.browserBehavior.requiresBundlePolicy(),e.sdpSemantics="unified-plan",!!window.RTCRtpScriptTransform||(e.encodedInsertableStreams=this.context.audioProfile.hasRedundancyEnabled()),this.context.peer?this.context.logger.info("reusing peer connection"):(this.context.logger.info("creating new peer connection"),this.context.peer=new RTCPeerConnection(e),this.addPeerConnectionEventLogger()),this.removeTrackAddedEventListener=()=>{this.context.peer&&this.context.peer.removeEventListener("track",this.trackAddedHandler),this.removeTrackAddedEventListener=null},this.context.peer.addEventListener("track",this.trackAddedHandler)})}trackIsVideoInput(e){return!!this.context.transceiverController.useTransceivers()&&(this.logger.debug(()=>"getting video track type"),this.context.transceiverController.trackIsVideoInput(e))}addRemoteVideoTrack(e,t){var i;const n=t.id,r=this.context.videoStreamIndex.attendeeIdForTrack(n);let o,s;if(this.context.videoTileController.getVideoTileForAttendeeId?(s=this.context.videoTileController.getVideoTileForAttendeeId(r),o=!!(null===(i=null==s?void 0:s.state())||void 0===i?void 0:i.boundVideoStream)):o=this.context.videoTileController.haveVideoTileForAttendeeId(r),o)return void this.context.logger.info(`Not adding remote track. Already have tile for attendeeId:  ${r}`);s||(s=this.context.videoTileController.addVideoTile(),this.logger.info(`Created video tile ${s.id()}`));let a=this.context.videoStreamIndex.streamIdForTrack(n);void 0===a&&(this.logger.warn(`stream not found for tile=${s.id()} track=${n}`),a=null);let d,c,l=this.context.videoStreamIndex.groupIdForStreamId(a);void 0===l&&(l=null);for(let i=0;i<this.trackEvents.length;i++){const n=this.trackEvents[i],r=t.getVideoTracks();if(r&&r.length){const t=r[0],i=()=>{this.context.logger.info(`received the ${n} event for tile=${s.id()} id=${e.id} streamId=${a}`),"ended"===n&&this.removeRemoteVideoTrack(e,s.state())};t.addEventListener(n,i),this.removeVideoTrackEventListeners[e.id]||(this.removeVideoTrackEventListeners[e.id]=[]),this.removeVideoTrackEventListeners[e.id].push(()=>{t.removeEventListener(n,i)})}}if(e.getSettings){const t=e.getSettings();d=t.width,c=t.height}else{const t=e.getCapabilities();d=t.width,c=t.height}const u=this.context.videoStreamIndex.externalUserIdForTrack(n);s.bindVideoStream(r,!1,t,d,c,a,u,l),this.logger.info(`video track added, use tile=${s.id()} track=${n} streamId=${a} groupId=${l}`);const h="removetrack",p=t,f=()=>this.removeRemoteVideoTrack(e,s.state());this.removeTrackRemovedEventListeners[e.id]=()=>{p.removeEventListener(h,f),delete this.removeTrackRemovedEventListeners[e.id]},p.addEventListener(h,f)}removeRemoteVideoTrack(e,t){if(this.removeTrackRemovedEventListeners.hasOwnProperty(e.id)){this.removeTrackRemovedEventListeners[e.id]();for(const t of this.removeVideoTrackEventListeners[e.id])t();delete this.removeVideoTrackEventListeners[e.id]}this.logger.info(`video track ended, removing tile=${t.tileId} id=${e.id} stream=${t.streamId}`),t.streamId?this.context.videosPaused.remove(t.streamId):this.logger.warn(`no stream found for tile=${t.tileId}`),this.context.videoTileController.removeVideoTile(t.tileId)}}t.default=s,s.REMOVE_HANDLER_INTERVAL_MS=1e4},75192(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(77376)),s=r(i(21287)),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="CreateSDPTask"}cancel(){if(this.cancelPromise){const e=new Error(`canceling ${this.name()}`);this.cancelPromise(e),delete this.cancelPromise}}sessionUsesAudio(){var e,t;return!!(null===(t=null===(e=this.context.meetingSessionConfiguration)||void 0===e?void 0:e.urls)||void 0===t?void 0:t.audioHostURL)}sessionUsesVideo(){let e;e=this.context.transceiverController.useTransceivers()?this.context.transceiverController.hasVideoInput():this.context.videoTileController.hasStartedLocalVideoTile();const t=!!this.context.videosToReceive&&!this.context.videosToReceive.empty(),i=e||t;return this.context.logger.info(`uses video: ${i} (enabled: true, sending: ${e}, receiving: ${t})`),i}run(){return n(this,void 0,void 0,function*(){const e={offerToReceiveAudio:this.sessionUsesAudio(),offerToReceiveVideo:this.sessionUsesVideo()};this.logger.info(`peer connection offerOptions: ${JSON.stringify(e)}`),yield new Promise((t,i)=>n(this,void 0,void 0,function*(){this.cancelPromise=e=>{i(e)};try{if(this.context.sdpOfferInit=yield this.context.peer.createOffer(e),this.context.logger.info("peer connection created offer"),this.context.previousSdpOffer&&new s.default(this.context.sdpOfferInit.s
2138dp).videoSendSectionHasDifferentSSRC(this.context.previousSdpOffer)){const e=new Error(`canceling ${this.name()} due to the meeting status code: ${o.default.IncompatibleSDP}`);return this.context.previousSdpOffer=null,void i(e)}t()}catch(e){i(e)}finally{delete this.cancelPromise}}))})}}t.default=d},99174(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(77376)),s=r(i(21287)),a=r(i(80414));class d extends a.default{constructor(e,t=d.CHROME_VPN_TIMEOUT_MS){super(e.logger),this.context=e,this.chromeVpnTimeoutMs=t,this.taskName="FinishGatheringICECandidatesTask"}removeEventListener(){this.context.peer&&(this.context.peer.removeEventListener("icecandidate",this.context.iceCandidateHandler),this.context.turnCredentials||this.context.peer.removeEventListener("icegatheringstatechange",this.context.iceGatheringStateEventHandler))}cancel(){let e;this.context.browserBehavior.requiresIceCandidateGatheringTimeoutWorkaround()&&this.chromeVpnTimeoutMs<this.context.meetingSessionConfiguration.connectionTimeoutMs&&Date.now()-this.startTimestampMs>this.chromeVpnTimeoutMs&&(e=new Error(`canceling ${this.name()} due to the meeting status code: ${o.default.ICEGatheringTimeoutWorkaround}`)),this.cancelPromise&&(e=e||new Error(`canceling ${this.name()}`),this.cancelPromise(e),delete this.cancelPromise)}run(){return n(this,void 0,void 0,function*(){if(this.context.peer||this.logAndThrow("session does not have peer connection; bypass ice gathering"),this.context.browserBehavior.requiresCheckForSdpConnectionAttributes()){if(new s.default(this.context.peer.localDescription.sdp).hasCandidatesForAllMLines())return void this.context.logger.info(`ice gathering already complete; bypass gathering, current local description ${this.context.peer.localDescription.sdp}`)}else this.context.logger.info(`iOS device does not require checking for connection attributes in SDP, current local description ${this.context.peer.localDescription.sdp}`);if(!this.context.browserBehavior.hasFirefoxWebRTC()&&"complete"!==this.context.peer.iceGatheringState||!new s.default(this.context.peer.localDescription.sdp).hasCandidates())try{yield new Promise((e,t)=>{this.cancelPromise=e=>{this.removeEventListener(),t(e)},this.context.turnCredentials||(this.context.iceGatheringStateEventHandler=()=>{if("complete"===this.context.peer.iceGatheringState)return this.removeEventListener(),e(),void delete this.cancelPromise},this.context.peer.addEventListener("icegatheringstatechange",this.context.iceGatheringStateEventHandler)),this.context.iceCandidateHandler=i=>{if(this.context.logger.info(`ice candidate: ${i.candidate?i.candidate.candidate:"(null)"} state: ${this.context.peer.iceGatheringState}`),i.candidate&&(s.default.isRTPCandidate(i.candidate.candidate)&&this.context.iceCandidates.push(i.candidate),this.context.turnCredentials&&this.context.iceCandidates.length>=1))return this.context.logger.info("gathered at least one relay candidate"),this.removeEventListener(),e(),void delete this.cancelPromise;"complete"===this.context.peer.iceGatheringState&&(this.context.logger.info("done gathering ice candidates"),this.removeEventListener(),new s.default(this.context.peer.localDescription.sdp).hasCandidates()&&0!==this.context.iceCandidates.length?(e(),delete this.cancelPromise):(t(new Error("no ice candidates were gathered")),delete this.cancelPromise))},this.context.peer.addEventListener("icecandidate",this.context.iceCandidateHandler),this.startTimestampMs=Date.now()})}catch(e){throw e}finally{this.startTimestampMs&&(this.context.iceGatheringDurationMs=Math.round(Date.now()-this.startTimestampMs))}else this.context.logger.info("ice gathering state is complete and candidates are in SDP;
2138 bypass gathering")})}}t.default=d,d.CHROME_VPN_TIMEOUT_MS=5e3},59811(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return r(t,e),t},s=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const d=a(i(60169)),c=a(i(77376)),l=a(i(50656)),u=o(i(35928)),h=a(i(10587)),p=a(i(62059)),f=i(38359),m=a(i(80414));class g extends m.default{constructor(e){super(e.logger),this.context=e,this.taskName="JoinAndReceiveIndexTask",this.taskCanceler=null}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return s(this,void 0,void 0,function*(){const e=yield new Promise((e,t)=>{const i=this.context;i.turnCredentials=null;const n=new class{constructor(e){this.signalingClient=e}cancel(){this.signalingClient.removeObserver(this),t(new Error("JoinAndReceiveIndexTask got canceled while waiting for SdkIndexFrame"))}handleSignalingClientEvent(t){if(t.type===h.default.WebSocketClosed){let e=`The signaling connection was closed with code ${t.closeCode} and reason: ${t.closeReason}`;i.logger.warn(e);let n=c.default.SignalingBadRequest;return 4410===t.closeCode?(e="The meeting already ended.",i.logger.warn(e),n=c.default.MeetingEnded):t.closeCode>=4500&&t.closeCode<4600&&(n=c.default.SignalingInternalServerError),void i.audioVideoController.handleMeetingSessionStatus(new d.default(n),new Error(e))}if(t.type!==h.default.ReceivedSignalFrame)return;if(t.message.type===f.SdkSignalFrame.Type.JOIN_ACK){const e=t.message.joinack;if(!e)return void i.audioVideoController.handleMeetingSessionStatus(new d.default(c.default.SignalingRequestFailed),new Error("Join ACK message did not include expected frame"));if(e.videoSubscriptionLimit&&(i.videoSubscriptionLimit=e.videoSubscriptionLimit),i.serverSupportsCompression=e.wantsCompressedSdp,void 0!==e.defaultServerSideNetworkAdaption&&e.defaultServerSideNetworkAdaption!==u.default.Default&&void 0!==i.videoDownlinkBandwidthPolicy.setServerSideNetworkAdaption){const t=e.defaultServerSideNetworkAdaption;i.logger.info(`Overriding server side network adaption value to ${t}`),i.videoDownlinkBandwidthPolicy.setServerSideNetworkAdaption(u.convertServerSideNetworkAdaptionEnumFromSignaled(t))}return void(e&&e.turnCredentials?(i.turnCredentials=new l.default,i.turnCredentials.username=e.turnCredentials.username,i.turnCredentials.password=e.turnCredentials.password,i.turnCredentials.ttl=e.turnCredentials.ttl,i.turnCredentials.uris=function(e,t){const{urlRewriterMulti:i,urlRewriter:n}=t;return e.flatMap(e=>{if(i)return i(e)||[];const t=n(e);return t?[t]:[]}).filter(e=>!!e)}(e.turnCredentials.uris,i.meetingSessionConfiguration.urls)):i.logger.error("missing TURN credentials in JoinAckFrame"))}if(t.message.type!==f.SdkSignalFrame.Type.INDEX)return;this.signalingClient.removeObserver(this);const n=t.message.index;e(n)}}(this.context.signalingClient);this.context.signalingClient.registerObserver(n),this.taskCanceler=n,this.context.previousSdpAnswerAsString="",this.context.previousSdpOffer=null,this.context.serverSupportsCompression=!1;const r=new p.default(this.context.meetingSessionConfiguration.applicationMetadata);void 0!==this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption&&void 0!==this.context.videoDownlinkBandwidthPolicy.supportedServerSideNetworkAdaptions&&(r.serverSideNetworkAdaption=this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption(),r.supportedServerSideNetworkAdaptions=this.context.videoDownlinkBandwidthPolicy.supportedServerSideNetworkAdaptions()),void 0!==this.context.videoDownlinkBandwidthPolicy.wantsAllTemporalLayersInIndex&&(r.wantsAllTemporalLayersInIndex=this.context.videoDownlinkBandwidthPolicy.wantsAllTemporalLayersInIndex()),r.disablePerio
2138dicKeyframeRequestOnContentSender=this.context.meetingSessionConfiguration.disablePeriodicKeyframeRequestOnContentSender,this.context.signalingClient.join(r)});this.context.logger.info(`received first index ${JSON.stringify(e)}`),this.context.indexFrame=e})}}t.default=g},28708(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(10587)),s=i(38359),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="LeaveAndReceiveLeaveAckTask",this.taskCanceler=null}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return n(this,void 0,void 0,function*(){this.context.signalingClient.ready()&&(this.context.signalingClient.leave(),this.context.logger.info("sent leave"),yield this.receiveLeaveAck())})}receiveLeaveAck(){return new Promise((e,t)=>{const i=new class{constructor(e,t){this.signalingClient=e,this.logger=t}cancel(){this.signalingClient.removeObserver(this),t(new Error("LeaveAndReceiveLeaveAckTask got canceled while waiting for IndexFrame"))}handleSignalingClientEvent(t){if(t.isConnectionTerminated())return this.signalingClient.removeObserver(this),this.logger.info("LeaveAndReceiveLeaveAckTask connection terminated"),void e();t.type===o.default.ReceivedSignalFrame&&t.message.type===s.SdkSignalFrame.Type.LEAVE_ACK&&(this.signalingClient.removeObserver(this),this.logger.info("got leave ack"),e())}}(this.context.signalingClient,this.context.logger);this.taskCanceler=i,this.context.signalingClient.registerObserver(i)})}}t.default=d},51811(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(10587)),s=i(38359),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="ListenForVolumeIndicatorsTask",this.realtimeMuteAndUnmuteHandler=e=>{this.context.signalingClient.mute(e)}}run(){return n(this,void 0,void 0,function*(){this.context.removableObservers.push(this),this.context.signalingClient.registerObserver(this),this.context.realtimeController.realtimeSubscribeToMuteAndUnmuteLocalAudio(this.realtimeMuteAndUnmuteHandler)})}removeObserver(){this.context.realtimeController.realtimeUnsubscribeToMuteAndUnmuteLocalAudio(this.realtimeMuteAndUnmuteHandler),this.context.signalingClient.removeObserver(this)}handleSignalingClientEvent(e){if(e.type===o.default.ReceivedSignalFrame)if(e.message.type===s.SdkSignalFrame.Type.AUDIO_STREAM_ID_INFO){const t=e.message.audioStreamIdInfo;this.context.volumeIndicatorAdapter.sendRealtimeUpdatesForAudioStreamIdInfo(t)}else if(e.message.type===s.SdkSignalFrame.Type.AUDIO_METADATA){const t=e.message.audioMetadata;this.context.volumeIndicatorAdapter.sendRealtimeUpdatesForAudioMetadata(t)}}}t.default=d},99759(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(19542)),s=r(i(53551)),a=r(i(24152)),d=r(i(22967)),c=r(i(60588)),l=r(i(18412)),u=i(92801),h=r(i(60169)),p=r(i(77376)),f=r(i(96357)),m=r(i(10587)),g=i(38359),v=r(i(65479)),b=i(89419),y=r(i(80414));class S extends y.default{constructor(e,t,i){super(e.logger),this.context=e,this.initialConnectionHealthData=i,this.taskName="MonitorTask",this.prevSignalStrength=1,this.currentAvailableStreamAvgBitrates=null,this.hasSignalingError=!1,this.presenceHandlerCalled=!1,this.isResubscribeCheckPaused=!1,this.pendingMetricsReport=void 0,this.videoEncodingHealthPolicies=[],this.checkAndSendWeakSignalEvent=e=>{const t=e<1,i=this.prevSignalStrength<1,n=t?i?null:v.default.RedmicStartLoss:i?v.default.RedmicEndLoss:null;n&&this.context.statsCollector.logAudioEvent(n),this.prevSignalStrength=e}
2138,this.realtimeFatalErrorCallback=e=>{this.logger.error(`realtime error: ${e}: ${e.stack}`),this.context.audioVideoController.handleMeetingSessionStatus(new h.default(p.default.RealtimeApiFailed),e)},this.realtimeAttendeeIdPresenceHandler=(e,t)=>{var i;const n=this.context.meetingSessionConfiguration.credentials.attendeeId;this.logger.info(`attendeePresenceReceived: ${n}`),n===e&&t&&!this.presenceHandlerCalled&&(this.presenceHandlerCalled=!0,this.context.attendeePresenceDurationMs=Date.now()-this.context.startAudioVideoTimestamp,null===(i=this.context.eventController)||void 0===i||i.publishEvent("attendeePresenceReceived",{attendeePresenceDurationMs:this.context.attendeePresenceDurationMs,retryCount:this.context.retryCount}))},this.reconnectionHealthPolicy=new a.default(e.logger,Object.assign({},t),this.initialConnectionHealthData.clone()),this.unusableAudioWarningHealthPolicy=new c.default(Object.assign({},t),this.initialConnectionHealthData.clone()),this.sendingAudioFailureHealthPolicy=new d.default(e.logger,Object.assign({},t),this.initialConnectionHealthData.clone());for(const e of t.videoEncodingHealthPolicies)this.videoEncodingHealthPolicies.push(new e(Object.assign({},t),this.initialConnectionHealthData.clone()))}removeObserver(){this.context.audioVideoController.removeObserver(this),this.context.realtimeController.realtimeUnsubscribeToFatalError(this.realtimeFatalErrorCallback),this.context.realtimeController.realtimeUnsubscribeToLocalSignalStrengthChange(this.checkAndSendWeakSignalEvent),this.context.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(this.realtimeAttendeeIdPresenceHandler),this.context.signalingClient.removeObserver(this)}run(){return n(this,void 0,void 0,function*(){this.context.removableObservers.push(this),this.context.audioVideoController.addObserver(this),this.context.realtimeController.realtimeSubscribeToFatalError(this.realtimeFatalErrorCallback),this.context.realtimeController.realtimeSubscribeToLocalSignalStrengthChange(this.checkAndSendWeakSignalEvent),this.context.realtimeController.realtimeSubscribeToAttendeeIdPresence(this.realtimeAttendeeIdPresenceHandler),this.context.connectionMonitor.start(),this.context.statsCollector.start(this.context.signalingClient,this.context.videoStreamIndex),this.context.signalingClient.registerObserver(this)})}pauseResubscribeCheck(){this.isResubscribeCheckPaused=!0}resumeResubscribeCheck(){this.isResubscribeCheckPaused&&(this.isResubscribeCheckPaused=!1,this.pendingMetricsReport&&(this.context.logger.info("Resuming resubscribe check with pending metrics report"),this.checkResubscribe(this.pendingMetricsReport)&&this.context.audioVideoController.update({needsRenegotiation:!1})))}videoTileDidUpdate(e){this.context.maxVideoTileCount=Math.max(this.context.maxVideoTileCount,this.context.videoTileController.getAllVideoTiles().length)}checkResubscribe(e){if(this.isResubscribeCheckPaused)return this.context.logger.info("Resubscribe check is paused, setting incoming client metric report as pending"),void(this.pendingMetricsReport=e);this.pendingMetricsReport=void 0;const t=e.getObservableMetrics(),i=t.availableOutgoingBitrate,n=t.nackCountReceivedPerSecond;let r=!1;this.context.videoDownlinkBandwidthPolicy.updateMetrics(e);const o=this.context.videoDownlinkBandwidthPolicy.wantsResubscribe();if(r=r||o,o){const e=this.context.videoDownlinkBandwidthPolicy.chooseSubscriptions();this.context.videosToReceive=e.truncate(this.context.videoSubscriptionLimit),e.size()>this.context.videosToReceive.size()&&this.logger.warn(`Video receive limit exceeded. Limiting the videos to ${this.context.videosToReceive.size()}. Please consider using AllHighestVideoBandwidthPolicy or VideoPriorityBasedPolicy along with chooseRemoteVideoSources api to select the video sources to be displayed.`),this.logger.info(`trigger resubscribe for down=${o}; videosToReceive=[${this.context.videosToReceive.array()}]`)}if(this.context.videoTileController.hasStartedLocalVideoTile()){this.context.videoUplinkBandwidthPolicy.updateConnectionMetric({uplinkKbps:i/1e3,nackCountPerSecond:n});const e=this.context.videoUplinkBandwidthPolicy.wantsResubscribe();r=r||e,e&&(this.logger.info(`trigger resubscribe for up=${e}; videosToReceive=[${this.context.videosToReceive.array()}]`),this.context.videoUplinkBandwidthPolicy.chooseEncodingParameters())}return r}metricsDidReceive(e){if(this.checkResubscribe(e)&&this.context.audioVideoController.update({needsRenegotiation:!1}),!this.currentAvailableStreamAvgBitrates)return;const t=e.streamMetricReports,i=new Map;for(const e in t)t[e].mediaType===s.default.VIDEO&&t[e].direction===o.default.DOWNSTREAM&&i.set(t[e].streamId,t[e])}connectionHealthDidChange(e){0===e.consecutiveMissedPongs&&this.context.reconnectController&&this.context.reconnectController.setLastActiveTimestampMs(Date.now()),this.applyHealthPolicy(this.reconnectionHealthPolicy,e,()=>{this.context.audioVideoController.handleMeetingSessionStatus(new h.default(p.default.ConnectionHealthReconnect),null)}),this.applyHealthPolicy(this.unusableAudioWarningHealthPolicy,e,()=>{var e;this.context.poorConnectionCount+=1,null===(e=this.context.eventController)||void 0===e||e.publishEvent("receivingAudioDropped",u.audioVideoEventAttributesFromState(this.context)),this.context.videoTileController.haveVideoTilesWithStreams()?this.context.audioVideoController.forEachObserver(e=>{b.Maybe.of(e.connectionDidSuggestStopVideo).map(t=>t.bind(e)())}):this.context.audioVideoController.forEachObserver(e=>{b.Maybe.of(e.connectionDidBecomePoor).map(t=>t.bind(e)())})},()=>{this.context.audioVideoController.forEachObserver(e=>{b.Maybe.of(e.connectionDidBecomeGood).map(t=>t.bind(e)())})});for(const t of this.videoEncodingHealthPolicies)this.applyHealthPolicy(t,e,()=>{switch(this.degradeVideoCodec(t.name),t.name){case l.default.VideoEncodingCpuHealth:this.context.statsCollector.videoCodecDegradationHighEncodeCpuDidReceive();break;case l.default.VideoEncodingFramerateHealth:this.context.statsCollector.videoCodecDegradationEncodeFailureDidReceive();break;case l.default.VideoConcurrentSendersHealth:this.context.statsCollector.videoCodecDegradationConcurrentSendersDidReceive()}});
2138if(this.context.isSessionConnected){const t=e=>{var t;const i=u.audioVideoEventAttributesFromState(this.context);null===(t=this.context.eventController)||void 0===t||t.publishEvent(e,i)};this.applyHealthPolicy(this.sendingAudioFailureHealthPolicy,e,()=>t("sendingAudioFailed"),()=>t("sendingAudioRecovered"))}}applyHealthPolicy(e,t,i,n){e.update(t);const r=e.healthIfChanged();null!==r&&(this.logger.info(`${e.name} value is now ${r}`),r<=e.minimumHealth()?b.Maybe.of(i).map(e=>e.bind(this)()):b.Maybe.of(n).map(e=>e.bind(this)()))}handleBitrateFrame(e){this.currentAvailableStreamAvgBitrates=e,e.serverAvailableOutgoingBitrate>0&&(this.logger.info(`Received server side estimation of available incoming bitrate ${e.serverAvailableOutgoingBitrate}kbps`),this.context.statsCollector.overrideObservableMetric("availableIncomingBitrate",1e3*e.serverAvailableOutgoingBitrate))}handleSignalingClientEvent(e){var t;if(e.type===m.default.WebSocketClosed&&this.isUnexpectedsignalingCloseCode(e.closeCode)||e.type===m.default.WebSocketError||e.type===m.default.WebSocketFailed?(this.hasSignalingError||(null===(t=this.context.eventController)||void 0===t||t.publishEvent("signalingDropped",Object.assign(Object.assign(Object.assign(Object.assign({},u.audioVideoEventAttributesFromState(this.context)),void 0!==e.closeCode&&{signalingCloseCode:e.closeCode}),void 0!==e.closeReason&&{signalingCloseReason:e.closeReason}),void 0!==e.wasClean&&{signalingCloseWasClean:e.wasClean})),this.hasSignalingError=!0),this.context.isSessionConnected&&this.context.audioVideoController.handleMeetingSessionStatus(new h.default(this.isInternalServerFailureCloseCode(e.closeCode)?p.default.SignalingInternalServerError:p.default.SignalingChannelClosedUnexpectedly),null)):e.type===m.default.WebSocketOpen&&(this.hasSignalingError=!1),e.type===m.default.ReceivedSignalFrame){if(e.message.type===g.SdkSignalFrame.Type.NOTIFICATION){switch(e.message.notification.level){case g.SdkNotificationFrame.NotificationLevel.INFO:this.logger.info(`Received notification from server: ${e.message.notification.message}`);break;case g.SdkNotificationFrame.NotificationLevel.WARNING:this.logger.warn(`Received warning from server: ${e.message.notification.message}`);break;case g.SdkNotificationFrame.NotificationLevel.ERROR:this.logger.error(`Received error from server: ${e.message.notification.message}`);break;default:this.logger.error(`Received notification from server with unknown level ${e.message.notification.level}: ${e.message.notification.message}`)}return}if(e.message.bitrates){const t=e.message.bitrates;this.context.videoStreamIndex.integrateBitratesFrame(t),this.context.videoDownlinkBandwidthPolicy.updateIndex(this.context.videoStreamIndex),this.handleBitrateFrame(e.message.bitrates)}const t=h.default.fromSignalFrame(e.message);e.message.type!==g.SdkSignalFrame.Type.PRIMARY_MEETING_JOIN_ACK&&t.statusCode()!==p.default.OK&&this.context.audioVideoController.handleMeetingSessionStatus(t,null)}}isUnexpectedsignalingCloseCode(e){return 1006===e||this.isInternalServerFailureCloseCode(e)}isInternalServerFailureCloseCode(e){return e>=4500&&e<4600}degradeVideoCodec(e){if(void 0!==this.context.meetingSupportedVideoSendCodecPreferences&&this.context.meetingSupportedVideoSendCodecPreferences.length>1&&!this.context.meetingSupportedVideoSendCodecPreferences[0].equals(f.default.h264ConstrainedBaselineProfile())&&!this.context.meetingSupportedVideoSendCodecPreferences[0].equals(f.default.vp8())){const t=[];for(const e of this.context.videoSendCodecPreferences)e.equals(this.context.meetingSupportedVideoSendCodecPreferences[0])||t.pu
2138sh(e);t.length>0?(this.context.logger.info(`Downgrading codec from ${this.context.meetingSupportedVideoSendCodecPreferences[0].codecName} to ${t[0].codecName} due to ${e}`),this.context.degradedVideoSendCodecs.push(this.context.meetingSupportedVideoSendCodecPreferences[0]),this.context.meetingSupportedVideoSendCodecPreferences=t,this.context.videoUplinkBandwidthPolicy.setMeetingSupportedVideoSendCodecs&&this.context.videoUplinkBandwidthPolicy.setMeetingSupportedVideoSendCodecs(this.context.meetingSupportedVideoSendCodecPreferences,this.context.videoSendCodecPreferences),this.context.audioVideoController.update({needsRenegotiation:!0})):this.context.logger.warn(`Degrading video codec failed since there is no alternative codec to select. Currently degraded codecs: ${this.context.degradedVideoSendCodecs.map(e=>e.codecName).join(",")}`)}}}t.default=S},58587(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{cancel(){}name(){return"NoOpTask"}run(){return Promise.resolve()}setParent(e){}}},19354(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(70305)),o=n(i(91365));t.default=class{constructor(e,t,i){this.logger=e,this.task=t,this.dependencies=i,this.canceled=!1}name(){return`${this.task.name()} (once)`}cancel(){if(!this.canceled){if(this.dependencies)for(const e of this.dependencies)e.cancel();this.logger.info(`Canceling ${this.name()}`),o.default.nextTick(()=>this.task.cancel()),this.canceled=!0,this.cancelPromise&&o.default.nextTick(()=>this.cancelPromise(new Error(`canceling ${this.name()}`)))}}logDependencies(){if(this.logger.getLogLevel()>r.default.INFO)return;if(!this.dependencies)return;const e=this.dependencies.filter(e=>e).map(e=>e.name()).join(", ");this.logger.info(`${this.task.name()} waiting for dependencies: ${e}`)}run(){if(this.promise)return this.promise;const e=this.dependencies?Promise.all(this.dependencies.map(e=>null==e?void 0:e.run())):Promise.resolve();return this.logDependencies(),this.ongoing=e.then(()=>this.task.run()),this.promise=new Promise((e,t)=>{this.cancelPromise=t,this.ongoing.then(e).catch(t)})}setParent(e){this.task.setParent(e)}}},90677(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(33774)),s=r(i(10587)),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="OpenSignalingConnectionTask",this.taskCanceler=null}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return n(this,void 0,void 0,function*(){const e=this.context.meetingSessionConfiguration;this.context.signalingClient.openConnection(new o.default(e.urls.signalingURL,e.credentials.joinToken));const t=Date.now();try{yield new Promise((e,t)=>{const i=new class{constructor(e){this.signalingClient=e}cancel(){this.signalingClient.removeObserver(this),t(new Error("OpenSignalingConnectionTask got canceled while waiting to open signaling connection"))}handleSignalingClientEvent(i){switch(i.type){case s.default.WebSocketOpen:this.signalingClient.removeObserver(this),e();break;case s.default.WebSocketFailed:this.signalingClient.removeObserver(this),t(new Error("WebSocket connection failed"))}}}(this.context.signalingClient);this.context.signalingClient.registerObserver(i),this.taskCanceler=i})}catch(e){throw e}finally{this.context.signalingOpenDurationMs=Math.round(Date.now()-t),this.logger.info(`Opening signaling connection took ${this.context.signalingOpenDurationMs} ms`)}})}}t.default=d},28763(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}
2138,r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(80414));class s extends o.default{constructor(e,t,i){super(e),this.taskName=t,this.tasksToRunParallel=i;for(const e of i)e.setParent(this)}cancel(){for(const e of this.tasksToRunParallel)this.logger.info(`canceling parallel group task ${this.name()} subtask ${e.name()}`),e.cancel()}run(){return n(this,void 0,void 0,function*(){const e=[];for(const t of this.tasksToRunParallel)this.logger.info(`parallel group task ${this.name()} running subtask ${t.name()}`),e.push(t.run());const t=[];for(let i=0;i<e.length;i++){try{yield e[i]}catch(e){t.push(`task ${this.tasksToRunParallel[i].name()} failed: ${e.message}`)}this.logger.info(`parallel group task ${this.name()} completed subtask ${this.tasksToRunParallel[i].name()}`)}if(t.length>0){const e=t.join(", ");this.logAndThrow(`parallel group task ${this.name()} failed for tasks: ${e}`)}this.logger.info(`parallel group task ${this.name()} completed`)})}}t.default=s},14023(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(53028),s=r(i(10587)),a=i(38359),d=r(i(80414));class c extends d.default{constructor(e,t,i){super(e.logger),this.context=e,this.credentials=t,this.completionCallback=i,this.taskName="PromoteToPrimaryMeetingTask",this.taskCanceler=null}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return n(this,void 0,void 0,function*(){this.context.signalingClient.ready()?(this.context.signalingClient.promoteToPrimaryMeeting(this.credentials),this.context.logger.info("Sent request to join primary meeting"),yield this.receivePrimaryMeetingJoinAck()):this.completionCallback(new o.MeetingSessionStatus(o.MeetingSessionStatusCode.SignalingRequestFailed))})}receivePrimaryMeetingJoinAck(){return new Promise((e,t)=>{const i=new class{constructor(e,t,i){this.signalingClient=e,this.completionCallback=t,this.logger=i}cancel(){this.signalingClient.removeObserver(this),this.completionCallback(new o.MeetingSessionStatus(o.MeetingSessionStatusCode.SignalingRequestFailed)),e()}handleSignalingClientEvent(t){t.isConnectionTerminated()&&(this.signalingClient.removeObserver(this),this.logger.info("PromoteToPrimaryMeetingTask connection terminated"),this.completionCallback(new o.MeetingSessionStatus(o.MeetingSessionStatusCode.SignalingRequestFailed)),e()),t.type===s.default.ReceivedSignalFrame&&t.message.type===a.SdkSignalFrame.Type.PRIMARY_MEETING_JOIN_ACK&&(this.signalingClient.removeObserver(this),this.logger.info("Got a primary meeting join ACK"),this.completionCallback(o.MeetingSessionStatus.fromSignalFrame(t.message)),e())}}(this.context.signalingClient,this.completionCallback,this.context.logger);this.taskCanceler=i,this.context.signalingClient.registerObserver(i)})}}t.default=c},44358(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(80414));class s extends o.default{constructor(e){super(e.logger),this.context=e,this.taskName="ReceiveAudioInputTask"}run(){var e,t;return n(this,void 0,void 0,function*(){if(!(null===(t=null===(e=this.context.meetingSessionConfiguration)||void 0===e?void 0:e.urls)||void 0===t?void 0:t.audioHostURL))return void this.context.logger.info("No audio connection: not acquiring audio input");if(this.context.activeAudioInput)return void this.context.logger.info("an active audio input exists");let i;try{i=yield this.context.mediaStreamBroker.acquireAudioInputStream()}catch(e){this.context.logger.warn("could not acquire audio input from current device")}i?this.context.activeAudioInput=i:this.context.logger.warn("an audio input is not available")})}}t.default=s},6966(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(10587)),s=i(38359),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="ReceiveRemoteVideoPauseResume",this.serverPausedVideoTileIds=new Set}removeObserver(){this.context.signalingClient.removeObserver(this)}run(){return n(this,void 0,void 0,function*(){this.context.signalingClient.registerObserver(this),this.context.removableObservers.push(this)})}updateSubscribedGroupdIds(e){const t=new Set;for(const i of e){const e=this.context.videoStreamIndex.attendeeIdForGroupId(i);if(0===e.length){this.logger.warn(`Could not find attendee ID for newly subscribed group ID ${i}`);continue}let n=this.context.videoTileController.getVideoTileForAttendeeId(e);void 0===n&&(this.logger.info(`No existing video tile for attendee ID ${e} with new group ID ${i}. Creating new one.`),n=this.context.videoTileController.addVideoTile(),n.bindVideoStream(e,!1,null,0,0,0,null)),t.add(n.id())}this.serverPausedVideoTileIds.forEach(e=>{t.has(e)||this.serverPausedVideoTileIds.delete(e)})}handleSignalingClientEvent(e){if(e.type!==o.default.ReceivedSignalFrame||e.message.type!==s.SdkSignalFrame.Type.PAUSE&&e.message.type!==s.SdkSignalFrame.Type.RESUME)return;const t=e.message.pause,i=e.message.type;if(this.logger.info(`Received new ${i===s.SdkSignalFrame.Type.PAUSE?"pause":"resume"} frame: ${JSON.stringify(t)}`),!t||void 0===this.context.videoTileController.getVideoTileForAttendeeId||void 0===this.context.videoDownlinkBandwidthPolicy.forEachObserver||void 0===this.context.videoStreamIndex.attendeeIdForGroupId)return;const n=t.groupIds.map(e=>{const t=this.context.videoStreamIndex.attendeeIdForGroupId(e);if(0!==t.length)return this.context.videoTileController.getVideoTileForAttendeeId(t);this.logger.warn(`Could not find attendee ID for paused group ID ${e}`)});for(const e of n)void 0!==e&&(i===s.SdkSignalFrame.Type.PAUSE?e.state().paused||(this.serverPausedVideoTileIds.add(e.id()),this.context.videoDownlinkBandwidthPolicy.forEachObserver(t=>{t.tileWillBePausedByDownlinkPolicy(e.id())}),e.pause()):e.state().paused&&this.serverPausedVideoTileIds.has(e.id())&&(this.serverPausedVideoTileIds.delete(e.id()),this.context.videoDownlinkBandwidthPolicy.forEachObserver(t=>{t.tileWillBeUnpausedByDownlinkPolicy(e.id())}),e.unpause()))}}t.default=d},47689(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(38148)),s=i(38359),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="ReceiveVideoInputTask"}checkAndApplyVideoConstraint(e,t,i,r,o){return n(this,void 0,void 0,function*(){const n=e?this.context.meetingSessionConfiguration.meetingFeatures.contentMaxResolution:this.context.meetingSessionConfiguration.meetingFeatures.videoMaxResolution;if(!e&&i<=n.videoWidth&&r<=n.videoHeight&&o<=n.videoFrameRate)return;const s={resizeMode:{ideal:"none"},width:{max:n.videoWidth},height:{max:n.videoHeight},frameRate:{ideal:o,max:n.videoFrameRate}};try{yield t.applyConstraints(s)}catch(t){this.context.logger.info(`Could not apply constraint for video track (content = ${e})`)}})}run(){return n(this,void 0,void 0,function*(){const e=this.context.videoDuplexMode===s.SdkStreamServiceType.RX||this.context.videoDuplexMode===s.SdkStreamServiceType.DUPLEX;if(this.context.videoTileController.hasStartedLocalVideoTile()?this.context.videoDuplexMode=e?s.SdkStreamServiceType.DUPLEX:s.SdkStreamServiceType.TX:this.context.videoDuplexMode=e?s.SdkStreamServiceType.RX:0,this.context.videoCaptureAndEncodeParameter=this.context.videoUplinkBandwidthPolicy.chooseCaptureAndEncodeParameters(),!this.context.videoTileController.hasStartedLocalVideoTile())return this.context.logger.info("has not started local video tile"),void(this.context.activeVideoInput&&(this.context.activeVideoInput=void 0,this.context.videoStreamIndex.integrateUplinkPolicyDecision([])));const t=this.context.videoTileController.getLocalVideoTile();let i;try{i=yield this.context.mediaStreamBroker.acquireVideoInputStream()}catch(e){this.context.logger.warn("could not acquire video input from current device"),this.context.videoTileController.stopLocalVideoTile()}if(this.context.enableSimulcast){const e=this.context.videoUplinkBandwidthPolicy.chooseEncodingParameters();this.context.videoStreamIndex.integrateUplinkPolicyDecision(Array.from(e.values())
2138)}if(this.context.activeVideoInput=i,i){const e=i.getVideoTracks();if(!e||0===e.length)return;const n=this.context.meetingSessionConfiguration.credentials.attendeeId,r=new o.default(n).hasModality(o.default.MODALITY_CONTENT),s=e[0].getSettings();this.checkAndApplyVideoConstraint(r,e[0],s.width,s.height,s.frameRate);const a=this.context.audioVideoController.configuration.credentials.externalUserId;t.bindVideoStream(n,!0,i,s.width,s.height,null,a);for(const t of e)this.logger.info(`Using video device label=${t.label} id=${t.id}`),this.context.videoDeviceInformation.current_camera_name=t.label,this.context.videoDeviceInformation.current_camera_id=t.id}})}}t.default=d},72313(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(79375)),s=r(i(38148)),a=r(i(96357)),d=r(i(10587)),c=i(38359),l=i(89419),u=r(i(80414));class h extends u.default{constructor(e){super(e.logger),this.context=e,this.taskName="ReceiveVideoStreamIndexTask",this.isIngestionPaused=!1,this.pendingIndex=null}removeObserver(){this.context.signalingClient.removeObserver(this)}run(){return n(this,void 0,void 0,function*(){this.handleIndexFrame(this.context.indexFrame),this.context.signalingClient.registerObserver(this),this.context.removableObservers.push(this)})}handleSignalingClientEvent(e){if(e.type!==d.default.ReceivedSignalFrame||e.message.type!==c.SdkSignalFrame.Type.INDEX)return;const t=e.message.index;this.context.logger.info(`received new index ${JSON.stringify(t)}`),this.handleIndexFrame(t)}pauseIngestion(){this.isIngestionPaused=!0}resumeIngestion(){this.isIngestionPaused&&(this.isIngestionPaused=!1,this.pendingIndex&&(this.context.logger.info("Resuming index ingestion with pending index"),this.handleIndexFrame(this.pendingIndex)))}handleIndexFrame(e){if(!e)return;if(this.isIngestionPaused)return this.context.logger.info("Index ingestion is paused, setting most recent index as pending"),void(this.pendingIndex=e);this.pendingIndex=null;const t=this.context.audioVideoController.configuration.credentials.attendeeId;e.sources=e.sources.filter(e=>{const i=new s.default(e.attendeeId);return!(i.base()===t&&i.hasModality(s.default.MODALITY_CONTENT))});const{videoStreamIndex:i,videoDownlinkBandwidthPolicy:n,videoUplinkBandwidthPolicy:r}=this.context,o=i.allVideoSendingSourcesExcludingSelf(t);i.integrateIndexFrame(e),n.updateIndex(i),r.updateIndex(i),this.resubscribe(n,r),this.updateVideoAvailability(e),this.handleIndexVideosPausedAtSource(),e.supportedReceiveCodecIntersection.length>0&&this.handleSupportedVideoReceiveCodecIntersection(e);const a=i.allVideoSendingSourcesExcludingSelf(t);this.areVideoSourcesEqual(o,a)||this.context.audioVideoController.forEachObserver(e=>{l.Maybe.of(e.remoteVideoSourcesDidChange).map(t=>t.bind(e)(a))})}areVideoSourcesEqual(e,t){if(e.length!==t.length)return!1;const i=(e,t)=>e.attendee.attendeeId.localeCompare(t.attendee.attendeeId),n=[...e].sort(i),r=[...t].sort(i);for(let e=0;e<n.length;e++)if(n[e].attendee.attendeeId!==r[e].attendee.attendeeId)return!1;return!0}resubscribe(e,t){const i=e.wantsResubscribe(),n=(this.context.videoDuplexMode===c.SdkStreamServiceType.TX||this.context.videoDuplexMode===c.SdkStreamServiceType.DUPLEX)&&t.wantsResubscribe(),r=i||n;if(this.logger.info(`should resubscribe: ${r} (downlink: ${i} uplink: ${n})`),!r)return;const o=e.chooseSubscriptions();this.context.videosToReceive=o.truncate(this.context.videoSubscriptionLimit),o.size()>this.context.videosToReceive.size()&&this.logger.warn(`Video receive limit exceeded. Limiting the videos to ${this.context.videosToReceive.size()}. Please consider using AllHighestVideoBandwidthPolicy or VideoPriorityBasedPolicy along with chooseRemoteVideoSources api to select the video sources to be displayed.`),this.context.videoCaptureAndEncodeParameter=t.chooseCaptureAndEncodeParameters(),this.logger.info(`trigger resubscribe for up=${n} down=${i}; videosToReceive=[${this.context.videosToReceive.array()}
2138] captureParams=${JSON.stringify(this.context.videoCaptureAndEncodeParameter)}`),this.context.audioVideoController.update({needsRenegotiation:!1})}updateVideoAvailability(e){if(!this.context.videosToReceive)return void this.logger.error("videosToReceive must be set in the meeting context.");const t=new o.default;t.remoteVideoAvailable=!this.context.videosToReceive.empty(),t.canStartLocalVideo=!e.atCapacity,this.context.lastKnownVideoAvailability&&this.context.lastKnownVideoAvailability.equal(t)||(this.context.lastKnownVideoAvailability=t.clone(),this.context.audioVideoController.forEachObserver(e=>{l.Maybe.of(e.videoAvailabilityDidChange).map(i=>i.bind(e)(t.clone()))}))}handleSupportedVideoReceiveCodecIntersection(e){if(void 0===this.context.videoSendCodecPreferences)return;const t=[];let i=!1;for(const i of this.context.videoSendCodecPreferences)if(this.context.degradedVideoSendCodecs.some(e=>i.equals(e)))this.logger.info(`Skipping ${i.codecName} since the codec has been identfied as degraded`);else for(const n of e.supportedReceiveCodecIntersection)if(i.equals(a.default.fromSignaled(n))){t.push(i);break}if(t.length>0){const e=t.find(e=>this.context.prioritizedSendVideoCodecCapabilities.some(t=>e.equals(t)));void 0===this.context.currentVideoSendCodec||void 0!==e&&this.context.currentVideoSendCodec.equals(e)||(i=!0),this.context.meetingSupportedVideoSendCodecPreferences=t}else this.logger.warn("Interesection of meeting receive codec support and send codec preferences has no overlap, falling back to just values provided in `setVideoCodecSendPreferences`"),this.context.meetingSupportedVideoSendCodecPreferences=void 0;this.context.videoUplinkBandwidthPolicy.setMeetingSupportedVideoSendCodecs&&this.context.videoUplinkBandwidthPolicy.setMeetingSupportedVideoSendCodecs(this.context.meetingSupportedVideoSendCodecPreferences,this.context.videoSendCodecPreferences),i&&this.context.audioVideoController.update({needsRenegotiation:!0})}handleIndexVideosPausedAtSource(){const e=this.context.videoStreamIndex.streamsPausedAtSource();for(const t of this.context.videoTileController.getAllVideoTiles()){const i=t.state();e.contain(i.streamId)?t.markPoorConnection()&&this.logger.info(`marks the tile ${i.tileId} as having a poor connection`):t.unmarkPoorConnection()&&this.logger.info(`unmarks the tile ${i.tileId} as having a poor connection`)}}}t.default=h},56282(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(80414));class o extends r.default{constructor(e,t,i="RunnableTask"){super(e),this.fn=t,this.taskName=i}run(){return this.fn().then(()=>{})}}t.default=o},35299(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(26315)),s=r(i(10587)),a=i(38359),d=r(i(80414));class c extends d.default{constructor(e){super(e.logger),this.context=e,this.taskName="SendAndReceiveDataMessagesTask",this.sendDataMessageHandler=(e,t,i)=>{if(this.context.signalingClient.ready()){let n;n=t instanceof Uint8Array?t:"string"==typeof t?(new TextEncoder).encode(t):(new TextEncoder).encode(JSON.stringify(t)),this.validateDataMessage(e,n,i);const r=a.SdkDataMessagePayload.create();r.topic=e,r.lifetimeMs=i,r.data=n;const o=a.SdkDataMessageFrame.create();o.messages=[r],this.context.signalingClient.sendDataMessage(o)}else this.context.logger.error("Cannot send data message because signaling client is not ready")}}run(){return n(this,void 0,void 0,function*(){this.context.removableObservers.push(this),this.context.signalingClient.registerObserver(this),this.context.realtimeController.realtimeSubscribeToSendDataMessage(this.sendDataMessageHandler)})}removeObserver(){this.context.realtimeController.realtimeUnsubscribeFromSendDataMessage(this.sendDataMessageHandler),this.context.signalingClient.removeObserver(this)}handleSignalingClientEvent(e){if(e.type===s.default.ReceivedSignalFrame&&e.message.type===a.SdkSignalFrame.Type.DATA_MESSAGE)for(const t of e.message.dataMessage.messages){const e=new o.default(t.ingestTimeNs/1e6,t.topic,t.data,t.senderAttendeeId,t.senderExternalUserId,0===t.ingestTimeNs);this.context.realtimeController.realtimeReceiveDataMessage(e)}}validateDataMessage(e,t,i){if(!c.TOPIC_REGEX.test(e))throw new Error("Invalid topic");if(t.length>c.DATA_SIZE)throw new Error("Data size has to be less than 2048 bytes");if(i&&i<0)throw new Error("The life time of the message has to be non negative")}}t.default=c,c.TOPIC_REGEX=new RegExp(/^[a-zA-Z0-9_-]{1,36}$/),c.DATA_SIZE=2048},74478(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(80414)),s=r(i(5217));class a extends o.default{constructor(e,t,i){super(e),this.taskName=t,this.tasksToRunSerially=i,this.currentTask=null;for(const e of i)e.setParent(this)}cancel(){this.currentTask&&(this.logger.info(`canceling serial group task ${this.name()} subtask ${this.currentTask.name()}`),this.currentTask.cancel())}run(){return n(this,void 0,void 0,function*(){for(const e of this.tasksToRunSerially){this.getStatus()===s.default.CANCELED&&this.logAndThrow(`serial group task ${this.name()} was canceled`);try{this.logger.info(`serial group task ${this.name()} running subtask ${e.name()}`),this.currentTask=e,yield e.run(),this.logger.info(`serial group task ${this.name()} completed subtask ${e.name()}`)}catch(e){this.logAndThrow(`serial group task ${this.name()} was canceled due to subtask ${this.currentTask.name()} error: ${e.message}`)}finally{this.currentTask=null}}this.logger.info(`serial group task ${this.name()} completed`)})}}t.default=a},74218(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824)),s=r(i(21287)),a=r(i(80414));class d extends a.default{constructor(e){super(e.logger),this.context=e,this.taskName="SetLocalDescriptionTask"}cancel(){if(this.cancelPromise){const e=new Error(`canceling ${this.name()}`);this.cancelPromise(e),delete this.cancelPromise}}run(){return n(this,void 0,void 0,function*(){const e=this.context.peer;
2138let t=this.context.sdpOfferInit.sdp;if(this.context.browserBehavior.supportsVideoLayersAllocationRtpHeaderExtension()&&(t=new s.default(t).withVideoLayersAllocationRtpHeaderExtension(this.context.previousSdpOffer).sdp),this.context.browserBehavior.supportsDependencyDescriptorRtpHeaderExtension()&&void 0!==this.context.videoUplinkBandwidthPolicy.wantsVideoDependencyDescriptorRtpHeaderExtension&&this.context.videoUplinkBandwidthPolicy.wantsVideoDependencyDescriptorRtpHeaderExtension()&&(t=new s.default(t).withDependencyDescriptorRtpHeaderExtension(this.context.previousSdpOffer).sdp),(new o.default).requiresDisablingH264Encoding()&&(t=new s.default(t).removeH264SupportFromSendSection().sdp),t=new s.default(t).withStartingVideoSendBitrate(1e3).sdp,void 0!==this.context.videoSendCodecPreferences&&this.context.videoSendCodecPreferences.length>0&&(t=new s.default(t).withVideoSendCodecPreferences(void 0!==this.context.meetingSupportedVideoSendCodecPreferences?this.context.meetingSupportedVideoSendCodecPreferences:this.context.videoSendCodecPreferences).sdp),this.context.audioProfile&&(t=new s.default(t).withAudioMaxAverageBitrate(this.context.audioProfile.audioBitrateBps).sdp,this.context.audioProfile.isStereo()&&(t=new s.default(t).withStereoAudio().sdp),this.context.audioProfile.hasRedundancyEnabled())){const e=new s.default(t).getAudioPayloadTypes();this.context.transceiverController&&this.context.transceiverController.setAudioPayloadTypes&&this.context.transceiverController.setAudioPayloadTypes(e)}this.logger.debug(()=>`local description is >>>${t}<<<`);const i={type:"offer",sdp:t,toJSON:null};yield new Promise((t,r)=>n(this,void 0,void 0,function*(){this.cancelPromise=e=>{r(e)};try{yield e.setLocalDescription(i),t()}catch(e){r(e)}finally{delete this.cancelPromise}})),this.context.logger.info("set local description")})}}t.default=d},97632(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(38148)),s=r(i(21287)),a=r(i(96357)),d=r(i(80414));class c extends d.default{constructor(e){super(e.logger),this.context=e,this.taskName="SetRemoteDescriptionTask"}cancel(){this.cancelICEPromise&&this.cancelICEPromise()}run(){var e;return n(this,void 0,void 0,function*(){this.context.peer||this.logAndThrow("session does not have peer connection; bypass set remote description");let t=this.context.sdpAnswer;t=new s.default(t).withoutServerReflexiveCandidates().sdp,this.context.audioProfile&&(t=new s.default(t).withAudioMaxAverageBitrate(this.context.audioProfile.audioBitrateBps).sdp,this.context.audioProfile.isStereo()&&(t=new s.default(t).withStereoAudio().sdp)),void 0!==this.context.videoSendCodecPreferences&&this.context.videoSendCodecPreferences.length>0&&(t=new s.default(t).withVideoSendCodecPreferences(void 0!==this.context.meetingSupportedVideoSendCodecPreferences?this.context.meetingSupportedVideoSendCodecPreferences:this.context.videoSendCodecPreferences).sdp),this.context.prioritizedSendVideoCodecCapabilities=new s.default(t).prioritizedSendVideoCodecCapabilities(),this.context.currentVideoSendCodec=this.context.prioritizedSendVideoCodecCapabilities.length>0?this.context.prioritizedSendVideoCodecCapabilities[0]:void 0;const i=this.context.activeVideoInput;if(void 0!==i){const t=this.context.audioVideoController.configuration.credentials.attendeeId,n=new o.default(t).hasModality(o.default.MODALITY_CONTENT),r=i.getVideoTracks()[0];n&&((null===(e=this.context.currentVideoSendCodec)||void 0===e?void 0:e.codecName)===a.default.av1Main().codecName?(r.contentHint="text",this.logger.info(`Setting content hint to text for AV1, attendee: ${t}`)):this.context.audioVideoController.configuration.enableSVC&&(r.contentHint="motion",this.logger.info(`Setting content hint to motion to enable SVC, attendee: ${t}`)))}this.logger.info(`processed remote description is >>>${t}<<<`);const n={type:"answer",sdp:t,toJSON:null};try{yield this.createICEConnectionCompletedPromise(n)}catch(e){throw e}})}createICEConnectionCompletedPromise(e){return new Promise((t,i)=>n(this,void 0,void 0,function*(){const n=()=>{"connected"!==this.context.peer.iceConnectionState&&"completed"!==this.context.peer.iceConnectionState||(this.context.peer.removeEventListener("iceconnectionstatechange",n),t())};
2138this.cancelICEPromise=()=>{this.context.peer&&this.context.peer.removeEventListener("iceconnectionstatechange",n),i(new Error(`${this.name()} got canceled while waiting for the ICE connection state`))},this.context.peer.addEventListener("iceconnectionstatechange",n);try{yield this.context.peer.setRemoteDescription(e),this.logger.info("set remote description, waiting for ICE connection"),n()}catch(e){i(e)}}))}}t.default=c},95814(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(60169)),s=r(i(77376)),a=r(i(21287)),d=r(i(21467)),c=i(35928),l=r(i(10587)),u=r(i(5667)),h=i(38359),p=i(7980),f=r(i(80414));class m extends f.default{constructor(e){super(e.logger),this.context=e,this.taskName="SubscribeAndReceiveSubscribeAckTask",this.taskCanceler=null,this.textCompressor=new d.default(e.logger)}cancel(){this.taskCanceler&&(this.taskCanceler.cancel(),this.taskCanceler=null)}run(){return n(this,void 0,void 0,function*(){let e="";if(this.context.peer&&this.context.peer.localDescription&&(e=new a.default(this.context.peer.localDescription.sdp).withUnifiedPlanFormat().sdp),!this.context.enableSimulcast){let e=0,t=0;this.context.videoCaptureAndEncodeParameter&&(e=this.context.videoCaptureAndEncodeParameter.captureFrameRate(),t=this.context.videoCaptureAndEncodeParameter.encodeBitrates()[0]);const i={rid:"hi",maxBitrate:1e3*t,maxFramerate:e,active:!0};this.context.videoStreamIndex.integrateUplinkPolicyDecision([i])}const t=this.fixUpSubscriptionOrder(e,this.context.videoSubscriptions),i=this.context.videoDuplexMode===h.SdkStreamServiceType.TX||this.context.videoDuplexMode===h.SdkStreamServiceType.DUPLEX;let n,r=e;if(void 0!==this.context.videoUplinkBandwidthPolicy.wantsVideoDependencyDescriptorRtpHeaderExtension&&this.context.videoUplinkBandwidthPolicy.wantsVideoDependencyDescriptorRtpHeaderExtension()||(r=new a.default(r).withoutDependencyDescriptorRtpHeaderExtension().sdp),this.context.serverSupportsCompression){const t=this.context.previousSdpOffer?this.context.previousSdpOffer.sdp:"";n=this.textCompressor.compress(r,t),this.context.logger.info(`Compressed the SDP message from ${r.length} to ${n.length} bytes.`),e=""}this.context.previousSdpOffer=new a.default(e);const o=new u.default(this.context.meetingSessionConfiguration.credentials.attendeeId,e,this.context.meetingSessionConfiguration.urls.audioHostURL,this.context.realtimeController.realtimeIsLocalAudioMuted(),!1,t,i,this.context.videoStreamIndex.localStreamDescriptions(),!0,n);void 0===this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption||c.serverSideNetworkAdaptionIsNoneOrDefault(this.context.videoDownlinkBandwidthPolicy.getServerSideNetworkAdaption())||void 0===this.context.videoDownlinkBandwidthPolicy.getVideoPreferences||(o.videoSubscriptionConfiguration=p.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration(this.context,t.map(e=>0===e?0:this.context.videoStreamIndex.groupIdForStreamId(e)),this.context.videoDownlinkBandwidthPolicy.getVideoPreferences())),this.context.logger.info(`sending subscribe: ${JSON.stringify(o)}`),this.context.signalingClient.subscribe(o);const s=yield this.receiveSubscribeAck();this.context.logger.info(`got subscribe ack: ${JSON.stringify(s)}`);let d="";s.compressedSdpAnswer&&s.compressedSdpAnswer.length?(d=this.textCompressor.decompress(s.compressedSdpAnswer,this.context.previousSdpAnswerAsString),0===d.length&&(this.context.sdpAnswer="",this.context.previousSdpAnswerAsString="",this.logAndThrow("Error occurred while trying to decompress the SDP answer.")),this.context.logger.info(`Decompressed the SDP message from ${s.compressedSdpAnswer.length} to ${d.length} bytes.`),this.context.sdpAnswer=d):this.context.sdpAnswer=s.sdpAnswer,this.context.previousSdpAnswerAsString=this.context.sdpAnswer,this.context.videoStreamIndex.integrateSubscribeAckFrame(s)})}fixUpSubscriptionOrder(e,t){if(void 0===this.context.transceiverController.getMidForStreamId)return t;const i=new Map;for(const e of t){const t=this.context.transceiverController.getMidForStreamId(e);void 0!==t?i.set(t,e):0!==e&&this.logger.warn(`Could not find MID for stream ID: ${e}`)}const n=new a.default(e).mediaSections(),r=[];for(const e of n)if("video"===e.mediaType)if("recvonly"===e.direction){const t=i.get(e.mid);if(void 0===t){this.logger.warn(`Could not find stream ID for MID: ${e.mid}`);continue}r.push(t)}else r.push(0);return this.logger.info(`Fixed up ${JSON.stringify(t)} to ${JSON.stringify(r)} (may be same))}`),r}receiveSubscribeAck(){return new Promise((e,t)=>
2138{const i=this.context,n=new class{constructor(e){this.signalingClient=e}cancel(){this.signalingClient.removeObserver(this),t(new Error("SubscribeAndReceiveSubscribeAckTask got canceled while waiting for SdkSubscribeAckFrame"))}handleSignalingClientEvent(t){if(t.isConnectionTerminated()){const e=`SubscribeAndReceiveSubscribeAckTask connection was terminated with code ${t.closeCode} and reason: ${t.closeReason}`;i.logger.warn(e);let n=s.default.TaskFailed;return t.closeCode>=4500&&t.closeCode<4600&&(n=s.default.SignalingInternalServerError),void i.audioVideoController.handleMeetingSessionStatus(new o.default(n),new Error(e))}if(t.type!==l.default.ReceivedSignalFrame||t.message.type!==h.SdkSignalFrame.Type.SUBSCRIBE_ACK)return;this.signalingClient.removeObserver(this);const n=t.message.suback;e(n)}}(this.context.signalingClient);this.context.signalingClient.registerObserver(n),this.taskCanceler=n})}}t.default=m},5217(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.IDLE="IDLE",e.RUNNING="RUNNING",e.CANCELED="CANCELED",e.FINISHED="FINISHED"}(i||(i={})),t.default=i},71630(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(50448)),s=r(i(80414));class a extends s.default{constructor(e,t,i){super(e),this.taskToRunBeforeTimeout=t,this.timeoutMs=i,this.taskName=`Timeout${this.timeoutMs}ms`,t.setParent(this)}cancel(){this.logger.info(`canceling timeout task ${this.name()} subtask ${this.taskToRunBeforeTimeout}`),this.taskToRunBeforeTimeout.cancel()}run(){return n(this,void 0,void 0,function*(){const e=new o.default(this.timeoutMs);e.start(()=>{this.logger.info(`timeout reached for task ${this.name()}`),this.taskToRunBeforeTimeout.cancel()});try{yield this.taskToRunBeforeTimeout.run()}finally{e.stop()}this.logger.info(`timeout task ${this.name()} completed`)})}}t.default=a},77718(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(77376)),s=r(i(80414));class a extends s.default{constructor(e){super(e.logger),this.context=e,this.taskName="WaitForAttendeePresenceTask"}cancel(){if(this.cancelPromise){const e=new Error(`canceling ${this.name()} due to the meeting status code: ${o.default.NoAttendeePresent}`);this.cancelPromise(e),delete this.cancelPromise}}run(){return n(this,void 0,void 0,function*(){const e=this.context.meetingSessionConfiguration.credentials.attendeeId;return new Promise((t,i)=>{const n=(i,r,o,s,a)=>{e===i&&r&&(this.context.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(n),t(),delete this.cancelPromise)};this.cancelPromise=e=>{this.context.realtimeController.realtimeUnsubscribeToAttendeeIdPresence(n),i(e)},this.context.realtimeController.realtimeSubscribeToAttendeeIdPresence(n)})})}}t.default=a},61472(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(6895)),s=r(i(39358)),a=r(i(10899)),d=r(i(17107)),c=r(i(91365));t.default=class{constructor(e,t,i){this.logger=e,this.browserBehavior=t,this.meetingSessionContext=i,this._localCameraTransceiver=null,this._localAudioTransceiver=null,this.videoSubscriptions=[],this.defaultMediaStream=null,this.peer=null,this.streamIdToTransceiver=new Map,this.groupIdToTransceiver=new Map,this.audioRedWorker=null,this.audioRedWorkerURL=null,this.audioMetricsHistory=new Array,this.redMetricsObservers=new Set,this.currentNumRedundantEncodings=0,this.lastRedHolddownTimerStartTimestampMs=0,this.lastHighPacketLossEventTimestampMs=0,this.lastAudioRedTurnOffTimestampMs=0,this.maxAudioMetricsHistory=20,this.audioRedPacketLossShortEvalPeriodMs=5e3,this.audioRedPacketLossLongEvalPeriodMs=15e3,this.audioRedHoldDownTimeMs=3e5,this.redRecoveryTimeMs=6e4,this.handleTrack=e=>{const t=!!window.RTCRtpScriptTransform;this.audioRedWorker&&t&&(e.receiver.transform||(this.logger.info(`Applying passthrough transform to re
2138ceiver track ${e.track.id} not set after addTranceiver`),e.receiver.transform=new RTCRtpScriptTransform(this.audioRedWorker,{type:"PassthroughTransform"})))}}setEncodingParameters(e){return n(this,void 0,void 0,function*(){if(!this._localCameraTransceiver||"sendrecv"!==this._localCameraTransceiver.direction)return;const t=this._localCameraTransceiver.sender;if(!e||0===e.size)return;const i=Array.from(e.values()),n=t.getParameters();if(n.encodings&&0!==n.encodings.length)for(const e of n.encodings)for(const t of i){if((e.rid||t.rid)&&e.rid!==t.rid)continue;let i;for(i in t)"rid"!==i&&"codecPayloadType"!==i&&t.hasOwnProperty(i)&&(e[i]=t[i])}else n.encodings=i;yield t.setParameters(n)})}localAudioTransceiver(){return this._localAudioTransceiver}localVideoTransceiver(){return this._localCameraTransceiver}setVideoSendingBitrateKbps(e){return n(this,void 0,void 0,function*(){if(!this._localCameraTransceiver||"sendrecv"!==this._localCameraTransceiver.direction)return;const t=this._localCameraTransceiver.sender;if(!t||e<=0)return;const i=t.getParameters();i.encodings||(i.encodings=[{}]);for(const t of i.encodings)t.maxBitrate=1e3*e;yield t.setParameters(i)})}setPeer(e){this.peer=e,this.peer.addEventListener("track",this.handleTrack)}reset(){this.destroyAudioRedWorkerAndStates(),this._localCameraTransceiver=null,this._localAudioTransceiver=null,this.videoSubscriptions=[],this.defaultMediaStream=null,this.peer&&this.peer.removeEventListener("track",this.handleTrack),this.peer=null}useTransceivers(){return!!this.peer&&void 0!==this.peer.getTransceivers}hasVideoInput(){return!(!this._localCameraTransceiver||"sendrecv"!==this._localCameraTransceiver.direction)}trackIsVideoInput(e){return!!this._localCameraTransceiver&&(e===this._localCameraTransceiver.sender.track||e===this._localCameraTransceiver.receiver.track)}setupLocalTransceivers(){var e,t;this.useTransceivers()&&(this.defaultMediaStream||"undefined"==typeof MediaStream||(this.defaultMediaStream=new MediaStream),this._localAudioTransceiver||(this._localAudioTransceiver=this.peer.addTransceiver("audio",{direction:"inactive",streams:[this.defaultMediaStream]}),(null===(t=null===(e=this.meetingSessionContext)||void 0===e?void 0:e.audioProfile)||void 0===t?void 0:t.hasRedundancyEnabled())&&this.setupAudioRedWorker()),this._localCameraTransceiver||(this._localCameraTransceiver=this.addTransceiver("video",{direction:"inactive",streams:[this.defaultMediaStream]})))}replaceAudioTrack(e){return n(this,void 0,void 0,function*(){return this._localAudioTransceiver&&"sendrecv"===this._localAudioTransceiver.direction?(yield this._localAudioTransceiver.sender.replaceTrack(e),!0):(this.logger.info("audio transceiver direction is not set up or not activated"),!1)})}setAudioInput(e){return n(this,void 0,void 0,function*(){yield this.setTransceiverInput(this._localAudioTransceiver,e)})}setVideoInput(e){return n(this,void 0,void 0,function*(){yield this.setTransceiverInput(this._localCameraTransceiver,e)})}updateVideoTransceivers(e,t){if(!this.useTransceivers())return t.array();const i=this.peer.getTransceivers();return this.videoSubscriptions=[0],t=t.clone(),this.updateTransceivers(i,e,t),this.logger.debug(()=>this.debugDumpTransceivers()),this.videoSubscriptions}updateTransceivers(e,t,i){const n=i.array();0===e.length||e[0].stop?0!==e.length&&this.updateTransceiverWithStop(e,t,n):(this.logger.info("Updating transceivers without `stop` function"),this.updateTransceiverWithoutStop(e,t,n));for(const e of n){const i=this.addTransceiver("video",{direction:"recvonly",streams:[new MediaStream]});this.streamIdToTransceiver.set(e,i),this.groupIdToTransceiver.set(t.groupIdForStreamId(e),i),this.videoSubscriptions.push(e),this.logger.info(`adding transceiver mid: ${i.mid} subscription: ${e} direction: recvonly`)}}updateTransceiverWithStop(e,t,i){let n=1;this.videoSubscriptions=[0];for(const r of e){if(r===this._localCameraTransceiver||!this.transceiverIsVideo(r)||!r.mid)continue;let e=!1;const o=t.streamIdForTrack("v_"+r.mid);if("inactive"!==r.direction&&void 0!==o)for(const[s,a]of i.entries())if(t.StreamIdsInSameGroup(o,a)){r.direction="recvonly",this.videoSubscriptions[n]=a,e=!0,this.streamIdToTransceiver.delete(o),this.streamIdToTransceiver.set(a,r),i.splice(s,1);break}if(!e){this.videoSubscriptions[n]=0,this.logger.info(`Stopping MID: ${r.mid}, direction: ${r.direction}, current direction: ${r.currentDirection}`),r.stop();for(const[e,i]of this.streamIdToTransceiver.entries())r.mid===i.mid&&(this.streamIdToTransceiver.delete(e),this.groupIdToTransceiver.delete(t.groupIdForStreamId(e)))}n+=1}}updateTransceiverWithoutStop(e,t,i){let n=1;for(const r of e)if(r!==this._localCameraTransceiver&&this.transceiverIsVideo(r)){if(this.videoSubscriptions[n]=0,"inactive"!==r.direction){const e=t.streamIdForTrack("v_"+r.mid);if(void 0!==e)for(const[o,s]of i.entries())if(t.StreamIdsInSameGroup(e,s)){r.direction="recvonly",this.videoSubscriptions[n]=s,this.streamIdToTransceiver.delete(e),this.streamIdToTransceiver.set(s,r),i.splice(o,1);break}}n+=1}n=1;for(const r of e)if(r!==this._localCameraTransceiver&&this.transceiverIsVideo(r)){if("inactive"===r.direction&&i.length>0){r.direction="recvonly";
2138const e=i.shift();this.videoSubscriptions[n]=e,this.streamIdToTransceiver.set(e,r),this.groupIdToTransceiver.set(t.groupIdForStreamId(e),r)}else if(0===this.videoSubscriptions[n]){r.direction="inactive";for(const[e,i]of this.streamIdToTransceiver.entries())r===i&&(this.streamIdToTransceiver.delete(e),this.groupIdToTransceiver.delete(t.groupIdForStreamId(e)))}n+=1}}getMidForStreamId(e){var t;return null===(t=this.streamIdToTransceiver.get(e))||void 0===t?void 0:t.mid}setStreamIdForMid(e,t){for(const[i,n]of this.streamIdToTransceiver.entries())if(n.mid===e)return this.streamIdToTransceiver.delete(i),void this.streamIdToTransceiver.set(t,n)}getMidForGroupId(e){var t,i;return null!==(i=null===(t=this.groupIdToTransceiver.get(e))||void 0===t?void 0:t.mid)&&void 0!==i?i:void 0}transceiverIsVideo(e){return e.receiver&&e.receiver.track&&"video"===e.receiver.track.kind||e.sender&&e.sender.track&&"video"===e.sender.track.kind}debugDumpTransceivers(){let e="",t=0;for(const i of this.peer.getTransceivers())this.transceiverIsVideo(i)&&(e+=`transceiver index=${t} mid=${i.mid} subscription=${this.videoSubscriptions[t]} direction=${i.direction}\n`,t+=1);return e}setTransceiverInput(e,t){return n(this,void 0,void 0,function*(){e&&(e.direction=t?"sendrecv":"inactive",yield e.sender.replaceTrack(t))})}forEachRedMetricsObserver(e){for(const t of this.redMetricsObservers)c.default.nextTick(()=>{this.redMetricsObservers.has(t)&&t.recoveryMetricsDidReceive(e)})}disableAudioRedundancy(){this.meetingSessionContext.audioProfile=new o.default(this.meetingSessionContext.audioProfile.audioBitrateBps,!1),this.meetingSessionContext.audioVideoController.setAudioProfile(this.meetingSessionContext.audioProfile)}setupAudioRedWorker(){var e,t;const i=!!window.RTCRtpScriptTransform,n=!!RTCRtpSender.prototype.createEncodedStreams;if(i)this.logger.info("[AudioRed] Supports encoded insertable streams using RTCRtpScriptTransform");else{if(!n)throw this.disableAudioRedundancy(),new Error("[AudioRed] Encoded insertable streams not supported. Recreating peer connection with audio redundancy disabled.");this.logger.info("[AudioRed] Supports encoded insertable streams using TransformStream")}try{this.audioRedWorkerURL=URL.createObjectURL(new Blob([d.default],{type:"application/javascript"})),this.logger.info(`[AudioRed] Redundant audio worker URL ${this.audioRedWorkerURL}`),this.audioRedWorker=new Worker(this.audioRedWorkerURL)}catch(e){throw this.logger.error(`[AudioRed] Unable to create audio red worker due to ${e}`),URL.revokeObjectURL(this.audioRedWorkerURL),this.audioRedWorkerURL=null,this.audioRedWorker=null,this.disableAudioRedundancy(),this.logger.info("[AudioRed] Recreating peer connection with audio redundancy disabled"),e}if(this.audioRedEnabled=!0,this.audioRedWorker.onmessage=e=>{if("REDWorkerLog"===e.data.type)this.logger.info(e.data.log);else if("RedundantAudioEncoderStats"===e.data.type){const t=new s.default;t.currentTimestampMs=Date.now(),t.ssrc=e.data.ssrc,t.totalAudioPacketsLost=e.data.totalAudioPacketsLost,t.totalAudioPacketsExpected=e.data.totalAudioPacketsExpected,t.totalAudioPacketsRecoveredRed=e.data.totalAudioPacketsRecoveredRed,t.totalAudioPacketsRecoveredFec=e.data.totalAudioPacketsRecoveredFec,this.forEachRedMetricsObserver(t)}},i)this._localAudioTransceiver.sender.transform=new RTCRtpScriptTransform(this.audioRedWorker,{type:"SenderTransform"}),this._localAudioTransceiver.receiver.transform=new RTCRtpScriptTransform(this.audioRedWorker,{type:"ReceiverTransform"});else if(n){const e=this._localAudioTransceiver.sender.createEncodedStreams(),t=this._localAudioTransceiver.receiver.createEncodedStreams();this.audioRedWorker.postMessage({msgType:"StartRedWorker",send:e,receive:t},[e.readable,e.writable,t.readable,t.writable])}null===(e=this.meetingSessionContext)||void 0===e||e.audioVideoController.addObserver(this),this.addRedundantAudioRecoveryMetricsObserver(null===(t=this.meetingSessionContext)||void 0===t?void 0:t.statsCollector)}addTransceiver(e,t){var i;const n=this.peer.addTransceiver(e,t);if(!this.audioRedWorker)return n;const r=!!window.RTCRtpScriptTransform,o=!!RTCRtpSender.prototype.createEncodedStreams;if(r)"recvonly"!==t.direction&&(n.sender.transform=new RTCRtpScriptTransform(this.audioRedWorker,{type:"PassthroughTransform"}));else if(o){if(!(null===(i=this.peer.getConfiguration())||void 0===i?void 0:i.encodedInsertableStreams))return n;const e=n.sender.createEncodedStreams(),t=n.receiver.createEncodedStreams();this.audioRedWorker.postMessage({msgType:"PassthroughTransform",send:e,receive:t},[e.readable,e.writable,t.readable,t.writable])}return n}destroyAudioRedWorkerAndStates(){var e,t;this.audioRedWorker&&(URL.revokeObjectURL(this.audioRedWorkerURL),this.audioRedWorkerURL=null,this.audioRedWorker.terminate(),this.audioRedWorker=null,this.currentNumRedundantEncodings=0,this.lastRedHolddownTimerStartTimestampMs=0,this.lastAudioRedTurnOffTimestampMs=0,this.lastHighPacketLossEventTimestampMs=0,this.audioRedEnabled=!0,null===(e=this.meetingSessionContext)||void 0===e||e.audioVideoController.removeObserver(this),this.removeRedundantAudioRecoveryMetricsObserver(null===(t=this.meetingSessionContext)||void 0===t?void 0:t.statsCollector))}setAudioPayloadTypes(e){this.audioRedWorker&&(this.audioRedWorker.postMessage({msgType:"RedPayloadType",payloadType:e.get("red")}),this.audioRedWorker.postMessage({msgType:"OpusPayloadType",payloadType:e.get("opus")}))}metricsDidReceive(e){const{currentTimestampMs:t}=e,i=e.getRTCStatsReport();let n=0,r=0,o=0;
2138i.forEach(e=>{"audio"===e.kind&&("outbound-rtp"===e.type?r=e.packetsSent:"remote-inbound-rtp"===e.type&&(n=e.timestamp,o=e.packetsLost))}),(0===this.audioMetricsHistory.length||n>this.audioMetricsHistory[this.audioMetricsHistory.length-1].timestampMs&&r>this.audioMetricsHistory[this.audioMetricsHistory.length-1].totalPacketsSent)&&this.audioMetricsHistory.push({timestampMs:n,totalPacketsSent:r,totalPacketsLost:o}),this.audioMetricsHistory.length>this.maxAudioMetricsHistory&&this.audioMetricsHistory.shift();const s=this.lossPercent(this.audioRedPacketLossShortEvalPeriodMs),d=this.lossPercent(this.audioRedPacketLossLongEvalPeriodMs),c=Math.max(s,d),[l,u]=a.default.getNumRedundantEncodingsForPacketLoss(c);if(u)return this.lastHighPacketLossEventTimestampMs=t,void(this.audioRedEnabled&&(this.audioRedWorker&&this.audioRedWorker.postMessage({msgType:"Disable"}),this.audioRedEnabled=!1,this.lastAudioRedTurnOffTimestampMs=t));if(!this.audioRedEnabled){const e=t-this.lastAudioRedTurnOffTimestampMs,i=t-this.lastHighPacketLossEventTimestampMs;if(e>=this.audioRedPacketLossLongEvalPeriodMs&&i<this.redRecoveryTimeMs)return;this.audioRedWorker&&this.audioRedWorker.postMessage({msgType:"Enable"}),this.audioRedEnabled=!0,this.maybeResetHoldDownTimer(t)}this.shouldUpdateAudioRedWorkerEncodings(t,l)&&this.audioRedWorker&&this.audioRedWorker.postMessage({msgType:"UpdateNumRedundantEncodings",numRedundantEncodings:l})}maybeResetHoldDownTimer(e){this.currentNumRedundantEncodings>0&&(this.lastRedHolddownTimerStartTimestampMs=e)}lossPercent(e){if(this.audioMetricsHistory.length<2)return 0;const t=this.audioMetricsHistory[this.audioMetricsHistory.length-1].timestampMs,i=this.audioMetricsHistory[this.audioMetricsHistory.length-1].totalPacketsSent,n=this.audioMetricsHistory[this.audioMetricsHistory.length-1].totalPacketsLost;for(let r=this.audioMetricsHistory.length-2;r>=0;r--)if(t-this.audioMetricsHistory[r].timestampMs>=e){const e=(n-this.audioMetricsHistory[r].totalPacketsLost)/(i-this.audioMetricsHistory[r].totalPacketsSent)*100;return Math.max(0,Math.min(e,100))}return 0}shouldUpdateAudioRedWorkerEncodings(e,t){return this.currentNumRedundantEncodings===t?(this.maybeResetHoldDownTimer(e),!1):!(t<this.currentNumRedundantEncodings&&e-this.lastRedHolddownTimerStartTimestampMs<this.audioRedHoldDownTimeMs||(this.currentNumRedundantEncodings=t,this.maybeResetHoldDownTimer(e),0))}addRedundantAudioRecoveryMetricsObserver(e){this.redMetricsObservers.add(e)}removeRedundantAudioRecoveryMetricsObserver(e){this.redMetricsObservers.delete(e)}}},88284(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(26216));class s extends o.default{constructor(e,t,i){super(e,t,i);let n=2;this.videoQualityControlParameterMap=new Map;for(let e=0;e<s.NAME_ARR_ASCENDING.length;e++){const t=s.NAME_ARR_ASCENDING[e];this.videoQualityControlParameterMap.set(t,{rid:t,scaleResolutionDownBy:n,maxBitrate:1e3*s.BITRATE_ARR_ASCENDING[e]}),n/=2}}setEncodingParameters(e){return n(this,void 0,void 0,function*(){if(!this._localCameraTransceiver||"sendrecv"!==this._localCameraTransceiver.direction)return;const t=this._localCameraTransceiver.sender,i=Array.from(e.values());if(i.length<=0)return;const n=t.getParameters();if(n.encodings)for(let t=0;t<n.encodings.length;t++)n.encodings[t].rid===o.default.LOW_LEVEL_NAME&&this.copyEncodingParams(e.get(o.default.LOW_LEVEL_NAME),n.encodings[t]),n.encodings[t].rid===o.default.HIGH_LEVEL_NAME&&this.copyEncodingParams(e.get(o.default.HIGH_LEVEL_NAME),n.encodings[t]);else n.encodings=i;yield t.setParameters(n),this.logVideoTransceiverParameters()})}}t.default=s,s.NAME_ARR_ASCENDING=["low","hi"],s.BITRATE_ARR_ASCENDING=[300,1200]},26216(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(61472));class s extends o.default{constructor(e,t,i){super(e,t,i),this.videoQualityControlParameterMap=new Map;let n=4;for(let e=0;e<s.NAME_ARR_ASCENDING.length;e++){const t=s.NAME_ARR_ASCENDING[e];this.videoQualityControlParameterMap.set(t,{rid:t,scaleResolutionDownBy:n,maxBitrate:1e3*s.BITRATE_ARR_ASCENDING[e]}),n/=2}}setEncodingParameters(e){return n(this,void 0,void 0,function*(){if(!this._localCameraTransceiver||"sendrecv"!==this._localCameraTransceiver.direction)return;const t=this._localCameraTransceiver.sender,i=Array.from(e.values());if(i.length<=0)return;const n=t.getParameters();if(n.encodings)for(const t of n.encodings)t.rid===s.LOW_LEVEL_NAME&&this.copyEncodingParams(e.get(s.LOW_LEVEL_NAME),t),t.rid===s.MID_LEVEL_NAME&&this.copyEncodingParams(e.get(s.MID_LEVEL_NAME),t),t.rid===s.HIGH_LEVEL_NAME&&this.copyEncodingParams(e.get(s.HIGH_LEVEL_NAME),t);else n.encodings=i;yield t.setParameters(n),this.logVideoTransceiverParameters()})}setVideoSendingBitrateKbps(e){return n(this,void 0,void 0,function*(){})}setupLocalTransceivers(){var e,t;if(this.useTransceivers()&&(this.defaultMediaStream||"undefined"==typeof MediaStream||(this.defaultMediaStream=new MediaStream),this._localAudioTransceiver||(this._localAudioTransceiver=this.peer.addTransceiver("audio",{direction:"inactive",streams:[this.defaultMediaStream]}),(null===(t=null===(e=this.meetingSessionContext)||void 0===e?void 0:e.audioProfile)||void 0===t?void 0:t.hasRedundancyEnabled())&&this.setupAudioRedWorker()),!this._localCameraTransceiver)){const e=Array.from(this.videoQualityControlParameterMap.values());this._localCameraTransceiver=this.addTransceiver("video",{direction:"inactive",streams:[this.defaultMediaStream],sendEncodings:e})}}logVideoTransceiverParameters(){const e=this._localCameraTransceiver.sender.getParameters().encodings;let t="simulcast: current encoding parameters \n";for(const i of e)t+=`rid=${i.rid} maxBitrate=${i.maxBitrate} active=${i.active}
2138 scaleDownBy=${i.scaleResolutionDownBy} maxFrameRate = ${i.maxFramerate} \n`;this.logger.info(t)}copyEncodingParams(e,t){t.active=e.active,t.maxBitrate=e.maxBitrate,t.scaleResolutionDownBy=e.scaleResolutionDownBy,t.maxFramerate=e.maxFramerate}}t.default=s,s.LOW_LEVEL_NAME="low",s.MID_LEVEL_NAME="mid",s.HIGH_LEVEL_NAME="hi",s.NAME_ARR_ASCENDING=["low","mid","hi"],s.BITRATE_ARR_ASCENDING=[200,400,1100]},21204(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(61472));class o extends r.default{constructor(e,t,i){super(e,t,i)}setupLocalTransceivers(){this.useTransceivers()&&(this.defaultMediaStream||"undefined"==typeof MediaStream||(this.defaultMediaStream=new MediaStream),this._localCameraTransceiver||(this._localCameraTransceiver=this.peer.addTransceiver("video",{direction:"inactive",streams:[this.defaultMediaStream]})))}}t.default=o},66456(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TRANSCRIPTION_DATA_MESSAGE_TOPIC=void 0;const n=i(97465);t.TRANSCRIPTION_DATA_MESSAGE_TOPIC="aws:chime:transcription",t.default=class{constructor(e){this.realtimeController=e,this.transcriptEventCallbacks=new Set}subscribeToTranscriptEvent(e){0===this.transcriptEventCallbacks.size&&this.realtimeController.realtimeSubscribeToReceiveDataMessage(t.TRANSCRIPTION_DATA_MESSAGE_TOPIC,e=>{for(const t of n.TranscriptEventConverter.from(e))for(const e of this.transcriptEventCallbacks)e(t)}),this.transcriptEventCallbacks.add(e)}unsubscribeFromTranscriptEvent(e){this.transcriptEventCallbacks.delete(e),0===this.transcriptEventCallbacks.size&&this.realtimeController.realtimeUnsubscribeFromReceiveDataMessage(t.TRANSCRIPTION_DATA_MESSAGE_TOPIC)}}},75221(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},374(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},38922(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},97465(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.TranscriptEventConverter=void 0;const r=i(38359),o=n(i(75221)),s=n(i(2673)),a=n(i(32897)),d=n(i(71714)),c={[r.SdkTranscriptionStatus.Type.STARTED]:a.default.STARTED,[r.SdkTranscriptionStatus.Type.INTERRUPTED]:a.default.INTERRUPTED,[r.SdkTranscriptionStatus.Type.RESUMED]:a.default.RESUMED,[r.SdkTranscriptionStatus.Type.STOPPED]:a.default.STOPPED,[r.SdkTranscriptionStatus.Type.FAILED]:a.default.FAILED};t.TranscriptEventConverter=class{static from(e){let t;try{t=r.SdkTranscriptFrame.decode(e.data)}catch(e){throw new Error("Cannot decode transcript data message: "+e)}const i=[];for(const e of t.events)if(e.status){const t=c[e.status.type];if(!t)continue;const n=new s.default;n.type=t,n.eventTimeMs=e.status.eventTime,n.transcriptionRegion=e.status.transcriptionRegion,n.transcriptionConfiguration=e.status.transcriptionConfiguration,e.status.message&&(n.message=e.status.message),i.push(n)}else if(e.transcript){const t=new o.default;t.results=[];for(const i of e.transcript.results){const e={channelId:i.channelId,isPartial:i.isPartial,resultId:i.resultId,startTimeMs:i.startTime,endTimeMs:i.endTime,alternatives:[]};if(i.languageCode&&(e.languageCode=i.languageCode),i.languageIdentification&&i.languageIdentification.length>0){e.languageIdentification=[];for(const t of i.languageIdentification){const i={languageCode:t.languageCode,score:t.score};e.languageIdentification.push(i)}}for(const t of i.alternatives){const i={items:[],transcript:t.transcript};for(const e of t.items){const t={content:e.content,attendee:{attendeeId:e.speakerAttendeeId,externalUserId:e.speakerExternalUserId},startTimeMs:e.startTime,endTimeMs:e.endTime,type:null};switch(e.vocabularyFilterMatch&&(t.vocabularyFilterMatch=e.vocabularyFilterMatch),e.hasOwnProperty("stable")&&(t.stable=e.stable),e.hasOwnProperty("confidence")&&(t.confidence=e.confidence),e.type){case r.SdkTranscriptItem.Type.PRONUNCIATION:t.type=d.default.PRONUNCIATION;break;case r.SdkTranscriptItem.Type.PUNCTUATION:t.type=d.default.PUNCTUATION}i.items.push(t)}for(const e of t.entities){i.entities||(i.entities=[]);const t={category:e.category,confidence:e.confidence,content:e.content,startTimeMs:e.startTime,endTimeMs:e.endTime};e.type&&(t.type=e.type),i.entities.push(t)}e.alternatives.push(i)}t.results.push(e)}i.push(t)}return i}}},62730(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},71714(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.PRONUNCIATION="pronunciation",e.PUNCTUATION="punctuation"}(i||(i={})),t.default=i},3093(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},25312(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},2673(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},32897(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.STARTED="started",e.INTERRUPTED="interrupted",e.RESUMED="resumed",e.STOPPED="stopped",e.FAILED="failed"}(i||(i={})),t.default=i},36594(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(6660),o=n(i(40961));class s{constructor(e){var t,i,n,o,a,d,c;try{this.parserResult=navigator&&navigator.userAgent?new r.UAParser(navigator.userAgent).getResult():void 0}catch(t){e.error(t.message)}this.browserMajorVersion=(null===(n=null===(i=null===(t=this.parserResult)||void 0===t?void 0:t.browser)||void 0===i?void 0:i.version)||void 0===n?void 0:n.split(".")[0])||s.UNAVAILABLE,this.browserName=(null===(o=this.parserResult)||void 0===o?void 0:o.browser.name)||s.UNAVAILABLE,this.browserVersion=(null===(a=this.parserResult)||void 0===a?void 0:a.browser.version)||s.UNAVAILABLE,this.deviceName=[(null===(d=this.parserResult)||void 0===d?void 0:d.device.vendor)||"",(null===(c=this.parserResult)||void 0===c?void 0:c.device.model)||""].join(" ").trim()||s.UNAVAILABLE}getParserResult(){var e,t;return{browserMajorVersion:this.browserMajorVersion,browserName:this.browserName,browserVersion:this.browserVersion,deviceName:this.deviceName,osName:(null===(e=this.parserResult)||void 0===e?void 0:e.os.name)||s.UNAVAILABLE,osVersion:(null===(t=this.parserResult)||void 0===t?void 0:t.os.version)||s.UNAVAILABLE,sdkVersion:o.default.sdkVersion,sdkName:o.default.sdkName}}}t.default=s,s.UNAVAILABLE="Unavailable"},1e4(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.queue=Promise.resolve()}add(e){return new Promise((t,i)=>{this.queue=this.queue.then(e).then(t).catch(i)})}}},89419(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.None=t.Some=t.Maybe=void 0;class i{static of(e){return null==e?r.of():n.of(e)}}t.Maybe=i;class n{constructor(e){this.value=e,this.isSome=!0,this.isNone=!1}map(e){return i.of(e(this.value))}flatMap(e){return e(this.value)}get(){return this.value}getOrElse(e){return this.value}defaulting(e){return i.of(this.getOrElse(e))}static of(e){if(null==e)throw new Error("value is ${value}");return new n(e)}}t.Some=n;class r{constructor(){this.isSome=!1,this.isNone=!0}get(){throw new Error("value is null")}getOrElse(e){return e}map(e){return new r}flatMap(e){return new r}defaulting(e){return i.of(this.getOrElse(e))}static of(){return new r}}t.None=r},48471(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.iterateEvery=t.SuppressedError=t.getRandomValues=t.getFormattedOffset=t.getDefaultAssetSpec=t.toLowerCasePropertyNames=t.isIFramed=t.wait=void 0;const r=n(i(40961));t.wait=function(e){return new Promise(t=>setTimeout(t,e))},t.isIFramed=function(){var e;try{return"IFRAME"===(null===(e=window.frameElement)||void 0===e?void 0:e.nodeName)||parent!==top}catch(e){return!0}},t.toLowerCasePropertyNames=function e(t){return null===t?null:"object"!=typeof t?t:Array.isArray(t)?t.map(e):Object.keys(t).reduce((i,n)=>{const r=t[n],o="object"==typeof r?e(r):r;return i[n.toLowerCase()]=o,i},{})},t.getDefaultAssetSpec=function(){const e=r.default.sdkVersionSemVer;return{assetGroup:`sdk-${e.major}.${e.minor}`}},t.getFormattedOffset=function(e){const t=Math.abs(e);return`${e<=0?"+":"-"}${Math.floor(t/60).toString().padStart(2,"0")}:${Math.floor(t%60).toString().padStart(2,"0")}`},t.getRandomValues=function(e){try{window.crypto.getRandomValues(e)}catch(t){new DataView(e.buffer).setUint32(0,Math.trunc(Math.random()*Math.pow(2,32)),!0)}};
2138class o extends Error{constructor(e,t,i){var n;super(null!=i?i:`${null!==(n=null==e?void 0:e.message)&&void 0!==n?n:e}`),this.error=e,this.suppressed=t}}t.SuppressedError=o,t.iterateEvery=function(e,t){if(!e)return;let i;for(const n of e)try{t(n)}catch(e){i=new o(e,i)}if(i)throw i}},40961(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(98824)),o=n(i(54613));class s{static get sdkName(){return"amazon-chime-sdk-js"}static get sdkVersion(){return o.default.semverString}static get sdkVersionSemVer(){var e,t,i,n;const r=o.default.semverString.match(/^(?<major>[0-9]+)\.(?<minor>[0-9]+)((?:\.(?<patch>[0-9]+))(?:-(?<preRelease>[a-zA-Z]+(\.[0-9])*))?)?/);return{major:null===(e=null==r?void 0:r.groups)||void 0===e?void 0:e.major,minor:null===(t=null==r?void 0:r.groups)||void 0===t?void 0:t.minor,patch:null===(i=null==r?void 0:r.groups)||void 0===i?void 0:i.patch,preRelease:null===(n=null==r?void 0:r.groups)||void 0===n?void 0:n.preRelease}}static get buildSHA(){return o.default.hash.substring(1)}static get sdkUserAgentLowResolution(){const e=new r.default;return`${e.name()}-${e.majorVersion()}`}static urlWithVersion(e){const t=new URL(e);return t.searchParams.append(s.X_AMZN_VERSION,s.sdkVersion),t.searchParams.append(s.X_AMZN_USER_AGENT,s.sdkUserAgentLowResolution),t.toString()}}t.default=s,s.X_AMZN_VERSION="X-Amzn-Version",s.X_AMZN_USER_AGENT="X-Amzn-User-Agent"},54613(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={hash:"802f244",raw:"v3.30.0",semverString:"3.30.0"}},95480(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e,t,i,n,r,o=1,s=!1){this.cameraWidth=e,this.cameraHeight=t,this.cameraFrameRate=i,this.maxEncodeBitrateKbps=n,this.isSimulcast=r,this.scaleResolutionDownBy=o,this.isSVC=s}equal(e){let t=e.captureWidth()===this.cameraWidth&&e.captureHeight()===this.cameraHeight&&e.captureFrameRate()===this.cameraFrameRate&&e.encodeBitrates().length===this.encodeBitrates().length&&e.encodeScaleResolutionDownBy().length===this.encodeScaleResolutionDownBy().length&&e.encodeWidths().length===this.encodeWidths().length&&e.encodeHeights().length===this.encodeHeights().length&&e.isSVCEncoding()===this.isSVC;
2138if(t)for(let i=0;i<e.encodeWidths().length;i++)if(e.encodeWidths()[i]!==this.encodeWidths()[i]||e.encodeHeights()[i]!==this.encodeHeights()[i]||e.encodeBitrates()[i]!==this.encodeBitrates()[i]||e.encodeScaleResolutionDownBy()[i]!==this.encodeScaleResolutionDownBy()[i])return t=!1,t;return t}clone(){return new i(this.cameraWidth,this.cameraHeight,this.cameraFrameRate,this.maxEncodeBitrateKbps,this.isSimulcast,this.scaleResolutionDownBy,this.isSVC)}captureWidth(){return this.cameraWidth}captureHeight(){return this.cameraHeight}captureFrameRate(){return this.cameraFrameRate}encodeBitrates(){return[this.maxEncodeBitrateKbps]}encodeScaleResolutionDownBy(){return[this.scaleResolutionDownBy]}encodeWidths(){return[this.cameraWidth]}encodeHeights(){return[this.cameraHeight]}isSVCEncoding(){return this.isSVC}}t.default=i},12712(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(32648));class o{constructor(e){this.selfAttendeeId=e,this.reset()}reset(){this.optimalReceiveSet=new r.default,this.subscribedReceiveSet=new r.default,this.videoSources=void 0}updateIndex(e){this.videoIndex=e,this.optimalReceiveSet=this.calculateOptimalReceiveSet(e)}updateMetrics(e){}wantsResubscribe(){return!this.subscribedReceiveSet.equal(this.optimalReceiveSet)}chooseSubscriptions(){return this.subscribedReceiveSet=this.optimalReceiveSet.clone(),this.subscribedReceiveSet.clone()}chooseRemoteVideoSources(e){this.videoSources=e,this.optimalReceiveSet=this.calculateOptimalReceiveSet(this.videoIndex).clone()}calculateOptimalReceiveSet(e){const t=new r.default;if(!this.videoIndex||this.videoIndex.allStreams().empty())return t;const i=e.highestQualityStreamFromEachGroupExcludingSelf(this.selfAttendeeId),n=this.videoSources?this.videoSources:this.videoIndex.allVideoSendingSourcesExcludingSelf(this.selfAttendeeId),s=this.videoIndex.remoteStreamDescriptions(),a=new Map;for(const e of s)i.contain(e.streamId)&&a.set(e.attendeeId,e);let d=0;for(const e of n){const i=e.attendee.attendeeId;if(a.has(i)){const e=a.get(i);if(!(d+e.maxBitrateKbps<=o.maxReceiveBitrateKbps)){console.warn("total bitrate "+(d+e.maxBitrateKbps)+" exceeds maximum limit (15000). Use chooseRemoteVideoSources to select a subset of participants to avoid this.");break}t.add(e.streamId),d+=e.maxBitrateKbps}}return t}}t.default=o,o.maxReceiveBitrateKbps=15e3},53182(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(32648));t.default=class{reset(){}updateIndex(e){}updateMetrics(e){}wantsResubscribe(){return!1}chooseSubscriptions(){return new r.default}}},30159(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.TargetDisplaySize=void 0,function(e){e[e.Low=0]="Low",e[e.Medium=1]="Medium",e[e.High=2]="High",e[e.Maximum=3]="Maximum"}(i=t.TargetDisplaySize||(t.TargetDisplaySize={})),t.default=i},80728(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(40736)),o=n(i(35928)),s=n(i(4553)),a=i(7980),d=n(i(31975)),c=n(i(66593));class l extends d.default{constructor(e){super(e,l.createConfig()),this.logger=e,super.shouldPauseTiles=!1,this.videoPreferences=void 0}static createConfig(){const e=new c.default;return e.serverSideNetworkAdaption=o.default.None,e}reset(){super.reset(),super.shouldPauseTiles=!1,this.videoPreferences=void 0}updateIndex(e){super.updateIndex(e);const t=a.VideoPreferences.prepare();let i=!1;const n=e.remoteStreamDescriptions();for(const e of n)t.some(t=>t.attendeeId===e.attendeeId)||(e.attendeeId.endsWith(r.default.Modality)?(t.add(new s.default(e.attendeeId,1)),i=!0):t.add(new s.default(e.attendeeId,2)));i?(this.videoPreferences=t.build(),this.videoPreferencesUpdated=!0):this.videoPreferences=void 0}chooseRemoteVideoSources(e){this.logger.error("chooseRemoteVideoSources should not be called by VideoAdaptiveProbePolicy")}}t.default=l},4553(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(30159)),o=n(i(62531));class s{constructor(e,t,i,n){this.attendeeId=e,this.priority=t,this.targetSize=void 0!==i?i:r.default.Maximum,this.degradationPreference=void 0!==n?n:o.default.Balanced}partialCompare(e){return this.priority-e.priority}equals(e){return this.attendeeId===e.attendeeId&&this.targetSize===e.targetSize&&this.priority===e.priority&&this.degradationPreference===e.degradationPreference}clone(){return new s(this.attendeeId,this.priority,this.targetSize,this.degradationPreference)}targetSizeToBitrateKbps(e){switch(e){case r.default.Maximum:return s.MAXIMUM_BITRATE_KBPS;case r.default.High:return s.HIGH_BITRATE_KBPS;case r.default.Medium:return s.MID_BITRATE_KBPS;case r.default.Low:return s.LOW_BITRATE_KBPS}}}t.default=s,s.LOW_BITRATE_KBPS=300,s.MID_BITRATE_KBPS=600,s.HIGH_BITRATE_KBPS=1500,s.MAXIMUM_BITRATE_KBPS=1e4},7980(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.VideoPreferences=t.MutableVideoPreferences=t.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration=void 0;const r=n(i(97375));t.convertVideoPreferencesToSignalingClientVideoSubscriptionConfiguration=function(e,t,i){if(void 0===e.transceiverController.getMidForGroupId||void 0===e.videoStreamIndex.attendeeIdForGroupId||void 0===i)return[];const n=new Array,o=new Map,s=new Map;for(const i of t){const t=e.transceiverController.getMidForGroupId(i);if(void 0===t)continue;const n=e.videoStreamIndex.attendeeIdForGroupId(i);o.set(n,t),s.set(n,i)}for(const e of i){const t=new r.default,i=o.get(e.attendeeId);void 0!==i&&(t.mid=i,t.attendeeId=e.attendeeId,t.groupId=s.get(e.attendeeId),void 0!==t.groupId&&(t.priority=Number.MAX_SAFE_INTEGER-e.priority,t.targetBitrateKbps=e.targetSizeToBitrateKbps(e.targetSize),t.qualityAdaptationPreference=e.degradationPreference,n.push(t)))}return n};class o{constructor(e=[]){this.items=e}static default(){return new o([])}[Symbol.iterator](){let e=0;const t=this.items;return{next:()=>e<t.length?{done:!1,value:t[e++]}:{done:!0,value:null}}}first(){return this.items[0]}add(e){this.items.push(e)}replaceFirst(e,t){const i=this.items.findIndex(t);-1===i?this.items.push(e):this.has(e)?this.items.splice(i,1):this.items[i]=e}remove(e){this.items=this.items.filter(t=>!t.equals(e))}clear(){this.items=[]}isEmpty(){return 0===this.items.length}equals(e){if(e===this)return!0;if(e.items.length!==this.items.length)return!1;for(const t of this.items)if(!e.items.some(e=>e.equals(t)))return!1;return!0}has(e){return this.items.some(t=>t.equals(e))}some(e){return this.items.some(e)}clone(){return new o([...this.items])}sort(){this.items.sort((e,t)=>e.partialCompare(t))}modify(){return new s(this)}}class s{constructor(e=new o){this.items=e,this.copied=!1}cow(){this.copied||(this.items=this.items.clone(),this.copied=!0)}add(e){this.items.has(e)||(this.cow(),this.items.add(e))}replaceFirst(e,t){this.items.has(e)&&!this.items.some(t)||(this.cow(),this.items.replaceFirst(e,t))}remove(e){this.items.has(e)&&(this.cow(),this.items.remove(e))}some(e){return this.items.some(e)}clear(){this.items.isEmpty()||(this.cow(),this.items.clear())}build(){return this.copied&&this.items.sort(),this.copied=!1,this.items}}class a{constructor(e){this.builder=e}add(e){this.builder.add(e)}replaceFirst(e,t){this.builder.replaceFirst(e,t)}remove(e){this.builder.remove(e)}some(e){return this.builder.some(e)}clear(){this.builder.clear()}build(){return new d(this.builder.build())}}t.MutableVideoPreferences=a;class d{constructor(e){this.items=e}static prepare(){return new a(new s)}static default(){return new d(o.default())}[Symbol.iterator](){return this.items[Symbol.iterator]()}highestPriority(){var e;return null===(e=this.items.first())||void 0===e?void 0:e.priority}sorted(){return this.items[Symbol.iterator]()}equals(e){return e===this||this.items.equals(e.items)}modify(){return new a(this.items.modify())}some(e){return this.items.some(e)}isEmpty(){return this.items.isEmpty()}clone(){const e=d.prepare();for(const t of this.items)e.add(t.clone());return e.build()}}t.VideoPreferences=d,t.default=d},31975(e,t,i){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,i,n){void 0===n&&(n=i),Ob
2138ject.defineProperty(e,n,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&n(t,e,i);return r(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(705)),d=s(i(19542)),c=s(i(53551)),l=s(i(40736)),u=i(70305),h=o(i(35928)),p=s(i(23487)),f=s(i(32648)),m=s(i(12712)),g=s(i(30159)),v=s(i(4553)),b=i(7980),y=s(i(66593)),S=s(i(62531));class w{constructor(){this.bandwidthEstimateKbps=0,this.usedBandwidthKbps=0,this.packetsLost=0,this.nackCount=0,this.rttMs=0}}class C{constructor(e,t=y.default.Default){this.logger=e,this.videoPriorityBasedPolicyConfig=t,this.shouldPauseTiles=!0,this.observerQueue=new Set,this.pausedBwAttendeeIds=new Set,this.wantsResubscribeObserver=void 0,this.videoPriorityBasedPolicyConfig.serverSideNetworkAdaption===h.default.Default&&(this.videoPriorityBasedPolicyConfig.serverSideNetworkAdaption=h.default.BandwidthProbingAndRemoteVideoQualityAdaption),this.reset()}reset(){this.allHighestPolicy=new m.default(""),this.optimalReceiveSet=new f.default,this.optimalReceiveStreams=[],this.optimalNonPausedReceiveStreams=[],this.subscribedReceiveSet=new f.default,this.subscribedReceiveStreams=[],this.videoPreferences=void 0,this.defaultVideoPreferences=void 0,this.shouldPauseTiles=!0,this.pausedStreamIds=new f.default,this.pausedBwAttendeeIds=new Set,this.videoPreferencesUpdated=!1,this.logCount=0,this.startupPeriod=!0,this.usingPrevTargetRate=!1,this.rateProbeState="Not Probing",this.firstEstimateTimestamp=0,this.lastUpgradeRateKbps=0,this.timeBeforeAllowSubscribeMs=C.MIN_TIME_BETWEEN_SUBSCRIBE_MS,this.lastProbeTimestamp=Date.now(),this.timeBeforeAllowProbeMs=C.MIN_TIME_BETWEEN_PROBE_MS,this.downlinkStats=new w,this.prevDownlinkStats=new w,this.probeFailed=!1,this.serverSideNetworkAdaption=this.videoPriorityBasedPolicyConfig.serverSideNetworkAdaption,this.pendingActionAfterUpdatedPreferences=!1}bindToTileController(e){this.tileController=e,this.logger.info("tileController bound")}setWantsResubscribeObserver(e){this.wantsResubscribeObserver=e}chooseRemoteVideoSources(e){var t;if(!(null===(t=this.videoPreferences)||void 0===t?void 0:t.equals(e))){if(this.videoPreferences=null==e?void 0:e.clone(),!h.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption)&&(this.pendingActionAfterUpdatedPreferences=!0,void 0!==this.wantsResubscribeObserver&&(this.wantsResubscribeObserver(),this.pendingActionAfterUpdatedPreferences=!1),this.serverSideNetworkAdaption===h.default.BandwidthProbingAndRemoteVideoQualityAdaption)){const e=new Array;for(const t of this.videoPreferences){const i=new p.default;i.attendee=new a.default,i.attendee.attendeeId=t.attendeeId,e.push(i)}return void this.allHighestPolicy.chooseRemoteVideoSources(e)}this.videoPreferencesUpdated=!0,this.logger.info(`bwe: setVideoPreferences bwe: new preferences: ${JSON.stringify(e)}`)}}updateIndex(e){this.videoIndex=e,this.serverSideNetworkAdaption===h.default.BandwidthProbingAndRemoteVideoQualityAdaption&&this.allHighestPolicy.updateIndex(e),this.videoPreferences||this.updateDefaultVideoPreferences()}updateDefaultVideoPreferences(){const e=new Set;for(const t of this.videoIndex.remoteStreamDescriptions())e.add(t.attendeeId);const t=b.VideoPreferences.prepare(),i=e.size;let n=g.default.Maximum;i>8?n=g.default.Low:i>4&&(n=g.default.Medium);for(const i of e)t.add(new v.default(i,1,n));this.defaultVideoPreferences=t.build()}updateMetrics(e){if(!this.videoIndex||this.videoIndex.allStreams().empty())return;this.prevDownlinkStats=this.downlinkStats,this.downlinkStats=new w;const t=e.getObservableMetrics();this.downlinkStats.bandwidthEstimateKbps=t.availableIncomingBitrate/1e3;for(const t in e.streamMetricReports){const i=Number.parseInt(t,10),n=e.streamMetricReports[i];n.direction===d.default.DOWNSTREAM&&n.mediaType===c.default.VIDEO&&(n.currentMetrics.hasOwnProperty("nackCount")&&(this.downlinkStats.nackCount+=e.countPerSecond("nackCount",i)),n.currentMetrics.hasOwnProperty("packetsLost")&&(this.downlinkStats.packetsLost+=e.countPerSecond("packetsLost",i)),n.currentMetrics.hasOwnProperty("bytesReceived")&&(this.downlinkStats.usedBandwidthKbps+=e.bitsPerSecond("bytesReceived",i)/1e3))}}wantsResubscribe(){let e=!1;return h.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption)||(e||(e=this.pendingActionAfterUpdatedPreferences),this.serverSideNetworkAdaption!==h.default.BandwidthProbingAndRemoteVideoQualityAdaption)?(this.calculateOptimalReceiveSet(),e||(e=!this.subscribedReceiveSet.equal(this.optimalReceiveSet)),e):e||this.allHighestPolicy.wantsResubscribe()}chooseSubscriptions(){return h.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption)||(this.pendingActionAfterUpdatedPreferences=!1,this.serverSideNetworkAdaption!==h.default.BandwidthProbingAndRemoteVideoQualityAdaption)?(this.subscribedReceiveSet.equal(this.optimalReceiveSet)||(this.lastSubscribeTimestamp=Date.now()),this.subscribedReceiveSet=this.optimalReceiveSet.clone(),this.subscribedReceiveStreams=this.optimalReceiveStreams.slice(),this.subscribedReceiveSet.clone()):this.allHighestPolicy.chooseSubscriptions()}
2138addObserver(e){this.observerQueue.add(e)}removeObserver(e){this.observerQueue.delete(e)}forEachObserver(e){for(const t of this.observerQueue)e(t)}setVideoPriorityBasedPolicyConfigs(e){this.videoPriorityBasedPolicyConfig=e}calculateOptimalReceiveStreams(){var e;const t=[],i=this.videoIndex.remoteStreamDescriptions();if(0===i.length||(null===(e=this.videoPreferences)||void 0===e?void 0:e.isEmpty()))return void(this.optimalReceiveStreams=[]);const n=this.rateProbeState;this.cleanBwPausedTiles(i),this.handleAppPausedStreams(t,i);const r=new Map;for(const e of this.getCurrentVideoPreferences())r.set(e.attendeeId,e);const o=i.filter(e=>r.has(e.attendeeId)),s=!this.streamsWithPreferenceDidChange(o),a=!this.startupPeriod&&s;if(a&&Date.now()-this.lastSubscribeTimestamp<this.timeBeforeAllowSubscribeMs)return;o.sort((e,t)=>e.maxBitrateKbps===t.maxBitrateKbps?e.streamId-t.streamId:e.maxBitrateKbps-t.maxBitrateKbps);for(const e of o)(0===e.avgBitrateKbps||e.avgBitrateKbps>e.maxBitrateKbps)&&(e.attendeeId.endsWith(l.default.Modality)&&e.maxBitrateKbps<100?e.maxBitrateKbps=e.avgBitrateKbps:e.avgBitrateKbps=e.maxBitrateKbps);const d=new Set;for(const e of this.getCurrentVideoPreferences()){const t=o.filter(t=>t.attendeeId===e.attendeeId);if(t.length<3)continue;let i,n=15,r=153600;t.forEach(e=>{n=Math.max(n,e.maxFrameRate),r=Math.max(r,e.totalPixels())}),t.sort((t,i)=>{if(e.degradationPreference===S.default.MaintainResolution)return Math.abs(t.maxFrameRate-i.maxFrameRate)<2?t.totalPixels()-i.totalPixels():t.maxFrameRate-i.maxFrameRate;if(e.degradationPreference===S.default.MaintainFramerate)return t.totalPixels()===i.totalPixels()?t.maxFrameRate-i.maxFrameRate:t.totalPixels()-i.totalPixels();{const e=5,o=2,s=t=>t.avgBitrateKbps*Math.pow(2,e*t.maxFrameRate/n*Math.pow(2*o,t.totalPixels()/r));return s(t)-s(i)}});for(const e of t)void 0!==i&&(e.maxFrameRate<i.maxFrameRate&&Math.abs(i.maxFrameRate-e.maxFrameRate)>2||e.totalPixels()<i.totalPixels())?d.add(e.streamId):i=e}const c=o.filter(e=>!d.has(e.streamId));this.logger.info(`Filtered to ${JSON.stringify(c)}`);const p={targetDownlinkBitrate:0,chosenTotalBitrate:0,deltaToNextUpgrade:0};p.targetDownlinkBitrate=this.determineTargetRate();const f=this.subscribedReceiveSet.size(),m=this.downlinkStats.bandwidthEstimateKbps,g=!this.videoPriorityBasedPolicyConfig.allowSubscribe(f,m);if(this.probeFailed&&(this.probeFailed=!1,this.timeBeforeAllowSubscribeMs=C.MIN_TIME_BETWEEN_SUBSCRIBE_MS,a&&g))return;const v=this.priorityPolicy(p,c,t);let b=0;if(h.serverSideNetworkAdaptionIsNoneOrDefault(this.serverSideNetworkAdaption)&&!this.startupPeriod&&s?"Probing"===this.rateProbeState?b=this.handleProbe(t,p.targetDownlinkBitrate):0!==p.deltaToNextUpgrade&&(b=this.maybeOverrideOrProbe(t,p,v)):(this.setProbeState("Not Probing"),this.lastUpgradeRateKbps=0),this.previousStreamsWithPreference=o,this.videoPreferencesUpdated=!1,1===b)return this.logger.info(`bwe: keepSameSubscriptions stats:${JSON.stringify(this.downlinkStats)}`),void(this.prevTargetRateKbps=p.targetDownlinkBitrate);if(2===b){const e=this.calculateSubscribeRate(this.preProbeNonPausedReceiveStreams);return this.optimalReceiveStreams=this.preProbeReceiveStreams.slice(),this.processBwPausedStreams(o,this.preProbeNonPausedReceiveStreams),void this.logger.info("bwe: Use Pre-Probe subscription subscribedRate:"+e)}this.optimalNonPausedReceiveStreams=t.slice();const y=this.pausedBwAttendeeIds.size;this.processBwPausedStreams(o,t),this.logger.getLogLevel()<=u.LogLevel.INFO&&(this.logCount%15==0||this.rateProbeState!==n||this.optimalReceiveStreams.length!==t.length||y!==this.pausedBwAttendeeIds.size)&&(this.logger.info(this.policyStateLogStr(i,p.targetDownlinkBitrate)),this.logCount=0),this.logCount++,this.prevTargetRateKbps=p.targetDownlinkBitrate,this.optimalReceiveStreams=t.slice()}calculateOptimalReceiveSet(){const e=new f.default;this.calculateOptimalReceiveStreams();for(const t of this.optimalReceiveStreams)e.add(t.streamId);if(!this.optimalReceiveSet.equal(e)){const t=this.calculateSubscribeRate(this.optimalReceiveStreams);this.logger.info(`bwe: new streamSelection: ${JSON.stringify(e)} subscribedRate:${t}`)}this.optimalReceiveSet=e}determineTargetRate(){let e=0;const t=Date.now();return 0!==this.downlinkStats.bandwidthEstimateKbps?(0===this.firstEstimateTimestamp&&(this.firstEstimateTimestamp=t),this.startupPeriod&&(this.downlinkStats.bandwidthEstimateKbps>C.DEFAULT_BANDWIDTH_KBPS||this.downlinkStats.packetsLost>0||t-this.firstEstimateTimestamp>C.STARTUP_PERIOD_MS&&this.downlinkStats.bandwidthEstimateKbps<=this.prevDownlinkStats.bandwidthEstimateKbps)&&(this.startupPeriod=!1,this.prevTargetRateKbps=this.downlinkStats.bandwidthEstimateKbps),this.startupPeriod?e=C.DEFAULT_BANDWIDTH_KBPS:"Probing"===this.rateProbeState&&this.downlinkStats.usedBandwidthKbps>this.downlinkStats.bandwidthEstimateKbps&&this.downlinkStats.packetsLost<C.SPURIOUS_PACKET_LOST_THRESHOLD?(this.logger.info(`bwe: In probe state, overriding estimate ${this.downlinkStats.bandwidthEstimateKbps} with actual receive bitrate ${this.downlinkStats.usedBandwidthKbps}`),e=this.downlinkStats.usedBandwidthKbps+C.USED_BANDWIDTH_OVERRIDE_BUFFER_KBPS):e=this.downlinkStats.bandwidthEstimateKbps):e=0===this.firstEstimateTimestamp?C.DEFAULT_BANDWIDTH_KBPS:this.prevTargetRateKbps,!this.startupPeriod&&(this.usingPrevTargetRate&&this.downlinkStats.bandwidthEstimateKbps<this.prevTargetRateKbps||this.downlinkStats.bandwidthEstimateKbps<this.prevTargetRateKbps*(100-C.LARGE_RATE_CHANGE_TRIGGER_PERCENT)/100||this.downlinkStats.bandwidthEstimateKbps<this.downlinkStats.usedBandwidthKbps*C.LARGE_RATE_CHANGE_TRIGGER_PERCENT/100)&&0===this.downlinkStats.packetsLost?(this.logger.debug(()=>"bwe: ValidateRate: Using Previous rate "+this.prevTargetRateKbps),this.usingPrevTargetRate=!0,e=this.prevTargetRateKbps):this.usingPrevTargetRate=!1,e>15e3&&this.logger.warn("bwe: "+e+" exceeds maximum limit (15000). Limit TargetDisplaySize with VideoPreferences to avoid this."),Math.min(e,15e3)}setProbeState(e){if(this.rateProbeState===e)return!1;const t=Date.now();switch(e){case"Not Probing":this.probePendingStartTimestamp=0;break;case"Probe Pending":if(!(0===this.lastProbeTimestamp||t-this.lastProbeTimestamp>C.MIN_TIME_BETWEEN_PROBE_MS))return!1;this.probePendingStartTimestamp=t;break;case"Probing":if(!(t-this.probePendingStartTimestamp>this.timeBeforeAllowProbeMs))return!1;this.lastProbeTimestamp=t,this.preProbeReceiveStreams=this.subscribedReceiveStreams.slice(),this.preProbeNonPausedReceiveStreams=this.optimalNonPau
2138sedReceiveStreams,this.timeBeforeAllowProbeMs=Math.min(2*this.timeBeforeAllowProbeMs,C.MAX_HOLD_BEFORE_PROBE_MS)}return this.logger.info("bwe: setProbeState to "+e+" from "+this.rateProbeState),this.rateProbeState=e,!0}upgradeToStream(e,t){for(let i=0;i<e.length;i++)if(e[i].groupId===t.groupId){const n=t.avgBitrateKbps-e[i].avgBitrateKbps;return this.logger.info("bwe: upgradeStream from "+JSON.stringify(e[i])+" to "+t),this.lastUpgradeRateKbps=n,e[i]=t,n}return e.push(t),this.lastUpgradeRateKbps=t.avgBitrateKbps,this.lastUpgradeRateKbps}handleProbe(e,t){if(Date.now()-this.lastProbeTimestamp>C.MAX_ALLOWED_PROBE_TIME_MS)return this.logger.info("bwe: Canceling probe due to timeout"),this.setProbeState("Not Probing"),0;if(this.downlinkStats.packetsLost>0&&(this.logger.info(`bwe: Probe encountering packets lost:${this.downlinkStats.packetsLost}`),this.downlinkStats.packetsLost>C.SPURIOUS_PACKET_LOST_THRESHOLD))return this.setProbeState("Not Probing"),this.logger.info(`bwe: Canceling probe due to packets lost:${this.downlinkStats.packetsLost}`),this.probeFailed=!0,this.timeBeforeAllowSubscribeMs=3*Math.max(C.MIN_TIME_BETWEEN_SUBSCRIBE_MS,this.timeBeforeAllowSubscribeMs),2;const i=this.calculateSubscribeRate(this.optimalReceiveStreams);return this.chosenStreamsSameAsLast(e)||t>i?(this.logger.info("bwe: Probe successful"),this.setProbeState("Not Probing"),this.timeBeforeAllowProbeMs=C.MIN_TIME_BETWEEN_PROBE_MS,0):1}maybeOverrideOrProbe(e,t,i){const n=this.chosenStreamsSameAsLast(e);let r=0;const o=t.targetDownlinkBitrate>C.LOW_BITRATE_THRESHOLD_KBPS?C.TARGET_RATE_CHANGE_TRIGGER_PERCENT:2*C.TARGET_RATE_CHANGE_TRIGGER_PERCENT,s=t.targetDownlinkBitrate*o/100;if(this.targetRateBaselineForDeltaCheckKbps=void 0!==this.targetRateBaselineForDeltaCheckKbps?this.targetRateBaselineForDeltaCheckKbps:this.prevTargetRateKbps,!n&&Math.abs(t.targetDownlinkBitrate-this.targetRateBaselineForDeltaCheckKbps)<s?(this.logger.info("bwe: MaybeOverrideOrProbe: Reuse last decision based on delta rate. {"+JSON.stringify(this.subscribedReceiveSet)+"}"),r=1):this.targetRateBaselineForDeltaCheckKbps=t.targetDownlinkBitrate,this.downlinkStats.packetsLost>this.prevDownlinkStats.packetsLost)return this.setProbeState("Not Probing"),this.lastUpgradeRateKbps=0,r;if(n||1===r)switch(this.rateProbeState){case"Not Probing":this.setProbeState("Probe Pending");break;case"Probe Pending":this.setProbeState("Probing")&&(this.upgradeToStream(e,i),r=0)}else this.setProbeState("Not Probing");return r}calculateSubscribeRate(e){let t=0;for(const i of e)this.pausedStreamIds.contain(i.streamId)||this.pausedBwAttendeeIds.has(i.attendeeId)||(t+=i.maxBitrateKbps);return t}handleAppPausedStreams(e,t){if(!this.tileController)return void this.logger.warn("tileController not found!");this.pausedStreamIds=new f.default;const i=this.tileController.getAllRemoteVideoTiles();for(const n of i){const i=n.state();if(i.paused&&!this.pausedBwAttendeeIds.has(i.boundAttendeeId)){let n=t.length;for(;n--;)t[n].attendeeId===i.boundAttendeeId&&(this.logger.info("bwe: removed paused attendee "+i.boundAttendeeId+" streamId: "+t[n].streamId),this.pausedStreamIds.add(t[n].streamId),this.subscribedReceiveSet.contain(t[n].streamId)&&e.push(t[n]),t.splice(n,1))}}}processBwPausedStreams(e,t){if(!this.tileController)return void this.logger.warn("tileController not found!");const i=this.getCurrentVideoPreferences();if(i&&this.shouldPauseTiles){const n=this.tileController.getAllVideoTiles();for(const r of i){const i=this.getVideoTileForAttendeeId(r.attendeeId,n),o=(null==i?void 0:i.state().paused)||!1;if(t.some(e=>e.attendeeId===r.attendeeId))o&&this.pausedBwAttendeeIds.has(r.attendeeId)&&(this.logger.info(`bwe: unpausing attendee ${r.attendeeId} due to bandwidth`),this.forEachObserver(e=>{e.tileWillBeUnpausedByDownlinkPolicy(i.id())}),this.tileController.unpauseVideoTile(i.id()),this.pausedBwAttendeeIds.delete(r.attendeeId));else{const n=e.some(e=>e.attendeeId===r.attendeeId);if(i&&n){const e=this.optimalReceiveStreams.find(e=>e.attendeeId===r.attendeeId);void 0!==e&&(o||(this.logger.info(`bwe: pausing streamId ${e.streamId} attendee ${r.attendeeId} due to bandwidth`),this.forEachObserver(e=>{e.tileWillBePausedByDownlinkPolicy(i.id())}),this.tileController.pauseVideoTile(i.id())),t.push(e)),this.pausedBwAttendeeIds.add(r.attendeeId)}else if(n){const e=this.tileController.addVideoTile();e.bindVideoStream(r.attendeeId,!1,null,0,0,0,null),this.forEachObserver(t=>{t.tileWillBePausedByDownlinkPolicy(e.id())}
2138),e.pause(),this.logger.info(`bwe: Created video tile ${e.id()} for bw paused attendee ${r.attendeeId}`),this.pausedBwAttendeeIds.add(r.attendeeId)}}}}}cleanBwPausedTiles(e){if(!this.tileController)return void this.logger.warn("tileController not found!");const t=this.tileController.getAllRemoteVideoTiles(),i=this.getCurrentVideoPreferences();for(const n of t){const t=n.state();t.boundVideoStream||(e.some(e=>e.attendeeId===t.boundAttendeeId)?void 0===i||i.some(e=>e.attendeeId===t.boundAttendeeId)||this.tileController.removeVideoTile(t.tileId):(this.tileController.removeVideoTile(t.tileId),this.logger.info(`bwe: Removed video tile ${t.tileId} for bw paused attendee ${t.boundAttendeeId}`)))}}priorityPolicy(e,t,i){let n;const r=this.getCurrentVideoPreferences(),o=r.highestPriority();let s,a=o;for(;-1!==a;){s=-1;for(const o of r)if(o.priority===a)for(const r of t)r.attendeeId===o.attendeeId&&(i.some(e=>e.groupId===r.groupId)||(e.chosenTotalBitrate+r.avgBitrateKbps<=e.targetDownlinkBitrate?(i.push(r),e.chosenTotalBitrate+=r.avgBitrateKbps):0===e.deltaToNextUpgrade&&(e.deltaToNextUpgrade=r.avgBitrateKbps,n=r)));else if(o.priority>a){s=o.priority;break}for(const o of r)if(o.priority===a){for(const r of t)if(r.attendeeId===o.attendeeId){const s=i.findIndex(e=>e.groupId===r.groupId&&e.maxBitrateKbps<=r.maxBitrateKbps&&e.avgBitrateKbps<r.avgBitrateKbps);if(-1!==s){const a=r.avgBitrateKbps-i[s].avgBitrateKbps;this.hasSimulcastStreams(t,r.attendeeId,r.groupId)&&this.canUpgrade(r.avgBitrateKbps,o.targetSize,o.targetSizeToBitrateKbps(o.targetSize),r.attendeeId.endsWith(l.default.Modality))?(this.logger.info(`bwe: attendee: ${r.attendeeId} group: ${r.groupId} has simulcast and can upgrade avgBitrate: ${r.avgBitrateKbps} target: ${o.targetSizeToBitrateKbps(o.targetSize)} targetTotalBitrate: ${e.targetDownlinkBitrate}`),e.chosenTotalBitrate+a<=e.targetDownlinkBitrate?(e.chosenTotalBitrate+=a,i[s]=r):0===e.deltaToNextUpgrade&&(e.deltaToNextUpgrade=a,n=r)):this.logger.info("bwe: cannot upgrade stream quality beyond target size")}}}else if(o.priority>a)break;if(a===o&&0!==e.deltaToNextUpgrade)break;a=s}return n}getVideoTileForAttendeeId(e,t){for(const i of t)if(i.state().boundAttendeeId===e)return i;return null}canUpgrade(e,t,i,n){let r=!1;return(t===g.default.High||!n&&e<=i||n&&t===g.default.Medium&&e<=i)&&(r=!0),r?(this.logger.info(`bwe: canUpgrade: bitrateKbps: ${e} targetBitrateKbps: ${i}`),!0):(this.logger.info(`bwe: cannot Upgrade: bitrateKbps: ${e} targetBitrateKbps: ${i}`),!1)}hasSimulcastStreams(e,t,i){let n=0;for(const r of e)r.attendeeId===t&&r.groupId===i&&n++;return this.logger.info(`bwe: attendeeId: ${t} groupId: ${i} hasSimulcastStreams: streamCount: ${n}`),n>1}streamsWithPreferenceDidChange(e){if(void 0===this.previousStreamsWithPreference||e.length!==this.previousStreamsWithPreference.length||!0===this.videoPreferencesUpdated)return!0;for(const t of e)if(void 0===this.previousStreamsWithPreference.find(e=>e.groupId===t.groupId&&e.streamId===t.streamId&&e.maxBitrateKbps===t.maxBitrateKbps))return!0;return!1}chosenStreamsSameAsLast(e){if(this.optimalNonPausedReceiveStreams.length!==e.length)return!1;for(const t of this.optimalNonPausedReceiveStreams)if(!e.some(e=>e.streamId===t.streamId))return!1;return!0}policyStateLogStr(e,t){const i={targetBitrate:t,subscribedRate:this.calculateSubscribeRate(this.optimalReceiveStreams),probeState:this.rateProbeState,startupPeriod:this.startupPeriod};let n="remoteInfos: [";for(const t of e)n+=`{grpId:${t.groupId} strId:${t.streamId} maxBr:${t.maxBitrateKbps} avgBr:${t.avgBitrateKbps}}, `;n+="]";let r=`bwe: optimalReceiveSet ${JSON.stringify(i)}\nbwe:   prev ${JSON.stringify(this.prevDownlinkStats)}\nbwe:   now  ${JSON.stringify(this.downlinkStats)}\nbwe:   ${n}\n`;return(this.pausedStreamIds.size()>0||this.pausedBwAttendeeIds.size>0)&&(r+=`bwe:   paused: app stream ids ${JSON.stringify(this.pausedStreamIds)}  bw attendees { ${Array.from(this.pausedBwAttendeeIds).join(" ")} }\n`),this.videoPreferences?r+=`bwe:   preferences: ${JSON.stringify(this.videoPreferences)}`:r+=`bwe:   default preferences: ${JSON.stringify(this.defaultVideoPreferences)}`,r}getCurrentVideoPreferences(){return this.videoPreferences||this.defaultVideoPreferences}getServerSideNetworkAdaption(){return this.serverSideNetworkAdaption}setServerSideNetworkAdaption(e){this.serverSideNetworkAdaption=e,this.setProbeState("Not Probing")}supportedServerSideNetworkAdaptions(){return[h.default.None,h.default.BandwidthProbing,h.default.BandwidthProbingAndRemoteVideoQualityAdaption]}getVideoPreferences(){let e=this.getCurrentVideoPreferences();return e||(e=b.VideoPreferences.prepare().build()),e}wantsAllTemporalLayersInIndex(){return!0}}t.default=C,C.DEFAULT_BANDWIDTH_KBPS=2800,C.STARTUP_PERIOD_MS=6e3,C.LARGE_RATE_CHANGE_TRIGGER_PERCENT=20,C.TARGET_RATE_CHANGE_TRIGGER_PERCENT=15,C.LOW_BITRATE_THRESHOLD_KBPS=300,C.MIN_TIME_BETWEEN_PROBE_MS=5e3,C.MIN_TIME_BETWEEN_SUBSCRIBE_MS=2e3,C.MAX_HOLD_BEFORE_PROBE_MS=3e4,C.MAX_ALLOWED_PROBE_TIME_MS=6e4,C.SPURIOUS_PACKET_LOST_THRESHOLD=2,C.USED_BANDWIDTH_OVERRIDE_BUFFER_KBPS=100},66593(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(35928));class o{constructor(e=0,t=0){this.networkIssueResponseDelayFactor=e,this.networkIssueRecoveryDelayFactor=t,this.currentNetworkEvent=0,this.bandwidthDecreaseTimestamp=0,this.referenceBitrate=0,this.serverSideNetworkAdaption=r.default.BandwidthProbingAndRemoteVideoQualityAdaption,e<0?e=0:e>1&&(e=1),this.networkIssueResponseDelayFactor=e,t<0?t=0:t>1&&(t=1),this.networkIssueRecoveryDelayFactor=t}allowSubscribe(e,t){let i=0;const n=this.currentNetworkEvent;if(t>this.referenceBitrate)return this.currentNetworkEvent=2,this.referenceBitrate=t,!0;if(t<this.referenceBitrate){if(this.currentNetworkEvent=1,i=this.getSubscribeDelay(this.currentNetworkEvent,e),1!==n)this.bandwidthDecreaseTimestamp=Date.now();else if(Date.now()-this.bandwidthDecreaseTimestamp>i)return this.referenceBitrate=t,!0;return!1}return this.currentNetworkEvent=0,!1}getSubscribeDelay(e,t){let i=o.MINIMUM_DELAY_MS;const n=o.MAXIMUM_DELAY_MS-o.MINIMUM_DELAY_MS,r=this.networkIssueResponseDelayFactor;return 1===e&&(i+=n*r*(1+t/10),i=Math.min(o.MAXIMUM_DELAY_MS,i)),i}}t.default=o,o.MINIMUM_DELAY_MS=2e3,o.MAXIMUM_DELAY_MS=8e3,o.Default=new o(0,0),o.UnstableNetworkPreset=new o(0,1),o.StableNetworkPreset=new o(1,0)},62531(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.VideoQualityAdaptationPreference=void 0,function(e){e[e.Balanced=0]="Balanced",e[e.MaintainFramerate=1]="MaintainFramerate",e[e.MaintainResolution=2]="MaintainResolution"}(i=t.VideoQualityAdaptationPreference||(t.VideoQualityAdaptationPreference={})),t.default=i},43923(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{create(){const e={clientWidth:400,clientHeight:300,width:400,height:300,videoWidth:400,videoHeight:300,style:{transform:""},hasAttribute:()=>!1,removeAttribute:()=>{},setAttribute:()=>{},srcObject:!1,paused:!0,pause:()=>{e.paused=!0},play:()=>(e.paused=!1,Promise.resolve())};return e}}},43745(e,t){"use strict";var i=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.canvas=e,this.destroyed=!1}destroy(){this.canvas=null,this.destroyed=!0}asCanvasImageSource(){return i(this,void 0,void 0,function*(){return this.destroyed?Promise.reject("canvas buffer is destroyed"):Promise.resolve(this.canvas)})}asCanvasElement(){return this.canvas}}},94422(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(43745)),s=r(i(70447));t.default=class{constructor(e,t,i=new s.default){this.logger=e,this.stages=t,this.fr=15,this.outputMediaStream=new MediaStream,this.videoInput=document.createElement("video"),this.canvasOutput=document.createElement("canvas"),this.outputCtx=this.canvasOutput.getContext("2d"),this.canvasInput=document.createElement("canvas"),this.inputCtx=this.canvasInput.getContext("2d"),this.inputVideoStream=null,this.sourceBuffers=[],this.destBuffers=[],this.observers=new Set,this.hasStarted=!1,this.process=e=>n(this,void 0,void 0,function*(){if(!this.inputVideoStream)return;const e=performance.now();this.videoInput.videoWidth&&(this.canvasInput.width!==this.videoInput.videoWidth&&(this.canvasInput.width=this.videoInput.videoWidth,this.canvasInput.height=this.videoInput.videoHeight,this.sourceBuffers[0].height=this.canvasInput.height,this.sourceBuffers[0].width=this.canvasInput.width,this.sourceBuffers[0].framerate=this.framerate),this.inputCtx.drawImage(this.videoInput,0,0));let t,i=[];i.push(this.sourceBuffers[0]);try{for(const e of this.processors)i=yield e.process(i)}catch(e){return void this.forEachObserver(e=>{e.processingDidFailToStart&&e.processingDidFailToStart()})}this.destBuffers=i;try{t=yield this.destBuffers[0].asCanvasImageSource()}catch(e){return void(this.inputVideoStream&&(this.logger.info("buffers are destroyed and pipeline could not start"),this.forEachObserver(e=>{e.processingDidFailToStart&&e.processingDidFailToStart()})))}const n=t.width,r=t.height;0!==n&&0!==r&&(this.canvasOutput.width!==n&&this.canvasOutput.height!==r&&(this.canvasOutput.width=n,this.canvasOutput.height=r),this.outputCtx.drawImage(t,0,0,n,r,0,0,n,r),this.hasStarted||(this.hasStarted=!0,this.forEachObserver(e=>{e.processingDidStart&&e.processingDidStart()})));const o=performance.now()-e,s=2e3/this.framerate-o,a=Math.max(0,1e3/this.framerate-o);s<=0&&this.forEachObserver(e=>{e.processingLatencyTooHigh&&e.processingLatencyTooHigh(o)}),yield this.timer.start(a,this.process.bind(this))}),this.timer=i}destroy(){if(this.stop(),this.stages)for(const e of this.stages)e.destroy();this.timer.destroy()}get framerate(){return this.fr}set framerate(e){this.fr=e<0||void 0===e?15:e}stop(){if(this.videoInput.removeEventListener("loadedmetadata",this.process),this.videoInput.srcObject=null,this.destroyInputMediaStreamAndBuffers(),this.outputMediaStream)for(const e of this.outputMediaStream.getVideoTracks())e.stop();this.hasStarted&&(this.hasStarted=!1,this.forEachObserver(e=>{e.processingDidStop&&e.processingDidStop()}))}addObserver(e){this.observers.add(e)}removeObserver(e){this.observers.delete(e)}getInputMediaStream(){return n(this,void 0,void 0,function*(){return this.inputVideoStream})}getActiveOutputMediaStream(){return this.isOutputMediaStreamActive()||(this.outputMediaStream=this.canvasOutput.captureStream(this.framerate),this.cloneInputAudioTracksToOutput()),this.outputMediaStream}setInputMediaStream(e){return n(this,void 0,void 0,function*(){if(!e)return void this.stop();if(0===e.getVideoTracks().length)return void this.logger.error("No video tracks in input media stream, ignoring");
2138this.inputVideoStream=e;const t=this.inputVideoStream.getVideoTracks()[0].getSettings();this.logger.info(`processing pipeline input stream settings ${JSON.stringify(t)}`),this.framerate=t.frameRate,this.canvasOutput.width=t.width,this.canvasOutput.height=t.height,this.videoInput.addEventListener("loadedmetadata",this.process),this.videoInput.srcObject=this.inputVideoStream,this.videoInput.setAttribute("playsinline","true");const i=new o.default(this.canvasInput);this.sourceBuffers.push(i),this.videoInput.load();try{yield this.videoInput.play()}catch(e){this.logger.warn("Video element play() overrided by another load().")}this.cloneInputAudioTracksToOutput()})}cloneInputAudioTracksToOutput(){if(this.isOutputMediaStreamActive()&&null!==this.inputVideoStream){for(const e of this.outputMediaStream.getAudioTracks())this.logger.info(`Removing audio track ${e.id} from output stream`),this.outputMediaStream.removeTrack(e);for(const e of this.inputVideoStream.getAudioTracks())this.logger.info(`Adding audio track ${e.id} to output stream`),this.outputMediaStream.addTrack(e)}else this.logger.info("Not cloning input audio tracks to output, do not have media streams ready")}isOutputMediaStreamActive(){return this.outputMediaStream&&this.outputMediaStream.active}set processors(e){this.stages=e}get processors(){return this.stages}forEachObserver(e){for(const t of this.observers)setTimeout(()=>{e(t)},0)}destroyInputMediaStreamAndBuffers(){if(this.inputVideoStream)for(const e of this.inputVideoStream.getTracks())e.stop();this.inputVideoStream=null;for(const e of this.sourceBuffers)e.destroy();this.sourceBuffers=[]}}},70447(e,t){"use strict";var i=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.workerTimer=void 0,this.callback=void 0,this.workerTimer=this.createWorkerTimer()}createWorkerTimer(){try{const e=new Blob(["self.onmessage = async function(e){ \n            var timerID = null;\n            const awaitTimeout = delay => new Promise( resolve => {\n              timerID = setTimeout(resolve, delay);\n            })\n            await awaitTimeout(e.data);\n            postMessage(timerID);\n          }"],{type:"application/javascript"});return new Worker(window.URL.createObjectURL(e))}catch(e){}}start(e,t){return i(this,void 0,void 0,function*(){this.callback=t,this.workerTimer?(this.workerTimer.onmessage=e=>{this.lastTimeout=e.data,this.callback()},this.workerTimer.postMessage(e)):this.lastTimeout=setTimeout(()=>{this.callback()},e)})}destroy(){return i(this,void 0,void 0,function*(){this.callback=void 0,this.lastTimeout&&(clearTimeout(this.lastTimeout),this.lastTimeout=void 0),this.workerTimer&&(this.workerTimer.terminate(),this.workerTimer=void 0)})}}},3765(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824)),s=r(i(94422));class a{constructor(e,t,i,n=new o.default){this.logger=e,this.device=t,this.processors=i,this.browserBehavior=n,this.observers=new Set,this.pipe=new s.default(this.logger,this.processors),this.pipe.addObserver(this)}get outputMediaStream(){return this.pipe.outputMediaStream}passEventControllerToProcessors(e){if(this.pipe.processors)for(const t of this.pipe.processors)"function"==typeof t.setEventController&&t.setEventController(e)}chooseNewInnerDevice(e){const t=new a(this.logger,e,this.processors,this.browserBehavior);return t.pipe=this.pipe,t}getInnerDevice(){return this.device}intrinsicDevice(){return n(this,void 0,void 0,function*(){return this.device})}transformStream(e){return n(this,void 0,void 0,function*(){return yield this.pipe.setInputMediaStream(e),this.inputMediaStream=e,this.pipe.getActiveOutputMediaStream()})}onOutputStreamDisconnect(){this.logger.info("DefaultVideoTransformDevice: detach stopping input media stream");const e=this.device&&this.device.id;if(this.pipe.stop(),!e&&this.inputMediaStream)for(const e of this.inputMediaStream.getVideoTracks())e.stop()}stop(){return n(this,void 0,void 0,function*(){if(this.inputMediaStream)for(const e of this.inputMediaStream.getVideoTracks())e.stop();this.pipe.destroy(),this.inputMediaStream=null})}addObserver(e){this.observers.add(e)}removeObserver(e){this.observers.delete(e)}processingDidStart(){this.logger.info("video transform device processing started"),this.forEachObserver(e=>{e.processingDidStart&&e.processingDidStart()})}processingLatencyTooHigh(e){this.forEachObserver(t=>{t.processingLatencyTooHigh&&t.processingLatencyTooHigh(e)})}processingDidFailToStart(){this.logger.info("video transform device processing failed to start"),this.forEachObserver(e=>{e.processingDidFailToStart&&e.processingDidFailToStart()})}processingDidStop(){this.logger.info("video transform device processing stopped"),this.forEachObserver(e=>{e.processingDidStop&&e.processingDidStop()})}forEachObserver(e){for(const t of this.observers)setTimeout(()=>{e(t)},0)}get framerate(){return this.pipe.framerate}set framerate(e){this.pipe.framerate=e}}t.default=a},25667(e,t){"use strict";var i=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{process(e){return i(this,void 0,void 0,function*(){return e})}destroy(){return i(this,void 0,void 0,function*(){})}}},39014(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeferredPromise=void 0,t.DeferredPromise=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}getPromise(){return this.promise}resolvePromise(e){this.resolve(e)}resolveAndReplacePromise(e){this.resolve(e),this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}rejectPromise(e){this.reject(e)}rejectAndReplacePromise(e){this.reject(e),this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}},92732(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.VideoFxCanvasOpsManager=void 0;const r=i(42998);t.VideoFxCanvasOpsManager=class{constructor(e,t){this.streamParameters=e,this.outputCanvas=t,this.configureCanvasPipeline()}getInferenceInputData(e){return this.inferenceCtx.save(),this.inferenceCtx.scale(this.horizontalResizeScalar,this.verticalResizeScalar),this.inferenceCtx.drawImage(e,0,0),this.inferenceCtx.restore(),this.inferenceCtx.getImageData(0,0,r.SEGMENTATION_MODEL.WIDTH_IN_PIXELS,r.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS)}configureForStreamParameters(e){return n(this,void 0,void 0,function*(){if(this.streamParameters=e,this.outputCanvas.width=this.streamParameters.width,this.outputCanvas.height=this.streamParameters.height,this.backgroundReplacementCanvas){const e=document.createElement("canvas");e.width=this.streamParameters.width,e.height=this.streamParameters.height,e.getContext("2d").drawImage(this.backgroundReplacementCanvas,0,0,this.streamParameters.width,this.streamParameters.height),this.backgroundReplacementCanvas=e}this.configureCanvasPipeline()})}configureCanvasPipeline(){this.inferenceCanvas=document.createElement("canvas"),this.inferenceCtx=this.inferenceCanvas.getContext("2d",{willReadFrequently:!0}),this.inferenceCanvas.width=r.SEGMENTATION_MODEL.WIDTH_IN_PIXELS,this.inferenceCanvas.height=r.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS,this.horizontalResizeScalar=r.SEGMENTATION_MODEL.WIDTH_IN_PIXELS/this.streamParameters.width,this.verticalResizeScalar=r.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS/this.streamParameters.height}getBackgroundReplacementCanvas(){return this.backgroundReplacementCanvas}loadReplacementBackground(e){return n(this,void 0,void 0,function*(){const t=e.backgroundReplacement.backgroundImageURL,i=e.backgroundReplacement.defaultColor;if(t)try{const e=yield this.loadImage(t);this.backgroundReplacementImage=e,this.resizeAndSetReplacementImage(this.backgroundReplacementImage)}catch(e){throw this.logger.error(e),new Error("Failed to set the replacement image.")}else this.resizeAndSetReplacementColor(i)})}resizeAndSetReplacementImage(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.width=this.streamParameters.width,t.height=this.streamParameters.height,i.drawImage(e,0,0,this.streamParameters.width,this.streamParameters.height),this.backgroundReplacementCanvas=t}resizeAndSetReplacementColor(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.width=this.streamParameters.width,t.height=this.streamParameters.height,i.fillStyle=e,i.fillRect(0,0,this.streamParameters.width,this.streamParameters.height),this.backgroundReplacementCanvas=t}loadImage(e){return n(this,void 0,void 0,function*(){const t=yield fetch(e).catch(e=>{throw this.logger.error(e.toString()),new Error("Failed to fetch image.")}),i=yield t.blob(),n=new Image;return n.src=URL.createObjectURL(i),new Promise((e,t)=>
2138{n.onload=()=>{e(n)},n.onerror=e=>{t(e)}})})}}},42998(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_VIDEO_FX_SPEC=t.FXLIB_PATH=t.WORKER_PATH=t.CDN_BASE_PATH=t.RESOURCE_CONSTRAINTS=t.SEGMENTATION_MODEL=t.DEFAULT_STREAM_PARAMETERS=t.WORKER_MSG=void 0,t.WORKER_MSG={BUILD_ENGINE_REQUEST:"BuildEngineRequest",BUILD_ENGINE_RESPONSE:"BuildEngineResponse",PERFORM_SEGMENTATION_REQUEST:"PerformSegmentationRequest",PERFORM_SEGMENTATION_RESPONSE:"PerformSegmentationResponse",PERFORM_SEGMENTATION_SAB_REQUEST:"PerformSegmentationSABRequest",PERFORM_SEGMENTATION_SAB_RESPONSE:"PerformSegmentationSABResponse",DESTROY_ASSETS_REQUEST:"DestroyAssetsRequest",DESTROY_ASSETS_RESPONSE:"DestroyAssetsResponse",CLOSE_WORKER_REQUEST:"CloseWorkerRequest"},t.DEFAULT_STREAM_PARAMETERS={FRAMES_PER_SECOND:15,WIDTH_IN_PIXEL:960,HEIGHT_IN_PIXEL:540,CHANNEL_COUNT:4},t.SEGMENTATION_MODEL={LOAD_SUCCESS:2,WIDTH_IN_PIXELS:176,HEIGHT_IN_PIXELS:160},t.RESOURCE_CONSTRAINTS={DEFAULT_PROCESSING_BUDGET_PER_FRAME:50,SEGMENTATION_DEFAULT_FRAMES_PER_SEGMENTATION:1,SEGMENTATION_SAMPLING_PERIOD_FRAME_COUNT:500,BLUR_DEFAULT_CYCLE_PERCENTAGE:10,BLUR_SAMPLING_PERIOD_FRAME_COUNT:1e3,MIN_PROCESSING_BUDGET:0,MAX_PROCESSING_BUDGET:100},t.CDN_BASE_PATH="https://static.sdkassets.chime.aws";const i="/ml_media_fx/otherassets";t.WORKER_PATH=`${i}/worker.js`,t.FXLIB_PATH=`${i}
2138/fxlib.js`,t.DEFAULT_VIDEO_FX_SPEC={paths:{cdnBasePath:t.CDN_BASE_PATH,workerPath:t.WORKER_PATH,fxLibPath:t.FXLIB_PATH}}},74227(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(64719),s=i(19048),a=i(37804),d=r(i(98824)),c=r(i(91229)),l=i(48471),u=r(i(40961)),h=r(i(43745)),p=i(39014),f=i(92732),m=i(42998),g=i(21716);class v{constructor(e,t=m.RESOURCE_CONSTRAINTS.DEFAULT_PROCESSING_BUDGET_PER_FRAME,i){this.logger=e,this.outputCanvas=document.createElement("canvas"),this.canvasVideoFrameBuffer=new h.default(this.outputCanvas),this.videoFxSpec=m.DEFAULT_VIDEO_FX_SPEC;try{this.validateProcessingBudgetPerFrame(t)}catch(e){throw this.logger.error(e),new Error(`Cannot instantiate VideoFxProcessor due to invalid processingBudgetPerFrame of ${t}`)}i&&(this.eventController=i),this.effectConfig={backgroundBlur:{isEnabled:!1,strength:"low"},backgroundReplacement:{isEnabled:!1,backgroundImageURL:null,defaultColor:"black"}},this.segmentationRequestPromise=new p.DeferredPromise,this.segmentationRateManager=new g.VideoFxSegmentationRateManager(this.logger,t),this.streamParameters={framerate:m.DEFAULT_STREAM_PARAMETERS.FRAMES_PER_SECOND,width:m.DEFAULT_STREAM_PARAMETERS.WIDTH_IN_PIXEL,height:m.DEFAULT_STREAM_PARAMETERS.HEIGHT_IN_PIXEL,channels:m.DEFAULT_STREAM_PARAMETERS.CHANNEL_COUNT},v.isSharedArrayBufferSupported&&(this.sharedImageBuffer=new SharedArrayBuffer(m.SEGMENTATION_MODEL.WIDTH_IN_PIXELS*m.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS*this.streamParameters.channels),this.sharedImageData=new Uint8ClampedArray(this.sharedImageBuffer)),this.logger.info(`VideoFx supports Shared Array Buffer: ${v.isSharedArrayBufferSupported}`),this.canvasOpsManager=new f.VideoFxCanvasOpsManager(this.streamParameters,this.outputCanvas),this.outputCanvas.width=this.streamParameters.width,this.outputCanvas.height=this.streamParameters.height,this.segmentationMask=new ImageData(this.streamParameters.width,this.streamParameters.height),this.logger.info(`VideoFxProcessor instantiated with a processingBudgetPerFrame of ${t}`)}process(e){return n(this,void 0,void 0,function*(){return e})}fxProcess(e){return n(this,void 0,void 0,function*(){const t=e[0].asCanvasElement();this.didStreamParametersChange(t)&&(yield this.adjustProcessorForNewStreamParameters(t));try{yield this.manageSegmentationMask(t)}catch(e){throw this.logger.error(e),new Error("Video stream could not be processed")}return yield this.renderer.render(t,this.segmentationMask),e[0]=this.canvasVideoFrameBuffer,e})}noOpProcess(e){return n(this,void 0,void 0,function*(){return e})}didStreamParametersChange(e){return e.width!==this.streamParameters.width||e.height!==this.streamParameters.height}adjustProcessorForNewStreamParameters(e){return n(this,void 0,void 0,function*(){this.streamParameters.width=e.width,this.streamParameters.height=e.height,yield this.canvasOpsManager.configureForStreamParameters(this.streamParameters),yield this.renderer.configure(this.streamParameters.width,this.streamParameters.height,this.effectConfig)})}destroy(){return n(this,void 0,void 0,function*(){this.canvasVideoFrameBuffer.destroy(),this.fxLibScript&&this.fxLibScript.parentNode&&this.fxLibScript.parentNode.removeChild(this.fxLibScript),this.engineWorker&&(this.destroyedAssetsPromise=new p.DeferredPromise,this.engineWorker.postMessage({msg:m.WORKER_MSG.DESTROY_ASSETS_REQUEST}),yield this.destroyedAssetsPromise.getPromise(),this.engineWorker.postMessage({msg:m.WORKER_MSG.CLOSE_WORKER_REQUEST})),this.logger.info("VideoFxProcessor destroyed.")})}manageSegmentationMask(e){return n(this,void 0,void 0,function*(){try{if(this.segmentationRateManager.submitFrame(),this.segmentationRateManager.shouldApplySegmentation()){this.segmentationRateManager.startSegmentation();const t=this.canvasOpsManager.getInferenceInputData(e);this.segmentationMask=yield this.generateSegmentationMask(t),this.segmentationRateManager.completeSegmentation()}}catch(e){throw this.logger.error(e.toString()),new Error("Can not properly manage the returned segmentation mask")}})}generateSegmentationMask(e){return n(this,void 0,void 0,function*(){v.isSharedArrayBufferSupported?(this.sharedImageData.set(e.data),this.engineWorker.postMessage({msg:m.WORKER_MSG.PERFORM_SEGMENTATION_SAB_REQUEST,payload:this.sharedImageBuffer})):this.engineWorker.postMessage({msg:m.WORKER_MSG.PERFORM_SEGMENTATION_REQUEST,payload:e},[e.data.buffer]);try{return yield this.segmentationRequestPromise.getPromise()}catch(e){throw this.logger.error(e.toString()),new Error("Segmentation mask could not be generated")}})}cloneConfigFrom(e){return{backgroundBlur:{isEnabled:e.backgroundBlur.isEnabled,strength:e.backgroundBlur.strength},backgroundReplacement:{isEnabled:e.backgroundReplacement.isEnabled,backgroundImageURL:e.backgroundReplacement.backgroundImageURL,defaultColor:e.backgroundReplacement.defaultColor}}}setVideoFxSpec(e){e.paths&&(this.videoFxSpec.paths=e.paths)}setEffectConfig(e){return n(this,void 0,void 0,function*(){if(this.sameVideoFxConfig(e,this.effectConfig))return;const t=this.cloneConfigFrom(e);try{yield this.validateEffectConfig(t)}catch(e){throw this.logger.error(e.toString()),new Error("Provided effect config is invali
2138d, not updating VideoFxProcessor")}t.backgroundReplacement.isEnabled&&(yield this.canvasOpsManager.loadReplacementBackground(t),yield this.renderer.setBackgroundReplacementCanvas(this.canvasOpsManager.getBackgroundReplacementCanvas())),yield this.renderer.configure(this.streamParameters.width,this.streamParameters.height,t),this.effectConfig=t,this.effectConfig.backgroundBlur.isEnabled||this.effectConfig.backgroundReplacement.isEnabled?this.process=this.fxProcess:this.process=this.noOpProcess,this.logger.info(`VideoFxProcessor effect configuration updated to: ${JSON.stringify(this.effectConfig)}`),this.eventController&&this.publishVideoFxConfigEvent()})}validateEffectConfig(e){return n(this,void 0,void 0,function*(){if(e.backgroundBlur.isEnabled&&e.backgroundReplacement.isEnabled)throw new Error("Invalid VideoFx configuration: Background Blur and Background Replacement can not both be enabled");e.backgroundReplacement.isEnabled&&(yield this.validateReplacementConfig(e))})}validateReplacementConfig(e){return n(this,void 0,void 0,function*(){if(e.backgroundReplacement.backgroundImageURL&&e.backgroundReplacement.defaultColor)throw new Error("Invalid VideoFx configuration: Background Replacement can not have both an image URL and default color");if(!e.backgroundReplacement.backgroundImageURL&&!e.backgroundReplacement.defaultColor)throw new Error("Invalid VideoFx configuration: Background Replacement image URL and default can not both be null/undefined");try{e.backgroundReplacement.backgroundImageURL&&(yield this.canvasOpsManager.loadImage(e.backgroundReplacement.backgroundImageURL))}catch(e){throw this.logger.error(e.toString()),new Error("Invalid VideoFx configuration: backgroundImageURL failed to load")}const t=e.backgroundReplacement.defaultColor;if(t&&"black"!==t&&"#000000"!==t&&"#000"!==t){if(t.includes("#")&&!new RegExp(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/).test(t))throw new Error(`Invalid hexadecimal color code for default replacement background: ${t}`);const e=document.createElement("canvas").getContext("2d"),i=e.fillStyle;if(e.fillStyle=t,e.fillStyle===i)throw new Error(`Invalid color for default replacement background: ${t}`)}})}validateProcessingBudgetPerFrame(e){if(e<m.RESOURCE_CONSTRAINTS.MIN_PROCESSING_BUDGET||e>m.RESOURCE_CONSTRAINTS.MAX_PROCESSING_BUDGET)throw new Error(`Invalid resource constraint: cycle percentage must be within range of ${m.RESOURCE_CONSTRAINTS.MIN_PROCESSING_BUDGET} and ${m.RESOURCE_CONSTRAINTS.MAX_PROCESSING_BUDGET}`)}loadAssets(){return n(this,void 0,void 0,function*(){this.logger.info("Loading required assets for the VideoFxProcessor");try{const e=this.getVideoFxAssetParams();yield this.loadEngineWorker(e),yield this.buildEngine(e),yield this.loadFxLib(e),this.renderer=constructRenderer(m.SEGMENTATION_MODEL.WIDTH_IN_PIXELS,m.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS,this.effectConfig,this.outputCanvas)}catch(e){throw this.logger.error(e.toString()),new Error("Failed to load necessary assets for the VideoFxProcessor")}this.logger.info("Finished loading of essential VideoFxProcessor assets.")})}getVideoFxAssetParams(){const e=l.getDefaultAssetSpec();return{assetGroup:e.assetGroup,revisionID:e.revisionID,sdk:encodeURIComponent(u.default.sdkVersion),ua:encodeURIComponent(u.default.sdkUserAgentLowResolution)}}getPathFromVideoFxAssetParams(e,t){const i=new URL(e);for(const[e,n]of Object.entries(t))if(void 0!==n){const t=encodeURIComponent(e),r=encodeURIComponent(n);i.searchParams.set(t,r)}return i.toString()}loadEngineWorker(e){return n(this,void 0,void 0,function*(){try{const t=this.getPathFromVideoFxAssetParams(this.videoFxSpec.paths.cdnBasePath+this.videoFxSpec.paths.workerPath,e);this.engineWorker=yield s.loadWorker(t,"VideoFxEngineWorker",{},null),this.logger.info("Successfully loaded the VideoFxProcessor's engine worker"),this.engineWorker.addEventListener("message",e=>this.engineWorkerReceiver(e))}catch(e){throw this.logger.error(e.toString()),new Error("Failed to load the VideoFxProcessor's engine worker")}})}buildEngine(e){return n(this,void 0,void 0,function*(){this.buildEnginePromise=new p.DeferredPromise,this.engineWorker.postMessage({msg:m.WORKER_MSG.BUILD_ENGINE_REQUEST,payload:{cdnBasePath:this.videoFxSpec.paths.cdnBasePath,sdkVersioningParams:e}});try{yield this.buildEnginePromise.getPromise()}catch(e){throw this.logger.error(e.toString()),new Error("Failed to instantiate the VideoFxEngine")}})}loadFxLib(e){return n(this,void 0,void 0,function*(){const t=this.getPathFromVideoFxAssetParams(this.videoFxSpec.paths.cdnBasePath+this.videoFxSpec.paths.fxLibPath,e),i={method:"GET",mode:"cors",credentials:"omit",redirect:"follow",referrerPolicy:"no-referrer"};try{const e=yield o.fetchWithBehavior(t,i,{});if(!e.ok)throw new Error("Fetch failed.");const n=window.URL.createObjectURL(yield e.blob());yield new Promise((e,t)=>
2138{this.fxLibScript=document.createElement("script"),this.fxLibScript.setAttribute("src",n),this.fxLibScript.setAttribute("type","module"),this.fxLibScript.setAttribute("async","false"),this.fxLibScript.addEventListener("load",e),this.fxLibScript.addEventListener("error",t),document.body.appendChild(this.fxLibScript)})}catch(e){throw this.logger.error(e.toString()),new Error("Failed to load the fxlib")}})}getEffectConfig(){return this.cloneConfigFrom(this.effectConfig)}engineWorkerReceiver(e){const t=e.data;switch(t.msg){case m.WORKER_MSG.BUILD_ENGINE_RESPONSE:this.settleEngineBuildPromise(t.payload);break;case m.WORKER_MSG.PERFORM_SEGMENTATION_RESPONSE:this.settleSegmentationPromise(t.payload.output);break;case m.WORKER_MSG.PERFORM_SEGMENTATION_SAB_RESPONSE:this.settleSegmentationPromiseSAB();break;case m.WORKER_MSG.DESTROY_ASSETS_RESPONSE:this.destroyedAssetsPromise.resolvePromise();break;default:this.logger.info(`VideoFx worker received unknown event msg: ${JSON.stringify(t)}`)}}settleEngineBuildPromise(e){e!==m.SEGMENTATION_MODEL.LOAD_SUCCESS?this.buildEnginePromise.rejectPromise(new Error("Failed to build VideoFxProcessor's engine")):(this.logger.info("Successfully built the VideoFxEngine"),this.buildEnginePromise.resolvePromise())}settleSegmentationPromise(e){e?this.segmentationRequestPromise.resolveAndReplacePromise(e):this.segmentationRequestPromise.rejectAndReplacePromise(new Error("Failed to perform a segmentation on the input image"))}settleSegmentationPromiseSAB(){try{const e=new ImageData(new Uint8ClampedArray(this.sharedImageData),m.SEGMENTATION_MODEL.WIDTH_IN_PIXELS,m.SEGMENTATION_MODEL.HEIGHT_IN_PIXELS);this.segmentationRequestPromise.resolveAndReplacePromise(e)}catch(e){this.segmentationRequestPromise.rejectAndReplacePromise(new Error("Failed to perform a segmentation with a shared array buffer on the input image"))}}setToNoOpProcess(){this.process=this.noOpProcess}static isSupported(e=new c.default,t=!0){return n(this,void 0,void 0,function*(){let i=!0;const r=(t,n)=>{t&&(e.info(n),i=!1)};return r("undefined"==typeof globalThis,"Browser does not have globalThis."),r(!a.supportsWorker(globalThis,e),"Browser does not support web workers."),r(!a.supportsWASM(globalThis,e),"Browser does not support wasm."),r(!document.createElement("canvas").getContext("webgl2"),"Browser does not support webgl."),r(!(new d.default).isVideoFxSupportedBrowser(),"Browser is unsupported for VideoFxProcessor"),Promise.resolve(!!i&&(yield(()=>n(this,void 0,void 0,function*(){if(t)try{const t=new v(e);yield t.loadAssets(),yield t.destroy()}catch(t){return e.info("Browser environment is unable to access the required external assets."),Promise.resolve(!1)}return Promise.resolve(!0)}))()))})}static create(e,t,i=m.RESOURCE_CONSTRAINTS.DEFAULT_PROCESSING_BUDGET_PER_FRAME,r){return n(this,void 0,void 0,function*(){const n=new v(e,i);r&&n.setVideoFxSpec(r);try{return yield n.loadAssets(),yield n.setEffectConfig(t),n}catch(t){throw e.error(t.toString()),n.setToNoOpProcess(),new Error("VideoFxProcessor built with support for only NoOp processing")}})}setEventController(e){this.eventController?this.eventController=e:(this.eventController=e,this.publishVideoFxConfigEvent())}publishVideoFxConfigEvent(){const e={backgroundBlurEnabled:this.effectConfig.backgroundBlur.isEnabled.toString(),backgroundBlurStrength:this.effectConfig.backgroundBlur.strength,backgroundReplacementEnabled:this.effectConfig.backgroundReplacement.isEnabled.toString(),backgroundFilterVersion:2};this.eventController.publishEvent("backgroundFilterConfigSelected",e)}sameVideoFxConfig(e,t){return e.backgroundBlur.isEnabled===t.backgroundBlur.isEnabled&&e.backgroundBlur.strength===t.backgroundBlur.strength&&e.backgroundReplacement.backgroundImageURL===t.backgroundReplacement.backgroundImageURL&&e.backgroundReplacement.defaultColor===t.backgroundReplacement.defaultColor&&e.backgroundReplacement.isEnabled===t.backgroundReplacement.isEnabled}}t.default=v,v.isSharedArrayBufferSupported="undefined"!=typeof SharedArrayBuffer},21716(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VideoFxSegmentationRateManager=void 0;const n=i(42998);t.VideoFxSegmentationRateManager=class{constructor(e,t){this.logger=e,this.targetSegmentationCyclePercentage=t/100,this.frameCountOverSamplingPeriod=0,this.totalSegmentationDurationOverSamplingPeriod=0,this.samplingPeriodStartTime=performance.now(),this.framesPerSegmentation=n.RESOURCE_CONSTRAINTS.SEGMENTATION_DEFAULT_FRAMES_PER_SEGMENTATION}submitFrame(){this.frameCountOverSamplingPeriod++}shouldApplySegmentation(){return this.frameCountOverSamplingPeriod%this.framesPerSegmentation===0}startSegmentation(){this.frameSegmentationStartTime=performance.now()}completeSegmentation(){this.totalSegmentationDurationOverSamplingPeriod+=performance.now()-this.frameSegmentationStartTime,this.frameCountOverSamplingPeriod>=n.RESOURCE_CONSTRAINTS.SEGMENTATION_SAMPLING_PERIOD_FRAME_COUNT&&this.adjustFramesPerSegmentation(this.totalSegmentationDurationOverSamplingPeriod/(performance.now()-this.samplingPeriodStartTime))}adjustFramesPerSegmentation(e){e>this.targetSegmentationCyclePercentage?(this.framesPerSegmentation++,this.logger.info(`Segmentation cycle percentage above the configured maximal value. Decreasing segmentation rate to 1 segmentation per ${this.framesPerSegmentation} frames`)):this.framesPerSegmentation>1&&e<this.targetSegmentationCyclePercentage&&(this.framesPerSegmentation--,this.logger.info(`Segmentation cycle percentage below the configured maximal value. Increasing segmentation rate to 1 segmentation per ${this.framesPerSegmentation} frames`)),this.totalSegmentationDurationOverSamplingPeriod=0,this.frameCountOverSamplingPeriod=0,this.samplingPeriodStartTime=performance.now()}}},23487(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},32648(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e){this.ids=new Set(e)}add(e){this.ids.add(e)}array(){return Array.from(this.ids.values()).sort((e,t)=>e-t)}contain(e){return this.ids.has(e)}forEach(e){this.ids.forEach(e)}empty(){return 0===this.ids.size}size(){return this.ids.size}equal(e){if(!e)return 0===this.ids.size;const t=this.array(),i=e.array();if(t.length!==i.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==i[e])return!1;return!0}clone(){return new i(this.array())}remove(e){this.ids.delete(e)}toJSON(){return this.array()}truncate(e){const t=this.array();return new i(t.splice(0,e))}}t.default=i},50196(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(38359),o=n(i(32648)),s=n(i(29173));t.default=class{constructor(e){this.logger=e,this.currentIndex=null,this.indexForSubscribe=null,this.indexForLastRemoteVideoUpdate=null,this.currentSubscribeAck=null,this.subscribeTrackToStreamMap=null,this.subscribeStreamToAttendeeMap=null,this.subscribeStreamToExternalUserIdMap=null,this.subscribeSsrcToStreamMap=null,this.subscribeSsrcToGroupMap=null,this.streamToAttendeeMap=null,this.groupIdToAttendeeMap=null,this.streamToExternalUserIdMap=null,this.videoStreamDescription=new s.default,this.sendVideoStreamId=0,this.videoStreamDescription.trackLabel="AmazonChimeExpressVideo",this.videoStreamDescription.streamId=2,this.videoStreamDescription.groupId=2}localStreamDescriptions(){return[this.videoStreamDescription.clone()]}convertBpsToKbps(e){return e>0&&e<1e3?1:Math.trunc(e/1e3)}remoteStreamDescriptions(){if(!this.currentIndex||!this.currentIndex.sources)return[];const e=[];return this.currentIndex.sources.forEach(t=>{const i=new s.default;i.attendeeId=t.attendeeId,i.groupId=t.groupId,i.streamId=t.streamId,i.maxBitrateKbps=t.maxBitrateKbps,i.avgBitrateKbps=this.convertBpsToKbps(t.avgBitrateBps),i.width=t.width,i.height=t.height,i.maxFrameRate=t.framerate,e.push(i)}),e}integrateUplinkPolicyDecision(e){if(e&&e.length){const t=e[0];this.videoStreamDescription.maxBitrateKbps=t.maxBitrate/1e3,this.videoStreamDescription.maxFrameRate=t.maxFramerate}}integrateIndexFrame(e){if(this.currentIndex=e,!e)return;const t=new Map;let i=!1;for(const n of e.sources){if(!t.has(n.attendeeId)){t.set(n.attendeeId,n.groupId);continue}const e=t.get(n.attendeeId);e<n.groupId&&(this.logger.warn(`Old group ID ${e} found for attendee ID ${n.attendeeId}, replacing with newer group ID ${n.groupId}`),t.set(n.attendeeId,n.groupId)),i=!0}i&&(this.currentIndex.sources=this.currentIndex.sources.filter(e=>t.get(e.attendeeId)===e.groupId)),this.streamToAttendeeMap=null,this.groupIdToAttendeeMap=null,this.streamToExternalUserIdMap=null}subscribeFrameSent(){this.indexForSubscribe=this.currentIndex}remoteVideoUpdateSent(){this.indexForLastRemoteVideoUpdate=this.currentIndex}integrateSubscribeAckFrame(e){this.currentSubscribeAck=e,this.subscribeTrackToStreamMap=this.buildTrackToStreamMap(this.currentSubscribeAck),this.subscribeSsrcToStreamMap=this.buildSSRCToStreamMap(this.currentSubscribeAck),this.subscribeSsrcToGroupMap=this.buildSSRCToGroupMap(this.currentSubscribeAck),this.subscribeStreamToAttendeeMap=this.buildStreamToAttendeeMap(this.indexForSubscribe),this.subscribeStreamToExternalUserIdMap=this.buildStreamExternalUserIdMap(this.indexForSubscribe),this.sendVideoStreamId=0,e.allocations&&void 0!==e.allocations&&e.allocations.length>0&&(this.sendVideoStreamId=e.allocations[0].streamId)}integrateBitratesFrame(e){if(this.currentIndex)for(const t of e.bitrates){const e=this.currentIndex.sources.find(e=>e.streamId===t.sourceStreamId);void 0!==e&&(e.avgBitrateBps=t.avgBitrateBps)}}allStreams(){const e=new o.default;if(this.currentIndex)for(const t of this.currentIndex.sources)e.add(t.streamId);return e}allVideoSendingSourcesExcludingSelf(e){const t=[],i=new Set;if(this.currentIndex&&this.currentIndex.sources&&this.currentIndex.sources.length)for(const n of this.currentIndex.sources){const{attendeeId:o,externalUserId:s,mediaType:a}=n;
2138o!==e&&a===r.SdkStreamMediaType.VIDEO&&(i.has(o)||(t.push({attendee:{attendeeId:o,externalUserId:s}}),i.add(o)))}return t}streamSelectionUnderBandwidthConstraint(e,t,i,n){const s=new Set;if(this.currentIndex)for(const n of this.currentIndex.sources)n.attendeeId!==e&&n.mediaType===r.SdkStreamMediaType.VIDEO&&(t.has(n.attendeeId)||i.has(n.attendeeId)||s.add(n.attendeeId));const a=this.buildAttendeeToSortedStreamDescriptorMapExcludingSelf(e),d=new Map;let c=0;a.forEach((e,t)=>{d.set(t,e[0]),c+=e[0].maxBitrateKbps}),c=this.trySelectHighBitrateForAttendees(a,t,c,n,d),this.trySelectHighBitrateForAttendees(a,s,c,n,d);const l=new o.default;for(const e of d.values())l.add(e.streamId);return l}highestQualityStreamFromEachGroupExcludingSelf(e){const t=new o.default;if(this.currentIndex){const i=new Map;for(const t of this.currentIndex.sources)t.attendeeId!==e&&t.mediaType===r.SdkStreamMediaType.VIDEO&&(!i.has(t.groupId)||t.maxBitrateKbps>i.get(t.groupId).maxBitrateKbps)&&i.set(t.groupId,t);for(const e of i.values())t.add(e.streamId)}return t}numberOfVideoPublishingParticipantsExcludingSelf(e){return this.highestQualityStreamFromEachGroupExcludingSelf(e).array().length}numberOfParticipants(){return this.currentIndex.numParticipants?this.currentIndex.numParticipants:-1}attendeeIdForTrack(e){const t=this.streamIdForTrack(e);if(void 0===t||!this.subscribeStreamToAttendeeMap)return this.logger.warn(`no attendee found for track ${e}`),"";return this.subscribeStreamToAttendeeMap.get(t)||(this.logger.info(`track ${e} (stream ${t}) does not correspond to a known attendee`),"")}externalUserIdForTrack(e){const t=this.streamIdForTrack(e);if(void 0===t||!this.subscribeStreamToExternalUserIdMap)return this.logger.warn(`no external user id found for track ${e}`),"";return this.subscribeStreamToExternalUserIdMap.get(t)||(this.logger.info(`track ${e} (stream ${t}) does not correspond to a known externalUserId`),"")}attendeeIdForStreamId(e){if(!this.streamToAttendeeMap){if(!this.currentIndex)return"";this.streamToAttendeeMap=this.buildStreamToAttendeeMap(this.currentIndex)}return this.streamToAttendeeMap.get(e)||(this.logger.info(`stream ID ${e} does not correspond to a known attendee`),"")}attendeeIdForGroupId(e){if(!this.groupIdToAttendeeMap){if(!this.currentIndex)return"";this.groupIdToAttendeeMap=this.buildGroupIdToAttendeeMap(this.currentIndex)}return this.groupIdToAttendeeMap.get(e)||(this.logger.info(`group ID ${e} does not correspond to a known attendee`),"")}groupIdForStreamId(e){if(this.currentIndex&&this.currentIndex.sources){for(const t of this.currentIndex.sources)if(t.streamId===e)return t.groupId;if(this.indexForSubscribe)for(const t of this.indexForSubscribe.sources)if(t.streamId===e)return t.groupId;if(this.indexForLastRemoteVideoUpdate)for(const t of this.indexForLastRemoteVideoUpdate.sources)if(t.streamId===e)return t.groupId}}StreamIdsInSameGroup(e,t){return this.groupIdForStreamId(e)===this.groupIdForStreamId(t)}streamIdForTrack(e){if(this.subscribeTrackToStreamMap)return this.subscribeTrackToStreamMap.get(e)}streamIdForSSRC(e){if(this.subscribeSsrcToStreamMap)return this.subscribeSsrcToStreamMap.get(e)}overrideStreamIdMappings(e,t){if(this.subscribeTrackToStreamMap)for(const[i,n]of this.subscribeTrackToStreamMap.entries())if(e===n){this.subscribeTrackToStreamMap.set(i,t);break}if(this.subscribeSsrcToStreamMap)for(const[i,n]of this.subscribeSsrcToStreamMap.entries())if(e===n){this.subscribeSsrcToStreamMap.set(i,t);break}}groupIdForSSRC(e){if(this.subscribeSsrcToGroupMap)return this.subscribeSsrcToGroupMap.get(e)}streamsPausedAtSource(){const e=new o.default;if(this.currentIndex)for(const t of this.currentIndex.pausedAtSourceIds)e.add(t);return e}sendVideoStreamIdFromRid(e){return this.sendVideoStreamId}buildTrackToStreamMap(e){const t=new Map;this.logger.debug(()=>`trackMap ${JSON.stringify(e.tracks)}`);for(const i of e.tracks)i.trackLabel.length>0&&i.streamId>0&&t.set(i.trackLabel,i.streamId);return t}buildSSRCToStreamMap(e){const t=new Map;this.logger.debug(()=>`ssrcMap ${JSON.stringify(e.tracks)}`);for(const i of e.tracks)i.trackLabel.length>0&&i.streamId>0&&t.set(i.ssrc,i.streamId);return t}buildSSRCToGroupMap(e){const t=new Map;for(const i of e.tracks)i.trackLabel.length>0&&i.streamId>0&&t.set(i.ssrc,this.groupIdForStreamId(i.streamId));return t}buildStreamToAttendeeMap(e){const t=new Map;if(e)for(const i of e.sources)t.set(i.streamId,i.attendeeId);return t}buildGroupIdToAttendeeMap(e){const t=new Map;for(const i of e.sources)t.set(i.groupId,i.attendeeId);return t}buildStreamExternalUserIdMap(e){const t=new Map;if(e)for(const i of e.sources)i.externalUserId&&t.set(i.streamId,i.externalUserId);return t}trySelectHighBitrateForAttendees(e,t,i,n,r){for(const o of t){if(i>=n)break;if(e.has(o)){const t=e.get(o);for(const e of t.reverse())if(i-r.get(o).maxBitrateKbps+e.maxBitrateKbps<n){i=i-r.get(o).maxBitrateKbps+e.maxBitrateKbps,r.set(o,e);break}}}return i}buildAttendeeToSortedStreamDescriptorMapExcludingSelf(e){const t=new Map;if(this.currentIndex)for(const i of this.currentIndex.sources)i.attendeeId!==e&&i.mediaType===r.SdkStreamMediaType.VIDEO&&(t.has(i.attendeeId)?t.get(i.attendeeId).push(i):t.set(i.attendeeId,[i]));return t.forEach((e,t)=>{e.sort((e,t)=>
2138e.maxBitrateKbps>t.maxBitrateKbps?1:e.maxBitrateKbps<t.maxBitrateKbps?-1:0)}),t}}},26316(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(38359),o=n(i(50196)),s=n(i(29173));class a extends o.default{constructor(){super(...arguments),this.streamIdToBitrateKbpsMap=new Map,this._localStreamInfos=[],this._sendRidToVideoStreamIdMap=new Map}localStreamDescriptions(){const e=[];return this._localStreamInfos.forEach(t=>{e.push(t.clone())}),e}integrateUplinkPolicyDecision(e){let t=!0,i=0;for(let n=0;n<e.length;n++){const r=e[n].maxBitrate/1e3,o=e[n].maxFramerate;if(!t||n===this._localStreamInfos.length){t=!1;const a=new s.default;a.maxBitrateKbps=r,a.maxFrameRate=o,a.disabledByUplinkPolicy=0===r,a.rid=e[n].rid,0!==r&&(a.timeEnabled=Date.now()),this._localStreamInfos.push(a),i++;continue}0===this._localStreamInfos[i].maxBitrateKbps&&r>0&&(this._localStreamInfos[i].timeEnabled=Date.now()),this._localStreamInfos[i].maxBitrateKbps=r,this._localStreamInfos[i].maxFrameRate=o,this._localStreamInfos[i].disabledByUplinkPolicy=0===r,i++}t&&this._localStreamInfos.splice(i)}integrateBitratesFrame(e){super.integrateBitratesFrame(e);const t=new Set,i=new Set(this.streamIdToBitrateKbpsMap.keys());for(const i of e.bitrates)t.add(i.sourceStreamId),this.streamIdToBitrateKbpsMap.set(i.sourceStreamId,this.convertBpsToKbps(i.avgBitrateBps));for(const e of i)t.has(e)||(this.streamIdToBitrateKbpsMap.get(e)===a.UNSEEN_STREAM_BITRATE?this.streamIdToBitrateKbpsMap.set(e,a.RECENTLY_INACTIVE_STREAM_BITRATE):this.streamIdToBitrateKbpsMap.set(e,a.NOT_SENDING_STREAM_BITRATE));this.logLocalStreamDescriptions()}logLocalStreamDescriptions(){let e="";for(const t of this._localStreamInfos)e+=`streamId=${t.streamId} maxBitrate=${t.maxBitrateKbps} disabledByUplink=${t.disabledByUplinkPolicy}\n`;this.logger.debug(()=>e)}integrateIndexFrame(e){super.integrateIndexFrame(e);const t=new Set,i=new Set(this.streamIdToBitrateKbpsMap.keys());for(const e of this.currentIndex.sources)e.mediaType===r.SdkStreamMediaType.VIDEO&&(t.add(e.streamId),this.streamIdToBitrateKbpsMap.has(e.streamId)||this.streamIdToBitrateKbpsMap.set(e.streamId,a.UNSEEN_STREAM_BITRATE));for(const e of i)t.has(e)||this.streamIdToBitrateKbpsMap.delete(e)}integrateSubscribeAckFrame(e){if(super.integrateSubscribeAckFrame(e),!e.allocations||void 0===e.allocations)return;let t=0;this._sendRidToVideoStreamIdMap.clear();for(const i of e.allocations){if(this._localStreamInfos.length<t+1){this.logger.info("simulcast: allocation has more than number of local streams");break}this._localStreamInfos[t].groupId=i.groupId,this._localStreamInfos[t].streamId=i.streamId,this.streamIdToBitrateKbpsMap.has(i.streamId)||this.streamIdToBitrateKbpsMap.set(i.streamId,a.UNSEEN_STREAM_BITRATE),this._sendRidToVideoStreamIdMap.set(this._localStreamInfos[t].rid,i.streamId),t++}}sendVideoStreamIdFromRid(e){let t=0;return this._sendRidToVideoStreamIdMap.has(e)&&(t=this._sendRidToVideoStreamIdMap.get(e)),t}}t.default=a,a.UNSEEN_STREAM_BITRATE=-2,a.RECENTLY_INACTIVE_STREAM_BITRATE=-1,a.NOT_SENDING_STREAM_BITRATE=0,a.BitratesMsgFrequencyMs=4e3},29173(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i(38359);class r{constructor(e,t,i,n,r){this.attendeeId="",this.groupId=0,this.streamId=0,this.ssrc=0,this.trackLabel="",this.maxBitrateKbps=0,this.avgBitrateKbps=0,this.maxFrameRate=0,this.width=0,this.height=0,this.timeEnabled=0,this.disabledByWebRTC=!1,this.disabledByUplinkPolicy=!1,this.rid="",this.attendeeId=e,this.groupId=t,this.streamId=i,this.maxBitrateKbps=n,this.avgBitrateKbps=r}clone(){const e=new r;return e.attendeeId=this.attendeeId,e.groupId=this.groupId,e.streamId=this.streamId,e.ssrc=this.ssrc,e.trackLabel=this.trackLabel,e.maxBitrateKbps=this.maxBitrateKbps,e.avgBitrateKbps=this.avgBitrateKbps,e.maxFrameRate=this.maxFrameRate,e.timeEnabled=this.timeEnabled,e.disabledByUplinkPolicy=this.disabledByUplinkPolicy,e.width=this.width,e.height=this.height,e}toStreamDescriptor(){const e=n.SdkStreamDescriptor.create();return e.mediaType=n.SdkStreamMediaType.VIDEO,e.trackLabel=this.trackLabel,e.attendeeId=this.attendeeId,e.streamId=this.streamId,e.groupId=this.groupId,e.framerate=this.maxFrameRate,e.maxBitrateKbps=this.disabledByU
2138plinkPolicy?0:this.maxBitrateKbps,e.avgBitrateBps=this.avgBitrateKbps,e}totalPixels(){return this.width*this.height}}t.default=r},94958(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.observerQueue=new Set,this.element=null,this.resizeObserver=new ResizeObserver(e=>{for(const t of e){const{width:e,height:i}=t.contentRect;this.notifyObservers(e,i)}})}notifyObservers(e,t){for(const i of this.observerQueue)i.videoElementResolutionChanged(e,t)}registerObserver(e){this.observerQueue.add(e)}removeObserver(e){this.observerQueue.delete(e)}bindVideoElement(e){this.element!==e&&(this.element&&this.resizeObserver.unobserve(this.element),this.element=e,this.element&&this.resizeObserver.observe(this.element))}}},60686(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(98824)),o=n(i(38148)),s=n(i(87682));class a{constructor(e,t,i,n,r=void 0){this.tileController=i,this.devicePixelRatioMonitor=n,this.resolutionMonitor=r,this.tileState=new s.default,this.tileState.tileId=e,this.tileState.localTile=t,this.devicePixelRatioMonitor.registerObserver(this)}static connectVideoStreamToVideoElement(e,t,i){const n=i&&"environment"!==e.getVideoTracks()[0].getSettings().facingMode?"rotateY(180deg)":"";if(a.setVideoElementFlag(t,"disablePictureInPicture",i),a.setVideoElementFlag(t,"disableRemotePlayback",i),t.style.transform!==n&&(t.style.transform=n),t.hasAttribute("controls")&&t.removeAttribute("controls"),t.hasAttribute("autoplay")||t.setAttribute("autoplay","true"),t.hasAttribute("playsinline")||t.setAttribute("playsinline","true"),t.hasAttribute("muted")||(t.setAttribute("muted","true"),t.muted=!0),t.srcObject!==e&&(t.srcObject=e,(new r.default).requiresVideoPlayWorkaround()&&t.paused)){const e=t.play();void 0!==e&&e.catch(e=>{console.warn("Error playing video in Safari",e)}).then(()=>{console.debug("Video played successfully in Safari")})}}static disconnectVideoStreamFromVideoElement(e,t,i=!1){if(e)if(t)i||(e.srcObject=null,e.style.transform="");else{if(!e.srcObject)return;e.pause(),e.style.transform="",a.setVideoElementFlag(e,"disablePictureInPicture",!1),a.setVideoElementFlag(e,"disableRemotePlayback",!1),e.srcObject=null}}destroy(){this.devicePixelRatioMonitor.removeObserver(this),this.tileState.boundVideoElement&&this.tileState.boundVideoElement.srcObject===this.tileState.boundVideoStream&&a.disconnectVideoStreamFromVideoElement(this.tileState.boundVideoElement,!1),this.tileState=new s.default}devicePixelRatioChanged(e){this.tileState.devicePixelRatio=e,this.sendTileStateUpdate()}id(){return this.tileState.tileId}state(){return this.tileState.clone()}stateRef(){return this.tileState}bindVideoStream(e,t,i,n,r,s,a,d){let c=!1;this.tileState.boundAttendeeId!==e&&(this.tileState.boundAttendeeId=e,new o.default(e).hasModality(o.default.MODALITY_CONTENT)&&(this.tileState.isContent=!0),c=!0),this.tileState.boundExternalUserId!==a&&(this.tileState.boundExternalUserId=a,c=!0),this.tileState.localTile!==t&&(this.tileState.localTile=t,c=!0),this.tileState.boundVideoStream!==i&&(this.tileState.boundVideoStream=i,c=!0),this.tileState.videoStreamContentWidth!==n&&(this.tileState.videoStreamContentWidth=n,c=!0),this.tileState.videoStreamContentHeight!==r&&(this.tileState.videoStreamContentHeight=r,c=!0),this.tileState.streamId!==s&&(this.tileState.streamId=s,c=!0),this.tileState.groupId!==d&&(this.tileState.groupId=d,c=!0),c&&this.sendTileStateUpdate()}bindVideoElement(e){var t;let i=!1;this.tileState.boundVideoElement!==e&&(this.tileState.boundVideoElement=e,null===(t=this.resolutionMonitor)||void 0===t||t.bindVideoElement(this.tileState.boundVideoElement),i=!0),null!==this.tileState.boundVideoElement?(this.tileState.videoElementCSSWidthPixels!==e.clientWidth&&(this.tileState.videoElementCSSWidthPixels=e.clientWidth,i=!0),this.tileState.videoElementCSSHeightPixels!==e.clientHeight&&(this.tileState.videoElementCSSHeightPixels=e.clientHeight,i=!0)):(this.tileState.videoElementCSSWidthPixels=null,this.tileState.videoElementCSSHeightPixels=null),i&&this.sendTileStateUpdate()}pause(){this.tileState.paused||(this.tileState.paused=!0,this.sendTileStateUpdate())}unpause(){this.tileState.paused&&(this.tileState.paused=!1,this.sendTileStateUpdate())}markPoorConnection(){return!this.tileState.poorConnection&&(this.tileState.poorConnection=!0,this.sendTileStateUpdate(),!0)}unmarkPoorConnection(){return!!this.tileState.poorConnection&&(this.tileState.poorConnection=!1,this.sendTileStateUpdate(),!0)}capture(){if(!this.tileState.active)return null;const e=document.createElement("canvas"),t=this.tileState.boundVideoElement;e.width=t.videoWidth||t.width,e.height=t.videoHeight||t.height;const i=e.getContext("2d");return i.drawImage(t,0,0,e.width,e.height),i.getImageData(0,0,e.width,e.height)}setStreamId(e){this.tileState.streamId=e,this.tileController.sendTileStateUpdate(this.state())}sendTileStateUpdate(){this.updateActiveState(),this.updateVideoStreamOnVideoElement(),this.updateVideoElementPhysicalPixels(),this.tileController.sendTileStateUpdate(this.state())}updateActiveState(){this.tileState.active=!(this.tileState.paused||this.tileState.poorConnection||!this.tileState.boundAttendeeId||!this.tileState.boundVideoElement||!this.tileState.boundVideoStream)}updateVideoElementPhysicalPixels(){"number"==typeof this.tileState.videoElementCSSWidthPixels&&"number"==typeof this.tileState.videoElementCSSHeightPixels?(this.tileState.videoElementPhysicalWidthPixels=this.tileState.devicePixelRatio*this.tileState.videoElementCSSWidthPixels,this.tileState.videoElementPhysicalHeightPixels=this.tileState.devicePixelRatio*this.tileState.videoElementCSSHeightPixels):(this.tileState.videoElementPhysicalWidthPixels=null,this.tileState.videoElementPhysicalHeightPixels=null)}updateVideoStreamOnVideoElement(){this.tileState.active?a.connectVideoStreamToVideoElement(this.tileState.boundVideoStream,this.tileState.boundVideoElement,this.tileState.localTile):a.disconnectVideoStreamFromVideoElement(this.tileState.boundVideoElement,this.tileState.paused,this.tileController.keepLastFrameWhenPaused)}static setVideoElementFlag(e,t,i){t in e&&(e[t]=i)}}t.default=a},87682(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(){this.tileId=null,this.localTile=!1,this.localTileStarted=!1,this.isContent=!1,this.active=!1,this.paused=!1,this.poorConnection=!1,this.boundAttendeeId=null,this.boundExternalUserId=null,this.boundVideoStream=null,this.boundVideoElement=null,this.nameplate=null,this.videoStreamContentWidth=null,this.videoStreamContentHeight=null,this.videoElementCSSWidthPixels=null,this.videoElementCSSHeightPixels=null,this.devicePixelRatio=0,this.videoElementPhysicalWidthPixels=null,this.videoElementPhysicalHeightPixels=null,this.streamId=null,this.groupId=null}clone(){const e=new i;return e.tileId=this.tileId,e.localTile=this.localTile,e.isContent=this.isContent,e.active=this.active,e.paused=this.paused,e.poorConnection=this.poorConnection,e.boundAttendeeId=this.boundAttendeeId,e.boundExternalUserId=this.boundExternalUserId,e.boundVideoStream=this.boundVideoStream,e.boundVideoElement=this.boundVideoElement,e.nameplate=this.nameplate,e.videoStreamContentWidth=this.videoStreamContentWidth,e.videoStreamContentHeight=this.videoStreamContentHeight,e.videoElementCSSWidthPixels=this.videoElementCSSWidthPixels,e.videoElementCSSHeightPixels=this.videoElementCSSHeightPixels,e.devicePixelRatio=this.devicePixelRatio,e.videoElementPhysicalWidthPixels=this.videoElementPhysicalWidthPixels,e.videoElementPhysicalHeightPixels=this.videoElementPhysicalHeightPixels,e.streamId=this.streamId,e.groupId=this.groupId,e}}t.default=i},95570(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(28586)),s=r(i(61858)),a=r(i(65517)),d=i(89419),c=r(i(94958)),l=r(i(60686));t.default=class{constructor(e,t,i){this.tileFactory=e,this.audioVideoController=t,this.logger=i,this.tileMap=new Map,this.nextTileId=1,this.currentLocalTile=null,this.currentPausedTilesByIds=new Set,this.resolutionObservers=new Set,this.keepLastFrameWhenPaused=!1,this.keepLastFrameWhenPaused=t.configuration.keepLastFrameWhenPaused}createDevicePixelRatioMonitorIfNeeded(){this.devicePixelRatioMonitor||(this.devicePixelRatioMonitor=new s.default(new a.default,this.logger))}discardDevicePixelRatioMonitorIfNotNeeded(){return n(this,void 0,void 0,function*(){if(this.tileMap.size||!this.devicePixelRatioMonitor)return;const e=this.devicePixelRatioMonitor;return this.devicePixelRatioMonitor=void 0,e.destroy()})}bindVideoElement(e,t){const i=this.getVideoTile(e);null!==i?i.bindVideoElement(t):this.logger.warn(`Ignoring video element binding for unknown tile id ${e}`)}unbindVideoElement(e,t=!0){const i=this.getVideoTile(e);if(null===i)return void this.logger.warn(`Ignoring video element unbinding for unknown tile id ${e}`);this.logger.info("Unbinding the video element"),this.notifyRemoteObserversOfUnbound(i.state().boundAttendeeId);const n=i.stateRef().boundVideoElement;i.bindVideoElement(null),t&&(this.logger.info("Cleaning up the video element"),l.default.disconnectVideoStreamFromVideoElement(n,!1))}startLocalVideoTile(){if(this.audioVideoController.configuration.meetingFeatures.videoMaxResolution===o.default.VideoDisabled)return this.logger.warn("Could not start camera video because max video resolution was set to None"),-1;const e=this.findOrCreateLocalVideoTile();return this.currentLocalTile.stateRef().localTileStarted=!0,this.audioVideoController.update({needsRenegotiation:!0}),e.id()}stopLocalVideoTile(){this.currentLocalTile&&(this.currentLocalTile.stateRef().localTileStarted=!1,this.currentLocalTile.bindVideoStream(this.audioVideoController.configuration.credentials.attendeeId,!0,null,null,null,null,this.audioVideoController.configuration.credentials.externalUserId),this.audioVideoController.update({needsRenegotiation:!0}
2138))}hasStartedLocalVideoTile(){return!(!this.currentLocalTile||!this.currentLocalTile.stateRef().localTileStarted)}removeLocalVideoTile(){this.currentLocalTile&&this.removeVideoTile(this.currentLocalTile.id())}getLocalVideoTile(){return this.currentLocalTile}pauseVideoTile(e){const t=this.getVideoTile(e);t&&(this.currentPausedTilesByIds.has(e)||(this.audioVideoController.pauseReceivingStream(t.stateRef().streamId),this.currentPausedTilesByIds.add(e)),t.pause())}unpauseVideoTile(e){const t=this.getVideoTile(e);t&&(this.currentPausedTilesByIds.has(e)&&(this.audioVideoController.resumeReceivingStream(t.stateRef().streamId),this.currentPausedTilesByIds.delete(e)),t.unpause())}getVideoTile(e){return this.tileMap.has(e)?this.tileMap.get(e):null}getVideoTileArea(e){const t=e.state();let i=0,n=0;return t.boundVideoElement&&(i=t.boundVideoElement.clientHeight*t.devicePixelRatio,n=t.boundVideoElement.clientWidth*t.devicePixelRatio),i*n}getAllRemoteVideoTiles(){const e=new Array;return this.tileMap.forEach((t,i)=>{this.currentLocalTile&&i===this.currentLocalTile.id()||e.push(t)}),e}getAllVideoTiles(){return Array.from(this.tileMap.values())}addVideoTile(e=!1){const t=this.nextTileId;this.nextTileId+=1,this.createDevicePixelRatioMonitorIfNeeded();const i=this.tileFactory.makeTile(t,e,this,this.devicePixelRatioMonitor,this.createResolutionMonitor(t));return this.tileMap.set(t,i),i}removeVideoTile(e){if(!this.tileMap.has(e))return;const t=this.tileMap.get(e);this.currentLocalTile===t&&(this.currentLocalTile=null),t.destroy(),this.tileMap.delete(e),this.audioVideoController.forEachObserver(t=>{d.Maybe.of(t.videoTileWasRemoved).map(i=>i.bind(t)(e))}),this.discardDevicePixelRatioMonitorIfNotNeeded()}removeVideoTilesByAttendeeId(e){const t=[];for(const i of this.getAllVideoTiles()){const n=i.state();n.boundAttendeeId===e&&(this.removeVideoTile(n.tileId),t.push(n.tileId))}return t}removeAllVideoTiles(){const e=Array.from(this.tileMap.keys());for(const t of e)this.removeVideoTile(t)}sendTileStateUpdate(e){this.audioVideoController.forEachObserver(t=>{d.Maybe.of(t.videoTileDidUpdate).map(i=>i.bind(t)(e))})}haveVideoTilesWithStreams(){for(const e of this.getAllVideoTiles())if(e.state().boundVideoStream)return!0;return!1}haveVideoTileForAttendeeId(e){return!!this.getVideoTileForAttendeeId(e)}getVideoTileForAttendeeId(e){for(const t of this.getAllVideoTiles())if(t.state().boundAttendeeId===e)return t}captureVideoTile(e){const t=this.getVideoTile(e);return t?t.capture():null}registerVideoTileResolutionObserver(e){this.resolutionObservers.add(e)}removeVideoTileResolutionObserver(e){this.resolutionObservers.delete(e)}notifyResolutionObserversOfChange(e,t,i){for(const n of this.resolutionObservers)n.videoTileResolutionDidChange(e,t,i)}notifyRemoteObserversOfUnbound(e){for(const t of this.resolutionObservers)t.videoTileUnbound(e)}createResolutionMonitor(e){const t=new class{constructor(e,t){this.controller=e,this.tileId=t}videoElementResolutionChanged(e,t){const i=this.controller.getVideoTile(this.tileId);if(i){const n=i.state().boundAttendeeId;this.controller.notifyResolutionObserversOfChange(n,e,t)}}}(this,e),i=new c.default;return i.registerObserver(t),i}findOrCreateLocalVideoTile(){return this.currentLocalTile||(this.currentLocalTile=this.addVideoTile(!0),this.currentLocalTile.bindVideoStream(this.audioVideoController.configuration.credentials.attendeeId,!0,null,null,null,null,this.audioVideoController.configuration.credentials.externalUserId)),this.currentLocalTile}}},75824(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(60686));t.default=class{makeTile(e,t,i,n,o){return new r.default(e,t,i,n,o)}}},22957(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{}},29671(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(3739)),o=n(i(26216)),s=i(89419),a=n(i(95480)),d=n(i(22957));class c{constructor(e,t){this.selfAttendeeId=e,this.logger=t,this.numSenders=0,this.shouldDisableSimulcast=!1,this.newQualityMap=new Map,this.currentQualityMap=new Map,this.newActiveStreams=1,this.videoIndex=null,this.observerQueue=new Set,this.hiTargetBitrateKbps=c.kHiTargetBitrateKbpsHd,this.midTargetBitrateKbps=c.kMidTargetBitrateKbpsHd,this.lowTargetBitrateKbps=c.kLowTargetBitrateKbpsHd,this.enableFhdVideo=!1,this.optimalParameters=new a.default(0,0,0,0,!0),this.parametersInEffect=new a.default(0,0,0,0,!0),this.currentQualityMap=this.fillEncodingParamWithBitrates([this.lowTargetBitrateKbps,0,this.hiTargetBitrateKbps]),this.newQualityMap=this.fillEncodingParamWithBitrates([this.lowTargetBitrateKbps,0,this.hiTargetBitrateKbps])}updateConnectionMetric(e){}calculateEncodingParameters(){const e=[new d.default,new d.default,new d.default];this.shouldDisableSimulcast?(this.newActiveStreams=0,e[0].maxBitrateKbps=0,e[1].maxBitrateKbps=this.hiTargetBitrateKbps,e[2].maxBitrateKbps=0):this.numSenders<=4?(this.newActiveStreams=1,e[0].maxBitrateKbps=this.lowTargetBitrateKbps,e[1].maxBitrateKbps=0,e[2].maxBitrateKbps=this.hiTargetBitrateKbps):(this.newActiveStreams=2,e[0].maxBitrateKbps=2*this.lowTargetBitrateKbps/3,e[1].maxBitrateKbps=this.numSenders<=6?this.midTargetBitrateKbps:.6*this.midTargetBitrateKbps,e[2].maxBitrateKbps=0);const t=e.map((e,t,i)=>e.maxBitrateKbps);return this.newQualityMap=this.fillEncodingParamWithBitrates(t),this.encodingParametersEqual()||this.logger.info(`simulcast: policy:calculateEncodingParameters numSources:${this.numSenders} shouldDisableSimulcast:${this.shouldDisableSimulcast} newQualityMap: ${this.getQualityMapString(this.newQualityMap)}`),this.newQualityMap}chooseMediaTrackConstraints(){}chooseEncodingParameters(){return this.currentQualityMap=this.newQualityMap,this.activeStreamsToPublish!==this.newActiveStreams&&(this.activeStreamsToPublish=this.newActiveStreams,this.publishEncodingSimulcastLayer()),this.currentQualityMap}updateIndex(e){const t=e.numberOfVideoPublishingParticipantsExcludingSelf(this.selfAttendeeId)+1,i=t!==this.numSenders,n=e.numberOfParticipants(),r=n>=0&&n<=2,o=this.shouldDisableSimulcast!==r;this.numSenders=t,this.shouldDisableSimulcast=r,this.optimalParameters=new a.default(this.captureWidth(),this.captureHeight(),this.captureFrameRate(),this.maxBandwidthKbps(),!1),this.videoIndex=e,(i||o)&&(this.newQualityMap=this.calculateEncodingParameters())}wantsResubscribe(){return!this.encodingParametersEqual()}compareEncodingParameter(e,t){return JSON.stringify(e)===JSON.stringify(t)}encodingParametersEqual(){let e=!1;for(const t of o.default.NAME_ARR_ASCENDING)if(e=e||!this.compareEncodingParameter(this.newQualityMap.get(t),this.currentQualityMap.get(t)),e)break;return!e}chooseCaptureAndEncodeParameters(){return this.parametersInEffect=this.optimalParameters.clone(),this.parametersInEffect.clone()}captureWidth(){return this.enableFhdVideo?1920:1280}captureHeight(){return this.enableFhdVideo?1080:768}captureFrameRate(){return 15}maxBandwidthKbps(){return this.enableFhdVideo?2500:1400}
2138setIdealMaxBandwidthKbps(e){}setHasBandwidthPriority(e){}setHighResolutionFeatureEnabled(e){this.enableFhdVideo=e,this.hiTargetBitrateKbps=e?c.kHiTargetBitrateKbpsFhd:c.kHiTargetBitrateKbpsHd,this.midTargetBitrateKbps=e?c.kMidTargetBitrateKbpsFhd:c.kMidTargetBitrateKbpsHd,this.lowTargetBitrateKbps=e?c.kLowTargetBitrateKbpsFhd:c.kLowTargetBitrateKbpsHd}wantsVideoDependencyDescriptorRtpHeaderExtension(){return!0}fillEncodingParamWithBitrates(e){const t=new Map,i=o.default.NAME_ARR_ASCENDING,n=e;let r=this.shouldDisableSimulcast?1:4;for(let e=0;e<i.length;e++){const o=i[e];t.set(o,{rid:o,active:n[e]>0,scaleResolutionDownBy:Math.max(r,1),maxBitrate:1e3*n[e]}),r/=2}return t}getQualityMapString(e){let t="";return 3===this.videoIndex.localStreamDescriptions().length&&e.forEach(e=>{t+=`{ rid: ${e.rid} active:${e.active} maxBitrate:${e.maxBitrate}}`}),t}getEncodingSimulcastLayer(e){switch(e){case 0:return r.default.High;case 1:return r.default.LowAndHigh;case 2:return r.default.LowAndMedium}}publishEncodingSimulcastLayer(){const e=this.getEncodingSimulcastLayer(this.activeStreamsToPublish);this.forEachObserver(t=>{s.Maybe.of(t.encodingSimulcastLayersDidChange).map(i=>i.bind(t)(e))})}addObserver(e){this.logger.info("adding simulcast uplink observer"),this.observerQueue.add(e)}removeObserver(e){this.logger.info("removing simulcast uplink observer"),this.observerQueue.delete(e)}forEachObserver(e){for(const t of this.observerQueue)e(t)}}t.default=c,c.kHiTargetBitrateKbpsHd=1200,c.kMidTargetBitrateKbpsHd=600,c.kLowTargetBitrateKbpsHd=300,c.kHiTargetBitrateKbpsFhd=2e3,c.kMidTargetBitrateKbpsFhd=1e3,c.kLowTargetBitrateKbpsFhd=500},45936(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(88284));t.default=class{constructor(e,t){this.encodingParams=t,this.enableUhdContent=!1,this.defaultHiTargetBitrateKbps=1200,this.defaultLowTargetBitrateKbps=300}updateConnectionMetric(e){}chooseMediaTrackConstraints(){}chooseEncodingParameters(){var e,t,i,n,o,s,a,d,c,l,u,h;const p=new Map,f=r.default.NAME_ARR_ASCENDING;return p.set(f[0],{rid:f[0],active:!0,scaleResolutionDownBy:(null===(t=null===(e=this.encodingParams)||void 0===e?void 0:e.low)||void 0===t?void 0:t.scaleResolutionDownBy)||2,maxBitrate:1e3*((null===(n=null===(i=this.encodingParams)||void 0===i?void 0:i.low)||void 0===n?void 0:n.maxBitrateKbps)||this.defaultLowTargetBitrateKbps),maxFramerate:(null===(s=null===(o=this.encodingParams)||void 0===o?void 0:o.low)||void 0===s?void 0:s.maxFramerate)||5}),p.set(f[1],{rid:f[1],active:!0,scaleResolutionDownBy:(null===(d=null===(a=this.encodingParams)||void 0===a?void 0:a.high)||void 0===d?void 0:d.scaleResolutionDownBy)||1,maxBitrate:1e3*((null===(l=null===(c=this.encodingParams)||void 0===c?void 0:c.high)||void 0===l?void 0:l.maxBitrateKbps)||this.defaultHiTargetBitrateKbps),maxFramerate:null===(h=null===(u=this.encodingParams)||void 0===u?void 0:u.high)||void 0===h?void 0:h.maxFramerate}),p}updateIndex(e){}wantsResubscribe(){return!1}chooseCaptureAndEncodeParameters(){}maxBandwidthKbps(){return this.enableUhdContent?2e3:1200}setIdealMaxBandwidthKbps(e){}setHasBandwidthPriority(e){}setHighResolutionFeatureEnabled(e){this.enableUhdContent=e,this.defaultHiTargetBitrateKbps=e?2e3:1200,this.defaultLowTargetBitrateKbps=e?500:300}addObserver(e){}removeObserver(e){}forEachObserver(e){}}},43867(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(95480));class s{constructor(e,t=!0,i=void 0,n=void 0){this.selfAttendeeId=e,this.scaleResolution=t,this.logger=i,this.browserBehavior=n,this.numberOfPublishedVideoSources=void 0,this.idealMaxB
2138andwidthKbps=1500,this.hasBandwidthPriority=!1,this.encodingParamMap=new Map,this.enableHighResolutionFeature=!1,this.enableSVC=!1,this.isUsingSVCCodec=!0,this.numParticipants=0,this.reset()}reset(){this.numberOfPublishedVideoSources=void 0,this.optimalParameters=new o.default(0,0,0,0,!1),this.parametersInEffect=new o.default(0,0,0,0,!1),this.encodingParamMap.set(s.encodingMapKey,{maxBitrate:0})}updateConnectionMetric(e){}chooseMediaTrackConstraints(){return{}}chooseEncodingParameters(){return new Map}updateIndex(e){var t;let i=!0;this.transceiverController&&(i=this.transceiverController.hasVideoInput());const n=e.numberOfVideoPublishingParticipantsExcludingSelf(this.selfAttendeeId)+(i?1:0),r=e.numberOfParticipants();this.numParticipants!==r||this.numberOfPublishedVideoSources!==n?(this.numberOfPublishedVideoSources=n,this.numParticipants=r,this.updateOptimalParameters()):null===(t=this.logger)||void 0===t||t.debug("Skipping update index; Number of participants has not changed")}wantsResubscribe(){return!this.parametersInEffect.equal(this.optimalParameters)}chooseCaptureAndEncodeParameters(){return this.parametersInEffect=this.optimalParameters.clone(),this.parametersInEffect.clone()}updateOptimalParameters(){let e=1;if(this.transceiverController){const t=this.getStreamCaptureSetting();t&&(e=this.calculateEncodingParameters(t).scaleResolutionDownBy)}this.optimalParameters=new o.default(this.captureWidth(),this.captureHeight(),this.captureFrameRate(),this.maxBandwidthKbps(),!1,e,this.enableSVC&&this.numParticipants>2&&this.isUsingSVCCodec)}captureWidth(){let e=640;return this.getNumberOfPublishedVideoSources()>4&&(e=320),e}captureHeight(){let e=384;return this.getNumberOfPublishedVideoSources()>4&&(e=192),e}captureFrameRate(){return 15}maxBandwidthKbps(){if(this.hasBandwidthPriority)return Math.trunc(this.idealMaxBandwidthKbps);let e=0;return e=this.getNumberOfPublishedVideoSources()<=2?this.idealMaxBandwidthKbps:this.getNumberOfPublishedVideoSources()<=4?2*this.idealMaxBandwidthKbps/3:(544/11+14880/(11*this.getNumberOfPublishedVideoSources()))/600*this.idealMaxBandwidthKbps,Math.trunc(e)}setIdealMaxBandwidthKbps(e){this.idealMaxBandwidthKbps=e}setHasBandwidthPriority(e){this.hasBandwidthPriority=e}setTransceiverController(e){this.transceiverController=e}setSVCEnabled(e){var t;this.enableSVC=e,null===(t=this.logger)||void 0===t||t.info(`setSVCEnabled, enable: ${e}}`)}setHighResolutionFeatureEnabled(e){this.enableHighResolutionFeature=e}updateTransceiverController(){return n(this,void 0,void 0,function*(){const e=this.getStreamCaptureSetting();if(!e)return;const t=this.calculateEncodingParameters(e);this.shouldUpdateEndcodingParameters(t)&&(this.encodingParamMap.set(s.encodingMapKey,t),this.transceiverController.setEncodingParameters(this.encodingParamMap))})}shouldUpdateEndcodingParameters(e){var t,i;const n=null===(i=null===(t=this.transceiverController.localVideoTransceiver().sender.getParameters())||void 0===t?void 0:t.encodings)||void 0===i?void 0:i[0];return e.maxBitrate!==(null==n?void 0:n.maxBitrate)||e.scaleResolutionDownBy!==(null==n?void 0:n.scaleResolutionDownBy)||(null==e?void 0:e.scalabilityMode)!==(null==n?void 0:n.scalabilityMode)}calculateEncodingParameters(e){var t,i,n;const r=1e3*this.maxBandwidthKbps();let o=1,a=720;if(void 0!==e.height&&void 0!==e.width&&this.scaleResolution&&!this.hasBandwidthPriority&&this.getNumberOfPublishedVideoSources()>2&&(a=s.targetHeightArray[Math.min(this.getNumberOfPublishedVideoSources(),s.targetHeightArray.length-1)][this.enableHighResolutionFeature?1:0],480===a&&(null===(t=this.browserBehavior)||void 0===t?void 0:t.disable480pResolutionScaleDown())&&(a=360),o=Math.max(Math.min(e.height,e.width)/a,1),null===(i=this.logger)||void 0===i||i.info(`Resolution scale factor is ${o} for capture resolution ${e.width}x${e.height}. New dimension is ${e.width/o}x${e.height/o}`)),this.enableSVC){let e;return e=this.numParticipants>=0&&this.numParticipants<3||!this.isUsingSVCCodec?"L1T1":"L3T3",null===(n=this.logger)||void 0===n||n.info(`calculateEncodingParameters: SVC: ${this.enableSVC}    participants: ${this.numParticipants}     publishers: ${this.getNumberOfPublishedVideoSources()}     bitrate: ${r}  targetHeight: ${a}  scalabilityMode: ${e}   isUsingSVCCodec: ${this.isUsingSVCCodec}`),{scaleResolutionDownBy:o,maxBitrate:r,scalabilityMode:e}}return{scaleResolutionDownBy:o,maxBitrate:r}}getStreamCaptureSetting(){var e,t,i,n;return null===(n=null===(i=null===(t=null===(e=this.transceiverController)||void 0===e?void 0:e.localVideoTransceiver())||void 0===t?void 0:t.sender)||void 0===i?void 0:i.track)||void 0===n?void 0:n.getSettings()}getNumberOfPublishedVideoSources(){var e;return null!==(e=this.numberOfPublishedVideoSources)&&void 0!==e?e:0}wantsVideoDependencyDescriptorRtpHeaderExtension(){return this.enableSVC}setMeetingSupportedVideoSendCodecs(e,t){const i=null!=e?e:t,n=i.length>0&&s.SVCCodecNames.includes(i[0].codecName);n!==this.isUsingSVCCodec&&(this.isUsingSVCCodec=n,this.updateOptimalParameters())}}t.default=s,s.encodingMapKey="video",s.targetHeightArray=[[0,0],[0,0],[0,0],[540,720],[540,720],[480,540],[480,540],[480,540],[480,540],[360,480],[360,480],[360,480],[360,480],[270,360],[270,360],[270,360],[270,360],[180,270],[180,270],[180,270],[180,270],[180,270],[180,270],[180,270],[180,270],[180,270]],s.SVCCodecNames=["VP9"]},6980(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(95480));t.default=class{constructor(){}updateConnectionMetric(e){}chooseMediaTrackConstraints(){return{}}chooseEncodingParameters(){return new Map}updateIndex(e){}wantsResubscribe(){return!1}chooseCaptureAndEncodeParameters(){return new r.default(0,0,0,0,!1)}maxBandwidthKbps(){return 0}setIdealMaxBandwidthKbps(e){}setHasBandwidthPriority(e){}setHighResolutionFeatureEnabled(e){}wantsVideoDependencyDescriptorRtpHeaderExtension(){return!1}}},13628(e,t){"use strict";function i(e){return e.map(e=>"object"==typeof e?JSON.stringify(e):`${e}`).join(" ")}Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.base=e}debug(...e){this.base.debug(i(e))}info(...e){this.base.info(i(e))}warn(...e){this.base.warn(i(e))}error(...e){this.base.error(i(e))}}},97116(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.VoiceFocusDeviceTransformer=void 0;const o=i(65201),s=i(48471),a=r(i(40961)),d=r(i(13628)),c=r(i(48163)),l=r(i(77784));class u{constructor(e,{preload:t=!0,logger:i,fetchBehavior:n=u.defaultFetchBehavior()},r){this.spec=e,this.supported=!0,this.logger=i,this.vfLogger=i?new d.default(i):void 0,this.preload=t,this.fetchBehavior=n,this.spec=u.augmentSpec(this.spec),r&&(this.configuration=Promise.resolve(r))}static isSupported(e,t){var i,n;const r={fetchBehavior:u.defaultFetchBehavior(),logger:(null==t?void 0:t.logger)?new d.default(t.logger):void 0};if(s.isIFramed()){if(!1===(null==t?void 0:t.allowIFrame))return null===(i=null==t?void 0:t.logger)||void 0===i||i.error("Amazon Voice Focus support check inside iframe: not supported."),Promise.resolve(!1);null===(n=null==t?void 0:t.logger)||void 0===n||n.warn("Amazon Voice Focus support check inside iframe: not recommended.")}return o.VoiceFocus.isSupported(u.augmentSpec(e),r)}static create(e={},t={},i,r,o){var s,a,d;return n(this,void 0,void 0,function*(){r&&r.Meeting.Meeting&&(r=r.Meeting);const n="AVAILABLE"===(null===(d=null===(a=null===(s=null==r?void 0:r.Meeting)||void 0===s?void 0:s.MeetingFeatures)||void 0===a?void 0:a.Audio)||void 0===d?void 0:d.EchoReduction),o=i&&!0===i.supported&&"ns_es"===i.model.name&&!n,c="ns_es"===e.name&&!n;if(o||c)throw new Error("Echo Reduction requested but not enabled.");const l=new u(e,t,i);return yield l.init(),l})}static configure(e={},t={}){return n(this,void 0,void 0,function*(){return new u(e,t,void 0).configure(!0)})}getConfiguration(){return this.configuration}isSupported(){return this.supported}createTransformDevice(e,t){return n(this,void 0,void 0,function*(){if(this.supported)try{const i=!0,[n,r]=yield this.allocateVoiceFocus(i),o=Object.assign(Object.assign({},t),{es:"ns_es"===this.spec.name});return new c.default(e,n,r,o)}catch(e){return}})}static destroyVoiceFocus(e){var t;return n(this,void 0,void 0,function*(){null===(t=null==e?void 0:e.vf)||void 0===t||t.destroy()})}static augmentSpec(e){return e&&(e.assetGroup||e.revisionID)?e:Object.assign(Object.assign({},e),{assetGroup:u.currentSDKAssetGroup()})}configure(e=!1){return n(this,void 0,void 0,function*(){const t={fetchBehavior:this.fetchBehavior,preResolve:e,logger:this.vfLogger};return o.VoiceFocus.configure(this.spec,t)})}init(){var e;return n(this,void 0,void 0,function*(){this.configuration||(this.configuration=this.configure());const t=yield this.configuration;if(t.supported){this.pendingVoiceFocus=this.createVoiceFocus(t,this.preload);try{yield this.pendingVoiceFocus}catch(t){null===(e=this.logger)||void 0===e||e.error(`Unable to initialize Amazon Voice Focus: ${t}`),this.supported=!1}}else this.supported=!1})}createVoiceFocus(e,t){return n(this,void 0,void 0,function*(){const i=new l.default;return this.vf=yield o.VoiceFocus.init(e,{delegate:i,preload:t,logger:this.vfLogger}),[this.vf,i]})}allocateVoiceFocus(e){return n(this,void 0,void 0,function*(){if(!this.supported)throw new Error("Not supported.");
2138if(this.pendingVoiceFocus){const e=this.pendingVoiceFocus;return this.pendingVoiceFocus=void 0,e}return this.createVoiceFocus(yield this.configuration,e)})}static majorVersion(){return a.default.sdkVersion.match(/^[1-9][0-9]*\.(?:0|[1-9][0-9]*)/)[0]}static majorMinorVersion(){return a.default.sdkVersion.match(/^[1-9][0-9]*\.(?:0|(?:[1-9][0-9]*))\.(?:0|[1-9][0-9]*)/)[0]}static currentSDKAssetGroup(){const e=this.majorVersion();return e?`sdk-${e}`:"stable-v1"}static defaultFetchBehavior(){const e=u.majorMinorVersion()||"unknown",t=a.default.sdkUserAgentLowResolution;return{escapedQueryString:`sdk=${encodeURIComponent(e)}&ua=${encodeURIComponent(t)}`}}}t.VoiceFocusDeviceTransformer=u,t.default=u},48163(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(i(98824));class s{constructor(e,t,i,n,r=!1,s=void 0,a=new o.default,d=new Map,c=void 0,l=void 0){this.device=e,this.voiceFocus=t,this.delegate=i,this.nodeOptions=n,this.failed=r,this.node=s,this.browserBehavior=a,this.farEndStreamToAudioSourceNode=d,this.mixDestNode=c,this.mixSourceNode=l}getInnerDevice(){return this.device}mute(e){return n(this,void 0,void 0,function*(){this.node&&(e?yield this.node.disable():yield this.node.enable())})}stop(){return n(this,void 0,void 0,function*(){this.node&&(this.node.disconnect(),yield this.node.stop())})}chooseNewInnerDevice(e){return n(this,void 0,void 0,function*(){return this.device!==e||("default"===(t=e)||t&&"object"==typeof t&&("deviceId"in t&&"default"===t.deviceId||"id"in t&&"default"===t.id))?new s(e,this.voiceFocus,this.delegate,this.nodeOptions,this.failed,this.node,this.browserBehavior,this.farEndStreamToAudioSourceNode,this.mixDestNode,this.mixSourceNode):this;var t})}intrinsicDevice(){return n(this,void 0,void 0,function*(){if(this.failed)return this.device;const e=this.nodeOptions.es,t={echoCancellation:!e,googEchoCancellation:!e,googEchoCancellation2:!e,noiseSuppression:!1,googNoiseSuppression:!1,googHighpassFilter:!1,googNoiseSuppression2:!1};let i;return i=!this.nodeOptions||void 0===this.nodeOptions.agc||this.nodeOptions.agc.useBuiltInAGC,t.autoGainControl=i,t.googAutoGainControl=i,t.googAutoGainControl2=i,this.device?"string"==typeof this.device?(this.browserBehavior.requiresNoExactMediaStreamConstraints()?t.deviceId=this.device:t.deviceId={exact:this.device},t):this.device.id?this.device:Object.assign(Object.assign({},this.device),t):t})}createAudioNode(e){var t,i;return n(this,void 0,void 0,function*(){if((null===(t=this.node)||void 0===t?void 0:t.context)===e)return{start:this.node,end:this.node};const n=Object.assign({enabled:!0,agc:{useVoiceFocusAGC:!1}},this.nodeOptions);try{if(null===(i=this.node)||void 0===i||i.disconnect(),this.node=yield this.voiceFocus.createNode(e,n),this.nodeOptions.es){this.mixDestNode=new MediaStreamAudioDestinationNode(e,{channelCount:1,channelCountMode:"explicit"});for(const e of this.farEndStreamToAudioSourceNode.keys())this.assignFarEndStreamToAudioSourceNode(e);this.createMixSourceNode()}return{start:this.node,end:this.node}}catch(e){throw this.failed=!0,this.delegate.onFallback(this,e),e}})}observeMeetingAudio(e){return n(this,void 0,void 0,function*(){if(!this.nodeOptions.es)return;e.addAudioMixObserver(this);const t=yield e.getCurrentMeetingAudioStream();t&&this.addFarEndStream(t)})}unObserveMeetingAudio(e){return n(this,void 0,void 0,function*(){if(!this.nodeOptions.es)return;e.removeAudioMixObserver(this);const t=yield e.getCurrentMeetingAudioStream();t&&this.removeFarendStream(t)})}addObserver(e){this.delegate.addObserver(e)}removeObserver(e){this.delegate.removeObserver(e)}addFarEndStream(e){return n(this,void 0,void 0,function*(){this.nodeOptions.es&&e&&!this.farEndStreamToAudioSourceNode.has(e)&&(this.node?this.assignFarEndStreamToAudioSourceNode(e):this.farEndStreamToAudioSourceNode.set(e,null))})}removeFarendStream(e){var t;return n(this,void 0,void 0,function*(){null===(t=this.farEndStreamToAudioSourceNode.get(e))||void 0===t||t.disconnect(),this.farEndStreamToAudioSourceNode.delete(e)})}meetingAudioStreamBecameActive(e){return n(this,void 0,void 0,function*(){this.addFarEndStream(e)})}meetingAudioStreamBecameInactive(e){return n(this,void 0,void 0,function*(){this.removeFarendStream(e)})}assignFarEndStreamToAudioSourceNode(e){const t=this.node.context.createMediaStreamSource(e);t.channelCount=1,t.channelCountMode="explicit",this.farEndStreamToAudioSourceNode.set(e,t),t.connect(this.mixDestNode,0)}createMixSourceNode(){this.mixSourceNode=this.node.context.createMediaStreamSource(this.mixDestNode.stream),this.mixSourceNode.channelCount=1,this.mixSourceNode.channelCountMode="explicit",this.mixSourceNode.connect(this.node,0,1)}}t.default=s},77784(e,t){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.observers=new Set}addObserver(e){this.observers.add(e)}removeObserver(e){this.observers.delete(e)}onFallback(e,t){var i;for(const n of this.observers)null===(i=n.voiceFocusFellBackToInnerStream)||void 0===i||i.call(n,e,t)}onCPUWarning(){var e;for(const t of this.observers)null===(e=t.voiceFocusInsufficientResources)||void 0===e||e.call(t)}}},48096(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class i{constructor(e,t,i,n,r){this.logger=e,this.realtimeController=t,this.minVolumeDecibels=i,this.maxVolumeDecibels=n,this.selfAttendeeId=r,this.streamIdToAttendeeId={},this.streamIdToExternalUserId={},this.warnedAboutMissingStreamIdMapping={},this.attendeeIdToStreamId={},this.sessionReconnected=!1}onReconnect(){this.sessionReconnected=!0}sendRealtimeUpdatesForAudioStreamIdInfo(e){let t=0;for(const i of e.streams){const n=!!i.attendeeId,r=!!i.externalUserId,o=i.hasOwnProperty("muted"),s=!!i.dropped;if(n){this.attendeeIdToStreamId[i.attendeeId]&&this.attendeeIdToStreamId[i.attendeeId]<i.audioStreamId&&delete this.attendeeIdToStreamId[i.attendeeId],this.streamIdToAttendeeId[i.audioStreamId]=i.attendeeId;const n=r?i.externalUserId:i.attendeeId;this.streamIdToExternalUserId[i.audioStreamId]=n,this.attendeeIdToStreamId[i.attendeeId]=i.audioStreamId,this.realtimeController.realtimeSetAttendeeIdPresence(i.attendeeId,!0,n,!1,{attendeeIndex:t++,attendeesInFrame:e.streams.length})}if(o){const e=this.streamIdToAttendeeId[i.audioStreamId],t=this.streamIdToExternalUserId[i.audioStreamId];this.realtimeController.realtimeUpdateVolumeIndicator(e,null,i.muted,null,t)}if(!n&&!o){const n=this.streamIdToAttendeeId[i.audioStreamId];if(n){const r=this.streamIdToExternalUserId[i.audioStreamId];delete this.streamIdToAttendeeId[i.audioStreamId],delete this.streamIdToExternalUserId[i.audioStreamId],delete this.warnedAboutMissingStreamIdMapping[i.audioStreamId],this.attendeeIdToStreamId[n]===i.audioStreamId&&delete this.attendeeIdToStreamId[n];let o=!1;for(const e of Object.keys(this.streamIdToAttendeeId)){const t=parseInt(e);if(t>i.audioStreamId&&this.streamIdToAttendeeId[t]===n){o=!0;break}}o||this.realtimeController.realtimeSetAttendeeIdPresence(n,!1,r,s,{attendeeIndex:t++,attendeesInFrame:e.streams.length})}}}this.sessionReconnected&&(this.cleanUpState(e),this.sessionReconnected=!1)}cleanUpState(e){const t=Object.values(this.streamIdToAttendeeId),i=e.streams.map(e=>e.attendeeId),n=t.filter(e=>!i.includes(e));for(const[e,t]of n.entries()){const i=this.attendeeIdToStreamId[t],n=this.streamIdToExternalUserId[i];delete this.streamIdToAttendeeId[i],delete this.streamIdToExternalUserId[i],delete this.warnedAboutMissingStreamIdMapping[i],delete this.attendeeIdToStreamId[t],t!==this.selfAttendeeId?this.realtimeController.realtimeSetAttendeeIdPresence(t,!1,n,!1,{attendeeIndex:e,attendeesInFrame:t.length}):this.logger.warn("the volume indicator adapter cleans up the current attendee (presence = false) after reconnection")}}sendRealtimeUpdatesForAudioMetadata(e){let t=null,i=null;for(const n of e.attendeeStates){const e=this.attendeeIdForStreamId(n.audioStreamId);n.hasOwnProperty("volume")&&(null===t&&(t={}),null!==e&&(t[e]=this.normalizedVolume(n))),n.hasOwnProperty("signalStrength")&&(null===i&&(i={}),null!==e&&(i[e]=this.normalizedSignalStrength(n)))}this.applyRealtimeUpdatesForAudioMetadata(t,i)}normalizedVolume(e){const t=1-(-e.volume-this.maxVolumeDecibels)/(this.minVolumeDecibels-this.maxVolumeDecibels);return Math.min(Math.max(t,0),1)}normalizedSignalStrength(e){const t=e.signalStrength/i.MAX_SIGNAL_STRENGTH_LEVELS;return Math.min(Math.max(t,0),1)}applyRealtimeUpdatesForAudioMetadata(e,t){for(const n in this.streamIdToAttendeeId){const r=this.streamIdToAttendeeId[n],o=this.streamIdToExternalUserId[n];let s=null,a=null;null!==e&&(s=e.hasOwnProperty(r)?e[r]:i.IMPLICIT_VOLUME),null!==t&&(a=t.hasOwnProperty(r)?t[r]:i.IMPLICIT_SIGNAL_STRENGTH),null===s&&null===a||this.realtimeController.realtimeUpdateVolumeIndicator(r,s,null,a,o)}}attendeeIdForStreamId(e){if(0===e)return null;return this.streamIdToAttendeeId[e]||(this.warnedAboutMissingStreamIdMapping[e]||(this.warnedAboutMissingStreamIdMapping[e]=!0,this.logger.warn(`volume indicator stream id ${e} seen before being defined`)),null)}}t.default=i,i.MAX_SIGNAL_STRENGTH_LEVELS=2,i.IMPLICIT_VOLUME=0,i.IMPLICIT_SIGNAL_STRENGTH=1},9944(e,t,i){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esMo
2138dule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(i(40961)),o=n(i(90428));t.default=class{constructor(e){this.logger=e}create(e,t,i){this.connection=new WebSocket(i?e:r.default.urlWithVersion(e),t),this.connection.binaryType="arraybuffer"}send(e){if(!this.connection)return this.logger.error("WebSocket not yet created or already destroyed."),!1;try{return e instanceof Uint8Array?this.connection.send(e.buffer):this.connection.send(e),!0}catch(e){return this.logger.debug(()=>`send error: ${e.message}, websocket state=${o.default[this.readyState()]}`),!1}}close(e,t){var i;null===(i=this.connection)||void 0===i||i.close(e,t)}destroy(){this.connection=void 0}addEventListener(e,t){this.connection?this.connection.addEventListener(e,t):this.logger.warn("Cannot add event listener with no WebSocket connection.")}removeEventListener(e,t){var i;null===(i=this.connection)||void 0===i||i.removeEventListener(e,t)}readyState(){if(!this.connection)return o.default.None;switch(this.connection.readyState){case WebSocket.CONNECTING:return o.default.Connecting;case WebSocket.OPEN:return o.default.Open;case WebSocket.CLOSING:return o.default.Closing;case WebSocket.CLOSED:return o.default.Closed}}}},90428(e,t){"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.WebSocketReadyState=void 0,function(e){e[e.None=0]="None",e[e.Connecting=1]="Connecting",e[e.Open=2]="Open",e[e.Closing=3]="Closing",e[e.Closed=4]="Closed"}(i=t.WebSocketReadyState||(t.WebSocketReadyState={})),t.default=i},36257(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.decideModel=t.measureAndDecideExecutionApproach=void 0;const r=i(19048),o=i(37804),s={wasm:{noSupport:.07,inline:{c100:1,c50:.36,c20:.16,c10:.07},worker:{c100:.5,c50:.18,c20:.08,c10:.06}},simd:{noSupport:.1,inline:{c100:1,c50:.43,c20:.3,c10:.2},worker:{c100:.5,c50:.21,c20:.15,c10:.1}}};class a{constructor(e,t){this.fetchConfig=e,this.logger=t;const i=`${e.paths.workers}estimator-v1.js`;this.fetchBehavior={headers:e.headers,escapedQueryString:e.escapedQueryString},this.worker=(0,r.loadWorker)(i,"VoiceFocusEstimator",this.fetchBehavior,t)}roundtrip(e,t,i){return new Promise((n,r)=>{this.worker.then(r=>{let o;o=e=>{const{message:s,key:a}=e.data;s===t&&a===i&&(r.removeEventListener("message",o),n(e.data))},r.addEventListener("message",o),r.postMessage(e)}).catch(e=>{var t;null===(t=this.logger)||void 0===t||t.error("Failed to load worker.",e),r(e)})})}supportsSIMD(e){const t="simd",i=e||`${this.fetchConfig.paths.wasm}simd-v1.wasm`,n={message:"supports-simd",fetchBehavior:this.fetchBehavior,path:i,key:t};return this.roundtrip(n,"simd-support",t).then(e=>e.supports)}measure(e,t){const i=`${this.fetchConfig.paths.wasm}bench-v1.wasm`,n=`${this.fetchConfig.paths.wasm}bench-v1_simd.wasm`,r=e?n:i,o=`bench:${e}`,s={message:"measure",fetchBehavior:this.fetchBehavior,budget:t,path:r,key:o};return this.roundtrip(s,"measurement",o).then(e=>{if(e.measurement)return e.measurement;throw new Error("Failed to measure.")})}stop(){this.worker.then(e=>{var t;null===(t=this.logger)||void 0===t||t.debug("Stopping estimator worker."),e.terminate()}).catch(e=>{})}}const d=(e,t,i,r)=>n(void 0,void 0,void 0,function*(){const n={supportsSIMD:e,supportsSAB:(0,o.supportsSharedArrayBuffer)(globalThis,window,i),duration:-1};if(e)return null==i||i.info("Supports SIMD: true (force)"),n;const s=!r,d=r||new a(t,i);try{const t=!(0,o.isOldChrome)(window,i)&&(yield d.supportsSIMD());return null==i||i.info(`Supports SIMD: ${t} (force: ${e})`),n.supportsSIMD=t,n}finally{s&&d.stop()}});t.measureAndDecideExecutionApproach=(e,t,i,r=s)=>n(void 0,void 0,void 0,function*(){let c=e.executionPreference;const{usagePreference:l,variantPreference:u,namePreference:h,simdPreference:p,estimatorBudget:f,executionQuantaPreference:m}=e;"interactivity"===l&&"inline"!==c&&(null==i||i.debug(`Overriding execution preference ${c} to reflect interactivity preference.`),c="inline");const g="force"===p,v="auto"!==u,b="auto"!==c;let y;try{y=v&&b?yield d(g,t,i):yield((e,t,i,r)=>n(void 0,void 0,void 0,function*(){const n=new a(t,r);try{const o=yield d(e,t,r,n);if(o.supportsSIMD)try{return o.duration=yield n.measure(!0,i),null==r||r.info("SIMD timing:",o.duration),o}catch(e){null==r||r.warn("Failed SIMD estimation; falling back to non-SIMD."),o.supportsSIMD=!1}return o.duration=yield n.measure(!1,i),null==r||r.info("No-SIMD timing:",o.duration),o}catch(e){throw null==r||r.error("Could not feature check.",e),e}finally{n.stop()}}))(g,t,f,i)}catch(e){throw null==i||i.error("Could not load estimator.",e),new Error("Could not load Voice Focus estimator.")}return(({supportsSIMD:e,supportsSAB:t,duration:i,executionPreference:n="auto",simdPreference:r,variantPreference:a="auto",namePreference:d="default",usagePreference:c,executionQuantaPreference:l=3},u=s,h)=>
2138{const p="force"===r||"disable"!==r&&e,f=-1!==i,m=f?(p?2.5:2.63)/i:0,g=p?u.simd:u.wasm,v=f?((e,t)=>1===e?.6:"quality"===t?.65*e:.5*e)(l,c)*m:0,b=f?.7*m:0,y=d,S=e=>({supported:!1,reason:e});if(f){if(m<g.noSupport)return S(`Performance score ${m} worse than threshold ${g.noSupport}.`)}else if("auto"===n||"auto"===a)return S(`Missing explicit execution (${n}) or variant (${a}) preference, but no scoring performed.`);null==h||h.debug(`Bench duration ${i} yields inline score ${v} and worker score ${b}.`);const w=(e,t,i)=>({supported:!0,useSIMD:p,processor:e,executionApproach:t,variant:i,executionQuanta:"inline"===t?l:void 0,name:y}),C=(e,t,i)=>"auto"!==t?!f||e>i[t]?t:"failed":e>i.c100?"c100":e>i.c50?"c50":e>i.c20?"c20":e>i.c10?"c10":"failed",k=e=>{switch(e||"auto"){case"auto":{let e=k("inline"),t=k("worker");return null==h||h.debug(`Reducing auto preference: ${JSON.stringify(e)} vs ${JSON.stringify(t)}`),!1===e.supported||!1===t.supported?t:e.variant===t.variant||"c50"===e.variant?e:t}case"worker":return(0,o.supportsSharedArrayBuffer)(globalThis,window,h)?k("worker-sab"):k("worker-postMessage");case"inline":{const e=C(v,a,g.inline);return"failed"===e?S(`Performance score ${v} not sufficient for inline use with variant preference ${a}.`):w("voicefocus-inline-processor","inline",e)}case"worker-sab":{if(!t){const e="Requested worker-sab but no SharedArrayBuffer support.";return null==h||h.warn(e),{supported:!1,reason:e}}const e=C(b,a,g.worker);return"failed"===e?S(`Performance score ${b} not sufficient for worker use with variant preference ${a}.`):w("voicefocus-worker-sab-processor","worker-sab",e)}case"worker-postMessage":{const e=C(b,a,g.worker);if("failed"===e)return S(`Performance score ${b} not sufficient for worker use.`);if("ns_es"===y){const e="Requested echo suppression but postMessage executor does not support it.";return null==h||h.warn(e),{supported:!1,reason:e}}return w("voicefocus-worker-postMessage-processor","worker-postMessage",e)}}};return k(n)})(Object.assign(Object.assign({},y),{simdPreference:p,executionPreference:c,variantPreference:u,namePreference:h,usagePreference:l,executionQuantaPreference:m}),r,i)}),t.decideModel=({category:e,name:t,variant:i,simd:n,url:r})=>`${e}-${t}-${i}-v1${n?"_simd":""}`},64719(e,t){"use strict";function i(e,t,i){if(!i)return fetch(e,t);const o=r(e,i),s=n(t,i);return fetch(o,s)}function n(e,t){return(null==t?void 0:t.headers)?e?Object.assign(Object.assign({},e),{headers:Object.assign(Object.assign({},e.headers||{}),t.headers)}):{headers:t.headers}:e}function r(e,t){if(!(null==t?void 0:t.escapedQueryString))return e;const i=-1!==e.lastIndexOf("?");return`${e}${i?"&":"?"}${t.escapedQueryString}`}Object.defineProperty(t,"__esModule",{value:!0}),t.isValidRevisionID=t.isValidAssetGroup=t.resolveURL=t.addQueryParams=t.withQueryString=t.withRequestHeaders=t.fetchWithBehavior=void 0,t.fetchWithBehavior=i,t.withRequestHeaders=n,t.withQueryString=r,t.addQueryParams=function(e,t){const i=Object.keys(t);if(!i.length)return e;const n=new URLSearchParams(null==e?void 0:e.escapedQueryString);for(const e of i)n.append(e,t[e]);return Object.assign(Object.assign({},e),{escapedQueryString:n.toString()})};const o={method:"HEAD",mode:"cors",credentials:"omit",redirect:"follow",referrerPolicy:"origin"};t.resolveURL=function(e,t){return i(e,o,t).then(t=>t.redirected?t.url:e)},t.isValidAssetGroup=function(e){return!!e&&/^[-.a-zA-Z0-9]+$/.test(e)},t.isValidRevisionID=function(e){return!!e&&/^[123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ]{22}$/.test(e)}},19048(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.loadWorker=void 0;const n=i(64719),r={method:"GET",mode:"cors",credentials:"omit",redirect:"follow",referrerPolicy:"no-referrer"};t.loadWorker=(e,t,i,o)=>{null==o||o.debug(`Loading ${t} worker from ${e}.`);let s=!1;try{s=self.origin===new URL(e).origin}catch(e){null==o||o.error("Could not compare origins.",e)}if(s){const r=(0,n.withQueryString)(e,i);return Promise.resolve(new Worker(r,{name:t}))}return(0,n.fetchWithBehavior)(e,r,i).then(e=>{if(e.ok)return e.blob().then(e=>new Worker(window.URL.createObjectURL(e)));throw new Error("Fetch failed.")})}},37804(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Prom
2138ise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.isOldChrome=t.supportsWASMStreaming=t.supportsSharedArrayBuffer=t.supportsWASM=t.supportsAudioWorklet=t.supportsWorker=t.supportsVoiceFocusWorker=t.supportsWASMPostMessage=t.isSafari=void 0;const r=i(19048);t.isSafari=(e=globalThis)=>{const t=e.navigator.userAgent,i=t.match(/Safari\//),n=t.match(/Chrom(?:e|ium)\//);return!(!i||n)},t.supportsWASMPostMessage=(e=globalThis)=>!(0,t.isSafari)(e)&&(!((e=globalThis)=>!!e.navigator.userAgent.match(/Chrom(?:e|ium)\/([0-9]+)/))(e)||(o(e)||0)<95),t.supportsVoiceFocusWorker=(e=globalThis,i,o)=>n(void 0,void 0,void 0,function*(){if(!(0,t.supportsWorker)(e,o))return!1;const n=`${i.paths.workers}worker-v1.js`;try{const e=yield(0,r.loadWorker)(n,"VoiceFocusTestWorker",i,o);try{e.terminate()}catch(e){null==o||o.debug("Failed to terminate worker.",e)}return!0}catch(e){return null==o||o.info("Failed to fetch and instantiate test worker",e),!1}}),t.supportsWorker=(e=globalThis,t)=>{try{return!!e.Worker}catch(e){return null==t||t.info("Does not support Worker",e),!1}},t.supportsAudioWorklet=(e=globalThis,t)=>{try{return!!e.AudioWorklet&&!!e.AudioWorkletNode}catch(e){return null==t||t.info("Does not support Audio Worklet",e),!1}},t.supportsWASM=(e=globalThis,t)=>{try{return!(!e.WebAssembly||!e.WebAssembly.compile&&!e.WebAssembly.compileStreaming)}catch(e){return null==t||t.info("Does not support WASM",e),!1}},t.supportsSharedArrayBuffer=(e=globalThis,t=globalThis,i)=>{try{return!(!e.SharedArrayBuffer||!t.chrome&&!e.crossOriginIsolated)}catch(e){return null==i||i.info("Does not support SharedArrayBuffer."),!1}},t.supportsWASMStreaming=(e=globalThis,t)=>{var i;try{return!!(null===(i=e.WebAssembly)||void 0===i?void 0:i.compileStreaming)}catch(e){return null==t||t.info("Does not support WASM streaming compilation",e),!1}};const o=(e=globalThis)=>{try{if(!e.chrome)return}catch(e){}const t=e.navigator.userAgent.match(/Chrom(?:e|ium)\/([0-9]+)/);if(t)return parseInt(t[1],10)};t.isOldChrome=(e=globalThis,t)=>{const i=o(e);return!!i&&i<90&&(null==t||t.debug(`Chrome ${i} has incomplete SIMD support.`),!0)}},79898(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VoiceFocusAudioWorkletNode=void 0;class i extends("undefined"!=typeof globalThis&&globalThis.AudioWorkletNode||class{}){}t.VoiceFocusAudioWorkletNode=i},65201(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0}),t.getAudioInput=t.createAudioContext=t.VoiceFocus=void 0;const r=i(36257),o=i(64719),s=i(19048),a=i(37804),d=i(25936),c=i(8660),l=i(12397),u={useVoiceFocusAGC:!1,useBuiltInAGC:!0},h="stable-v1",p="https://static.sdkassets.chime.aws",f={processors:`${p}/processors/`,workers:`${p}/workers/`,wasm:`${p}/wasm/`,models:`${p}/wasm/`},m={latencyHint:0},g={channelCount:1,echoCancellation:!0,googEchoCancellation:!0,noiseSuppression:!1,googNoiseSuppression:!1,googHighpassFilter:!1,googTypingNoiseDetection:!1},v=Object.assign(Object.assign({},g),{autoGainControl:!0,googAutoGainControl:!0,googAutoGainControl2:!0}),b=Object.assign(Object.assign({},g),{autoGainControl:!1,googAutoGainControl:!1,googAutoGainControl2:!1}),y={"voicefocus-worker-sab-processor":{file:"worklet-worker-sab-processor-v1.js",node:c.default},"voicefocus-worker-postMessage-processor":{file:"worklet-worker-postMessage-processor-v1.js",node:l.default},"voicefocus-inline-processor":{file:"worklet-inline-processor-v1.js",node:d.default}},S=(e,t)=>{if(void 0!==e&&!(0,o.isValidAssetGroup)(e))throw new Error(`Invalid asset group ${e}`);if(void 0!==t&&!(0,o.isValidRevisionID)(t))throw new Error(`Invalid revision ID ${t}`)},w=(e,t)=>`${t.models}${(0,r.decideModel)(e)}.wasm`;class C{constructor(e,t,i,n,r,o){this.processorURL=t,this.nodeConstructor=i,this.nodeOptions=n,this.executionQuanta=r,this.logger=o,this.internal={worker:e,isDestroyed:!1}}getModelMetrics(){var e;return null===(e=this.internal.voiceFocusNode)||void 0===e?void 0:e.getModelMetrics()}reset(){var e,t,i;null===(e=this.internal.voiceFocusNode)||void 0===e||e.reset(),null===(t=this.internal.sourceNode)||void 0===t||t.disconnect(),null===(i=this.internal.destinationNode)||void 0===i||i.disconnect()}enable(){var e;null===(e=this.internal.voiceFocusNode)||void 0===e||e.enable()}disable(){var e;null===(e=this.internal.voiceFocusNode)||void 0===e||e.disable()}setMode(e){var t;null===(t=this.internal.voiceFocusNode)||void 0===t||t.setMode(e)}destroy(){var e,t,i,r,o;return n(this,void 0,void 0,function*(){const{worker:n,isDestroyed:s,voiceFocusNode:a,destinationNode:d,sourceNode:c,audioContext:l}=this.internal;if(s)null===(e=this.logger)||void 0===e||e.debug("Voice Focus is already destroyed");else try{null==n||n.terminate(),null==c||c.disconnect(),null==d||d.disconnect(),yield Promise.all([null!==(t=null==l?void 0:l.close().catch(e=>e))&&void 0!==t?t:yield Promise.resolve(),null!==(i=null==a?void 0:a.stop().catch(e=>e))&&void 0!==i?i:yield Promise.resolve()]),this.internal.audioContext=void 0,this.internal.voiceFocusNode=void 0,this.internal.sourceNode=void 0,this.internal.destinationNode=void 0,null===(r=this.logger)||void 0===r||r.debug("Voice Focus destroyed successfully")}catch(e){throw null===(o=this.logger)||void 0===o||o.error("Error while destroying the Voice Focus instance: ",e),e}finally{this.internal.isDestroyed=!0}})}static isSupported(e,t){const{fetchBehavior:i,logger:n}=t||{};if("undefined"==typeof globalThis)return null==n||n.debug("Browser does not have globalThis."),Promise.resolve(!1);if(!(0,a.supportsAudioWorklet)(globalThis,n))return null==n||n.debug("Browser does not support Audio Worklet."),Promise.resolve(!1);if(!(0,a.supportsWASM)(globalThis,n))return null==n||n.debug("Browser does not support WASM."),Promise.resolve(!1);(0,a.supportsWASMStreaming)(globalThis,n)||null==n||n.debug("Browser does not support streaming WASM compilation.");const{assetGroup:r=h,revisionID:s,paths:d=f}=e||{};S(r,s);const c=s?{revisionID:s}:{assetGroup:r},l=(0,o.addQueryParams)(i,c),u=Object.assign(Object.assign({},l),{paths:d});return(0,a.supportsVoiceFocusWorker)(globalThis,u,n)}static mungeExecutionPreference(e,t){const i=void 0===e||"auto"===e;if((0,a.isSafari)(globalThis)){if(i||"inline"===e)return"inline";if(!i)throw new Error(`Unsupported execution preference ${e}`)}if("worker-sab"===e&&!(0,a.supportsSharedArrayBuffer)(globalThis,globalThis,t))throw new Error(`Unsupported execution preference ${e}`);return e||"auto"}static configure(e,t){return n(this,void 0,void 0,function*(){const{fetchBehavior:i,preResolve:n,logger:s}
2138=t||{},{category:a="voicefocus",name:d="default",variant:c="auto",assetGroup:l=h,revisionID:u,simd:p="detect",mode:m="ns",executionPreference:g="auto",executionQuantaPreference:v,usagePreference:b="interactivity",estimatorBudget:y=100,paths:C=f,thresholds:k}=e||{};if(null==s||s.debug("Configuring Voice Focus with spec",e),void 0!==a&&"voicefocus"!==a)throw new Error(`Unrecognized category ${a}`);if(void 0!==d&&"default"!==d&&"ns_es"!==d)throw new Error(`Unrecognized feature name ${d}`);if(void 0!==c&&!["auto","c100","c50","c20","c10"].includes(c))throw new Error(`Unrecognized feature variant ${c}`);if(void 0!==v&&![1,2,3].includes(v))throw new Error(`Unrecognized execution quanta preference ${v}`);if(S(l,u),void 0!==p&&!["detect","force","disable"].includes(p))throw new Error(`Unrecognized SIMD option ${p}`);if(void 0!==g&&!["auto","inline","worker","worker-sab","worker-postMessage"].includes(g))throw new Error(`Unrecognized execution preference ${g}`);if(void 0!==b&&!["quality","interactivity"].includes(b))throw new Error(`Unrecognized usage preference ${b}`);const E={executionPreference:this.mungeExecutionPreference(g,s),usagePreference:b,executionQuantaPreference:v,variantPreference:c,namePreference:d,simdPreference:p,estimatorBudget:y},T=u?{revisionID:u}:{assetGroup:l},I=(0,o.addQueryParams)(i,T),x=Object.assign({paths:C},I),A=yield(0,r.measureAndDecideExecutionApproach)(E,x,s,k);if(!1===A.supported)return{supported:!1,reason:A.reason};null==s||s.info("Decided execution approach",A);const{useSIMD:P,processor:O,variant:_,executionQuanta:M}=A,R={category:a||"voicefocus",name:d||"default",mode:m,variant:_,simd:P};if(n){const e=w(R,C);R.url=yield(0,o.resolveURL)(e,I)}return{fetchConfig:x,model:R,processor:O,executionQuanta:M,supported:!0}})}static init(e,{delegate:t,preload:i=!0,logger:r}){return n(this,void 0,void 0,function*(){if(!1===e.supported)throw new Error("Voice Focus not supported. Reason: "+e.reason);const{model:n,processor:o,fetchConfig:d,executionQuanta:c}=e,{simd:l,name:u,mode:h}=n,{paths:p}=d;if("voicefocus-inline-processor"!==o&&"voicefocus-worker-postMessage-processor"!==o&&"voicefocus-worker-sab-processor"!==o)throw new Error(`Unknown processor ${o}`);const f=n.url||w(n,p);null==r||r.debug(`Using model URL ${f}.`);const m=`${p.wasm}audio_buffer-v1${l?"_simd":""}.wasm`,g=`${p.wasm}resampler-v1${l?"_simd":""}.wasm`,v=`${p.workers}worker-v1.js`,{file:b,node:S}=y[o],k=`${p.processors}${b}`,E=yield(0,s.loadWorker)(v,"VoiceFocusWorker",d,r);if(i){null==r||r.debug("Preloading",f);let e=(0,a.supportsWASMPostMessage)(globalThis)?"get-module":"get-module-buffer";E.postMessage({message:e,preload:!0,key:"model",fetchBehavior:d,path:f})}const T=new C(E,k,S,{processor:o,worker:E,audioBufferURL:m,resamplerURL:g,fetchBehavior:d,modelURL:f,delegate:t,logger:r,numberOfInputs:"ns_es"===u?2:1,mode:h},c,r);return Promise.resolve(T)})}createNode(e,t){var i;if(this.internal.isDestroyed)throw new Error("Unable to create node because VoiceFocus worker has been destroyed.");const{voiceFocusSampleRate:n=(16e3===e.sampleRate?16e3:48e3),enabled:r=!0,agc:s=u}=t||{},a=null==t?void 0:t.es,d={voiceFocusSampleRate:n,enabled:r,sendBufferCount:10,prefill:6,agc:s,executionQuanta:this.executionQuanta,supportFarendStream:a,mode:this.nodeOptions.mode},c=(0,o.withQueryString)(this.processorURL,null===(i=this.nodeOptions)||void 0===i?void 0:i.fetchBehavior);return e.audioWorklet.addModule(c).then(()=>new this.nodeConstructor(e,Object.assign(Object.assign({},this.nodeOptions),{processorOptions:d})))}applyToStream(e,t,i,r=!1){var o,s,a;return n(this,void 0,void 0,function*(){if(this.internal.isDestroyed)throw new Error("Unable to apply stream because VoiceFocus worker has been destroyed");let n;null===(o=this.internal.sourceNode)||void 0===o||o.disconnect(),null===(s=this.internal.destinationNode)||void 0===s||s.disconnect(),r&&this.internal.voiceFocusNode&&this.internal.voiceFocusNode.isEnabled()?(null===(a=this.logger)||void 0===a||a.info("Re-using existing voice focus node"),n=this.internal.voiceFocusNode):n=yield this.createNode(t,i);const d=t.createMediaStreamSource(e);d.connect(n);const c=t.createMediaStreamDestination();return n.connect(c),this.internal=Object.assign(Object.assign({},this.internal),{voiceFocusNode:n,sourceNode:d,destinationNode:c,audioContext:t}),{node:n,source:d,destination:c,stream:c.stream}})}applyToSourceNode(e,t,i){return n(this,void 0,void 0,function*(){const n=yield this.createNode(t,i);return e.connect(n),n})}}t.VoiceFocus=C,t.createAudioContext=(e=m)=>new(window.AudioContext||window.webkitAudioContext)(e),t.getAudioInput=(e,t,i)=>n(void 0,void 0,void 0,function*(){var n,r;const{constraints:o,spec:s,delegate:a,preload:d=!0,options:c}=t,{logger:l}=i,h=yield C.configure(s,i);if(!h.supported)return null===(n=i.logger)||void 0===n||n.warn("Voice Focus not supported; returning standard stream."),window.navigator.mediaDevices.getUserMedia(o);const p=yield C.init(h,{delegate:a,preload:d,logger:l}),f=(null===(r=t.options)||void 0===r?void 0:r.agc)||u,m=yield window.navigator.mediaDevices.getUserMedia(((e,t)=>{let i;if(i=t.useBuiltInAGC?v:b,!e)return{audio:i};if(!e.audio)return e;
2138if(e.video)throw new Error("Not adding Voice Focus to multi-device getUserMedia call.");return Object.assign(Object.assign({},e),{audio:!0===e.audio?i:Object.assign(Object.assign({},e.audio),i)})})(o,f));return p.applyToStream(m,e,c).then(e=>e.stream)})},25936(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const r=i(37804),o=i(79898);class s extends o.VoiceFocusAudioWorkletNode{constructor(e,t){super(e,t.processor,t),this.cpuWarningCount=0,this.metrics={latencyMillisAverage:0,snr:{average:0,averageActive:0,variance:0,varianceActive:0},drr:{average:0,variance:0,averageActive:0,varianceActive:0},vad:{average:0},cpu:{lateInvoke:0,longInvoke:0}},this.enabled=!1,this.channelCountMode="explicit",this.channelCount=1;const{modelURL:i,worker:n,fetchBehavior:o,logger:s,delegate:a}=t;this.logger=s,this.port.onmessage=this.onProcessorMessage.bind(this),this.delegate=a,s&&s.debug("VoiceFocusInlineNode:",i),this.worker=n,this.worker.onmessage=this.onWorkerMessage.bind(this);const d=(0,r.supportsWASMPostMessage)(globalThis)?"get-module":"get-module-buffer";this.worker.postMessage({message:d,key:"model",fetchBehavior:o,path:i}),this.enabled=!0}onModuleBufferLoaded(e,t){this.port.postMessage({message:"module-buffer",buffer:e,key:t})}onModuleLoaded(e,t){this.port.postMessage({message:"module",module:e,key:t})}enable(){return n(this,void 0,void 0,function*(){this.port.postMessage({message:"enable"}),this.enabled=!0})}disable(){return n(this,void 0,void 0,function*(){this.port.postMessage({message:"disable"}),this.enabled=!1})}setMode(e){return n(this,void 0,void 0,function*(){this.port.postMessage({message:"set-mode",mode:e})})}stop(){var e;return n(this,void 0,void 0,function*(){this.port.postMessage({message:"stop"});try{null===(e=this.worker)||void 0===e||e.terminate()}catch(e){console.error("failed to terminate worker:",e)}this.disconnect(),this.enabled=!1})}reset(){this.metrics={latencyMillisAverage:0,snr:{average:0,averageActive:0,variance:0,varianceActive:0},drr:{average:0,variance:0,averageActive:0,varianceActive:0},vad:{average:0},cpu:{lateInvoke:0,longInvoke:0}},this.port.postMessage({message:"reset"})}isEnabled(){return this.enabled}onProcessorMessage(e){var t,i,n,r,o,s;const{data:a}=e,{message:d}=a;switch(d){case"cpu":const{reason:e,count:c}=a;e&&c&&(this.metrics.cpu=Object.assign(Object.assign({},this.metrics.cpu),{[e]:c+this.metrics.cpu[e]})),this.cpuWarningCount++;const l=Date.now(),u=this.cpuWarningLastTriggered||l,h=Math.abs(l-u);(!this.cpuWarningLastTriggered||h>5e3)&&(null===(t=this.logger)||void 0===t||t.warn(`CPU warning (count: ${this.cpuWarningCount}):`,d),this.cpuWarningCount=0,this.cpuWarningLastTriggered=l),null===(i=this.delegate)||void 0===i||i.onCPUWarning();break;case"metrics":const{metrics:p}=a;if(!p){null===(n=this.logger)||void 0===n||n.warn("Got metrics message but no metrics payload");break}if(this.metrics=Object.assign(Object.assign({},this.metrics),p),this.logger){const e=Date.now();e-(null!==(r=this.metricsLastRecorded)&&void 0!==r?r:0)>5e3&&(null===(o=this.logger)||void 0===o||o.debug("Contact metrics:",this.metrics),this.metricsLastRecorded=e)}break;default:null===(s=this.logger)||void 0===s||s.debug("Ignoring processor message.")}}getModelMetrics(){return this.metrics}onWorkerMessage(e){const t=e.data;switch(t.message){case"module-buffer":if(!t.buffer||!t.key)return;this.onModuleBufferLoaded(t.buffer,t.key);break;case"module":if(!t.module||!t.key)return;this.onModuleLoaded(t.module,t.key);break;case"stopped":this.worker&&this.worker.terminate();break;default:return}}}t.default=s},12397(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};
2138Object.defineProperty(t,"__esModule",{value:!0});const r=i(37804),o=i(79898);class s extends o.VoiceFocusAudioWorkletNode{constructor(e,t){super(e,t.processor,t),this.enabled=!1,this.channelCountMode="explicit",this.channelCount=1;const{modelURL:i,audioBufferURL:n,worker:o,fetchBehavior:s,delegate:a}=t;this.delegate=a,this.worker=o,this.worker.onmessage=this.onWorkerMessage.bind(this),this.port.onmessage=this.onProcessorMessage.bind(this);const{enabled:d,agc:c,supportFarendStream:l}=t.processorOptions;this.worker.postMessage({message:"init",approach:"postMessage",frames:16e3===e.sampleRate?160:480,enabled:d,agc:c,fetchBehavior:s,model:i,supportFarendStream:l});const u=(0,r.supportsWASMPostMessage)(globalThis)?"get-module":"get-module-buffer";this.worker.postMessage({message:u,key:"buffer",fetchBehavior:s,path:n}),this.enabled=!0}enable(){return n(this,void 0,void 0,function*(){this.worker.postMessage({message:"enable"}),this.enabled=!0})}disable(){return n(this,void 0,void 0,function*(){this.worker.postMessage({message:"disable"}),this.enabled=!1})}setMode(e){return n(this,void 0,void 0,function*(){this.port.postMessage({message:"set-mode",mode:e})})}stop(){return n(this,void 0,void 0,function*(){try{this.worker.postMessage({message:"stop"})}catch(e){}this.disconnect(),this.enabled=!1})}getModelMetrics(){}reset(){}isEnabled(){return this.enabled}onWorkerMessage(e){var t;const i=e.data;switch(i.message){case"ready":this.port.postMessage({message:"ready",shared:i.shared},i.shared?Object.values(i.shared):[]);break;case"data":if(!i.buffer)return;this.port.postMessage({message:"data",buffer:i.buffer},[i.buffer]);break;case"stopped":this.worker.terminate();break;case"module-buffer":case"module":case"processing":this.port.postMessage(i);break;case"cpu":null===(t=this.delegate)||void 0===t||t.onCPUWarning();break;default:return}}onProcessorMessage(e){var t;const i=e.data;switch(i.message){case"data":if(!i.buffer)return;this.worker.postMessage({message:"data",buffer:i.buffer},[i.buffer]);break;case"cpu":null===(t=this.delegate)||void 0===t||t.onCPUWarning();break;case"prepare-for-frames":this.worker.postMessage(i);break;default:return}}}t.default=s},8660(e,t,i){"use strict";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})};Object.defineProperty(t,"__esModule",{value:!0});const r=i(37804),o=i(79898);class s extends o.VoiceFocusAudioWorkletNode{constructor(e,t){super(e,t.processor,t),this.enabled=!1,this.channelCountMode="explicit",this.channelCount=1;const{modelURL:i,resamplerURL:n,worker:o,fetchBehavior:s,delegate:a}=t;this.delegate=a,this.worker=o,this.worker.onmessage=this.onWorkerMessage.bind(this),this.port.onmessage=this.onProcessorMessage.bind(this);const{enabled:d,supportFarendStream:c}=t.processorOptions;this.worker.postMessage({message:"init",approach:"sab",frames:16e3===e.sampleRate?160:480,enabled:d,model:i,supportFarendStream:c});const l=(0,r.supportsWASMPostMessage)(globalThis)?"get-module":"get-module-buffer";this.worker.postMessage({message:l,key:"resampler",fetchBehavior:s,path:n}),this.enabled=!0}enable(){return n(this,void 0,void 0,function*(){this.state?(Atomics.store(this.state,1,1),Atomics.notify(this.state,0,1)):this.worker.postMessage({message:"enable"}),this.enabled=!0})}disable(){return n(this,void 0,void 0,function*(){this.state?(Atomics.store(this.state,1,0),Atomics.notify(this.state,0,1)):this.worker.postMessage({message:"disable"}),this.enabled=!1})}setMode(e){return n(this,void 0,void 0,function*(){this.port.postMessage({message:"set-mode",mode:e})})}stop(){return n(this,void 0,void 0,function*(){if(this.state)Atomics.store(this.state,1,2),Atomics.notify(this.state,0,1);else try{this.worker.postMessage({message:"stop"})}catch(e){}this.disconnect(),this.enabled=!1})}getModelMetrics(){}reset(){}isEnabled(){return this.enabled}onWorkerMessage(e){var t;const i=e.data;switch(i.message){case"ready":if(!i.shared)throw new Error("No shared state.");this.state=new Int32Array(i.shared.state),this.port.postMessage(i);break;case"stopped":this.worker.terminate();break;case"module-buffer":case"module":case"processing":this.port.postMessage(i);break;case"cpu":null===(t=this.delegate)||void 0===t||t.onCPUWarning();break;default:return}}onProcessorMessage(e){var t;const i=e.data;switch(i.message){case"cpu":null===(t=this.delegate)||void 0===t||t.onCPUWarning();break;case"prepare-for-frames":this.worker.postMessage(i)}}}t.default=s},53e3(e,t,i){"use strict";
vendor: 4,301 bytes, line 2138
2138Object.defineProperty(t,"__esModule",{value:!0}),t.RawSha256=void 0;var n=i(55640),r=function(){function e(){this.state=Int32Array.from(n.INIT),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");var t=0,i=e.byteLength;if(this.bytesHashed+=i,8*this.bytesHashed>n.MAX_HASHABLE_LENGTH)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;i>0;)this.buffer[this.bufferLength++]=e[t++],i--,this.bufferLength===n.BLOCK_SIZE&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var e=8*this.bytesHashed,t=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),i=this.bufferLength;if(t.setUint8(this.bufferLength++,128),i%n.BLOCK_SIZE>=n.BLOCK_SIZE-8){for(var r=this.bufferLength;r<n.BLOCK_SIZE;r++)t.setUint8(r,0);this.hashBuffer(),this.bufferLength=0}for(r=this.bufferLength;r<n.BLOCK_SIZE-8;r++)t.setUint8(r,0);t.setUint32(n.BLOCK_SIZE-8,Math.floor(e/4294967296),!0),t.setUint32(n.BLOCK_SIZE-4,e),this.hashBuffer(),this.finished=!0}var o=new Uint8Array(n.DIGEST_LENGTH);for(r=0;r<8;r++)o[4*r]=this.state[r]>>>24&255,o[4*r+1]=this.state[r]>>>16&255,o[4*r+2]=this.state[r]>>>8&255,o[4*r+3]=this.state[r]>>>0&255;return o},e.prototype.hashBuffer=function(){for(var e=this.buffer,t=this.state,i=t[0],r=t[1],o=t[2],s=t[3],a=t[4],d=t[5],c=t[6],l=t[7],u=0;u<n.BLOCK_SIZE;u++){if(u<16)this.temp[u]=(255&e[4*u])<<24|(255&e[4*u+1])<<16|(255&e[4*u+2])<<8|255&e[4*u+3];else{var h=this.temp[u-2],p=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,f=((h=this.temp[u-15])>>>7|h<<25)^(h>>>18|h<<14)^h>>>3;this.temp[u]=(p+this.temp[u-7]|0)+(f+this.temp[u-16]|0)}var m=(((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+(a&d^~a&c)|0)+(l+(n.KEY[u]+this.temp[u]|0)|0)|0,g=((i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10))+(i&r^i&o^r&o)|0;l=c,c=d,d=a,a=s+m|0,s=o,o=r,r=i,i=m+g|0}t[0]+=i,t[1]+=r,t[2]+=o,t[3]+=s,t[4]+=a,t[5]+=d,t[6]+=c,t[7]+=l},e}();t.RawSha256=r},55640(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_HASHABLE_LENGTH=t.INIT=t.KEY=t.DIGEST_LENGTH=t.BLOCK_SIZE=void 0,t.BLOCK_SIZE=64,t.DIGEST_LENGTH=32,t.KEY=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),t.INIT=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],t.MAX_HASHABLE_LENGTH=Math.pow(2,53)-1},4049(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),i(5321).__exportStar(i(21105),t)},21105(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Sha256=void 0;var n=i(5321),r=i(55640),o=i(53e3),s=i(67282),a=function(){function e(e){if(this.hash=new o.RawSha256,e){this.outer=new o.RawSha256;var t=function(e){var t=(0,s.convertToBuffer)(e);if(t.byteLength>r.BLOCK_SIZE){var i=new o.RawSha256;i.update(t),t=i.digest()}var n=new Uint8Array(r.BLOCK_SIZE);return n.set(t),n}(e),i=new Uint8Array(r.BLOCK_SIZE);i.set(t);for(var n=0;n<r.BLOCK_SIZE;n++)t[n]^=54,i[n]^=92;for(this.hash.update(t),this.outer.update(i),n=0;n<t.byteLength;n++)t[n]=0}}return e.prototype.update=function(e){if(!(0,s.isEmptyData)(e)&&!this.error)try{this.hash.update((0,s.convertToBuffer)(e))}catch(e){this.error=e}},e.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},e.prototype.digest=function(){return n.__awaiter(this,void 0,void 0,function(){return n.__generator(this,function(e){return[2,this.digestSync()]})})},e}();t.Sha256=a},57058(e,t,i){"use strict";
2138Object.defineProperty(t,"__esModule",{value:!0}),t.convertToBuffer=void 0;var n=i(57602),r="undefined"!=typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:n.fromUtf8;t.convertToBuffer=function(e){return e instanceof Uint8Array?e:"string"==typeof e?r(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}},67282(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=t.numToUint8=t.isEmptyData=t.convertToBuffer=void 0;var n=i(57058);Object.defineProperty(t,"convertToBuffer",{enumerable:!0,get:function(){return n.convertToBuffer}});var r=i(55923);Object.defineProperty(t,"isEmptyData",{enumerable:!0,get:function(){return r.isEmptyData}});var o=i(83927);Object.defineProperty(t,"numToUint8",{enumerable:!0,get:function(){return o.numToUint8}});var s=i(13400);Object.defineProperty(t,"uint32ArrayFrom",{enumerable:!0,get:function(){return s.uint32ArrayFrom}})},55923(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyData=void 0,t.isEmptyData=function(e){return"string"==typeof e?0===e.length:0===e.byteLength}},83927(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numToUint8=void 0,t.numToUint8=function(e){return new Uint8Array([(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e])}},13400(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uint32ArrayFrom=void 0,t.uint32ArrayFrom=function(e){if(!Uint32Array.from){for(var t=new Uint32Array(e.length),i=0;i<e.length;)t[i]=e[i],i+=1;return t}return Uint32Array.from(e)}},5321(e,t,i){"use strict";i.r(t),i.d(t,{__assign:()=>o,__asyncDelegator:()=>S,__asyncGenerator:()=>y,__asyncValues:()=>w,__await:()=>b,__awaiter:()=>l,__classPrivateFieldGet:()=>T,__classPrivateFieldSet:()=>I,__createBinding:()=>h,__decorate:()=>a,__exportStar:()=>p,__extends:()=>r,__generator:()=>u,__importDefault:()=>E,__importStar:()=>
vendor: 5,204 bytes, line 2138
2138k,__makeTemplateObject:()=>C,__metadata:()=>c,__param:()=>d,__read:()=>m,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>v,__values:()=>f});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},n(e,t)};function r(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}var o=function(){return o=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)};function s(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}function a(e,t,i,n){var r,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s}function d(e,t){return function(i,n){t(i,n,e)}}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{d(n.next(e))}catch(e){o(e)}}function a(e){try{d(n.throw(e))}catch(e){o(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}d((n=n.apply(e,t||[])).next())})}function u(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((r=(r=s.trys).length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function h(e,t,i,n){void 0===n&&(n=i),e[n]=t[i]}function p(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||(t[i]=e[i])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function g(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function v(){for(var e=0,t=0,i=arguments.length;t<i;t++)e+=arguments[t].length;var n=Array(e),r=0;for(t=0;t<i;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,r++)n[r]=o[s];return n}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function y(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){r[e]&&(n[e]=function(t){return new Promise(function(i,n){o.push([e,t,i,n])>1||a(e,t)})})}function a(e,t){try{(i=r[e](t)).value instanceof b?Promise.resolve(i.value.v).then(d,c):l(o[0][2],i)}catch(e){l(o[0][3],e)}var i}function d(e){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function S(e){var t,i;return t={},n("next"),n("throw",function(e){throw e}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,r){t[n]=e[n]?function(t){return(i=!i)?{value:b(e[n](t)),done:"return"===n}:r?r(t):t}:r}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}function C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
vendor: 14,362 bytes, line 2138
2138function k(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}function T(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function I(e,t,i){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,i),i}},86636(e){e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=90)}({17:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n=i(18),r=function(){function e(){}return e.getFirstMatch=function(e,t){var i=t.match(e);return i&&i.length>0&&i[1]||""},e.getSecondMatch=function(e,t){var i=t.match(e);return i&&i.length>1&&i[2]||""},e.matchAndReturnConst=function(e,t,i){if(e.test(t))return i},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map(function(e){return parseInt(e,10)||0});if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,i,n){void 0===n&&(n=!1);var r=e.getVersionPrecision(t),o=e.getVersionPrecision(i),s=Math.max(r,o),a=0,d=e.map([t,i],function(t){var i=s-e.getVersionPrecision(t),n=t+new Array(i+1).join(".0");return e.map(n.split("."),function(e){return new Array(20-e.length).join("0")+e}).reverse()});for(n&&(a=s-Math.min(r,o)),s-=1;s>=a;){if(d[0][s]>d[1][s])return 1;if(d[0][s]===d[1][s]){if(s===a)return 0;s-=1}else if(d[0][s]<d[1][s])return-1}},e.map=function(e,t){var i,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(i=0;i<e.length;i+=1)n.push(t(e[i]));return n},e.find=function(e,t){var i,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(i=0,n=e.length;i<n;i+=1){var r=e[i];if(t(r,i))return r}},e.assign=function(e){for(var t,i,n=e,r=arguments.length,o=new Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];if(Object.assign)return Object.assign.apply(Object,[e].concat(o));var a=function(){var e=o[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach(function(t){n[t]=e[t]})};for(t=0,i=o.length;t<i;t+=1)a();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||""},e}();t.default=r,e.exports=t.default},18:function(e,t,i){"use strict";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=i(91))&&n.__esModule?n:{default:n},o=i(18);function s(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var a=function(){function e(){}var t,i;return e.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new r.default(e,t)},e.parse=function(e){return new r.default(e).getResult()},t=e,i=[{key:"BROWSER_MAP",get:function(){return o.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return o.ENGINE_MAP}},{key:"OS_MAP",get:function(){return o.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return o.PLATFORMS_MAP}}],null&&s(t.prototype,null),i&&s(t,i),e}();t.default=a,e.exports=t.default},91:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n=d(i(92)),r=d(i(93)),o=d(i(94)),s=d(i(95)),a=d(i(17));function d(e){return e&&e.__esModule?e:{default:e}}var c=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=a.default.find(n.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=a.default.find(r.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=a.default.find(o.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=a.default.find(s.default,function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some(function(t){return e.test(t)});throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return a.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,i={},n=0,r={},o=0;if(Object.keys(e).forEach(function(t){var s=e[t];"string"==typeof s?(r[t]=s,o+=1):"object"==typeof s&&(i[t]=s,n+=1)}),n>0){var s=Object.keys(i),d=a.default.find(s,function(e){return t.isOS(e)});if(d){var c=this.satisfies(i[d]);if(void 0!==c)return c}var l=a.default.find(s,function(e){return t.isPlatform(e)});if(l){var u=this.satisfies(i[l]);if(void 0!==u)return u}}if(o>0){var h=Object.keys(r),p=a.default.find(h,function(e){return t.isBrowser(e,!0)});if(void 0!==p)return this.compareVersion(r[p])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var i=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),r=a.default.getBrowserTypeByAlias(n);return t&&r&&(n=r.toLowerCase()),n===i},t.compareVersion=function(e){var t=[0],i=e,n=!1,r=this.getBrowserVersion();if("string"==typeof r)return">"===e[0]||"<"===e[0]?(i=e.substr(1),"="===e[1]?(n=!0,i=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?i=e.substr(1):"~"===e[0]&&(n=!0,i=e.substr(1)),t.indexOf(a.default.compareVersions(r,i,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some(function(e){return t.is(e)})},e}();t.default=c,e.exports=t.default},92:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=i(17))&&n.__esModule?n:{default:n},o=/version\/(\d+(\.?_?\d+)+)/i,s=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},i=r.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},i=r.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},i=r.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},i=r.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},i=r.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},i=r.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},i=r.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"}
vendor: 6,960 bytes, line 2138
2138,i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},i=r.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},i=r.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},i=r.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},i=r.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},i=r.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},i=r.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},i=r.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},i=r.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return i&&(t.version=i),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},i=r.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},i=r.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},i=r.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},i=r.default.getFirstMatch(o,e)||r.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},i=r.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},i=r.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},i=r.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},i=r.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},i=r.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},i=r.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},i=r.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},i=r.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},i=r.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t={name:"Android Browser"},i=r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},i=r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},i=r.default.getFirstMatch(o,e);return i&&(t.version=i),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:r.default.getFirstMatch(t,e),version:r.default.getSecondMatch(t,e)}}}];t.default=s,e.exports=t.default},93:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=i(17))&&n.__esModule?n:{default:n},o=i(18),s=[{test:[/Roku\/DVP/],describe:function(e){var t=r.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:o.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=r.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=r.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),i=r.default.getWindowsVersionName(t);return{name:o.OS_MAP.Windows,version:t,versionName:i}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:o.OS_MAP.iOS},i=r.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return i&&(t.version=i),t}},{test:[/macintosh/i],describe:function(e){var t=r.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),i=r.default.getMacOSVersionName(t),n={name:o.OS_MAP.MacOS,version:t};return i&&(n.versionName=i),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=r.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:o.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),i=e.test(/android/i);return t&&i},describe:function(e){var t=r.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),i=r.default.getAndroidVersionName(t),n={name:o.OS_MAP.Android,version:t};return i&&(n.versionName=i),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=r.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),i={n
vendor: 6,925 bytes, line 2138
2138ame:o.OS_MAP.WebOS};return t&&t.length&&(i.version=t),i}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=r.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||r.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||r.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:o.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=r.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=r.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:o.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:o.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=r.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.PlayStation4,version:t}}}];t.default=s,e.exports=t.default},94:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=i(17))&&n.__esModule?n:{default:n},o=i(18),s=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=r.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",i={type:o.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(i.model=t),i}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),i=e.test(/like (ipod|iphone)/i);return t&&!i},describe:function(e){var t=r.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:o.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}}];t.default=s,e.exports=t.default},95:function(e,t,i){"use strict";t.__esModule=!0,t.default=void 0;var n,r=(n=i(17))&&n.__esModule?n:{default:n},o=i(18),s=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:o.ENGINE_MAP.Blink};var t=r.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:o.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:o.ENGINE_MAP.Trident},i=r.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:o.ENGINE_MAP.Presto},i=r.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:function(e){var t=e.test(/gecko/i),i=e.test(/like gecko/i);return t&&!i},describe:function(e){var t={name:o.ENGINE_MAP.Gecko},i=r.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:o.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:o.ENGINE_MAP.WebKit},i=r.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return i&&(t.version=i),t}}];t.default=s,e.exports=t.default}})},84880(e,t,i){"use strict";i.r(t),i.d(t,{BotInfo:()=>a,BrowserInfo:()=>r,NodeInfo:()=>o,ReactNativeInfo:()=>d,SearchBotDeviceInfo:()=>s,browserName:()=>f,detect:()=>h,detectOS:()=>g,getNodeVersion:()=>v,parseUserAgent:()=>m});var n=function(e,t,i){if(i||2===arguments.length)for(var n,r=0,o=t.length;r<o;r++)!n&&r in t||(n||(n=Array.prototype.slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||Array.prototype.slice.call(t))},r=function(e,t,i){this.name=e,this.version=t,this.os=i,this.type="browser"},o=function(e){this.version=e,this.type="node",this.name="node",this.os=process.platform},s=function(e,t,i,n){this.name=e,this.version=t,this.os=i,this.bot=n,this.type="bot-device"},a=function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null},d=function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null},c=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,l=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;
2138\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],u=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function h(e){return e?m(e):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new d:"undefined"!=typeof navigator?m(navigator.userAgent):v()}function p(e){return""!==e&&l.reduce(function(t,i){var n=i[0],r=i[1];if(t)return t;var o=r.exec(e);return!!o&&[n,o]},!1)}function f(e){var t=p(e);return t?t[0]:null}function m(e){var t=p(e);if(!t)return null;var i=t[0],o=t[1];if("searchbot"===i)return new a;var d=o[1]&&o[1].split(".").join("_").split("_").slice(0,3);d?d.length<3&&(d=n(n([],d,!0),function(e){for(var t=[],i=0;i<e;i++)t.push("0");return t}(3-d.length),!0)):d=[];var l=d.join("."),u=g(e),h=c.exec(e);return h&&h[1]?new s(i,l,u,h[1]):new r(i,l,u)}function g(e){for(var t=0,i=u.length;t<i;t++){var n=u[t],r=n[0];if(n[1].exec(e))return r}return null}function v(){return"undefined"!=typeof process&&process.version?new o(process.version.slice(1)):null}},21664(e){"use strict";var t=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},i=0;i<10;i++)t["_"+String.fromCharCode(i)]=i;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,r){for(var o,s,a=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),d=1;d<arguments.length;d++){for(var c in o=Object(arguments[d]))i.call(o,c)&&(a[c]=o[c]);if(t){s=t(o);for(var l=0;l<s.length;l++)n.call(o,s[l])&&(a[s[l]]=o[s[l]])}}return a}},53048(e,t,i){"use strict";const{Deflate:n,deflate:r,deflateRaw:o,gzip:s}=i(76579),{Inflate:a,inflate:d,inflateRaw:c,ungzip:l}=i(80399),u=i(78717);e.exports.Deflate=n,e.exports.deflate=r,e.exports.deflateRaw=o,e.exports.gzip=s,e.exports.Inflate=a,e.exports.inflate=d,e.exports.inflateRaw=c,e.exports.ungzip=l,e.exports.constants=u},76579(e,t,i){"use strict";const n=i(11679),r=i(92937),o=i(46832),s=i(38990),a=i(19222),d=Object.prototype.toString,{Z_NO_FLUSH:c,Z_SYNC_FLUSH:l,Z_FULL_FLUSH:u,Z_FINISH:h,Z_OK:p,Z_STREAM_END:f,Z_DEFAULT_COMPRESSION:m,Z_DEFAULT_STRATEGY:g,Z_DEFLATED:v}=i(78717);function b(e){this.options=r.assign({level:m,method:v,chunkSize:16384,windowBits:15,memLevel:8,strategy:g},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;let i=n.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(i!==p)throw new Error(s[i]);if(t.header&&n.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e="string"==typeof t.dictionary?o.string2buf(t.dictionary):"[object ArrayBuffer]"===d.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,i=n.deflateSetDictionary(this.strm,e),i!==p)throw new Error(s[i]);this._dict_set=!0}}function y(e,t){const i=new b(t);if(i.push(e,!0),i.err)throw i.msg||s[i.err];return i.result}b.prototype.push=function(e,t){const i=this.strm,r=this.options.chunkSize;let s,a;if(this.ended)return!1;for(a=t===~~t?t:!0===t?h:c,"string"==typeof e?i.input=o.string2buf(e):"[object ArrayBuffer]"===d.call(e)?i.input=new 
vendor: 40,330 bytes, line 2138
2138Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(r),i.next_out=0,i.avail_out=r),(a===l||a===u)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if(s=n.deflate(i,a),s===f)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),s=n.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===p;if(0!==i.avail_out){if(a>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},b.prototype.onData=function(e){this.chunks.push(e)},b.prototype.onEnd=function(e){e===p&&(this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},e.exports.Deflate=b,e.exports.deflate=y,e.exports.deflateRaw=function(e,t){return(t=t||{}).raw=!0,y(e,t)},e.exports.gzip=function(e,t){return(t=t||{}).gzip=!0,y(e,t)},i(78717)},80399(e,t,i){"use strict";const n=i(85347),r=i(92937),o=i(46832),s=i(38990),a=i(19222),d=i(6738),c=Object.prototype.toString,{Z_NO_FLUSH:l,Z_FINISH:u,Z_OK:h,Z_STREAM_END:p,Z_NEED_DICT:f,Z_STREAM_ERROR:m,Z_DATA_ERROR:g,Z_MEM_ERROR:v}=i(78717);function b(e){this.options=r.assign({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;let i=n.inflateInit2(this.strm,t.windowBits);if(i!==h)throw new Error(s[i]);if(this.header=new d,n.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=o.string2buf(t.dictionary):"[object ArrayBuffer]"===c.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(i=n.inflateSetDictionary(this.strm,t.dictionary),i!==h)))throw new Error(s[i])}function y(e,t){const i=new b(t);if(i.push(e),i.err)throw i.msg||s[i.err];return i.result}b.prototype.push=function(e,t){const i=this.strm,r=this.options.chunkSize,s=this.options.dictionary;let a,d,b;if(this.ended)return!1;for(d=t===~~t?t:!0===t?u:l,"[object ArrayBuffer]"===c.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(r),i.next_out=0,i.avail_out=r),a=n.inflate(i,d),a===f&&s&&(a=n.inflateSetDictionary(i,s),a===h?a=n.inflate(i,d):a===g&&(a=f));i.avail_in>0&&a===p&&i.state.wrap>0&&0!==e[i.next_in];)n.inflateReset(i),a=n.inflate(i,d);switch(a){case m:case g:case f:case v:return this.onEnd(a),this.ended=!0,!1}if(b=i.avail_out,i.next_out&&(0===i.avail_out||a===p))if("string"===this.options.to){let e=o.utf8border(i.output,i.next_out),t=i.next_out-e,n=o.buf2string(i.output,e);i.next_out=t,i.avail_out=r-t,t&&i.output.set(i.output.subarray(e,e+t),0),this.onData(n)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(a!==h||0!==b){if(a===p)return a=n.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},b.prototype.onData=function(e){this.chunks.push(e)},b.prototype.onEnd=function(e){e===h&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},e.exports.Inflate=b,e.exports.inflate=y,e.exports.inflateRaw=function(e,t){return(t=t||{}).raw=!0,y(e,t)},e.exports.ungzip=y,i(78717)},92937(e){"use strict";const t=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);e.exports.assign=function(e){const i=Array.prototype.slice.call(arguments,1);for(;i.length;){const n=i.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(const i in n)t(n,i)&&(e[i]=n[i])}}return e},e.exports.flattenChunks=e=>{let t=0;for(let i=0,n=e.length;i<n;i++)t+=e[i].length;const i=new Uint8Array(t);for(let t=0,n=0,r=e.length;t<r;t++){let r=e[t];i.set(r,n),n+=r.length}return i}},46832(e){"use strict";let t=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){t=!1}const i=new Uint8Array(256);for(let e=0;e<256;e++)i[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;i[254]=i[254]=1,e.exports.string2buf=e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,i,n,r,o,s=e.length,a=0;for(r=0;r<s;r++)i=e.charCodeAt(r),55296==(64512&i)&&r+1<s&&(n=e.charCodeAt(r+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),r++)),a+=i<128?1:i<2048?2:i<65536?3:4;for(t=new Uint8Array(a),o=0,r=0;o<a;r++)i=e.charCodeAt(r),55296==(64512&i)&&r+1<s&&(n=e.charCodeAt(r+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),r++)),i<128?t[o++]=i:i<2048?(t[o++]=192|i>>>6,t[o++]=128|63&i):i<65536?(t[o++]=224|i>>>12,t[o++]=128|i>>>6&63,t[o++]=128|63&i):(t[o++]=240|i>>>18,t[o++]=128|i>>>12&63,t[o++]=128|i>>>6&63,t[o++]=128|63&i);return t},e.exports.buf2string=(e,n)=>{const r=n||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,n));let o,s;const a=new Array(2*r);for(s=0,o=0;o<r;){let t=e[o++];if(t<128){a[s++]=t;continue}let n=i[t];if(n>4)a[s++]=65533,o+=n-1;else{for(t&=2===n?31:3===n?15:7;n>1&&o<r;)t=t<<6|63&e[o++],n--;n>1?a[s++]=65533:t<65536?a[s++]=t:(t-=65536,a[s++]=55296|t>>10&1023,a[s++]=56320|1023&t)}}return((e,i)=>{if(i<65534&&e.subarray&&t)return String.fromCharCode.apply(null,e.length===i?e:e.subarray(0,i));let n="";for(let t=0;t<i;t++)n+=String.fromCharCode(e[t]);return n})(a,s)},e.exports.utf8border=(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let n=t-1;for(;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+i[e[n]]>t?n:t}},71697(e){"use strict";e.exports=(e,t,i,n)=>{let r=65535&e,o=e>>>16&65535,s=0;for(;0!==i;){s=i>2e3?2e3:i,i-=s;do{r=r+t[n++]|0,o=o+r|0}while(--s);r%=65521,o%=65521}return r|o<<16}},78717(e){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},90731(e){"use strict";const t=new Uint32Array((()=>{let e,t=[];for(var i=0;i<256;i++){e=i;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t})());e.exports=(e,i,n,r)=>{const o=t,s=r+n;e^=-1;for(let t=r;t<s;t++)e=e>>>8^o[255&(e^i[t])];return-1^e}},11679(e,t,i){"use strict";const{_tr_init:n,_tr_stored_block:r,_tr_flush_block:o,_tr_tally:s,_tr_align:a}=i(85805),d=i(71697),c=i(90731),l=i(38990),{Z_NO_FLUSH:u,Z_PARTIAL_FLUSH:h,Z_FULL_FLUSH:p,Z_FINISH:f,Z_BLOCK:m,Z_OK:g,Z_STREAM_END:v,Z_STREAM_ERROR:b,Z_DATA_ERROR:y,Z_BUF_ERROR:S,Z_DEFAULT_COMPRESSION:w,Z_FILTERED:C,Z_HUFFMAN_ONLY:k,Z_RLE:E,Z_FIXED:T,Z_DEFAULT_STRATEGY:I,Z_UNKNOWN:x,Z_DEFLATED:A}=i(78717),P=258,O=262,_=42,M=113,R=666,D=(e,t)=>(e.msg=l[t],t),F=e=>2*e-(e>4?9:0),L=e=>{let t=e.length;for(;--t>=0;)e[t]=0},N=e=>{let t,i,n,r=e.w_size;t=e.hash_size,n=t;do{i=e.head[--n],e.head[n]=i>=r?i-r:0}while(--t);t=r,n=t;do{i=e.prev[--n],e.prev[n]=i>=r?i-r:0}while(--t)};let B=(e,t,i)=>(t<<e.hash_shift^i)&e.hash_mask;const V=e=>{const t=e.state;let i=t.pending;i>e.avail_out&&(i=e.avail_out),0!==i&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+i),e.next_out),e.next_out+=i,t.pending_out+=i,e.total_out+=i,e.avail_out-=i,t.pending-=i,0===t.pending&&(t.pending_out=0))},U=(e,t)=>{o(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,V(e.strm)},j=(e,t)=>{e.pending_buf[e.pending++]=t},z=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},$=(e,t,i,n)=>{let r=e.avail_in;return r>n&&(r=n),0===r?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),i),1===e.state.wrap?e.adler=d(e.adler,t,r,i):2===e.state.wrap&&(e.adler=c(e.adler,t,r,i)),e.next_in+=r,e.total_in+=r,r)},H=(e,t)=>{let i,n,r=e.max_chain_length,o=e.strstart,s=e.prev_length,a=e.nice_match;const d=e.strstart>e.w_size-O?e.strstart-(e.w_size-O):0,c=e.window,l=e.w_mask,u=e.prev,h=e.strstart+P;let p=c[o+s-1],f=c[o+s];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(i=t,c[i+s]===f&&c[i+s-1]===p&&c[i]===c[o]&&c[++i]===c[o+1]){o+=2,i++;do{}while(c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&c[++o]===c[++i]&&o<h);if(n=P-(h-o),o=h-P,n>s){if(e.match_start=t,s=n,n>=a)break;p=c[o+s-1],f=c[o+s]}}}while((t=u[t&l])>d&&0!==--r);return s<=e.lookahead?s:e.lookahead},W=e=>{const t=e.w_size;let i,n,r;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-O)&&(e.window.set(e.window.subarray(t,t+t-n),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),N(e),n+=t),0===e.strm.avail_in)break;if(i=$(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=i,e.lookahead+e.insert>=3)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=B(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=B(e,e.ins_h,e.window[r+3-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<O&&0!==e.strm.avail_in)},q=(e,t)=>{let i,n,o,s=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,a=0,d=e.strm.avail_in;do{if(i=65535,o=e.bi_valid+42>>3,e.strm.avail_out<o)break;if(o=e.strm.avail_out-o,n=e.strstart-e.block_start,i>n+e.strm.avail_in&&(i=n+e.strm.avail_in),i>o&&(i=o),i<s&&(0===i&&t!==f||t===u||i!==n+e.strm.avail_in))break;a=t===f&&i===n+e.strm.avail_in?1:0,r(e,0,0,a),e.pending_buf[e.pending-4]=i,e.pending_buf[e.pending-3]=i>>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,V(e.strm),n&&(n>i&&(n=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+n),e.strm.next_out),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n,e.block_start+=n,i-=n),i&&($(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(0===a);return d-=e.strm.avail_in,d&&(d>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=d&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-d,e.strm.next_in),e.strstart),e.strstart+=d,e.insert+=d>e.w_size-e.insert?e.w_size-e.insert:d),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),a?4:t!==u&&t!==f&&0===e.strm.avail_in&&e.strstart===e.block_start?2:(o=e.window_size-e.strstart,e.strm.avail_in>o&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,o+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),o>e.strm.avail_in&&(o=e.strm.avail_in),o&&($(e.strm,e.window,e.strstart,o),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.high_water<e.strstart&&(e.high_water=e.strstart),o=e.bi_valid+42>>3,o=e.pending_buf_size-o>65535?65535:e.pending_buf_size-o,s=o>e.w_size?e.w_size:o,n=e.strstart-e.block_start,(n>=s||(n||t===f)&&t!==u&&0===e.strm.avail_in&&n<=o)&&(i=n>o?o:n,a=t===f&&0===e.strm.avail_in&&i===n?1:0,r(e,e.block_start,i,a),e.block_start+=i,V(e.strm)),a?3:1)},K=(e,t)=>{let i,n;for(;;){if(e.lookahead<O){if(W(e),e.lookahead<O&&t===u)return 1;if(0===e.lookahead)break}if(i=0,e.lookahead>=3&&(e.ins_h=B(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==i&&e.strstart-i<=e.w_size-O&&(e.match_length=H(e,i)),e.match_length>=3)if(n=s(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=B(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!==--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=B(e,e.ins_h,e.window[e.strstart+1]);else n=s(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(U(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===f?(U(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(U(e,!1),0===e.strm.avail_out)?1:2},G=(e,t)=>{let i,n,r;for(;;){if(e.lookahead<O){if(W(e),e.lookahead<O&&t===u)return 1;if(0===e.lookahead)break}if(i=0,e.lookahead>=3&&(e.ins_h=B(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==i&&e.prev_length<e.max_lazy_match&&e.strstart-i<=e.w_size-O&&(e.match_length=H(e,i),e.match_length<=5&&(e.strategy===C||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-3,n=s(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=B(e,e.ins_h,e.window[e.strstart+3-1]),i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!==--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,n&&(U(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if(n=s(e,0,e.window[e.strstart-1]),n&&U(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=s(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===f?(U(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(U(e,!1),0===e.strm.avail_out)?1:2};function J(e,t,i,n,r){this.good_length=e,this.max_lazy=t,this.nice_length=i,this.max_chain=n,this.func=r}const Q=[new J(0,0,0,0,q),new J(4,4,8,4,K),new J(4,5,16,8,K),new J(4,6,32,32,K),new J(4,4,16,16,G),new J(8,16,32,32,G),new J(8,16,128,128,G),new J(8,32,128,256,G),new J(32,128,258,1024,G),new J(32,258,258,4096,G)];function X(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=A,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),L(this.dyn_ltree),L(this.dyn_dtree),L(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),L(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),L(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Z=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==_&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==M&&t.status!==R?1:0},Y=e=>{if(Z(e))return D(e,b);e.total_in=e.total_out=0,e.data_type=x;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?_:M,e.adler=2===t.wrap?0:1,t.last_flush=-2,n(t),g},ee=e=>{const t=Y(e);var i;return t===g&&((i=e.state).window_size=2*i.w_size,L(i.head),i.max_lazy_match=Q[i.level].max_lazy,i.good_match=Q[i.level].good_length,i.nice_match=Q[i.level].nice_length,i.max_chain_length=Q[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=2,i.match_available=0,i.ins_h=0),t},te=(e,t,i,n,r,o)=>{if(!e)return b;let s=1;if(t===w&&(t=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),r<1||r>9||i!==A||n<8||n>15||t<0||t>9||o<0||o>T||8===n&&1!==s)return D(e,b);8===n&&(n=9);const a=new X;return e.state=a,a.strm=e,a.status=_,a.wrap=s,a.gzhead=null,a.w_bits=n,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=r+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<r+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=3*(a.lit_bufsize-1),a.level=t,a.strategy=o,a.method=i,ee(e)};e.exports.deflateInit=(e,t)=>te(e,t,A,15,8,I),e.exports.deflateInit2=te,e.exports.deflateReset=ee,e.exports.deflateResetKeep=Y,e.exports.deflateSetHeader=(e,t)=>Z(e)||2!==e.state.wrap?b:(e.state.gzhead=t,g),e.exports.deflate=(e,t)=>{if(Z(e)||t>m||t<0)return e?D(e,b):b;const i=e.state;if(!e.output||0!==e.avail_in&&!e.input||i.status===R&&t!==f)return D(e,0===e.avail_out?S:b);const n=i.last_flush;if(i.last_flush=t,0!==i.pending){if(V(e),0===e.avail_out)return i.last_flush=-1,g}else if(0===e.avail_in&&F(t)<=F(n)&&t!==f)return D(e,S);if(i.status===R&&0!==e.avail_in)return D(e,S);if(i.status===_&&0===i.wrap&&(i.status=M),i.status===_){let t=A+(i.w_bits-8<<4)<<8,n=-1;if(n=i.strategy>=k||i.level<2?0:i.level<6?1:6===i.level?2:3,t|=n<<6,0!==i.strstart&&(t|=32),t+=31-t%31,z(i,t),0!==i.strstart&&(z(i,e.adler>>>16),z(i,65535&e.adler)),e.adler=1,i.status=M,V(e),0!==i.pending)return i.last_flush=-1,g}if(57===i.status)if(e.adler=0,j(i,31),j(i,139),j(i,8),i.gzhead)j(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),j(i,255&i.gzhead.time),j(i,i.gzhead.time>>8&255),j(i,i.gzhead.time>>16&255),j(i,i.gzhead.time>>24&255),j(i,9===i.level?2:i.strategy>=k||i.level<2?4:0),j(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(j(i,255&i.gzhead.extra.length),j(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=c(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69;else if(j(i,0),j(i,0),j(i,0),j(i,0),j(i,0),j(i,9===i.level?2:i.strategy>=k||i.level<2?4:0),j(i,3),i.status=M,V(e),0!==i.pending)return i.last_flush=-1,g;if(69===i.status){if(i.gzhead.extra){let t=i.pending,n=(65535&i.gzhead.extra.length)-i.gzindex;for(;i.pending+n>i.pending_buf_size;){let r=i.pending_buf_size-i.pending;if(i.pending_buf.set(i.gzhead.extra.subarray(i.gzindex,i.gzindex+r),i.pending),i.pending=i.pending_buf_size,i.gzhead.hcrc&&i.pending>t&&(e.adler=c(e.adler,i.pending_buf,i.pending-t,t)),i.gzindex+=r,V(e),0!==i.pending)return i.last_flush=-1,g;t=0,n-=r}let r=new Uint8Array(i.gzhead.extra);i.pending_buf.set(r.subarray(i.gzindex,i.gzindex+n),i.pending),i.pending+=n,i.gzhead.hcrc&&i.pending>t&&(e.adler=c(e.adler,i.pending_buf,i.pending-t,t)),i.gzindex=0}i.status=73}if(73===i.status){if(i.gzhead.name){let t,n=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>n&&(e.adler=c(e.adler,i.pending_buf,i.pending-n,n)),V(e),0!==i.pending)return i.last_flush=-1,g;n=0}t=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,j(i,t)}while(0!==t);i.gzhead.hcrc&&i.pending>n&&(e.adler=c(e.adler,i.pending_buf,i.pending-n,n)),i.gzindex=0}i.status=91}if(91===i.status){if(i.gzhead.comment){let t,n=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>n&&(e.adler=c(e.adler,i.pending_buf,i.pending-n,n)),V(e),0!==i.pending)return i.last_flush=-1,g;n=0}t=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,j(i,t)}while(0!==t);i.gzhead.hcrc&&i.pending>n&&(e.adler=c(e.adler,i.pending_buf,i.pending-n,n))}i.status=103}if(103===i.status){if(i.gzhead.hcrc){if(i.pending+2>i.pending_buf_size&&(V(e),0!==i.pending))return i.last_flush=-1,g;j(i,255&e.adler),j(i,e.adler>>8&255),e.adler=0}if(i.status=M,V(e),0!==i.pending)return i.last_flush=-1,g}if(0!==e.avail_in||0!==i.lookahead||t!==u&&i.status!==R){let n=0===i.level?q(i,t):i.strategy===k?((e,t)=>{let i;for(;;){if(0===e.lookahead&&(W(e),0===e.lookahead)){if(t===u)return 1;break}if(e.match_length=0,i=s(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,i&&(U(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===f?(U(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(U(e,!1),0===e.strm.avail_out)?1:2})(i,t):i.strategy===E?((e,t)=>{let i,n,r,o;const a=e.window;for(;;){if(e.lookahead<=P){if(W(e),e.lookahead<=P&&t===u)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(r=e.strstart-1,n=a[r],n===a[++r]&&n===a[++r]&&n===a[++r])){o=e.strstart+P;do{}while(n===a[++r]&&n===a[++r]&&n===a[++r]&&n===a[++r]&&n===a[++r]&&n===a[++r]&&n===a[++r]&&n===a[++r]&&r<o);e.match_length=P-(o-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(i=s(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(i=s(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),i&&(U(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===f?(U(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(U(e,!1),0===e.strm.avail_out)?1:2})(i,t):Q[i.level].func(i,t);if(3!==n&&4!==n||(i.status=R),1===n||3===n)return 0===e.avail_out&&(i.last_flush=-1),g;if(2===n&&(t===h?a(i):t!==m&&(r(i,0,0,!1),t===p&&(L(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),V(e),0===e.avail_out))return i.last_flush=-1,g}return t!==f?g:i.wrap<=0?v:(2===i.wrap?(j(i,255&e.adler),j(i,e.adler>>8&255),j(i,e.adler>>16&255),j(i,e.adler>>24&255),j(i,255&e.total_in),j(i,e.total_in>>8&255),j(i,e.total_in>>16&255),j(i,e.total_in>>24&255)):(z(i,e.adler>>>16),z(i,65535&e.adler)),V(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?g:v)},e.exports.deflateEnd=e=>{if(Z(e))return b;const t=e.state.status;return e.state=null,t===M?D(e,y):g},e.exports.deflateSetDictionary=(e,t)=>{let i=t.length;if(Z(e))return b;const n=e.state,r=n.wrap;if(2===r||1===r&&n.status!==_||n.lookahead)return b;if(1===r&&(e.adler=d(e.adler,t,i,0)),n.wrap=0,i>=n.w_size){0===r&&(L(n.head),n.strstart=0,n.block_start=0,n.insert=0);let e=new Uint8Array(n.w_size);e.set(t.subarray(i-n.w_size,i),0),t=e,i=n.w_size}const o=e.avail_in,s=e.next_in,a=e.input;for(e.avail_in=i,e.next_in=0,e.input=t,W(n);n.lookahead>=3;){let e=n.strstart,t=n.lookahead-2;do{n.ins_h=B(n,n.ins_h,n.window[e+3-1]),n.prev[e&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=e,e++}while(--t);n.strstart=e,n.lookahead=2,W(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,e.next_in=s,e.input=a,e.avail_in=o,n.wrap=r,g},e.exports.deflateInfo="pako deflate (from Nodeca project)"},6738(e){"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},38353(e){"use strict";const t=16209;e.exports=function(e,i){let n,r,o,s,a,d,c,l,u,h,p,f,m,g,v,b,y,S,w,C,k,E,T,I;const x=e.state;n=e.next_in,T=e.input,r=n+(e.avail_in-5),o=e.next_out,I=e.output,s=o-(i-e.avail_out),a=o+(e.avail_out-257),d=x.dmax,c=x.wsize,l=x.whave,u=x.wnext,h=x.window,p=x.hold,f=x.bits,m=x.lencode,g=x.distcode,v=(1<<x.lenbits)-1,b=(1<<x.distbits)-1;e:do{f<15&&(p+=T[n++]<<f,f+=8,p+=T[n++]<<f,f+=8),y=m[p&v];t:for(;;){if(S=y>>>24,p>>>=S,f-=S,S=y>>>16&255,0===S)I[o++]=65535&y;else{if(!(16&S)){if(64&S){if(32&S){x.mode=16191;break e}e.msg="invalid literal/length code",x.mode=t;break e}y=m[(65535&y)+(p&(1<<S)-1)];continue t}for(w=65535&y,S&=15,S&&(f<S&&(p+=T[n++]<<f,f+=8),w+=p&(1<<S)-1,p>>>=S,f-=S),f<15&&(p+=T[n++]<<f,f+=8,p+=T[n++]<<f,f+=8),y=g[p&b];;){if(S=y>>>24,p>>>=S,f-=S,S=y>>>16&255,16&S){if(C=65535&y,S&=15,f<S&&(p+=T[n++]<<f,f+=8,f<S&&(p+=T[n++]<<f,f+=8)),C+=p&(1<<S)-1,C>d){e.msg="invalid distance too far back",x.mode=t;break e}if(p>>>=S,f-=S,S=o-s,C>S){if(S=C-S,S>l&&x.sane){e.msg="invalid distance too far back",x.mode=t;break e}if(k=0,E=h,0===u){if(k+=c-S,S<w){w-=S;do{I[o++]=h[k++]}while(--S);k=o-C,E=I}}else if(u<S){if(k+=c+u-S,S-=u,S<w){w-=S;do{I[o++]=h[k++]}while(--S);if(k=0,u<w){S=u,w-=S;do{I[o++]=h[k++]}while(--S);k=o-C,E=I}}}else if(k+=u-S,S<w){w-=S;do{I[o++]=h[k++]}while(--S);k=o-C,E=I}for(;w>2;)I[o++]=E[k++],I[o++]=E[k++],I[o++]=E[k++],w-=3;w&&(I[o++]=E[k++],w>1&&(I[o++]=E[k++]))}else{k=o-C;do{I[o++]=I[k++],I[o++]=I[k++],I[o++]=I[k++],w-=3}while(w>2);w&&(I[o++]=I[k++],w>1&&(I[o++]=I[k++]))}break}if(64&S){e.msg="invalid distance code",x.mode=t;break e}y=g[(65535&y)+(p&(1<<S)-1)]}}break}}while(n<r&&o<a);w=f>>3,n-=w,f-=w<<3,p&=(1<<f)-1,e.next_in=n,e.next_out=o,e.avail_in=n<r?r-n+5:5-(n-r),e.avail_out=o<a?a-o+257:257-(o-a),x.hold=p,x.bits=f}},85347(e,t,i){"use strict";const n=i(71697),r=i(90731),o=i(38353),s=i(40274),{Z_FINISH:a,Z_BLOCK:d,Z_TREES:c,Z_OK:l,Z_STREAM_END:u,Z_NEED_DICT:h,Z_STREAM_ERROR:p,Z_DATA_ERROR:f,Z_MEM_ERROR:m,Z_BUF_ERROR:g,Z_DEFLATED:v}=i(78717),b=16180,y=16190,S=16191,w=16192,C=16194,k=16199,E=16200,T=16206,I=16209,x=16210,A=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function P(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const O=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<b||t.mode>16211?1:0},_=e=>{if(O(e))return p;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=b,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,l},M=e=>{if(O(e))return p;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,_(e)},R=(e,t)=>{let i;if(O(e))return p;const n=e.state;return t<0?(i=0,t=-t):(i=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?p:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=i,n.wbits=t,M(e))},D=(e,t)=>{if(!e)return p;const i=new P;e.state=i,i.strm=e,i.window=null,i.mode=b;const n=R(e,t);return n!==l&&(e.state=null),n};let F,L,N=!0;const B=e=>{if(N){F=new Int32Array(512),L=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(s(1,e.lens,0,288,F,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;s(2,e.lens,0,32,L,0,e.work,{bits:5}),N=!1}e.lencode=F,e.lenbits=9,e.distcode=L,e.distbits=5},V=(e,t,i,n)=>{let r;const o=e.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),n>=o.wsize?(o.window.set(t.subarray(i-o.wsize,i),0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>n&&(r=n),o.window.set(t.subarray(i-n,i-n+r),o.wnext),(n-=r)?(o.window.set(t.subarray(i-n,i),0),o.wnext=n,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=r))),0};e.exports.inflateReset=M,e.exports.inflateReset2=R,e.exports.inflateResetKeep=_,e.exports.inflateInit=e=>D(e,15),e.exports.inflateInit2=D,e.exports.inflate=(e,t)=>{let i,P,_,M,R,D,F,L,N,U,j,z,$,H,W,q,K,G,J,Q,X,Z,Y=0;const ee=new Uint8Array(4);let te,ie;const ne=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(O(e)||!e.output||!e.input&&0!==e.avail_in)return p;i=e.state,i.mode===S&&(i.mode=w),R=e.next_out,_=e.output,F=e.avail_out,M=e.next_in,P=e.input,D=e.avail_in,L=i.hold,N=i.bits,U=D,j=F,Z=l;e:for(;;)switch(i.mode){case b:if(0===i.wrap){i.mode=w;break}for(;N<16;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(2&i.wrap&&35615===L){0===i.wbits&&(i.wbits=15),i.check=0,ee[0]=255&L,ee[1]=L>>>8&255,i.check=r(i.check,ee,2,0),L=0,N=0,i.mode=16181;break}if(i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&L)<<8)+(L>>8))%31){e.msg="incorrect header check",i.mode=I;break}if((15&L)!==v){e.msg="unknown compression method",i.mode=I;break}if(L>>>=4,N-=4,X=8+(15&L),0===i.wbits&&(i.wbits=X),X>15||X>i.wbits){e.msg="invalid window size",i.mode=I;break}i.dmax=1<<i.wbits,i.flags=0,e.adler=i.check=1,i.mode=512&L?16189:S,L=0,N=0;break;case 16181:for(;N<16;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(i.flags=L,(255&i.flags)!==v){e.msg="unknown compression method",i.mode=I;break}if(57344&i.flags){e.msg="unknown header flags set",i.mode=I;break}i.head&&(i.head.text=L>>8&1),512&i.flags&&4&i.wrap&&(ee[0]=255&L,ee[1]=L>>>8&255,i.check=r(i.check,ee,2,0)),L=0,N=0,i.mode=16182;case 16182:for(;N<32;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.head&&(i.head.time=L),512&i.flags&&4&i.wrap&&(ee[0]=255&L,ee[1]=L>>>8&255,ee[2]=L>>>16&255,ee[3]=L>>>24&255,i.check=r(i.check,ee,4,0)),L=0,N=0,i.mode=16183;case 16183:for(;N<16;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.head&&(i.head.xflags=255&L,i.head.os=L>>8),512&i.flags&&4&i.wrap&&(ee[0]=255&L,ee[1]=L>>>8&255,i.check=r(i.check,ee,2,0)),L=0,N=0,i.mode=16184;case 16184:if(1024&i.flags){for(;N<16;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.length=L,i.head&&(i.head.extra_len=L),512&i.flags&&4&i.wrap&&(ee[0]=255&L,ee[1]=L>>>8&255,i.check=r(i.check,ee,2,0)),L=0,N=0}else i.head&&(i.head.extra=null);i.mode=16185;case 16185:if(1024&i.flags&&(z=i.length,z>D&&(z=D),z&&(i.head&&(X=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(P.subarray(M,M+z),X)),512&i.flags&&4&i.wrap&&(i.check=r(i.check,P,z,M)),D-=z,M+=z,i.length-=z),i.length))break e;i.length=0,i.mode=16186;case 16186:if(2048&i.flags){if(0===D)break e;z=0;do{X=P[M+z++],i.head&&X&&i.length<65536&&(i.head.name+=String.fromCharCode(X))}while(X&&z<D);if(512&i.flags&&4&i.wrap&&(i.check=r(i.check,P,z,M)),D-=z,M+=z,X)break e}else i.head&&(i.head.name=null);i.length=0,i.mode=16187;case 16187:if(4096&i.flags){if(0===D)break e;z=0;do{X=P[M+z++],i.head&&X&&i.length<65536&&(i.head.comment+=String.fromCharCode(X))}while(X&&z<D);if(512&i.flags&&4&i.wrap&&(i.check=r(i.check,P,z,M)),D-=z,M+=z,X)break e}else i.head&&(i.head.comment=null);i.mode=16188;case 16188:if(512&i.flags){for(;N<16;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(4&i.wrap&&L!==(65535&i.check)){e.msg="header crc mismatch",i.mode=I;break}L=0,N=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=S;break;case 16189:for(;N<32;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}e.adler=i.check=A(L),L=0,N=0,i.mode=y;case y:if(0===i.havedict)return e.next_out=R,e.avail_out=F,e.next_in=M,e.avail_in=D,i.hold=L,i.bits=N,h;e.adler=i.check=1,i.mode=S;case S:if(t===d||t===c)break e;case w:if(i.last){L>>>=7&N,N-=7&N,i.mode=T;break}for(;N<3;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}switch(i.last=1&L,L>>>=1,N-=1,3&L){case 0:i.mode=16193;break;case 1:if(B(i),i.mode=k,t===c){L>>>=2,N-=2;break e}break;case 2:i.mode=16196;break;case 3:e.msg="invalid block type",i.mode=I}L>>>=2,N-=2;break;case 16193:for(L>>>=7&N,N-=7&N;N<32;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if((65535&L)!=(L>>>16^65535)){e.msg="invalid stored block lengths",i.mode=I;break}if(i.length=65535&L,L=0,N=0,i.mode=C,t===c)break e;case C:i.mode=16195;case 16195:if(z=i.length,z){if(z>D&&(z=D),z>F&&(z=F),0===z)break e;_.set(P.subarray(M,M+z),R),D-=z,M+=z,F-=z,R+=z,i.length-=z;break}i.mode=S;break;case 16196:for(;N<14;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(i.nlen=257+(31&L),L>>>=5,N-=5,i.ndist=1+(31&L),L>>>=5,N-=5,i.ncode=4+(15&L),L>>>=4,N-=4,i.nlen>286||i.ndist>30){e.msg="too many length or distance symbols",i.mode=I;break}i.have=0,i.mode=16197;case 16197:for(;i.have<i.ncode;){for(;N<3;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.lens[ne[i.have++]]=7&L,L>>>=3,N-=3}for(;i.have<19;)i.lens[ne[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,te={bits:i.lenbits},Z=s(0,i.lens,0,19,i.lencode,0,i.work,te),i.lenbits=te.bits,Z){e.msg="invalid code lengths set",i.mode=I;break}i.have=0,i.mode=16198;case 16198:for(;i.have<i.nlen+i.ndist;){for(;Y=i.lencode[L&(1<<i.lenbits)-1],W=Y>>>24,q=Y>>>16&255,K=65535&Y,!(W<=N);){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(K<16)L>>>=W,N-=W,i.lens[i.have++]=K;else{if(16===K){for(ie=W+2;N<ie;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(L>>>=W,N-=W,0===i.have){e.msg="invalid bit length repeat",i.mode=I;break}X=i.lens[i.have-1],z=3+(3&L),L>>>=2,N-=2}else if(17===K){for(ie=W+3;N<ie;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}L>>>=W,N-=W,X=0,z=3+(7&L),L>>>=3,N-=3}else{for(ie=W+7;N<ie;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}L>>>=W,N-=W,X=0,z=11+(127&L),L>>>=7,N-=7}if(i.have+z>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=I;break}for(;z--;)i.lens[i.have++]=X}}if(i.mode===I)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=I;break}if(i.lenbits=9,te={bits:i.lenbits},Z=s(1,i.lens,0,i.nlen,i.lencode,0,i.work,te),i.lenbits=te.bits,Z){e.msg="invalid literal/lengths set",i.mode=I;break}if(i.distbits=6,i.distcode=i.distdyn,te={bits:i.distbits},Z=s(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,te),i.distbits=te.bits,Z){e.msg="invalid distances set",i.mode=I;break}if(i.mode=k,t===c)break e;case k:i.mode=E;case E:if(D>=6&&F>=258){e.next_out=R,e.avail_out=F,e.next_in=M,e.avail_in=D,i.hold=L,i.bits=N,o(e,j),R=e.next_out,_=e.output,F=e.avail_out,M=e.next_in,P=e.input,D=e.avail_in,L=i.hold,N=i.bits,i.mode===S&&(i.back=-1);break}for(i.back=0;Y=i.lencode[L&(1<<i.lenbits)-1],W=Y>>>24,q=Y>>>16&255,K=65535&Y,!(W<=N);){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(q&&!(240&q)){for(G=W,J=q,Q=K;Y=i.lencode[Q+((L&(1<<G+J)-1)>>G)],W=Y>>>24,q=Y>>>16&255,K=65535&Y,!(G+W<=N);){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}L>>>=G,N-=G,i.back+=G}if(L>>>=W,N-=W,i.back+=W,i.length=K,0===q){i.mode=16205;break}if(32&q){i.back=-1,i.mode=S;break}if(64&q){e.msg="invalid literal/length code",i.mode=I;break}i.extra=15&q,i.mode=16201;case 16201:if(i.extra){for(ie=i.extra;N<ie;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.length+=L&(1<<i.extra)-1,L>>>=i.extra,N-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=16202;case 16202:for(;Y=i.distcode[L&(1<<i.distbits)-1],W=Y>>>24,q=Y>>>16&255,K=65535&Y,!(W<=N);){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(!(240&q)){for(G=W,J=q,Q=K;Y=i.distcode[Q+((L&(1<<G+J)-1)>>G)],W=Y>>>24,q=Y>>>16&255,K=65535&Y,!(G+W<=N);){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}L>>>=G,N-=G,i.back+=G}if(L>>>=W,N-=W,i.back+=W,64&q){e.msg="invalid distance code",i.mode=I;break}i.offset=K,i.extra=15&q,i.mode=16203;case 16203:if(i.extra){for(ie=i.extra;N<ie;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}i.offset+=L&(1<<i.extra)-1,L>>>=i.extra,N-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=I;break}i.mode=16204;case 16204:if(0===F)break e;if(z=j-F,i.offset>z){if(z=i.offset-z,z>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=I;break}z>i.wnext?(z-=i.wnext,$=i.wsize-z):$=i.wnext-z,z>i.length&&(z=i.length),H=i.window}else H=_,$=R-i.offset,z=i.length;z>F&&(z=F),F-=z,i.length-=z;do{_[R++]=H[$++]}while(--z);0===i.length&&(i.mode=E);break;case 16205:if(0===F)break e;_[R++]=i.length,F--,i.mode=E;break;case T:if(i.wrap){for(;N<32;){if(0===D)break e;D--,L|=P[M++]<<N,N+=8}if(j-=F,e.total_out+=j,i.total+=j,4&i.wrap&&j&&(e.adler=i.check=i.flags?r(i.check,_,j,R-j):n(i.check,_,j,R-j)),j=F,4&i.wrap&&(i.flags?L:A(L))!==i.check){e.msg="incorrect data check",i.mode=I;break}L=0,N=0}i.mode=16207;case 16207:if(i.wrap&&i.flags){for(;N<32;){if(0===D)break e;D--,L+=P[M++]<<N,N+=8}if(4&i.wrap&&L!==(4294967295&i.total)){e.msg="incorrect length check",i.mode=I;break}L=0,N=0}i.mode=16208;case 16208:Z=u;break e;case I:Z=f;break e;case x:return m;default:return p}return e.next_out=R,e.avail_out=F,e.next_in=M,e.avail_in=D,i.hold=L,i.bits=N,(i.wsize||j!==e.avail_out&&i.mode<I&&(i.mode<T||t!==a))&&V(e,e.output,e.next_out,j-e.avail_out)?(i.mode=x,m):(U-=e.avail_in,j-=e.avail_out,e.total_in+=U,e.total_out+=j,i.total+=j,4&i.wrap&&j&&(e.adler=i.check=i.flags?r(i.check,_,j,e.next_out-j):n(i.check,_,j,e.next_out-j)),e.data_type=i.bits+(i.last?64:0)+(i.mode===S?128:0)+(i.mode===k||i.mode===C?256:0),(0===U&&0===j||t===a)&&Z===l&&(Z=g),Z)},e.exports.inflateEnd=e=>{if(O(e))return p;let t=e.state;return t.window&&(t.window=null),e.state=null,l},e.exports.inflateGetHeader=(e,t)=>{if(O(e))return p;const i=e.state;return 2&i.wrap?(i.head=t,t.done=!1,l):p},e.exports.inflateSetDictionary=(e,t)=>{const i=t.length;let r,o,s;return O(e)?p:(r=e.state,0!==r.wrap&&r.mode!==y?p:r.mode===y&&(o=1,o=n(o,t,i,0),o!==r.check)?f:(s=V(e,t,i,i),s?(r.mode=x,m):(r.havedict=1,l)))},e.exports.inflateInfo="pako inflate (from Nodeca project)"},40274(e){"use strict";const t=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),i=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),n=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),r=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);e.exports=(e,o,s,a,d,c,l,u)=>{const h=u.bits;let p,f,m,g,v,b,y=0,S=0,w=0,C=0,k=0,E=0,T=0,I=0,x=0,A=0,P=null;const O=new Uint16Array(16),_=new Uint16Array(16);let M,R,D,F=null;for(y=0;y<=15;y++)O[y]=0;for(S=0;S<a;S++)O[o[s+S]]++;for(k=h,C=15;C>=1&&0===O[C];C--);if(k>C&&(k=C),0===C)return d[c++]=20971520,d[c++]=20971520,u.bits=1,0;for(w=1;w<C&&0===O[w];w++);for(k<w&&(k=w),I=1,y=1;y<=15;y++)if(I<<=1,I-=O[y],I<0)return-1;if(I>0&&(0===e||1!==C))return-1;for(_[1]=0,y=1;y<15;y++)_[y+1]=_[y]+O[y];for(S=0;S<a;S++)0!==o[s+S]&&(l[_[o[s+S]]++]=S);if(0===e?(P=F=l,b=20):1===e?(P=t,F=i,b=257):(P=n,F=r,b=0),A=0,S=0,y=w,v=c,E=k,T=0,m=-1,x=1<<k,g=x-1,1===e&&x>852||2===e&&x>592)return 1;for(;;){M=y-T,l[S]+1<b?(R=0,D=l[S]):l[S]>=b?(R=F[l[S]-b],D=P[l[S]-b]):(R=96,D=0),p=1<<y-T,f=1<<E,w=f;do{f-=p,d[v+(A>>T)+f]=M<<24|R<<16|D}while(0!==f);for(p=1<<y-1;A&p;)p>>=1;if(0!==p?(A&=p-1,A+=p):A=0,S++,0===--O[y]){if(y===C)break;y=o[s+l[S]]}if(y>k&&(A&g)!==m){for(0===T&&(T=k),v+=w,E=y-T,I=1<<E;E+T<C&&(I-=O[E+T],!(I<=0));)E++,I<<=1;if(x+=1<<E,1===e&&x>852||2===e&&x>592)return 1;m=A&g,d[m]=k<<24|E<<16|v-c}}return 0!==A&&(d[v+A]=y-T<<24|64<<16),u.bits=k,0}},38990(e){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},85805(e){"use strict";function t(e){let t=e.length;for(;--t>=0;)e[t]=0}const i=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),n=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),r=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),o=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=new Array(576);t(s);const a=new Array(60);t(a);const d=new Array(512);t(d);const c=new Array(256);t(c);const l=new Array(29);t(l);const u=new Array(30);function h(e,t,i,n,r){this.static_tree=e,this.extra_bits=t,this.extra_base=i,this.elems=n,this.max_length=r,this.has_stree=e&&e.length}let p,f,m;function g(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}t(u);const v=e=>e<256?d[e]:d[256+(e>>>7)],b=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},y=(e,t,i)=>{e.bi_valid>16-i?(e.bi_buf|=t<<e.bi_valid&65535,b(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=i-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=i)},S=(e,t,i)=>{y(e,i[2*t],i[2*t+1])},w=(e,t)=>{let i=0;do{i|=1&e,e>>>=1,i<<=1}while(--t>0);return i>>>1},C=(e,t,i)=>{const n=new Array(16);let r,o,s=0;for(r=1;r<=15;r++)s=s+i[r-1]<<1,n[r]=s;for(o=0;o<=t;o++){let t=e[2*o+1];0!==t&&(e[2*o]=w(n[t]++,t))}},k=e=>{let t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},E=e=>{e.bi_valid>8?b(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},T=(e,t,i,n)=>{const r=2*t,o=2*i;return e[r]<e[o]||e[r]===e[o]&&n[t]<=n[i]},I=(e,t,i)=>{const n=e.heap[i];let r=i<<1;for(;
vendor: 4,385 bytes, line 2138
2138r<=e.heap_len&&(r<e.heap_len&&T(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!T(t,n,e.heap[r],e.depth));)e.heap[i]=e.heap[r],i=r,r<<=1;e.heap[i]=n},x=(e,t,r)=>{let o,s,a,d,h=0;if(0!==e.sym_next)do{o=255&e.pending_buf[e.sym_buf+h++],o+=(255&e.pending_buf[e.sym_buf+h++])<<8,s=e.pending_buf[e.sym_buf+h++],0===o?S(e,s,t):(a=c[s],S(e,a+256+1,t),d=i[a],0!==d&&(s-=l[a],y(e,s,d)),o--,a=v(o),S(e,a,r),d=n[a],0!==d&&(o-=u[a],y(e,o,d)))}while(h<e.sym_next);S(e,256,t)},A=(e,t)=>{const i=t.dyn_tree,n=t.stat_desc.static_tree,r=t.stat_desc.has_stree,o=t.stat_desc.elems;let s,a,d,c=-1;for(e.heap_len=0,e.heap_max=573,s=0;s<o;s++)0!==i[2*s]?(e.heap[++e.heap_len]=c=s,e.depth[s]=0):i[2*s+1]=0;for(;e.heap_len<2;)d=e.heap[++e.heap_len]=c<2?++c:0,i[2*d]=1,e.depth[d]=0,e.opt_len--,r&&(e.static_len-=n[2*d+1]);for(t.max_code=c,s=e.heap_len>>1;s>=1;s--)I(e,i,s);d=o;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],I(e,i,1),a=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=a,i[2*d]=i[2*s]+i[2*a],e.depth[d]=(e.depth[s]>=e.depth[a]?e.depth[s]:e.depth[a])+1,i[2*s+1]=i[2*a+1]=d,e.heap[1]=d++,I(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((e,t)=>{const i=t.dyn_tree,n=t.max_code,r=t.stat_desc.static_tree,o=t.stat_desc.has_stree,s=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,d=t.stat_desc.max_length;let c,l,u,h,p,f,m=0;for(h=0;h<=15;h++)e.bl_count[h]=0;for(i[2*e.heap[e.heap_max]+1]=0,c=e.heap_max+1;c<573;c++)l=e.heap[c],h=i[2*i[2*l+1]+1]+1,h>d&&(h=d,m++),i[2*l+1]=h,l>n||(e.bl_count[h]++,p=0,l>=a&&(p=s[l-a]),f=i[2*l],e.opt_len+=f*(h+p),o&&(e.static_len+=f*(r[2*l+1]+p)));if(0!==m){do{for(h=d-1;0===e.bl_count[h];)h--;e.bl_count[h]--,e.bl_count[h+1]+=2,e.bl_count[d]--,m-=2}while(m>0);for(h=d;0!==h;h--)for(l=e.bl_count[h];0!==l;)u=e.heap[--c],u>n||(i[2*u+1]!==h&&(e.opt_len+=(h-i[2*u+1])*i[2*u],i[2*u+1]=h),l--)}})(e,t),C(i,c,e.bl_count)},P=(e,t,i)=>{let n,r,o=-1,s=t[1],a=0,d=7,c=4;for(0===s&&(d=138,c=3),t[2*(i+1)+1]=65535,n=0;n<=i;n++)r=s,s=t[2*(n+1)+1],++a<d&&r===s||(a<c?e.bl_tree[2*r]+=a:0!==r?(r!==o&&e.bl_tree[2*r]++,e.bl_tree[32]++):a<=10?e.bl_tree[34]++:e.bl_tree[36]++,a=0,o=r,0===s?(d=138,c=3):r===s?(d=6,c=3):(d=7,c=4))},O=(e,t,i)=>{let n,r,o=-1,s=t[1],a=0,d=7,c=4;for(0===s&&(d=138,c=3),n=0;n<=i;n++)if(r=s,s=t[2*(n+1)+1],!(++a<d&&r===s)){if(a<c)do{S(e,r,e.bl_tree)}while(0!==--a);else 0!==r?(r!==o&&(S(e,r,e.bl_tree),a--),S(e,16,e.bl_tree),y(e,a-3,2)):a<=10?(S(e,17,e.bl_tree),y(e,a-3,3)):(S(e,18,e.bl_tree),y(e,a-11,7));a=0,o=r,0===s?(d=138,c=3):r===s?(d=6,c=3):(d=7,c=4)}};let _=!1;const M=(e,t,i,n)=>{y(e,0+(n?1:0),3),E(e),b(e,i),b(e,~i),i&&e.pending_buf.set(e.window.subarray(t,t+i),e.pending),e.pending+=i};e.exports._tr_init=e=>{_||((()=>{let e,t,o,g,v;const b=new Array(16);for(o=0,g=0;g<28;g++)for(l[g]=o,e=0;e<1<<i[g];e++)c[o++]=g;for(c[o-1]=g,v=0,g=0;g<16;g++)for(u[g]=v,e=0;e<1<<n[g];e++)d[v++]=g;for(v>>=7;g<30;g++)for(u[g]=v<<7,e=0;e<1<<n[g]-7;e++)d[256+v++]=g;for(t=0;t<=15;t++)b[t]=0;for(e=0;e<=143;)s[2*e+1]=8,e++,b[8]++;for(;e<=255;)s[2*e+1]=9,e++,b[9]++;for(;e<=279;)s[2*e+1]=7,e++,b[7]++;for(;e<=287;)s[2*e+1]=8,e++,b[8]++;for(C(s,287,b),e=0;e<30;e++)a[2*e+1]=5,a[2*e]=w(e,5);p=new h(s,i,257,286,15),f=new h(a,n,0,30,15),m=new h(new Array(0),r,0,19,7)})(),_=!0),e.l_desc=new g(e.dyn_ltree,p),e.d_desc=new g(e.dyn_dtree,f),e.bl_desc=new g(e.bl_tree,m),e.bi_buf=0,e.bi_valid=0,k(e)},e.exports._tr_stored_block=M,e.exports._tr_flush_block=(e,t,i,n)=>{let r,d,c=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,i=4093624447;for(t=0;t<=31;t++,i>>>=1)if(1&i&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),A(e,e.l_desc),A(e,e.d_desc),c=(e=>{let t;for(P(e,e.dyn_ltree,e.l_desc.max_code),P(e,e.dyn_dtree,e.d_desc.max_code),A(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*o[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),r=e.opt_len+3+7>>>3,d=e.static_len+3+7>>>3,d<=r&&(r=d)):r=d=i+5,i+4<=r&&-1!==t?M(e,t,i,n):4===e.strategy||d===r?(y(e,2+(n?1:0),3),x(e,s,a)):(y(e,4+(n?1:0),3),((e,t,i,n)=>{let r;for(y(e,t-257,5),y(e,i-1,5),y(e,n-4,4),r=0;r<n;r++)y(e,e.bl_tree[2*o[r]+1],3);O(e,e.dyn_ltree,t-1),O(e,e.dyn_dtree,i-1)})(e,e.l_desc.max_code+1,e.d_desc.max_code+1,c+1),x(e,e.dyn_ltree,e.dyn_dtree)),k(e),n&&E(e)},e.exports._tr_tally=(e,t,i)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>
21388,e.pending_buf[e.sym_buf+e.sym_next++]=i,0===t?e.dyn_ltree[2*i]++:(e.matches++,t--,e.dyn_ltree[2*(c[i]+256+1)]++,e.dyn_dtree[2*v(t)]++),e.sym_next===e.sym_end),e.exports._tr_align=e=>{y(e,2,3),S(e,256,s),(e=>{16===e.bi_valid?(b(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)})(e)}},19222(e){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},44110(e,t,i){"use strict";e.exports=i(37134)},37134(e,t,i){"use strict";var n=t;function r(){n.util._configure(),n.Writer._configure(n.BufferWriter),n.Reader._configure(n.BufferReader)}n.build="minimal",n.Writer=i(4301),n.BufferWriter=i(48422),n.Reader=i(31137),n.BufferReader=i(74010),n.util=i(45382),n.rpc=i(59691),n.roots=i(50381),n.configure=r,r()},31137(e,t,i){"use strict";e.exports=d;var n,r=i(45382),o=r.LongBits,s=r.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function d(e){this.buf=e,this.pos=0,this.len=e.length}var c,l="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new d(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new d(e);throw Error("illegal buffer")},u=function(){return r.Buffer?function(e){return(d.create=function(e){return r.Buffer.isBuffer(e)?new n(e):l(e)})(e)}:l};function h(){var e=new o(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function p(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new o(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}d.create=u(),d.prototype._slice=r.Array.prototype.subarray||r.Array.prototype.slice,d.prototype.uint32=(c=4294967295,function(){if(c=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return c;if(c=(c|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return c;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return c}),d.prototype.int32=function(){return 0|this.uint32()},d.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)},d.prototype.bool=function(){return 0!==this.uint32()},d.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},d.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|p(this.buf,this.pos+=4)},d.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=r.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},d.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=r.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},d.prototype.bytes=function(){var e=this.uint32(),t=this.pos,i=this.pos+e;if(i>this.len)throw a(this,e);if(this.pos+=e,Array.isArray(this.buf))return this.buf.slice(t,i);if(t===i){var n=r.Buffer;return n?n.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,t,i)},d.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},d.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},d.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},d._configure=function(e){n=e,d.create=u(),n._configure();var t=r.Long?"toLong":"toNumber";r.merge(d.prototype,{int64:function(){return h.call(this)[t](!1)},uint64:function(){return h.call(this)[t](!0)},sint64:function(){return h.call(this).zzDecode()[t](!1)},fixed64:function(){return f.call(this)[t](!0)},sfixed64:function(){return f.call(this)[t](!1)}})}},74010(e,t,i){"use strict";e.exports=o;var n=i(31137);(o.prototype=Object.create(n.prototype)).constructor=o;var r=i(45382);function o(e){n.call(this,e)}o._configure=function(){r.Buffer&&(o.prototype._slice=r.Buffer.prototype.slice)},o.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},o._configure()},50381(e){"use strict";e.exports={}},59691(e,t,i){"use strict";t.Service=i(44447)},44447(e,t,i){"use strict";e.exports=r;var n=i(45382);function r(e,t,i){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");n.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(i)}(r.prototype=Object.create(n.EventEmitter.prototype)).constructor=r,r.prototype.rpcCall=function e(t,i,r,o,s){if(!o)throw TypeError("request must be specified");var a=this;if(!s)return n.asPromise(e,a,t,i,r,o);if(a.rpcImpl)try{return a.rpcImpl(t,i[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(e,i){if(e)return a.emit("error",e,t),s(e);if(null!==i){if(!(i instanceof r))try{i=r[a.responseDelimited?"decodeDelimited":"decode"](i)}catch(e){return a.emit("error",e,t),s(e)}return a.emit("data",i,t),s(null,i)}a.end(!0)})}catch(e){return a.emit("error",e,t),void setTimeout(function(){s(e)},0)}else setTimeout(function(){s(Error("already ended"))},0)},r.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit
vendor: 8,158 bytes, line 2138
2138("end").off()),this}},35003(e,t,i){"use strict";e.exports=r;var n=i(45382);function r(e,t){this.lo=e>>>0,this.hi=t>>>0}var o=r.zero=new r(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var s=r.zeroHash="\0\0\0\0\0\0\0\0";r.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var i=e>>>0,n=(e-i)/4294967296>>>0;return t&&(n=~n>>>0,i=~i>>>0,++i>4294967295&&(i=0,++n>4294967295&&(n=0))),new r(i,n)},r.from=function(e){if("number"==typeof e)return r.fromNumber(e);if(n.isString(e)){if(!n.Long)return r.fromNumber(parseInt(e,10));e=n.Long.fromString(e)}return e.low||e.high?new r(e.low>>>0,e.high>>>0):o},r.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,i=~this.hi>>>0;return t||(i=i+1>>>0),-(t+4294967296*i)}return this.lo+4294967296*this.hi},r.prototype.toLong=function(e){return n.Long?new n.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;r.fromHash=function(e){return e===s?o:new r((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},r.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},r.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},r.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},r.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,i=this.hi>>>24;return 0===i?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:i<128?9:10}},45382(e,t,i){"use strict";var n=t;function r(e,t,i){for(var n=Object.keys(t),r=0;r<n.length;++r)void 0!==e[n[r]]&&i||(e[n[r]]=t[n[r]]);return e}function o(e){function t(e,i){if(!(this instanceof t))return new t(e,i);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),i&&r(this,i)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}n.asPromise=i(86233),n.base64=i(1979),n.EventEmitter=i(23474),n.float=i(45750),n.inquire=i(61925),n.utf8=i(82971),n.pool=i(44226),n.LongBits=i(35003),n.isNode=Boolean(void 0!==i.g&&i.g&&i.g.process&&i.g.process.versions&&i.g.process.versions.node),n.global=n.isNode&&i.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,n.emptyArray=Object.freeze?Object.freeze([]):[],n.emptyObject=Object.freeze?Object.freeze({}):{},n.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},n.isString=function(e){return"string"==typeof e||e instanceof String},n.isObject=function(e){return e&&"object"==typeof e},n.isset=n.isSet=function(e,t){var i=e[t];return!(null==i||!e.hasOwnProperty(t))&&("object"!=typeof i||(Array.isArray(i)?i.length:Object.keys(i).length)>0)},n.Buffer=function(){try{var e=n.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),n._Buffer_from=null,n._Buffer_allocUnsafe=null,n.newBuffer=function(e){return"number"==typeof e?n.Buffer?n._Buffer_allocUnsafe(e):new n.Array(e):n.Buffer?n._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},n.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,n.Long=n.global.dcodeIO&&n.global.dcodeIO.Long||n.global.Long||n.inquire("long"),n.key2Re=/^true|false|0|1$/,n.key32Re=/^-?(?:0|[1-9][0-9]*)$/,n.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,n.longToHash=function(e){return e?n.LongBits.from(e).toHash():n.LongBits.zeroHash},n.longFromHash=function(e,t){var i=n.LongBits.fromHash(e);return n.Long?n.Long.fromBits(i.lo,i.hi,t):i.toNumber(Boolean(t))},n.merge=r,n.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},n.newError=o,n.ProtocolError=o("ProtocolError"),n.oneOfGetter=function(e){for(var t={},i=0;i<e.length;++i)t[e[i]]=1;return function(){for(var e=Object.keys(this),i=e.length-1;i>-1;--i)if(1===t[e[i]]&&void 0!==this[e[i]]&&null!==this[e[i]])return e[i]}},n.oneOfSetter=function(e){return function(t){for(var i=0;i<e.length;++i)e[i]!==t&&delete this[e[i]]}},n.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},n._configure=function(){var e=n.Buffer;e?(n._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,i){return new e(t,i)},n._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):n._Buffer_from=n._Buffer_allocUnsafe=null}},4301(e,t,i){"use strict";e.exports=u;var n,r=i(45382),o=r.LongBits,s=r.base64,a=r.utf8;function d(e,t,i){this.fn=e,this.len=t,this.next=void 0,this.val=i}function c(){}function l(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function u(){this.len=0,this.head=new d(c,0,0),this.tail=this.head,this.states=null}var h=function(){return r.Buffer?function(){return(u.create=function(){return new n})()}:function(){return new u}};function p(e,t,i){t[i]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,i){for(;e.hi;)t[i++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[i++]=127&e.lo|128,e.lo=e.lo>>>7;t[i++]=e.lo}function g(e,t,i){t[i]=255&e,t[i+1]=e>>>8&255,t[i+2]=e>>>16&255,t[i+3]=e>>>24}u.create=h(),u.alloc=function(e){return new r.Array(e)},r.Array!==Array&&(u.alloc=r.pool(u.alloc,r.Array.prototype.subarray)),u.prototype._push=function(e,t,i){return this.tail=this.tail.next=new d(e,t,i),this.len+=t,this},f.prototype=Object.create(d.prototype),f.prototype.fn=function(e,t,i){for(;e>127;)t[i++]=127&e|128,e>>>=7;t[i]=e},u.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},u.prototype.int32=function(e){return e<0?this._push(m,10,o.fromNumber(e)):this.uint32(e)},u.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},u.prototype.uint64=function(e){var t=o.from(e);return this._push(m,t.length(),t)},u.prototype.int64=u.prototype.uint64,u.prototype.sint64=function(e){var t=o.from(e).zzEncode();return this._push(m,t.length(),t)},u.prototype.bool=function(e){return this._push(p,1,e?1:0)},u.prototype.fixed32=function(e){return this._push(g,4,e>>>0)},u.prototype.sfixed32=u.prototype.fixed32,u.prototype.fixed64=function(e){var t=o.from(e);return this._push(g,4,t.lo)._push(g,4,t.hi)},u.prototype.sfixed64=u.prototype.fixed64,u.prototype.float=function(e){return this._push(r.float.writeFloatLE,4,e)},u.prototype.double=function(e){return this._push(r.float.writeDoubleLE,8,e)};var v=r.Array.prototype.set?function(e,t,i){t.set(e,i)}:function(e,t,i){for(var n=0;n<e.length;++n)t[i+n]=e[n]};u.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(p,1,0);if(r.isString(e)){var i=u.alloc(t=s.length(e));s.decode(e,i,0),e=i}return this.uint32(t)._push(v,t,e)},u.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(p,1,0)},u.prototype.fork=function(){return this.states=new l(this),this.head=this.tail=new d(c,0,0),this.len=0,this},u.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new d(c,0,0),this.len=0),this},u.prototype.ldelim=function(){var e=this.head,t=this.tail,i=this.len;return this.reset().uint32(i),i&&(this.tail.next=e.next,this.tail=t,this.len+=i),this},u.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),i=0;e;)e.fn(e.val,t,i),i+=e.len,e=e.next;return t},u._configure=function(e){n=e,u.create=h(),n._configure()}},48422(e,t,i){"use strict";e.exports=o;var n=i(4301);(o.prototype=Object.create(n.prototype)).constructor=o;var r=i(45382);
2138function o(){n.call(this)}function s(e,t,i){e.length<40?r.utf8.write(e,t,i):t.utf8Write?t.utf8Write(e,i):t.write(e,i)}o._configure=function(){o.alloc=r._Buffer_allocUnsafe,o.writeBytesBuffer=r.Buffer&&r.Buffer.prototype instanceof Uint8Array&&"set"===r.Buffer.prototype.set.name?function(e,t,i){t.set(e,i)}:function(e,t,i){if(e.copy)e.copy(t,i,0,e.length);else for(var n=0;n<e.length;)t[i++]=e[n++]}},o.prototype.bytes=function(e){r.isString(e)&&(e=r._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(o.writeBytesBuffer,t,e),this},o.prototype.string=function(e){var t=r.Buffer.byteLength(e);return this.uint32(t),t&&this._push(s,t,e),this},o._configure()},97383(e){var t="undefined"!=typeof Element,i="function"==typeof Map,n="function"==typeof Set,r="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,s){if(e===s)return!0;if(e&&s&&"object"==typeof e&&"object"==typeof s){if(e.constructor!==s.constructor)return!1;var a,d,c,l;if(Array.isArray(e)){if((a=e.length)!=s.length)return!1;for(d=a;0!==d--;)if(!o(e[d],s[d]))return!1;return!0}if(i&&e instanceof Map&&s instanceof Map){if(e.size!==s.size)return!1;for(l=e.entries();!(d=l.next()).done;)if(!s.has(d.value[0]))return!1;for(l=e.entries();!(d=l.next()).done;)if(!o(d.value[1],s.get(d.value[0])))return!1;return!0}if(n&&e instanceof Set&&s instanceof Set){if(e.size!==s.size)return!1;for(l=e.entries();!(d=l.next()).done;)if(!s.has(d.value[0]))return!1;return!0}if(r&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(s)){if((a=e.length)!=s.length)return!1;for(d=a;0!==d--;)if(e[d]!==s[d])return!1;return!0}if(e.constructor===RegExp)return e.source===s.source&&e.flags===s.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof s.valueOf)return e.valueOf()===s.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof s.toString)return e.toString()===s.toString();if((a=(c=Object.keys(e)).length)!==Object.keys(s).length)return!1;for(d=a;0!==d--;)if(!Object.prototype.hasOwnProperty.call(s,c[d]))return!1;if(t&&e instanceof Element)return!1;for(d=a;0!==d--;)if(("_owner"!==c[d]&&"__v"!==c[d]&&"__o"!==c[d]||!e.$$typeof)&&!o(e[c[d]],s[c[d]]))return!1;return!0}return e!=e&&s!=s}e.exports=function(e,t){try{return o(e,t)}catch(e){if((e.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw e}}},76582(e,t,i){"use strict";i.d(t,{E:()=>u});var n=i(63696),r=i(78325),o=i(9192),s=i(97383),a=i.n(s),d=function(e){return e.reduce(function(e,t){var i=t[0],n=t[1];return e[i]=n,e},{})},c="undefined"!=typeof window&&window.document&&window.document.createElement?n.useLayoutEffect:n.useEffect,l=[],u=function(e,t,i){void 0===i&&(i={});var s=n.useRef(null),u={onFirstUpdate:i.onFirstUpdate,placement:i.placement||"bottom",strategy:i.strategy||"absolute",modifiers:i.modifiers||l},h=n.useState({styles:{popper:{position:u.strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),p=h[0],f=h[1],m=n.useMemo(function(){return{name:"updateState",enabled:!0,phase:"write",fn:function(e){var t=e.state,i=Object.keys(t.elements);r.flushSync(function(){f({styles:d(i.map(function(e){return[e,t.styles[e]||{}]})),attributes:d(i.map(function(e){return[e,t.attributes[e]]}))})})},requires:["computeStyles"]}},[]),g=n.useMemo(function(){var e={onFirstUpdate:u.onFirstUpdate,placement:u.placement,strategy:u.strategy,modifiers:[].concat(u.modifiers,[m,{name:"applyStyles",enabled:!1}])};return a()(s.current,e)?s.current||e:(s.current=e,e)},[u.onFirstUpdate,u.placement,u.strategy,u.modifiers,m]),v=n.useRef();return c(function(){v.current&&v.current.setOptions(g)},[g]),c(function(){if(null!=e&&null!=t){var n=(i.createPopper||o.n4)(e,t,g);return v.current=n,function(){n.destroy(),v.current=null}}},[e,t,i.createPopper]),{state:v.current?v.current.state:null,styles:p.styles,attributes:p.attributes,update:v.current?v.current.update:null,forceUpdate:v.current?v.current.forceUpdate:null}}},3326(e,t){"use strict";var i=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(e,t,n){var r=null;if(void 0!==n&&(r=""+n),void 0!==t.key&&(r=""+t.key),"key"in t)for(var o in n={}
2138,t)"key"!==o&&(n[o]=t[o]);else n=t;return t=n.ref,{$$typeof:i,type:e,key:r,ref:void 0!==t?t:null,props:n}}t.Fragment=n,t.jsx=r,t.jsxs=r},62540(e,t,i){"use strict";e.exports=i(3326)},6660(e,t,i){var n;!function(r,o){"use strict";var s="function",a="undefined",d="object",c="string",l="major",u="model",h="name",p="type",f="vendor",m="version",g="architecture",v="console",b="mobile",y="tablet",S="smarttv",w="wearable",C="embedded",k="Amazon",E="Apple",T="ASUS",I="BlackBerry",x="Browser",A="Chrome",P="Firefox",O="Google",_="Honor",M="Huawei",R="LG",D="Microsoft",F="Motorola",L="Nvidia",N="OnePlus",B="Opera",V="OPPO",U="Samsung",j="Sharp",z="Sony",$="Xiaomi",H="Zebra",W="Facebook",q="Chromium OS",K="Mac OS",G=" Browser",J=function(e){for(var t={},i=0;i<e.length;i++)t[e[i].toUpperCase()]=e[i];return t},Q=function(e,t){return typeof e===c&&-1!==X(t).indexOf(X(e))},X=function(e){return e.toLowerCase()},Z=function(e,t){if(typeof e===c)return e=e.replace(/^\s\s*/,""),typeof t===a?e:e.substring(0,500)},Y=function(e,t){for(var i,n,r,a,c,l,u=0;u<t.length&&!c;){var h=t[u],p=t[u+1];for(i=n=0;i<h.length&&!c&&h[i];)if(c=h[i++].exec(e))for(r=0;r<p.length;r++)l=c[++n],typeof(a=p[r])===d&&a.length>0?2===a.length?typeof a[1]==s?this[a[0]]=a[1].call(this,l):this[a[0]]=a[1]:3===a.length?typeof a[1]!==s||a[1].exec&&a[1].test?this[a[0]]=l?l.replace(a[1],a[2]):o:this[a[0]]=l?a[1].call(this,l,a[2]):o:4===a.length&&(this[a[0]]=l?a[3].call(this,l.replace(a[1],a[2])):o):this[a]=l||o;u+=2}},ee=function(e,t){for(var i in t)if(typeof t[i]===d&&t[i].length>0){for(var n=0;n<t[i].length;n++)if(Q(t[i][n],e))return"?"===i?o:i}else if(Q(t[i],e))return"?"===i?o:i;return t.hasOwnProperty("*")?t["*"]:e},te={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},ie={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[m,[h,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[m,[h,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[h,m],[/opios[\/ ]+([\w\.]+)/i],[m,[h,B+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[m,[h,B+" GX"]],[/\bopr\/([\w\.]+)/i],[m,[h,B]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[m,[h,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[m,[h,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[h,m],[/quark(?:pc)?\/([-\w\.]+)/i],[m,[h,"Quark"]],[/\bddg\/([\w\.]+)/i],[m,[h,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[m,[h,"UC"+x]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[m,[h,"WeChat"]],[/konqueror\/([\w\.]+)/i],[m,[h,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[m,[h,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[m,[h,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[m,[h,"Smart Lenovo "+x]],[/(avast|avg)\/([\w\.]+)/i],[[h,/(.+)/,"$1 Secure "+x],m],[/\bfocus\/([\w\.]+)/i],[m,[h,P+" Focus"]],[/\bopt\/([\w\.]+)/i],[m,[h,B+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[m,[h,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[m,[h,"Dolphin"]],[/coast\/([\w\.]+)/i],[m,[h,B+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[m,[h,"MIUI"+G]],[/fxios\/([\w\.-]+)/i],[m,[h,P]],[/\bqihoobrowser\/?([\w\.]*)/i],[m,[h,"360"]],[/\b(qq)\/([\w\.]+)/i],[[h,/(.+)/,"$1Browser"],m],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[h,/(.+)/,"$1"+G],m],[/samsungbrowser\/([\w\.]+)/i],[m,[h,U+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[m,[h,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[h,"Sogou Mobile"],m],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[h,m],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[h],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[m,h],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[h,W],m],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[h,m],[/\bgsa\/([\w\.]+) .*safari\//i],[m,[h,"GSA"]],[/musical_ly(?:.
2138+app_?version\/|_)([\w\.]+)/i],[m,[h,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[m,[h,A+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[h,A+" WebView"],m],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[m,[h,"Android "+x]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[h,m],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[m,[h,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[m,h],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[h,[m,ee,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[h,m],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[h,"Netscape"],m],[/(wolvic|librewolf)\/([\w\.]+)/i],[h,m],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[m,[h,P+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[h,[m,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[h,[m,/master.|lts./,""]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[g,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[g,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[g,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[g,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[g,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[g,/ower/,"",X]],[/ sun4\w[;\)]/i],[[g,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[g,X]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[u,[f,U],[p,y]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[u,[f,U],[p,b]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[u,[f,E],[p,b]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[u,[f,E],[p,y]],[/(macintosh);/i],[u,[f,E]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[u,[f,j],[p,b]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[u,[f,_],[p,y]],[/honor([-\w ]+)[;\)]/i],[u,[f,_],[p,b]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[u,[f,M],[p,y]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[u,[f,M],[p,b]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[u,/_/g," "],[f,$],[p,y]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[u,/_/g," "],[f,$],[p,b]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[u,[f,V],[p,b]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[u,[f,ee,{OnePlus:["304","403","203"],"*":V}],[p,y]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[u,[f,"Vivo"],[p,b]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[u,[f,"Realme"],[p,b]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[u,[f,F],[p,b]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[u,[f,F],[p,y]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[u,[f,R],[p,y]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i,/\blg-?([\d\w]+) bui/i],[u,[f,R],[p,b]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}
2138(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[u,[f,"Lenovo"],[p,y]],[/(nokia) (t[12][01])/i],[f,u,[p,y]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[u,/_/g," "],[p,b],[f,"Nokia"]],[/(pixel (c|tablet))\b/i],[u,[f,O],[p,y]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[u,[f,O],[p,b]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[u,[f,z],[p,b]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[u,"Xperia Tablet"],[f,z],[p,y]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[u,[f,N],[p,b]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[u,[f,k],[p,y]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[u,/(.+)/g,"Fire Phone $1"],[f,k],[p,b]],[/(playbook);[-\w\),; ]+(rim)/i],[u,f,[p,y]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[u,[f,I],[p,b]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[u,[f,T],[p,y]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[u,[f,T],[p,b]],[/(nexus 9)/i],[u,[f,"HTC"],[p,y]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[f,[u,/_/g," "],[p,b]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[u,[f,"TCL"],[p,y]],[/(itel) ((\w+))/i],[[f,X],u,[p,ee,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[u,[f,"Acer"],[p,y]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[u,[f,"Meizu"],[p,b]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[u,[f,"Ulefone"],[p,b]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[u,[f,"Energizer"],[p,b]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[u,[f,"Cat"],[p,b]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[u,[f,"Smartfren"],[p,b]],[/droid.+; (a(?:015|06[35]|142p?))/i],[u,[f,"Nothing"],[p,b]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[u,[f,"Archos"],[p,y]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[u,[f,"Archos"],[p,b]],[/(imo) (tab \w+)/i,/(infinix) (x1101b?)/i],[f,u,[p,y]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (hmd|imo) ([\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i,/(oppo) ?([\w ]+) bui/i],[f,u,[p,b]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[f,u,[p,y]],[/(surface duo)/i],[u,[f,D],[p,y]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[u,[f,"Fairphone"],[p,b]],[/(u304aa)/i],[u,[f,"AT&T"],[p,b]],[/\bsie-(\w*)/i],[u,[f,"Siemens"],[p,b]],[/\b(rct\w+) b/i],[u,[f,"RCA"],[p,y]],[/\b(venue[\d ]{2,7}) b/i],[u,[f,"Dell"],[p,y]],[/\b(q(?:mv|ta)\w+) b/i],[u,[f,"Verizon"],[p,y]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[u,[f,"Barnes & Noble"],[p,y]],[/\b(tm\d{3}\w+) b/i],[u,[f,"NuVision"],[p,y]],[/\b(k88) b/i],[u,[f,"ZTE"],[p,y]],[/\b(nx\d{3}j) b/i],[u,[f,"ZTE"],[p,b]],[/\b(gen\d{3}) b.+49h/i],[u,[f,"Swiss"],[p,b]],[/\b(zur\d{3}) b/i],[u,[f,"Swiss"],[p,y]],[/\b((zeki)?tb.*\b) b/i],[u,[f,"Zeki"],[p,y]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[f,"Dragon Touch"],u,[p,y]],[/\b(ns-?\w{0,9}) b/i],[u,[f,"Insignia"],[p,y]],[/\b((nxa|next)-?\w{0,9}) b/i],[u,[f,"NextBook"],[p,y]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[f,"Voice"],u,[p,b]],[/\b(lvtel\-)?(v1[12]) b/i],[[f,"LvTel"],u,[p,b]],[/\b(ph-1) /i],[u,[f,"Essential"],[p,b]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[u,[f,"Envizen"],[p,y]],[/\b(trio[-\w\. ]+) b/i],[u,[f,"MachSpeed"],[p,y]],[/\btu_(1491) b/i],[u,[f,"Rotor"],[p,y]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[u,[f,L],[p,y]],[/(sprint) (\w+)/i],[f,u,[p,b]],[/(kin\.[onetw]{3})/i],[[u,/\./g," "],[f,D],[p,b]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[u,[f,H],[p,y]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[u,[f,H],[p,b]],[/smart-tv.+(samsung)/i],[f,[p,S]],[/hbbtv.+maple;(\d+)/i],[[u,/^/,"SmartTV"],[f,U],[p,S]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[f,R],[p,S]],[/(apple) ?tv/i],[f,[u,E+" TV"],[p,S]],[/crkey/i],[[u,A+"cast"],[f,O],[p,S]],[/droid.+aft(\w+)( bui|\))/i],[u,[f,k],[p,S]],[/(shield \w+ tv)/i],[u,[f,L],[p,S]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[u,[f,j],[p,S]],[/(bravia[\w ]+)( bui|\))/i],[u,[f,z],[p,S]],[/(mi(tv|box)-?\w+) bui/i],[u,[f,$],[p,S]],[/Hbbtv.*(technisat) (.*);/i],[f,u,[p,S]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[f,Z],[u,Z],[p,S]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[u,[p,S]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[p,S]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[f,u,[p,v]],[/droid.+; (shield)( bui|\))/i],[u,[f,L],[p,v]],[/(playstation \w+)/i],[u,[f,z],[p,v]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[u,[f,D],[p,v]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[u,[f,U],[p,w]],[/((pebble))app/i,/(asu
vendor: 4,189 bytes, line 2138
2138s|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[f,u,[p,w]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[u,[f,V],[p,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[u,[f,E],[p,w]],[/(opwwe\d{3})/i],[u,[f,N],[p,w]],[/(moto 360)/i],[u,[f,F],[p,w]],[/(smartwatch 3)/i],[u,[f,z],[p,w]],[/(g watch r)/i],[u,[f,R],[p,w]],[/droid.+; (wt63?0{2,3})\)/i],[u,[f,H],[p,w]],[/droid.+; (glass) \d/i],[u,[f,O],[p,w]],[/(pico) (4|neo3(?: link|pro)?)/i],[f,u,[p,w]],[/; (quest( \d| pro)?)/i],[u,[f,W],[p,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[f,[p,C]],[/(aeobc)\b/i],[u,[f,k],[p,C]],[/(homepod).+mac os/i],[u,[f,E],[p,C]],[/windows iot/i],[[p,C]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[u,[p,b]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[u,[p,y]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[p,y]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[p,b]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[u,[f,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[m,[h,"EdgeHTML"]],[/(arkweb)\/([\w\.]+)/i],[h,m],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[m,[h,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[h,m],[/ladybird\//i],[[h,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[m,h]],os:[[/microsoft (windows) (vista|xp)/i],[h,m],[/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i],[h,[m,ee,te]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[m,ee,te],[h,"Windows"]],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[m,/_/g,"."],[h,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[h,K],[m,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[m,h],[/(ubuntu) ([\w\.]+) like android/i],[[h,/(.+)/,"$1 Touch"],m],[/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i],[h,m],[/\(bb(10);/i],[m,[h,I]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[m,[h,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[m,[h,P+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[m,[h,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[m,[h,"watchOS"]],[/crkey\/([\d\.]+)/i],[m,[h,A+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[h,q],m],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[h,m],[/(sunos) ?([\w\.\d]*)/i],[[h,"Solaris"],m],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[h,m]]},ne=function(e,t){if(typeof e===d&&(t=e,e=o),!(this instanceof ne))return new ne(e,t).getResult();var i=typeof r!==a&&r.navigator?r.navigator:o,n=e||(i&&i.userAgent?i.userAgent:""),v=i&&i.userAgentData?i.userAgentData:o,S=t?function(e,t){var i={};for(var n in e)t[n]&&t[n].length%2==0?i[n]=t[n].concat(e[n]):i[n]=e[n];return i}(ie,t):ie,w=i&&i.userAgent==n;return this.getBrowser=function(){var e,t={};return t[h]=o,t[m]=o,Y.call(t,n,S.browser),t[l]=typeof(e=t[m])===c?e.replace(/[^\d\.]/g,"").split(".")[0]:o,w&&i&&i.brave&&typeof i.brave.isBrave==s&&(t[h]="Brave"),t},this.getCPU=function(){var e={};return e[g]=o,Y.call(e,n,S.cpu),e},this.getDevice=function(){var e={};
2138return e[f]=o,e[u]=o,e[p]=o,Y.call(e,n,S.device),w&&!e[p]&&v&&v.mobile&&(e[p]=b),w&&"Macintosh"==e[u]&&i&&typeof i.standalone!==a&&i.maxTouchPoints&&i.maxTouchPoints>2&&(e[u]="iPad",e[p]=y),e},this.getEngine=function(){var e={};return e[h]=o,e[m]=o,Y.call(e,n,S.engine),e},this.getOS=function(){var e={};return e[h]=o,e[m]=o,Y.call(e,n,S.os),w&&!e[h]&&v&&v.platform&&"Unknown"!=v.platform&&(e[h]=v.platform.replace(/chrome os/i,q).replace(/macos/i,K)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return n},this.setUA=function(e){return n=typeof e===c&&e.length>500?Z(e,500):e,this},this.setUA(n),this};ne.VERSION="1.0.41",ne.BROWSER=J([h,m,l]),ne.CPU=J([g]),ne.DEVICE=J([u,f,p,v,b,S,y,w,C]),ne.ENGINE=ne.OS=J([h,m]),typeof t!==a?(e.exports&&(t=e.exports=ne),t.UAParser=ne):i.amdO?(n=function(){return ne}.call(t,i,t,e))===o||(e.exports=n):typeof r!==a&&(r.UAParser=ne);var re=typeof r!==a&&(r.jQuery||r.Zepto);if(re&&!re.ua){var oe=new ne;re.ua=oe.getResult(),re.ua.get=function(){return oe.getUA()},re.ua.set=function(e){oe.setUA(e);var t=oe.getResult();for(var i in t)re.ua[i]=t[i]}}}("object"==typeof window?window:this)},95391(e,t,i){"use strict";var n;i.d(t,{A:()=>l});var r=new Uint8Array(16);function o(){if(!n&&!(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(r)}const s=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var a=[],d=0;d<256;++d)a.push((d+256).toString(16).substr(1));const c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&s.test(e)}(i))throw TypeError("Stringified UUID is invalid");return i},l=function(e,t,i){var n=(e=e||{}).random||(e.rng||o)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){i=i||0;for(var r=0;r<16;++r)t[i+r]=n[r];return t}return c(n)}},35879(e,t,i){"use strict";i.d(t,{tH:()=>s});var n=i(63696);const r=(0,n.createContext)(null),o={didCatch:!1,error:null};class s extends n.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=o}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(...e){const{error:t}=this.state;null!==t&&(this.props.onReset?.({args:e,reason:"imperative-api"}),this.setState(o))}componentDidCatch(e,t){this.props.onError?.(e,t)}componentDidUpdate(e,t){const{didCatch:i}=this.state,{resetKeys:n}=this.props;i&&null!==t.error&&function(e=[],t=[]){return e.length!==t.length||e.some((e,i)=>!Object.is(e,t[i]))}(e.resetKeys,n)&&(this.props.onReset?.({next:n,prev:e.resetKeys,reason:"keys"}),this.setState(o))}render(){const{children:e,fallbackRender:t,FallbackComponent:i,fallback:o}=this.props,{didCatch:s,error:a}=this.state;let d=e;if(s){const e={error:a,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof t)d=t(e);else if(i)d=(0,n.createElement)(i,e);else{if(void 0===o)throw a;d=o}}return(0,n.createElement)(r.Provider,{value:{didCatch:s,error:a,resetErrorBoundary:this.resetErrorBoundary}},d)}}}}]);
2139//# sourceMappingURL=7317-93d04de95900ae5d3cc4.js.map

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