@rongcloud/plugin-rtc 5.7.5-alpha.3 → 5.7.5-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@rongcloud/engine"),t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)};function r(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}var n,i,o,a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},a.apply(this,arguments)};function s(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))}function c(e,t){var r,n,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(o=0)),o;)try{if(r=1,n&&(i=2&s[0]?n.return:s[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;switch(n=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],n=0}finally{r=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}function u(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.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 l(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}function d(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError,exports.RCRTCCode=void 0,(n=exports.RCRTCCode||(exports.RCRTCCode={}))[n.SUCCESS=1e4]="SUCCESS",n[n.PB_ERROR=40001]="PB_ERROR",n[n.SIGNAL_DISCONNECTED=5e4]="SIGNAL_DISCONNECTED",n[n.PARAMS_ERROR=50001]="PARAMS_ERROR",n[n.REPERT_JOIN_ROOM=50002]="REPERT_JOIN_ROOM",n[n.NOT_IN_ROOM=50003]="NOT_IN_ROOM",n[n.SERVICE_INVALID=50004]="SERVICE_INVALID",n[n.RTC_TOKEN_INVALID=50006]="RTC_TOKEN_INVALID",n[n.SIGNAL_ERROR=53001]="SIGNAL_ERROR",n[n.CREATE_OFFER_FAILED=53003]="CREATE_OFFER_FAILED",n[n.REQUEST_FAILED=53004]="REQUEST_FAILED",n[n.MCU_SERVER_NOT_FOUND=53005]="MCU_SERVER_NOT_FOUND",n[n.BROADCAST_SUB_LIST_NOT_EMPTY=53007]="BROADCAST_SUB_LIST_NOT_EMPTY",n[n.ROOM_HAS_BEEN_DESTROYED=53008]="ROOM_HAS_BEEN_DESTROYED",n[n.NOT_OPEN_VIDEO_AUDIO_SERVER=53009]="NOT_OPEN_VIDEO_AUDIO_SERVER",n[n.GET_USER_MEDIA_FAILED=53010]="GET_USER_MEDIA_FAILED",n[n.GET_DISPLAY_MEDIA_FAILED=53011]="GET_DISPLAY_MEDIA_FAILED",n[n.BROWSER_PERMISSION_DENIED=53012]="BROWSER_PERMISSION_DENIED",n[n.CREATE_CUSTOM_TRACK_FAILED=53013]="CREATE_CUSTOM_TRACK_FAILED",n[n.INVALID_TAGS=53014]="INVALID_TAGS",n[n.INVALID_USER_ID=53015]="INVALID_USER_ID",n[n.CREATE_FILE_TRACK_FAILED=53016]="CREATE_FILE_TRACK_FAILED",n[n.INVALID_FILE_INSTANCE=53017]="INVALID_FILE_INSTANCE",n[n.SET_REMOTE_DESCRIPTION_FAILED=53018]="SET_REMOTE_DESCRIPTION_FAILED",n[n.BROWSER_NOT_SUPPORT=53019]="BROWSER_NOT_SUPPORT",n[n.TRACK_NOT_READY=53020]="TRACK_NOT_READY",n[n.VIDEO_TRACK_MISS_MEDIA_ELEMENT=53021]="VIDEO_TRACK_MISS_MEDIA_ELEMENT",n[n.TRACK_PLAY_ERROR=53022]="TRACK_PLAY_ERROR",n[n.SIGNAL_AUDIENCE_JOIN_ROOM_FAILED=53023]="SIGNAL_AUDIENCE_JOIN_ROOM_FAILED",n[n.SIGNAL_ROOM_CHANGE_IDENTITY_FAILED=53024]="SIGNAL_ROOM_CHANGE_IDENTITY_FAILED",n[n.PACKAGE_ENVIRONMENT_ERROR=53025]="PACKAGE_ENVIRONMENT_ERROR",n[n.PUBLISH_TRACK_LIMIT_EXCEEDED=53026]="PUBLISH_TRACK_LIMIT_EXCEEDED",n[n.CDN_RESOURCE_IS_EMPTY=53027]="CDN_RESOURCE_IS_EMPTY",n[n.SIGNAL_JOIN_RTC_ROOM_REFUSED=53028]="SIGNAL_JOIN_RTC_ROOM_REFUSED",n[n.NO_PERMISSION_TO_USE_REQUESTED_DEVICE=53029]="NO_PERMISSION_TO_USE_REQUESTED_DEVICE",n[n.THE_FUNCTION_IS_DISABLED_IN_PKROOM=53030]="THE_FUNCTION_IS_DISABLED_IN_PKROOM",n[n.SOME_TRACKS_PUBLISH_FAILED=53031]="SOME_TRACKS_PUBLISH_FAILED",n[n.MAC_IN_ELECTRON_NOT_SUPPORT_SCREEN_SHARE_WITH_AUDIO=53032]="MAC_IN_ELECTRON_NOT_SUPPORT_SCREEN_SHARE_WITH_AUDIO",n[n.JWT_TIME_OUT=1004]="JWT_TIME_OUT",n[n.SYSTEM_PERMISSION_DENIED=53033]="SYSTEM_PERMISSION_DENIED",n[n.PUBLISH_TRACKS_IS_INVALID=53034]="PUBLISH_TRACKS_IS_INVALID",n[n.TRACK_READYSTATE_IS_ENDED=53035]="TRACK_READYSTATE_IS_ENDED",n[n.APPLY_3A_NOISE_WORKLET_BEFORE_PUBLISH=53036]="APPLY_3A_NOISE_WORKLET_BEFORE_PUBLISH",n[n.LOAD_3A_MODULE_FAILED=53037]="LOAD_3A_MODULE_FAILED",function(e){e.L_INDEX_INSTALL_RTC_PLUGIN_O="L-index_install_rtc_plugin-O",e.L_RTC_CLIENT_IM_CONNECTION_STATE_S="L-rtc_client_im_connection_state-S",e.L_RTC_CLIENT_MESSAGE_O="L-rtc_client_message-O",e.L_RTC_CLIENT_DESTROY_S="L-rtc_client_destroy-S",e.L_RTC_CLIENT_JOIN_RTC_ROOM_T="L-rtc_client_join_rtc_room-T",e.L_RTC_CLIENT_JOIN_RTC_ROOM_O="L-rtc_client_join_rtc_room-O",e.L_RTC_CLIENT_JOIN_RTC_ROOM_R="L-rtc_client_join_rtc_room-R",e.L_RTC_CLIENT_JOIN_LIVING_ROOM_T="L-rtc_client_join_living_room-T",e.L_RTC_CLIENT_JOIN_LIVING_ROOM_R="L-rtc_client_join_living_room-R",e.L_RTC_CLIENT_GET_AUDIENCE_CLIENT_O="L-rtc_client_get_audience_client-O",e.L_RTC_CLIENT_LEAVE_ROOM_T="L-rtc_client_leave_room-T",e.L_RTC_CLIENT_LEAVE_ROOM_R="L-rtc_client_leave_room-R",e.L_RTC_CLIENT_CREATE_MICROPHONE_AUDIO_TRACK_O="L-rtc_client_create_microphone_audio_track-O",e.L_RTC_CLIENT_CREATE_CAMERA_VIDEO_TRACK_O="L-rtc_client_create_camera_video_track-O",e.L_RTC_CLIENT_CREATE_MICROPHONE_AND_CAMERA_TRACKS_O="L-rtc_client_create_microphone_and_camera_tracks-O",e.L_RTC_CLIENT_CREATE_SCREEN_VIDEO_TRACK_O="L-rtc_client_create_screen_video_track-O",e.L_RTC_CLIENT_CREATE_SCREEN_VIDEO_AND_AUDIO_TRACKS_O="L-rtc_client_create_screen_video_and_audio_tracks-O",e.L_RTC_CLIENT_CREATE_LOCAL_AUDIO_TRACK_O="L-rtc_client_create_local_audio_track-O",e.L_RTC_CLIENT_CREATE_LOCAL_VIDEO_TRACK_O="L-rtc_client_create_local_video_track-O",e.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O="L-rtc_client_create_local_file_tracks-O",e.L_RTC_CLIENT_CREATE_LOCAL_TRACKS_O="L-rtc_client_create_local_tracks-O",e.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_T="L-rtc_client_join_living_room_as_audience-T",e.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R="L-rtc_client_join_living_room_as_audience_R",e.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_T="L-rtc_client_leave_living_room_as_audience-T",e.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_R="L-rtc_client_leave_living_room_as_audience-R",e.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_T="L-rtc_client_upgrade_to_anchor_room-T",e.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_R="L-rtc_client_upgrade_to_anchor_room-R",e.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_T="L-rtc_client_downgrade_to_audience_room-T",e.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R="L-rtc_client_downgrade_to_audience_room-R",e.L_RTC_CLIENT_GET_JOINED_ROOM_INFO_T="L-rtc_client_get_joined_room_info-T",e.L_RTC_CLIENT_GET_JOINED_ROOM_INFO_R="L-rtc_client_get_joined_room_info-R",e.L_AUDIENCE_CLIENT_CALL_ONTRACKREADY_O="L-audinence_client_call_onTrackReady-O",e.L_AUDIENCE_CLIENT_SUBSCRIBE_T="L-audinence_client_subscribe-T",e.L_AUDIENCE_CLIENT_SUBSCRIBE_R="L-audinence_client_subscribe-R",e.L_AUDIENCE_CLIENT_UNSUBSCRIBE_T="L-audinence_client_unsubscribe-T",e.L_AUDIENCE_CLIENT_UNSUBSCRIBE_R="L-audinence_client_unsubscribe-R",e.L_PINGER_START_O="L-pinger_start-O",e.L_PINGER_STOP_O="L-pinger_stop-O",e.L_PINGER_SEND_RTCPING_E="L-pinger_send_rtcping-E",e.L_ABSTRACT_ROOM_SEND_MESSAGE_T="L-abstract_room_send_message-T",e.L_ABSTRACT_ROOM_SEND_MESSAGE_R="L-abstract_room_send_message-R",e.L_ABSTRACT_ROOM_SET_ROOM_ATTRIBUTE_T="L-abstract_room_set_room_attribute-T",e.L_ABSTRACT_ROOM_SET_ROOM_ATTRIBUTE_R="L-abstract_room_set_room_attribute_R",e.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_T="L-abstract_room_delete_room_attribute_T",e.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_R="L-abstract_room_delete_room_attribute_R",e.L_ABSTRACT_ROOM_GET_ROOM_ATTRIBUTE_T="L-abstract_room_get_room_attribute_T",e.L_ABSTRACT_ROOM_GET_ROOM_ATTRIBUTE_R="L-abstract_room_get_room_attribute_R",e.L_ABSTRACT_ROOM_PUBLISH_T="L-abstract_room_publish-T",e.L_ABSTRACT_ROOM_PUBLISH_R="L-abstract_room_publish-R",e.L_ABSTRACT_ROOM_PUBLISH_E="L-abstract_room_publish-E",e.L_ABSTRACT_ROOM_UNPUBLISH_T="L-abstract_room_unpublish-T",e.L_ABSTRACT_ROOM_UNPUBLISH_R="L-abstract_room_unpublish-R",e.L_ABSTRACT_ROOM_UNPUBLISH_E="L-abstract_room_unpublish-E",e.L_ABSTRACT_ROOM_UNPUBLISH_P="L-abstract_room_unpublish-P",e.L_ABSTRACT_ROOM_SUBSCRIBE_T="L-abstract_room_subscribe-T",e.L_ABSTRACT_ROOM_SUBSCRIBE_R="L-abstract_room_subscribe-R",e.L_ABSTRACT_ROOM_SUBSCRIBE_E="L-abstract_room_subscribe-E",e.L_ABSTRACT_ROOM_UNSUBSCRIBE_T="L-abstract_room_unsubscribe-T",e.L_ABSTRACT_ROOM_UNSUBSCRIBE_R="L-abstract_room_unsubscribe-R",e.L_ABSTRACT_ROOM_UNSUBSCRIBE_E="L-abstract_room_unsubscribe-E",e.L_APP_CALL_UNSUBSCRIBE_O="L-app_call_unsubscribe-O",e.L_USER_LEFT_UNSUBSCRIBE_O="L-user_left_unsubscribe-O",e.L_RES_UNPUB_UNSUBSCRIBE_O="L-res_unpub_unsubscribe-O",e.L_ABSTRACT_ROOM_REGISTER_ROOM_EVENT_LISTENER_O="L-abstract_room_register_room_event_listener-O",e.L_ABSTRACT_ROOM_REGISTER_REPORT_LISTENER_O="L-abstract_room_register_report_listener-O",e.L_ABSTRACT_ROOM_AUDIO_LEVEL_O="L-abstract_room_audio_level-O",e.L_ABSTRACT_ROOM_IM_RECONNECTED_T="L-abstract_room_im_reconnected-T",e.L_ABSTRACT_ROOM_IM_RECONNECTED_R="L-abstract_room_im_reconnected-R",e.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O="L-abstract_room_call_app_listener-O",e.L_ABSTRACT_ROOM_SETBITRATE_O="L-abstract_room_setBitrate-O",e.L_ABSTRACT_ROOM_ONTRACKREADY_O="L-abstract_room_onTrackReady-O",e.L_ABSTRACT_ROOM_RECEIVE_MESSAGE_O="L-abstract_room_receive_message-O",e.L_ABSTRACT_ROOM_ONKICKOFF_O="L-abstract_room_onKickoff-O",e.L_LIVING_ROOM_RECONNECTED_T="L-living_room_reconnected-T",e.L_LIVING_ROOM_RECONNECTED_R="L-living_room_reconnected-R",e.L_LIVING_ROOM_ENABLE_INNER_CDN_T="L-living_room_enable_inner_cdn-T",e.L_LIVING_ROOM_ENABLE_INNER_CDN_R="L-living_room_enable_inner_cdn-R",e.L_LIVING_ROOM_SPREAD_CDN_INFO_T="L-living_room_spread_cdn_info-T",e.L_LIVING_ROOM_SPREAD_CDN_INFO_R="L-living_room_spread_cdn_info-R",e.L_LIVING_ROOM_SET_ROOM_CDN_INFO_T="L-living_room_set_room_cdn_info-T",e.L_LIVING_ROOM_SET_ROOM_CDN_INFO_R="L-living_room_set_room_cdn_info-R",e.L_LIVING_ROOM_JOINED_PK_ROOM_T="L-living_room_joined_pk_room-T",e.L_LIVING_ROOM_JOINED_PK_ROOM_R="L-living_room_joined_pk_room-R",e.L_LIVING_ROOM_LEAVE_PK_ROOM_T="L-living_room_leave_pk_room-T",e.L_LIVING_ROOM_LEAVE_PK_ROOM_R="L-living_room_leave_pk_room-R",e.L_APP_CALL_LEAVE_PK_ROOM_O="L-app_call_leave_pk_room-O",e.L_QUIT_PK_LEAVE_PK_ROOM_O="L-quit_pk_leave_pk_room-O",e.L_LIVING_ROOM_GET_ROOM_PK_HANDLER_O="L-living_room_get_room_pk_handler-O",e.L_LIVING_ROOM_GET_MCU_CONFIG_BUILDER_O="L-living_room_get_mcu_config_builder-O",e.L_LIVING_ROOM_QUIT_ALL_PK_ROOM_O="L-living_room_quit_all_pk_room-O",e.L_LIVING_PK_HANDLER_REGISTER_ROOM_PK_EVENT_LISTENER_O="L-living_pk_handler_register_room_pk_event_listener-O",e.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O="L-living_pk_handler_call_app_listener-O",e.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_T="L-living_pk_handler_request_join_other_room-T",e.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_R="L-living_pk_handler_request_join_other_room-R",e.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_T="L-living_pk_handler_cancel_request_join_other_room-T",e.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_R="L-living_pk_handler_cancel_request_join_other_room-R",e.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_T="L-living_pk_handler_response_join_other_room-T",e.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_R="L-living_pk_handler_response_join_other_room-R",e.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_T="L-living_pk_handler_join_other_room-T",e.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R="L-living_pk_handler_join_other_room-R",e.L_LIVING_PK_HANDLER_LEAVE_OTHER_ROOM_T="L-living_pk_handler_leave_other_room-T",e.L_LIVING_PK_HANDLER_LEAVE_OTHER_ROOM_R="L-living_pk_handler_leave_other_room-R",e.L_QUIT_PK_T="L-quit_pk-T",e.L_QUIT_PK_R="L-quit_pk-R",e.L_EXCHANGE_WITH_PUSHOTHERROOM_T="L-exchange_with_pushotherroom-T",e.L_EXCHANGE_WITH_PUSHOTHERROOM_R="L-exchange_with_pushotherroom-R",e.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O="L-audience_living_room_call_app_listener-O",e.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_O="L-audience_living_room_pull_kvEntries-O",e.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_T="L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_T",e.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_R="L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_R",e.L_AUDIENCE_LIVING_ROOM_SINGAL_DATA_CHANGE_P="L-audience_living_room_singal_data_change-P",e.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_T="L-audience_living_room_get_cdn_play_url-T",e.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_R="L-audience_living_room_get_cdn_play_url-R",e.L_AUDIENCE_LIVING_ROOM_SUBSCRIBE_T="L-audience_living_room_subscribe-T",e.L_AUDIENCE_LIVING_ROOM_SUBSCRIBE_R="L-audience_living_room_subscribe-R",e.L_AUDIENCE_LIVING_ROOM_UNSUBSCRIBE_T="L-audience_living_room_unsubscribe-T",e.L_AUDIENCE_LIVING_ROOM_UNSUBSCRIBE_R="L-audience_living_room_unsubscribe-R",e.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_T="L-audience_living_room_update_subscribeList-T",e.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R="L-audience_living_room_update_subscribeList-R",e.L_AUDIENCE_LIVING_ROOM_ONTRACKREADY_O="L-audience_living_room_onTrackReady-O",e.L_AUDIENCE_LIVING_ROOM_IM_RECONNECTED_R="L-audience_living_room_im_reconnected-R",e.L_AUDIENCE_LIVING_ROOM_IM_RECONNECTED_T="L-audience_living_room_im_reconnected-T",e.L_MCU_CONFIG_BUILDER_SET_HOST_VIDEO_TRACK_O="L-mcu_config_builder_set_host_video_track-O",e.L_MCU_CONFIG_BUILDER_SET_MIX_LAYOUT_MODE_O="L-mcu_config_builder_set_mix_layout_mode-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RESOLUTION_O="L-mcu_config_builder_set_output_video_resolution-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_FPS_O="L-mcu_config_builder_set_output_video_fps-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_BITRATE_O="L-mcu_config_builder_set_output_video_bitrate-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_RESOLUTION_O="L-mcu_config_builder_set_output_tiny_video_resolution-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_FPS_O="L-mcu_config_builder_set_output_tiny_video_fps-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_BITRATE_O="L-mcu_config_builder_set_output_tiny_video_bitrate-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RENDER_MODE_O="L-mcu_config_builder_set_output_video_render_mode-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_AUDIO_BITRATE_O="L-mcu_config_builder_set_output_audio_bitrate-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_COLOR_O="L-mcu_config_builder_set_output_background_color-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_O="L-mcu_config_builder_add_output_background_picture-O",e.L_MCU_CONFIG_BUILDER_REMOVE_OUTPUT_BACKGROUND_PICTURE_O="L-mcu_config_builder_remove_output_background_picture-O",e.L_MCU_CONFIG_BUILDER_CLEAR_OUTPUT_BACKGROUND_PICTURE_O="L-mcu_config_builder_clear_output_background_picture-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_FILL_MODE_O="L-mcu_config_builder_set_output_background_picture-fill-mode-O",e.L_MCU_CONFIG_BUILDER_ADD_PUBLISH_STREAM_URLS_O="L-mcu_config_builder_add_publish_stream_urls-O",e.L_MCU_CONFIG_BUILDER_REMOVE_PUBLISH_STREAM_URLS_O="L-mcu_config_builder_remove_publish_stream_urls-O",e.L_MCU_CONFIG_BUILDER_CLEAR_PUBLISH_STREAM_URLS_O="L-mcu_config_builder_clear_publish_stream_urls-O",e.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O="L-mcu_config_builder_add_customize_layout_video-O",e.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_LAYOUT_VIDEO_O="L-mcu_config_builder_remove_customize_layout_video-O",e.L_MCU_CONFIG_BUILDER_CLEAR_CUSTOMIZE_LAYOUT_VIDEO_O="L-mcu_config_builder_clear_customize_layout_video-O",e.L_MCU_CONFIG_BUILDER_SET_CUSTOMIZE_INPUT_AUDIO_O="L-mcu_config_builder_set_customize_input_audio-O",e.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_INPUT_AUDIO_O="L-mcu_config_builder_add_customize_input_audio-O",e.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_INPUT_AUDIO_O="L-mcu_config_builder_remove_customize_input_audio-O",e.L_MCU_CONFIG_BUILDER_CLEAR_CUSTOMIZE_INPUT_AUDIO_O="L-mcu_config_builder_clear_customize_input_audio-O",e.L_MCU_CONFIG_BUILDER_RESET_O="L-mcu_config_builder_reset-O",e.L_MCU_CONFIG_BUILDER_ADD_SINGLE_WATER_MARK_O="L-mcu_config_builder_add_single_water_mark-O",e.L_MCU_CONFIG_BUILDER_REMOVE_SINGLE_WATER_MARK_O="L-mcu_config_builder_remove_single_water_mark-O",e.L_MCU_CONFIG_BUILDER_CLEAR_SINGLE_WATER_MARK_O="L-mcu_config_builder_clear_single_water_mark-O",e.L_MEDIA_SERVICE_SET_MCU_CONFIG_T="L-media_service_set_mcu_config-T",e.L_MEDIA_SERVICE_SET_MCU_CONFIG_R="L-media_service_set_mcu_config-R",e.L_MEDIA_SERVICE_GET_CDN_RESOURCE_INFO_T="L-media_service_get_cnd_resource_info-T",e.L_MEDIA_SERVICE_GET_CDN_RESOURCE_INFO_R="L-media_service_get_cnd_resource_info-R",e.L_MEDIA_SERVICE_MSLIST_CHANGE_O="L-media_service_msList_change-O",e.L_MEDIA_SERVICE_PARSE_NAVI_CALLVOIP_INFO_O="L-media_service_parse_navi_callvoip_info-O",e.L_MEDIA_SERVICE_REQUEST_T="L-media_service_request-T",e.L_MEDIA_SERVICE_REQUEST_R="L-media_service_request-R",e.L_LOCAL_TRACK_DESTROY_O="L-loacl_track_destroy-O",e.L_LOCAL_TRACK_SET_BITRATE_O="L-loacl_track_set_bitrate-O",e.L_LOCAL_TRACK_SET_LOCAL_MUTED_O="L-loacl_track_set_local_muted-O",e.L_LOCAL_TRACK_SET_LOCAL_MUTED_SPREAD_T="L-loacl_track_set_local_muted_spread-T",e.L_LOCAL_TRACK_SET_LOCAL_MUTED_SPREAD_R="L-loacl_track_set_local_muted_spread-R",e.L_TRACK_PLAY_O="L-track_play-O",e.L_TRACK_PLAY_E="L-track_play-E",e.L_TRACK_LOAD_START_O="L-track_load_start-O",e.L_TRACK_DURATION_CHANGE_O="L-track_duration_change-O",e.L_TRACK_LOADED_META_DATA_O="L-track_loaded_meta_data-O",e.L_TRACK_LOADED_DATA_O="L-track_loaded_data-O",e.L_TRACK_ABORT_O="L-track_abort-O",e.L_TRACK_VOLUME_CHANGE_O="L-track_volume_change-O",e.L_TRACK_CANPLAY_O="L-track_canplay-O",e.L_ABSTRACT_STAT_PARSER_FORMAT_RTC_STATE_REPORT_O="L-abstract_stat_parser_format_rtc_state_report-O",e.L_A_SDP_STRATEGY_SET_SDP_SEMANTICS_O="L-a_sdp_strategy_set_sdp_semantics-O",e.L_A_SDP_STRATEGY_SET_REMOTE_ANSWER_O="L-a_sdp_strategy_set_remote_answer-O",e.L_RTC_PEER_CONNECTION_ADD_LOCAL_TRACK_O="L-rtc_peer_connection_add_local_track-O",e.L_RTC_PEER_CONNECTION_ICE_CONNECTION_STATE_S="L-rtc_peer_connection_ice_connection_state-S",e.L_RTC_PEER_CONNECTION_ICE_CONNECTION_STATE_REPORT_R="L-rtc_peer_connection_ice_connection_state_report-R",e.L_RTC_PEER_CONNECTION_CONNECTION_STATE_S="L-rtc_peer_connection_connection_state-S",e.L_RTC_PEER_CONNECTION_SET_BITRATE_O="L-rtc_peer_connection_set_bitrate-O",e.L_RTC_PEER_CONNECTION_CREATE_OFFER_O="L-rtc_peer_connection_create_offer-O",e.L_RTC_PEER_CONNECTION_REMOVE_LOCAL_TRACK_BY_ID_O="L-rtc_peer_connection_remove_local_track_by_id-O",e.L_RTC_PEER_CONNECTION_REMOVE_ALL_LOCAL_TRACK_O="L-rtc_peer_connection_remove_all_local_track-O",e.L_RTC_PEER_CONNECTION_REMOVE_LOCAL_TRACK_O="L-rtc_peer_connection_remove_local_track-O",e.L_RTC_PEER_CONNECTION_DESTROY_O="L-rtc_peer_connection_destroy-O",e.L_RTC_PEER_CONNECTION_ICECANDIDATEPAIR_DATA_O="L-rtc_peer_connection_ice_candidate_pair_data-O",e.L_RTC_PEER_CONNECTION_VIDEO_SENDER_DATA_O="L-rtc_peer_connection_video_sender_data-O",e.L_WEBRTC_ISSUE_DETECTOR_OPEN_O="L-webrtc_issue_detector_open-O",e.L_WEBRTC_ISSUE_DETECTOR_ISSUE_O="L-webrtc_issue_detector_issue-O",e.L_RTC_SET_RECOMMEND_BITRATE_O="L_rtc_set_recommend_bitrate_O",e.L_RTC_3ANOISE_NODE_O="L_RTC_AAAnoiseNode_O",e.L_RTC_3ANOISE_NODE_E="L_RTC_AAAnoiseNode_E",e.L_RTC_3ANOISE_NODE_STOP_O="L_RTC_AAAnoiseNode_Stop_O",e.L_QS_JOIN_ROOM_S="RTC-joinRoomRtc-S",e.L_QS_SUBSCRIBE_S="RTC-subscribe-S",e.L_QS_UNSUBSCRIBE_S="RTC-unsubscribe-S",e.L_QS_PUBLISH_S="RTC-publishRtc-S",e.L_QS_UNPUBLISH_S="RTC-unpublishRtc-S",e.L_QS_ICE_STATUS_S="RTC-iceStatus-S",e.L_QS_KICKED_S="RTC-forcedOffline-S",e.L_QS_PUB_ICE_STATUS_S="RTC-pubIceConnected-S",e.L_QS_SUB_ICE_STATUS_S="RTC-subIceConnected-S",e.L_QS_RECV_PUB_MSG_S="RTC-recvPubMsg-S",e.L_SET_ENCODER_PREFERENCES_S="RTC-set_Encoder_Preferences-S",e.L_RTCNTF_PULL_ROOM_STATUS_O="L-rtcntf_pull_room_status-O",e.L_RTCPING_PULL_ROOM_STATUS_O="L-rtcping_pull_room_status-O",e.L_PULL_ROOM_STATUS_T="L-pull_room_status-T",e.L_PULL_ROOM_STATUS_R="L-pull_room_status-R",e.L_OLD_DAILY_RECORD_O="L-old_daily_record-O",e.L_REMOTE_USER_JOINED_RESOURCES_O="L-remote_user_joined_resources-O",e.L_REMOTE_USER_STATE_HANDLE_O="L-remote_user_state_handle-O",e.L_UPDATE_SUBSCRIBELIST_COMMAND_T="L-update_subscribeList_command-T",e.L_UPDATE_SUBSCRIBELIST_COMMAND_P="L-update_subscribeList_command-P",e.L_UPDATE_SUBSCRIBELIST_COMMAND_R="L-update_subscribeList_command-R",e.L_RTC_CLIENT_NAVI_CHANGE_O="L-rtc_client_navi_change-O",e.L_UNPUBLISH_PREV_COMMAND_T="L-unpublish_prev_command-T",e.L_UNPUBLISH_PREV_COMMAND_R="L-unpublish_prev_command-R",e.L_RETRY_EXCHANGE_COMMAND_T="L-retry_exchange_command-T",e.L_RETRY_EXCHANGE_SPREAD_T="L-retry_exchange_spread-T",e.L_RETRY_EXCHANGE_SPREAD_R="L-retry_exchange_spread-R",e.L_PARSE_USERSTATE_COMMAND_R="L-parse_userstate_command-R",e.L_RESUB_REPUB_RES_R="L-resub_repub_res-R",e.L_PARSE_ROOMDATA_URIS_R="L-parse_roomdata_uris-R",e.L_SET_AUDIO_CONSTRAINTS_O="L-set_audio_constraints-O",e.L_FUNCTION_IS_UNAVAILABLE="L-function_is_unavailable",e.L_CLEAR_UNSUBSCRIBE_LIST_O="L-clear_unsubscribe_list-O",e.L_INVOKER_PUSH_O="L-invoker_push-O",e.L_INVOKER_EXECUTE_T="L-invoker_execute-T",e.L_INVOKER_EXECUTE_R="L-invoker_execute-R",e.L_INVOKER_DESTROY_O="L-invoker_destroy-R",e.L_PARSE_VOIP_SERVER_CONF_E="L_PARSE_VOIP_SERVER_CONF_E",e.L_GET_MEDIA_STREAM_E="L_GET_MEDIA_STREAM_E",e.L_INNER_SET_TRACK_O="L_INNER_SET_TRACK_O",e.A_APPLY_3A_NOISE_WORKLET_T="A-apply_3a_noise_worklet-T",e.A_APPLY_3A_NOISE_WORKLET_R="A-apply_3a_noise_worklet-R",e.L_ENCRYPTOR_ENCODE_E="L-encryptor_encode-E",e.L_ENCRYPTOR_DECODE_E="L-encryptor_decode-E"}(i||(i={})),function(e){e.FAILED="fail",e.SUCCESSED="success",e.TIMEOUT="timeout",e.INFO="info"}(o||(o={}));let _=!0,p=!0;function f(e,t,r){const n=e.match(t);return n&&n.length>=r&&parseInt(n[r],10)}function h(e,t,r){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,i=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return i.apply(this,arguments);const o=e=>{const t=r(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,o),i.apply(this,[e,o])};const o=n.removeEventListener;n.removeEventListener=function(e,r){if(e!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(r))return o.apply(this,arguments);const n=this._eventMap[t].get(r);return this._eventMap[t].delete(r),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,o.apply(this,[e,n])},Object.defineProperty(n,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}function b(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(_=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function R(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(p=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function g(){if("object"==typeof window){if(_)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}}function m(e,t){p&&console.warn(e+" is deprecated, please use "+t+" instead.")}function C(e){return"[object Object]"===Object.prototype.toString.call(e)}function v(e){return C(e)?Object.keys(e).reduce((function(t,r){const n=C(e[r]),i=n?v(e[r]):e[r],o=n&&!Object.keys(i).length;return void 0===i||o?t:Object.assign(t,{[r]:i})}),{}):e}function O(e,t,r){t&&!r.has(t.id)&&(r.set(t.id,t),Object.keys(t).forEach((n=>{n.endsWith("Id")?O(e,e.get(t[n]),r):n.endsWith("Ids")&&t[n].forEach((t=>{O(e,e.get(t),r)}))})))}function T(e,t,r){const n=r?"outbound-rtp":"inbound-rtp",i=new Map;if(null===t)return i;const o=[];return e.forEach((e=>{"track"===e.type&&e.trackIdentifier===t.id&&o.push(e)})),o.forEach((t=>{e.forEach((r=>{r.type===n&&r.trackId===t.id&&O(e,r,i)}))})),i}const E=g;function S(e,t){const r=e&&e.navigator;if(!r.mediaDevices)return;const n=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach((r=>{if("require"===r||"advanced"===r||"mediaSource"===r)return;const n="object"==typeof e[r]?e[r]:{ideal:e[r]};void 0!==n.exact&&"number"==typeof n.exact&&(n.min=n.max=n.exact);const i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};"number"==typeof n.ideal?(e[i("min",r)]=n.ideal,t.optional.push(e),e={},e[i("max",r)]=n.ideal,t.optional.push(e)):(e[i("",r)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&"number"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[i("",r)]=n.exact):["min","max"].forEach((e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,r)]=n[e])}))})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=n(e.audio)}if(e&&"object"==typeof e.video){let o=e.video.facingMode;o=o&&("object"==typeof o?o:{ideal:o});const a=t.version<66;if(o&&("user"===o.exact||"environment"===o.exact||"user"===o.ideal||"environment"===o.ideal)&&(!r.mediaDevices.getSupportedConstraints||!r.mediaDevices.getSupportedConstraints().facingMode||a)){let t;if(delete e.video.facingMode,"environment"===o.exact||"environment"===o.ideal?t=["back","rear"]:"user"!==o.exact&&"user"!==o.ideal||(t=["front"]),t)return r.mediaDevices.enumerateDevices().then((r=>{r=r.filter((e=>"videoinput"===e.kind));let a=r.find((e=>t.some((t=>e.label.toLowerCase().includes(t)))));return!a&&r.length&&t.includes("back")&&(a=r[r.length-1]),a&&(e.video.deviceId=o.exact?{exact:a.deviceId}:{ideal:a.deviceId}),e.video=n(e.video),E("chrome: "+JSON.stringify(e)),i(e)}))}e.video=n(e.video)}return E("chrome: "+JSON.stringify(e)),i(e)},o=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(r.getUserMedia=function(e,t,n){i(e,(e=>{r.webkitGetUserMedia(e,t,(e=>{n&&n(o(e))}))}))}.bind(r),r.mediaDevices.getUserMedia){const e=r.mediaDevices.getUserMedia.bind(r.mediaDevices);r.mediaDevices.getUserMedia=function(t){return i(t,(t=>e(t).then((e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach((e=>{e.stop()})),new DOMException("","NotFoundError");return e}),(e=>Promise.reject(o(e))))))}}}function I(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function y(e){if("object"==typeof e&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",(r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===r.track.id)):{track:r.track};const i=new Event("track");i.track=r.track,i.receiver=n,i.transceiver={receiver:n},i.streams=[t.stream],this.dispatchEvent(i)})),t.stream.getTracks().forEach((r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===r.id)):{track:r};const i=new Event("track");i.track=r,i.receiver=n,i.transceiver={receiver:n},i.streams=[t.stream],this.dispatchEvent(i)}))},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else h(e,"track",(e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e)))}function L(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const r=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let i=r.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach((e=>{this._senders.push(t(this,e))}))};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach((e=>{const t=this._senders.find((t=>t.track===e));t&&this._senders.splice(this._senders.indexOf(t),1)}))}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function P(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,n]=arguments;if(arguments.length>0&&"function"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||"function"!=typeof e))return t.apply(this,[]);const i=function(e){const t={};return e.result().forEach((e=>{const r={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach((t=>{r[t]=e.stat(t)})),t[r.id]=r})),t},o=function(e){return new Map(Object.keys(e).map((t=>[t,e[t]])))};if(arguments.length>=2){const n=function(e){r(o(i(e)))};return t.apply(this,[n,e])}return new Promise(((e,r)=>{t.apply(this,[function(t){e(o(i(t)))},r])})).then(r,n)}}function N(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>T(t,e.track,!0)))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),h(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>T(t,e.track,!1)))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,r,n;return this.getSenders().forEach((r=>{r.track===e&&(t?n=!0:t=r)})),this.getReceivers().forEach((t=>(t.track===e&&(r?n=!0:r=t),t.track===e))),n||t&&r?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():r?r.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function A(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((e=>this._shimmedLocalStreams[e][0]))};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){if(!r)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[r.id]?-1===this._shimmedLocalStreams[r.id].indexOf(n)&&this._shimmedLocalStreams[r.id].push(n):this._shimmedLocalStreams[r.id]=[r,n],n};const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach((e=>{const t=this.getSenders().find((t=>t.track===e));if(t)throw new DOMException("Track already exists.","InvalidAccessError")}));const t=this.getSenders();r.apply(this,arguments);const n=this.getSenders().filter((e=>-1===t.indexOf(e)));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach((t=>{const r=this._shimmedLocalStreams[t].indexOf(e);-1!==r&&this._shimmedLocalStreams[t].splice(r,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]})),i.apply(this,arguments)}}function w(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return A(e);const r=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=r.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map((e=>this._reverseStreams[e.id]))};const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach((e=>{const t=this.getSenders().find((t=>t.track===e));if(t)throw new DOMException("Track already exists.","InvalidAccessError")})),!this._reverseStreams[t.id]){const r=new e.MediaStream(t.getTracks());this._streams[t.id]=r,this._reverseStreams[r.id]=t,t=r}n.apply(this,[t])};const i=e.RTCPeerConnection.prototype.removeStream;function o(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],i=e._streams[n.id];r=r.replace(new RegExp(i.id,"g"),n.id)})),new RTCSessionDescription({type:t.type,sdp:r})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,r){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const n=[].slice.call(arguments,1);if(1!==n.length||!n[0].getTracks().find((e=>e===t)))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");const i=this.getSenders().find((e=>e.track===t));if(i)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const o=this._streams[r.id];if(o)o.addTrack(t),Promise.resolve().then((()=>{this.dispatchEvent(new Event("negotiationneeded"))}));else{const n=new e.MediaStream([t]);this._streams[r.id]=n,this._reverseStreams[n.id]=r,this.addStream(n)}return this.getSenders().find((e=>e.track===t))},["createOffer","createAnswer"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?r.apply(this,[t=>{const r=o(this,t);e[0].apply(null,[r])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):r.apply(this,arguments).then((e=>o(this,e)))}};e.RTCPeerConnection.prototype[t]=n[t]}));const a=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],i=e._streams[n.id];r=r.replace(new RegExp(n.id,"g"),i.id)})),new RTCSessionDescription({type:t.type,sdp:r})}(this,arguments[0]),a.apply(this,arguments)):a.apply(this,arguments)};const s=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){const e=s.get.apply(this);return""===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(e._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach((r=>{this._streams[r].getTracks().find((t=>e.track===t))&&(t=this._streams[r])})),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function D(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}))}function k(e,t){h(e,"negotiationneeded",(e=>{const r=e.target;if(!(t.version<72||r.getConfiguration&&"plan-b"===r.getConfiguration().sdpSemantics)||"stable"===r.signalingState)return e}))}var U=Object.freeze({__proto__:null,shimMediaStream:I,shimOnTrack:y,shimGetSendersWithDtmf:L,shimGetStats:P,shimSenderReceiverGetStats:N,shimAddTrackRemoveTrackWithNative:A,shimAddTrackRemoveTrack:w,shimPeerConnection:D,fixNegotiationNeeded:k,shimGetUserMedia:S,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&("function"==typeof t?e.navigator.mediaDevices.getDisplayMedia=function(r){return t(r).then((t=>{const n=r.video&&r.video.width,i=r.video&&r.video.height,o=r.video&&r.video.frameRate;return r.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t,maxFrameRate:o||3}},n&&(r.video.mandatory.maxWidth=n),i&&(r.video.mandatory.maxHeight=i),e.navigator.mediaDevices.getUserMedia(r)}))}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))}});var M,x,j=(M=function(e){var t={generateIdentifier:function(){return Math.random().toString(36).substr(2,10)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split("\n").map((function(e){return e.trim()}))},t.splitSections=function(e){return e.split("\nm=").map((function(e,t){return(t>0?"m="+e:e).trim()+"\r\n"}))},t.getDescription=function(e){var r=t.splitSections(e);return r&&r[0]},t.getMediaSections=function(e){var r=t.splitSections(e);return r.shift(),r},t.matchPrefix=function(e,r){return t.splitLines(e).filter((function(e){return 0===e.indexOf(r)}))},t.parseCandidate=function(e){for(var t,r={foundation:(t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" "))[0],component:parseInt(t[1],10),protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]},n=8;n<t.length;n+=2)switch(t[n]){case"raddr":r.relatedAddress=t[n+1];break;case"rport":r.relatedPort=parseInt(t[n+1],10);break;case"tcptype":r.tcpType=t[n+1];break;case"ufrag":r.ufrag=t[n+1],r.usernameFragment=t[n+1];break;default:r[t[n]]=t[n+1]}return r},t.writeCandidate=function(e){var t=[];t.push(e.foundation),t.push(e.component),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);var r=e.type;return t.push("typ"),t.push(r),"host"!==r&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&"tcp"===e.protocol.toLowerCase()&&(t.push("tcptype"),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push("ufrag"),t.push(e.usernameFragment||e.ufrag)),"candidate:"+t.join(" ")},t.parseIceOptions=function(e){return e.substr(14).split(" ")},t.parseRtpMap=function(e){var t=e.substr(9).split(" "),r={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),r.name=t[0],r.clockRate=parseInt(t[1],10),r.channels=3===t.length?parseInt(t[2],10):1,r.numChannels=r.channels,r},t.writeRtpMap=function(e){var t=e.payloadType;void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType);var r=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==r?"/"+r:"")+"\r\n"},t.parseExtmap=function(e){var t=e.substr(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1]}},t.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+"\r\n"},t.parseFmtp=function(e){for(var t,r={},n=e.substr(e.indexOf(" ")+1).split(";"),i=0;i<n.length;i++)r[(t=n[i].trim().split("="))[0].trim()]=t[1];return r},t.writeFmtp=function(e){var t="",r=e.payloadType;if(void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){var n=[];Object.keys(e.parameters).forEach((function(t){e.parameters[t]?n.push(t+"="+e.parameters[t]):n.push(t)})),t+="a=fmtp:"+r+" "+n.join(";")+"\r\n"}return t},t.parseRtcpFb=function(e){var t=e.substr(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},t.writeRtcpFb=function(e){var t="",r=e.payloadType;return void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach((function(e){t+="a=rtcp-fb:"+r+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"})),t},t.parseSsrcMedia=function(e){var t=e.indexOf(" "),r={ssrc:parseInt(e.substr(7,t-7),10)},n=e.indexOf(":",t);return n>-1?(r.attribute=e.substr(t+1,n-t-1),r.value=e.substr(n+1)):r.attribute=e.substr(t+1),r},t.parseSsrcGroup=function(e){var t=e.substr(13).split(" ");return{semantics:t.shift(),ssrcs:t.map((function(e){return parseInt(e,10)}))}},t.getMid=function(e){var r=t.matchPrefix(e,"a=mid:")[0];if(r)return r.substr(6)},t.parseFingerprint=function(e){var t=e.substr(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1]}},t.getDtlsParameters=function(e,r){return{role:"auto",fingerprints:t.matchPrefix(e+r,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){var r="a=setup:"+t+"\r\n";return e.fingerprints.forEach((function(e){r+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"})),r},t.parseCryptoLine=function(e){var t=e.substr(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"==typeof e.keyParams?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;var t=e.substr(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},t.getCryptoParameters=function(e,r){return t.matchPrefix(e+r,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,r){var n=t.matchPrefix(e+r,"a=ice-ufrag:")[0],i=t.matchPrefix(e+r,"a=ice-pwd:")[0];return n&&i?{usernameFragment:n.substr(12),password:i.substr(10)}:null},t.writeIceParameters=function(e){return"a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n"},t.parseRtpParameters=function(e){for(var r={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=t.splitLines(e)[0].split(" "),i=3;i<n.length;i++){var o=n[i],a=t.matchPrefix(e,"a=rtpmap:"+o+" ")[0];if(a){var s=t.parseRtpMap(a),c=t.matchPrefix(e,"a=fmtp:"+o+" ");switch(s.parameters=c.length?t.parseFmtp(c[0]):{},s.rtcpFeedback=t.matchPrefix(e,"a=rtcp-fb:"+o+" ").map(t.parseRtcpFb),r.codecs.push(s),s.name.toUpperCase()){case"RED":case"ULPFEC":r.fecMechanisms.push(s.name.toUpperCase())}}}return t.matchPrefix(e,"a=extmap:").forEach((function(e){r.headerExtensions.push(t.parseExtmap(e))})),r},t.writeRtpDescription=function(e,r){var n="";n+="m="+e+" ",n+=r.codecs.length>0?"9":"0",n+=" UDP/TLS/RTP/SAVPF ",n+=r.codecs.map((function(e){return void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType})).join(" ")+"\r\n",n+="c=IN IP4 0.0.0.0\r\n",n+="a=rtcp:9 IN IP4 0.0.0.0\r\n",r.codecs.forEach((function(e){n+=t.writeRtpMap(e),n+=t.writeFmtp(e),n+=t.writeRtcpFb(e)}));var i=0;return r.codecs.forEach((function(e){e.maxptime>i&&(i=e.maxptime)})),i>0&&(n+="a=maxptime:"+i+"\r\n"),n+="a=rtcp-mux\r\n",r.headerExtensions&&r.headerExtensions.forEach((function(e){n+=t.writeExtmap(e)})),n},t.parseRtpEncodingParameters=function(e){var r,n=[],i=t.parseRtpParameters(e),o=-1!==i.fecMechanisms.indexOf("RED"),a=-1!==i.fecMechanisms.indexOf("ULPFEC"),s=t.matchPrefix(e,"a=ssrc:").map((function(e){return t.parseSsrcMedia(e)})).filter((function(e){return"cname"===e.attribute})),c=s.length>0&&s[0].ssrc,u=t.matchPrefix(e,"a=ssrc-group:FID").map((function(e){return e.substr(17).split(" ").map((function(e){return parseInt(e,10)}))}));u.length>0&&u[0].length>1&&u[0][0]===c&&(r=u[0][1]),i.codecs.forEach((function(e){if("RTX"===e.name.toUpperCase()&&e.parameters.apt){var t={ssrc:c,codecPayloadType:parseInt(e.parameters.apt,10)};c&&r&&(t.rtx={ssrc:r}),n.push(t),o&&((t=JSON.parse(JSON.stringify(t))).fec={ssrc:c,mechanism:a?"red+ulpfec":"red"},n.push(t))}})),0===n.length&&c&&n.push({ssrc:c});var l=t.matchPrefix(e,"b=");return l.length&&(l=0===l[0].indexOf("b=TIAS:")?parseInt(l[0].substr(7),10):0===l[0].indexOf("b=AS:")?1e3*parseInt(l[0].substr(5),10)*.95-16e3:void 0,n.forEach((function(e){e.maxBitrate=l}))),n},t.parseRtcpParameters=function(e){var r={},n=t.matchPrefix(e,"a=ssrc:").map((function(e){return t.parseSsrcMedia(e)})).filter((function(e){return"cname"===e.attribute}))[0];n&&(r.cname=n.value,r.ssrc=n.ssrc);var i=t.matchPrefix(e,"a=rtcp-rsize");r.reducedSize=i.length>0,r.compound=0===i.length;var o=t.matchPrefix(e,"a=rtcp-mux");return r.mux=o.length>0,r},t.parseMsid=function(e){var r,n=t.matchPrefix(e,"a=msid:");if(1===n.length)return{stream:(r=n[0].substr(7).split(" "))[0],track:r[1]};var i=t.matchPrefix(e,"a=ssrc:").map((function(e){return t.parseSsrcMedia(e)})).filter((function(e){return"msid"===e.attribute}));return i.length>0?{stream:(r=i[0].value.split(" "))[0],track:r[1]}:void 0},t.parseSctpDescription=function(e){var r,n=t.parseMLine(e),i=t.matchPrefix(e,"a=max-message-size:");i.length>0&&(r=parseInt(i[0].substr(19),10)),isNaN(r)&&(r=65536);var o=t.matchPrefix(e,"a=sctp-port:");if(o.length>0)return{port:parseInt(o[0].substr(12),10),protocol:n.fmt,maxMessageSize:r};if(t.matchPrefix(e,"a=sctpmap:").length>0){var a=t.matchPrefix(e,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(a[0],10),protocol:a[1],maxMessageSize:r}}},t.writeSctpDescription=function(e,t){var r=[];return r="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&r.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),r.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,21)},t.writeSessionBoilerplate=function(e,r,n){var i=void 0!==r?r:2;return"v=0\r\no="+(n||"thisisadapterortc")+" "+(e||t.generateSessionId())+" "+i+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.writeMediaSection=function(e,r,n,i){var o=t.writeRtpDescription(e.kind,r);if(o+=t.writeIceParameters(e.iceGatherer.getLocalParameters()),o+=t.writeDtlsParameters(e.dtlsTransport.getLocalParameters(),"offer"===n?"actpass":"active"),o+="a=mid:"+e.mid+"\r\n",e.direction?o+="a="+e.direction+"\r\n":e.rtpSender&&e.rtpReceiver?o+="a=sendrecv\r\n":e.rtpSender?o+="a=sendonly\r\n":e.rtpReceiver?o+="a=recvonly\r\n":o+="a=inactive\r\n",e.rtpSender){var a="msid:"+i.id+" "+e.rtpSender.track.id+"\r\n";o+="a="+a,o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" "+a,e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" "+a,o+="a=ssrc-group:FID "+e.sendEncodingParameters[0].ssrc+" "+e.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" cname:"+t.localCName+"\r\n",e.rtpSender&&e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" cname:"+t.localCName+"\r\n"),o},t.getDirection=function(e,r){for(var n=t.splitLines(e),i=0;i<n.length;i++)switch(n[i]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return n[i].substr(2)}return r?t.getDirection(r):"sendrecv"},t.getKind=function(e){return t.splitLines(e)[0].split(" ")[0].substr(2)},t.isRejected=function(e){return"0"===e.split(" ",2)[1]},t.parseMLine=function(e){var r=t.splitLines(e)[0].substr(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}},t.parseOLine=function(e){var r=t.matchPrefix(e,"o=")[0].substr(2).split(" ");return{username:r[0],sessionId:r[1],sessionVersion:parseInt(r[2],10),netType:r[3],addressType:r[4],address:r[5]}},t.isValidSDP=function(e){if("string"!=typeof e||0===e.length)return!1;for(var r=t.splitLines(e),n=0;n<r.length;n++)if(r[n].length<2||"="!==r[n].charAt(1))return!1;return!0},e.exports=t},M(x={exports:{}},x.exports),x.exports);function B(e,t,r,n,i){var o=j.writeRtpDescription(e.kind,t);if(o+=j.writeIceParameters(e.iceGatherer.getLocalParameters()),o+=j.writeDtlsParameters(e.dtlsTransport.getLocalParameters(),"offer"===r?"actpass":i||"active"),o+="a=mid:"+e.mid+"\r\n",e.rtpSender&&e.rtpReceiver?o+="a=sendrecv\r\n":e.rtpSender?o+="a=sendonly\r\n":e.rtpReceiver?o+="a=recvonly\r\n":o+="a=inactive\r\n",e.rtpSender){var a=e.rtpSender._initialTrackId||e.rtpSender.track.id;e.rtpSender._initialTrackId=a;var s="msid:"+(n?n.id:"-")+" "+a+"\r\n";o+="a="+s,o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" "+s,e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" "+s,o+="a=ssrc-group:FID "+e.sendEncodingParameters[0].ssrc+" "+e.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" cname:"+j.localCName+"\r\n",e.rtpSender&&e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" cname:"+j.localCName+"\r\n"),o}function V(e,t){var r={codecs:[],headerExtensions:[],fecMechanisms:[]},n=function(e,t){e=parseInt(e,10);for(var r=0;r<t.length;r++)if(t[r].payloadType===e||t[r].preferredPayloadType===e)return t[r]},i=function(e,t,r,i){var o=n(e.parameters.apt,r),a=n(t.parameters.apt,i);return o&&a&&o.name.toLowerCase()===a.name.toLowerCase()};return e.codecs.forEach((function(n){for(var o=0;o<t.codecs.length;o++){var a=t.codecs[o];if(n.name.toLowerCase()===a.name.toLowerCase()&&n.clockRate===a.clockRate){if("rtx"===n.name.toLowerCase()&&n.parameters&&a.parameters.apt&&!i(n,a,e.codecs,t.codecs))continue;(a=JSON.parse(JSON.stringify(a))).numChannels=Math.min(n.numChannels,a.numChannels),r.codecs.push(a),a.rtcpFeedback=a.rtcpFeedback.filter((function(e){for(var t=0;t<n.rtcpFeedback.length;t++)if(n.rtcpFeedback[t].type===e.type&&n.rtcpFeedback[t].parameter===e.parameter)return!0;return!1}));break}}})),e.headerExtensions.forEach((function(e){for(var n=0;n<t.headerExtensions.length;n++){var i=t.headerExtensions[n];if(e.uri===i.uri){r.headerExtensions.push(i);break}}})),r}function F(e,t,r){return-1!=={offer:{setLocalDescription:["stable","have-local-offer"],setRemoteDescription:["stable","have-remote-offer"]},answer:{setLocalDescription:["have-remote-offer","have-local-pranswer"],setRemoteDescription:["have-local-offer","have-remote-pranswer"]}}[t][e].indexOf(r)}function J(e,t){var r=e.getRemoteCandidates().find((function(e){return t.foundation===e.foundation&&t.ip===e.ip&&t.port===e.port&&t.priority===e.priority&&t.protocol===e.protocol&&t.type===e.type}));return r||e.addRemoteCandidate(t),!r}function G(e,t){var r=new Error(t);return r.name=e,r.code={NotSupportedError:9,InvalidStateError:11,InvalidAccessError:15,TypeError:void 0,OperationError:void 0}[e],r}var H=function(e,t){function r(t,r){r.addTrack(t),r.dispatchEvent(new e.MediaStreamTrackEvent("addtrack",{track:t}))}function n(t,r,n,i){var o=new Event("track");o.track=r,o.receiver=n,o.transceiver={receiver:n},o.streams=i,e.setTimeout((function(){t._dispatchEvent("track",o)}))}var i=function(r){var n=this,i=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach((function(e){n[e]=i[e].bind(i)})),this.canTrickleIceCandidates=null,this.needNegotiation=!1,this.localStreams=[],this.remoteStreams=[],this._localDescription=null,this._remoteDescription=null,this.signalingState="stable",this.iceConnectionState="new",this.connectionState="new",this.iceGatheringState="new",r=JSON.parse(JSON.stringify(r||{})),this.usingBundle="max-bundle"===r.bundlePolicy,"negotiate"===r.rtcpMuxPolicy)throw G("NotSupportedError","rtcpMuxPolicy 'negotiate' is not supported");switch(r.rtcpMuxPolicy||(r.rtcpMuxPolicy="require"),r.iceTransportPolicy){case"all":case"relay":break;default:r.iceTransportPolicy="all"}switch(r.bundlePolicy){case"balanced":case"max-compat":case"max-bundle":break;default:r.bundlePolicy="balanced"}if(r.iceServers=function(e,t){var r=!1;return(e=JSON.parse(JSON.stringify(e))).filter((function(e){if(e&&(e.urls||e.url)){var n=e.urls||e.url;e.url&&!e.urls&&console.warn("RTCIceServer.url is deprecated! Use urls instead.");var i="string"==typeof n;return i&&(n=[n]),n=n.filter((function(e){return 0!==e.indexOf("turn:")||-1===e.indexOf("transport=udp")||-1!==e.indexOf("turn:[")||r?0===e.indexOf("stun:")&&t>=14393&&-1===e.indexOf("?transport=udp"):(r=!0,!0)})),delete e.url,e.urls=i?n[0]:n,!!n.length}}))}(r.iceServers||[],t),this._iceGatherers=[],r.iceCandidatePoolSize)for(var o=r.iceCandidatePoolSize;o>0;o--)this._iceGatherers.push(new e.RTCIceGatherer({iceServers:r.iceServers,gatherPolicy:r.iceTransportPolicy}));else r.iceCandidatePoolSize=0;this._config=r,this.transceivers=[],this._sdpSessionId=j.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(i.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(i.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),i.prototype.onicecandidate=null,i.prototype.onaddstream=null,i.prototype.ontrack=null,i.prototype.onremovestream=null,i.prototype.onsignalingstatechange=null,i.prototype.oniceconnectionstatechange=null,i.prototype.onconnectionstatechange=null,i.prototype.onicegatheringstatechange=null,i.prototype.onnegotiationneeded=null,i.prototype.ondatachannel=null,i.prototype._dispatchEvent=function(e,t){this._isClosed||(this.dispatchEvent(t),"function"==typeof this["on"+e]&&this["on"+e](t))},i.prototype._emitGatheringStateChange=function(){var e=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",e)},i.prototype.getConfiguration=function(){return this._config},i.prototype.getLocalStreams=function(){return this.localStreams},i.prototype.getRemoteStreams=function(){return this.remoteStreams},i.prototype._createTransceiver=function(e,t){var r=this.transceivers.length>0,n={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:e,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&r)n.iceTransport=this.transceivers[0].iceTransport,n.dtlsTransport=this.transceivers[0].dtlsTransport;else{var i=this._createIceAndDtlsTransports();n.iceTransport=i.iceTransport,n.dtlsTransport=i.dtlsTransport}return t||this.transceivers.push(n),n},i.prototype.addTrack=function(t,r){if(this._isClosed)throw G("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var n,i=this.transceivers.find((function(e){return e.track===t}));if(i)throw G("InvalidAccessError","Track already exists.");for(var o=0;o<this.transceivers.length;o++)this.transceivers[o].track||this.transceivers[o].kind!==t.kind||(n=this.transceivers[o]);return n||(n=this._createTransceiver(t.kind)),this._maybeFireNegotiationNeeded(),-1===this.localStreams.indexOf(r)&&this.localStreams.push(r),n.track=t,n.stream=r,n.rtpSender=new e.RTCRtpSender(t,n.dtlsTransport),n.rtpSender},i.prototype.addStream=function(e){var r=this;if(t>=15025)e.getTracks().forEach((function(t){r.addTrack(t,e)}));else{var n=e.clone();e.getTracks().forEach((function(e,t){var r=n.getTracks()[t];e.addEventListener("enabled",(function(e){r.enabled=e.enabled}))})),n.getTracks().forEach((function(e){r.addTrack(e,n)}))}},i.prototype.removeTrack=function(t){if(this._isClosed)throw G("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(t instanceof e.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var r=this.transceivers.find((function(e){return e.rtpSender===t}));if(!r)throw G("InvalidAccessError","Sender was not created by this connection.");var n=r.stream;r.rtpSender.stop(),r.rtpSender=null,r.track=null,r.stream=null;var i=this.transceivers.map((function(e){return e.stream}));-1===i.indexOf(n)&&this.localStreams.indexOf(n)>-1&&this.localStreams.splice(this.localStreams.indexOf(n),1),this._maybeFireNegotiationNeeded()},i.prototype.removeStream=function(e){var t=this;e.getTracks().forEach((function(e){var r=t.getSenders().find((function(t){return t.track===e}));r&&t.removeTrack(r)}))},i.prototype.getSenders=function(){return this.transceivers.filter((function(e){return!!e.rtpSender})).map((function(e){return e.rtpSender}))},i.prototype.getReceivers=function(){return this.transceivers.filter((function(e){return!!e.rtpReceiver})).map((function(e){return e.rtpReceiver}))},i.prototype._createIceGatherer=function(t,r){var n=this;if(r&&t>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var i=new e.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(i,"state",{value:"new",writable:!0}),this.transceivers[t].bufferedCandidateEvents=[],this.transceivers[t].bufferCandidates=function(e){var r=!e.candidate||0===Object.keys(e.candidate).length;i.state=r?"completed":"gathering",null!==n.transceivers[t].bufferedCandidateEvents&&n.transceivers[t].bufferedCandidateEvents.push(e)},i.addEventListener("localcandidate",this.transceivers[t].bufferCandidates),i},i.prototype._gather=function(t,r){var n=this,i=this.transceivers[r].iceGatherer;if(!i.onlocalcandidate){var o=this.transceivers[r].bufferedCandidateEvents;this.transceivers[r].bufferedCandidateEvents=null,i.removeEventListener("localcandidate",this.transceivers[r].bufferCandidates),i.onlocalcandidate=function(e){if(!(n.usingBundle&&r>0)){var o=new Event("icecandidate");o.candidate={sdpMid:t,sdpMLineIndex:r};var a=e.candidate,s=!a||0===Object.keys(a).length;if(s)"new"!==i.state&&"gathering"!==i.state||(i.state="completed");else{"new"===i.state&&(i.state="gathering"),a.component=1,a.ufrag=i.getLocalParameters().usernameFragment;var c=j.writeCandidate(a);o.candidate=Object.assign(o.candidate,j.parseCandidate(c)),o.candidate.candidate=c,o.candidate.toJSON=function(){return{candidate:o.candidate.candidate,sdpMid:o.candidate.sdpMid,sdpMLineIndex:o.candidate.sdpMLineIndex,usernameFragment:o.candidate.usernameFragment}}}var u=j.getMediaSections(n._localDescription.sdp);u[o.candidate.sdpMLineIndex]+=s?"a=end-of-candidates\r\n":"a="+o.candidate.candidate+"\r\n",n._localDescription.sdp=j.getDescription(n._localDescription.sdp)+u.join("");var l=n.transceivers.every((function(e){return e.iceGatherer&&"completed"===e.iceGatherer.state}));"gathering"!==n.iceGatheringState&&(n.iceGatheringState="gathering",n._emitGatheringStateChange()),s||n._dispatchEvent("icecandidate",o),l&&(n._dispatchEvent("icecandidate",new Event("icecandidate")),n.iceGatheringState="complete",n._emitGatheringStateChange())}},e.setTimeout((function(){o.forEach((function(e){i.onlocalcandidate(e)}))}),0)}},i.prototype._createIceAndDtlsTransports=function(){var t=this,r=new e.RTCIceTransport(null);r.onicestatechange=function(){t._updateIceConnectionState(),t._updateConnectionState()};var n=new e.RTCDtlsTransport(r);return n.ondtlsstatechange=function(){t._updateConnectionState()},n.onerror=function(){Object.defineProperty(n,"state",{value:"failed",writable:!0}),t._updateConnectionState()},{iceTransport:r,dtlsTransport:n}},i.prototype._disposeIceAndDtlsTransports=function(e){var t=this.transceivers[e].iceGatherer;t&&(delete t.onlocalcandidate,delete this.transceivers[e].iceGatherer);var r=this.transceivers[e].iceTransport;r&&(delete r.onicestatechange,delete this.transceivers[e].iceTransport);var n=this.transceivers[e].dtlsTransport;n&&(delete n.ondtlsstatechange,delete n.onerror,delete this.transceivers[e].dtlsTransport)},i.prototype._transceive=function(e,r,n){var i=V(e.localCapabilities,e.remoteCapabilities);r&&e.rtpSender&&(i.encodings=e.sendEncodingParameters,i.rtcp={cname:j.localCName,compound:e.rtcpParameters.compound},e.recvEncodingParameters.length&&(i.rtcp.ssrc=e.recvEncodingParameters[0].ssrc),e.rtpSender.send(i)),n&&e.rtpReceiver&&i.codecs.length>0&&("video"===e.kind&&e.recvEncodingParameters&&t<15019&&e.recvEncodingParameters.forEach((function(e){delete e.rtx})),e.recvEncodingParameters.length?i.encodings=e.recvEncodingParameters:i.encodings=[{}],i.rtcp={compound:e.rtcpParameters.compound},e.rtcpParameters.cname&&(i.rtcp.cname=e.rtcpParameters.cname),e.sendEncodingParameters.length&&(i.rtcp.ssrc=e.sendEncodingParameters[0].ssrc),e.rtpReceiver.receive(i))},i.prototype.setLocalDescription=function(e){var t,r,n=this;if(-1===["offer","answer"].indexOf(e.type))return Promise.reject(G("TypeError",'Unsupported type "'+e.type+'"'));if(!F("setLocalDescription",e.type,n.signalingState)||n._isClosed)return Promise.reject(G("InvalidStateError","Can not set local "+e.type+" in state "+n.signalingState));if("offer"===e.type)t=j.splitSections(e.sdp),r=t.shift(),t.forEach((function(e,t){var r=j.parseRtpParameters(e);n.transceivers[t].localCapabilities=r})),n.transceivers.forEach((function(e,t){n._gather(e.mid,t)}));else if("answer"===e.type){t=j.splitSections(n._remoteDescription.sdp),r=t.shift();var i=j.matchPrefix(r,"a=ice-lite").length>0;t.forEach((function(e,t){var o=n.transceivers[t],a=o.iceGatherer,s=o.iceTransport,c=o.dtlsTransport,u=o.localCapabilities,l=o.remoteCapabilities;if(!(j.isRejected(e)&&0===j.matchPrefix(e,"a=bundle-only").length)&&!o.rejected){var d=j.getIceParameters(e,r),_=j.getDtlsParameters(e,r);i&&(_.role="server"),n.usingBundle&&0!==t||(n._gather(o.mid,t),"new"===s.state&&s.start(a,d,i?"controlling":"controlled"),"new"===c.state&&c.start(_));var p=V(u,l);n._transceive(o,p.codecs.length>0,!1)}}))}return n._localDescription={type:e.type,sdp:e.sdp},"offer"===e.type?n._updateSignalingState("have-local-offer"):n._updateSignalingState("stable"),Promise.resolve()},i.prototype.setRemoteDescription=function(i){var o=this;if(-1===["offer","answer"].indexOf(i.type))return Promise.reject(G("TypeError",'Unsupported type "'+i.type+'"'));if(!F("setRemoteDescription",i.type,o.signalingState)||o._isClosed)return Promise.reject(G("InvalidStateError","Can not set remote "+i.type+" in state "+o.signalingState));var a={};o.remoteStreams.forEach((function(e){a[e.id]=e}));var s=[],c=j.splitSections(i.sdp),u=c.shift(),l=j.matchPrefix(u,"a=ice-lite").length>0,d=j.matchPrefix(u,"a=group:BUNDLE ").length>0;o.usingBundle=d;var _=j.matchPrefix(u,"a=ice-options:")[0];return o.canTrickleIceCandidates=!!_&&_.substr(14).split(" ").indexOf("trickle")>=0,c.forEach((function(n,c){var _=j.splitLines(n),p=j.getKind(n),f=j.isRejected(n)&&0===j.matchPrefix(n,"a=bundle-only").length,h=_[0].substr(2).split(" ")[2],b=j.getDirection(n,u),R=j.parseMsid(n),g=j.getMid(n)||j.generateIdentifier();if(f||"application"===p&&("DTLS/SCTP"===h||"UDP/DTLS/SCTP"===h))o.transceivers[c]={mid:g,kind:p,protocol:h,rejected:!0};else{var m,C,v,O,T,E,S,I,y;!f&&o.transceivers[c]&&o.transceivers[c].rejected&&(o.transceivers[c]=o._createTransceiver(p,!0));var L,P,N=j.parseRtpParameters(n);f||(L=j.getIceParameters(n,u),(P=j.getDtlsParameters(n,u)).role="client"),S=j.parseRtpEncodingParameters(n);var A=j.parseRtcpParameters(n),w=j.matchPrefix(n,"a=end-of-candidates",u).length>0,D=j.matchPrefix(n,"a=candidate:").map((function(e){return j.parseCandidate(e)})).filter((function(e){return 1===e.component}));if(("offer"===i.type||"answer"===i.type)&&!f&&d&&c>0&&o.transceivers[c]&&(o._disposeIceAndDtlsTransports(c),o.transceivers[c].iceGatherer=o.transceivers[0].iceGatherer,o.transceivers[c].iceTransport=o.transceivers[0].iceTransport,o.transceivers[c].dtlsTransport=o.transceivers[0].dtlsTransport,o.transceivers[c].rtpSender&&o.transceivers[c].rtpSender.setTransport(o.transceivers[0].dtlsTransport),o.transceivers[c].rtpReceiver&&o.transceivers[c].rtpReceiver.setTransport(o.transceivers[0].dtlsTransport)),"offer"!==i.type||f){if("answer"===i.type&&!f){C=(m=o.transceivers[c]).iceGatherer,v=m.iceTransport,O=m.dtlsTransport,T=m.rtpReceiver,E=m.sendEncodingParameters,I=m.localCapabilities,o.transceivers[c].recvEncodingParameters=S,o.transceivers[c].remoteCapabilities=N,o.transceivers[c].rtcpParameters=A,D.length&&"new"===v.state&&(!l&&!w||d&&0!==c?D.forEach((function(e){J(m.iceTransport,e)})):v.setRemoteCandidates(D)),d&&0!==c||("new"===v.state&&v.start(C,L,"controlling"),"new"===O.state&&O.start(P));var k=V(m.localCapabilities,m.remoteCapabilities).codecs.filter((function(e){return"rtx"===e.name.toLowerCase()})).length;!k&&m.sendEncodingParameters[0].rtx&&delete m.sendEncodingParameters[0].rtx,o._transceive(m,"sendrecv"===b||"recvonly"===b,"sendrecv"===b||"sendonly"===b),!T||"sendrecv"!==b&&"sendonly"!==b?delete m.rtpReceiver:(y=T.track,R?(a[R.stream]||(a[R.stream]=new e.MediaStream),r(y,a[R.stream]),s.push([y,T,a[R.stream]])):(a.default||(a.default=new e.MediaStream),r(y,a.default),s.push([y,T,a.default])))}}else{(m=o.transceivers[c]||o._createTransceiver(p)).mid=g,m.iceGatherer||(m.iceGatherer=o._createIceGatherer(c,d)),D.length&&"new"===m.iceTransport.state&&(!w||d&&0!==c?D.forEach((function(e){J(m.iceTransport,e)})):m.iceTransport.setRemoteCandidates(D)),I=e.RTCRtpReceiver.getCapabilities(p),t<15019&&(I.codecs=I.codecs.filter((function(e){return"rtx"!==e.name}))),E=m.sendEncodingParameters||[{ssrc:1001*(2*c+2)}];var U,M=!1;if("sendrecv"===b||"sendonly"===b){if(M=!m.rtpReceiver,T=m.rtpReceiver||new e.RTCRtpReceiver(m.dtlsTransport,p),M)y=T.track,R&&"-"===R.stream||(R?(a[R.stream]||(a[R.stream]=new e.MediaStream,Object.defineProperty(a[R.stream],"id",{get:function(){return R.stream}})),Object.defineProperty(y,"id",{get:function(){return R.track}}),U=a[R.stream]):(a.default||(a.default=new e.MediaStream),U=a.default)),U&&(r(y,U),m.associatedRemoteMediaStreams.push(U)),s.push([y,T,U])}else m.rtpReceiver&&m.rtpReceiver.track&&(m.associatedRemoteMediaStreams.forEach((function(t){var r=t.getTracks().find((function(e){return e.id===m.rtpReceiver.track.id}));r&&function(t,r){r.removeTrack(t),r.dispatchEvent(new e.MediaStreamTrackEvent("removetrack",{track:t}))}(r,t)})),m.associatedRemoteMediaStreams=[]);m.localCapabilities=I,m.remoteCapabilities=N,m.rtpReceiver=T,m.rtcpParameters=A,m.sendEncodingParameters=E,m.recvEncodingParameters=S,o._transceive(o.transceivers[c],!1,M)}}})),void 0===o._dtlsRole&&(o._dtlsRole="offer"===i.type?"active":"passive"),o._remoteDescription={type:i.type,sdp:i.sdp},"offer"===i.type?o._updateSignalingState("have-remote-offer"):o._updateSignalingState("stable"),Object.keys(a).forEach((function(t){var r=a[t];if(r.getTracks().length){if(-1===o.remoteStreams.indexOf(r)){o.remoteStreams.push(r);var i=new Event("addstream");i.stream=r,e.setTimeout((function(){o._dispatchEvent("addstream",i)}))}s.forEach((function(e){var t=e[0],i=e[1];r.id===e[2].id&&n(o,t,i,[r])}))}})),s.forEach((function(e){e[2]||n(o,e[0],e[1],[])})),e.setTimeout((function(){o&&o.transceivers&&o.transceivers.forEach((function(e){e.iceTransport&&"new"===e.iceTransport.state&&e.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),e.iceTransport.addRemoteCandidate({}))}))}),4e3),Promise.resolve()},i.prototype.close=function(){this.transceivers.forEach((function(e){e.iceTransport&&e.iceTransport.stop(),e.dtlsTransport&&e.dtlsTransport.stop(),e.rtpSender&&e.rtpSender.stop(),e.rtpReceiver&&e.rtpReceiver.stop()})),this._isClosed=!0,this._updateSignalingState("closed")},i.prototype._updateSignalingState=function(e){this.signalingState=e;var t=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",t)},i.prototype._maybeFireNegotiationNeeded=function(){var t=this;"stable"===this.signalingState&&!0!==this.needNegotiation&&(this.needNegotiation=!0,e.setTimeout((function(){if(t.needNegotiation){t.needNegotiation=!1;var e=new Event("negotiationneeded");t._dispatchEvent("negotiationneeded",e)}}),0))},i.prototype._updateIceConnectionState=function(){var e,t={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach((function(e){e.iceTransport&&!e.rejected&&t[e.iceTransport.state]++})),e="new",t.failed>0?e="failed":t.checking>0?e="checking":t.disconnected>0?e="disconnected":t.new>0?e="new":t.connected>0?e="connected":t.completed>0&&(e="completed"),e!==this.iceConnectionState){this.iceConnectionState=e;var r=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",r)}},i.prototype._updateConnectionState=function(){var e,t={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach((function(e){e.iceTransport&&e.dtlsTransport&&!e.rejected&&(t[e.iceTransport.state]++,t[e.dtlsTransport.state]++)})),t.connected+=t.completed,e="new",t.failed>0?e="failed":t.connecting>0?e="connecting":t.disconnected>0?e="disconnected":t.new>0?e="new":t.connected>0&&(e="connected"),e!==this.connectionState){this.connectionState=e;var r=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",r)}},i.prototype.createOffer=function(){var r=this;if(r._isClosed)return Promise.reject(G("InvalidStateError","Can not call createOffer after close"));var n=r.transceivers.filter((function(e){return"audio"===e.kind})).length,i=r.transceivers.filter((function(e){return"video"===e.kind})).length,o=arguments[0];if(o){if(o.mandatory||o.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==o.offerToReceiveAudio&&(n=!0===o.offerToReceiveAudio?1:!1===o.offerToReceiveAudio?0:o.offerToReceiveAudio),void 0!==o.offerToReceiveVideo&&(i=!0===o.offerToReceiveVideo?1:!1===o.offerToReceiveVideo?0:o.offerToReceiveVideo)}for(r.transceivers.forEach((function(e){"audio"===e.kind?--n<0&&(e.wantReceive=!1):"video"===e.kind&&--i<0&&(e.wantReceive=!1)}));n>0||i>0;)n>0&&(r._createTransceiver("audio"),n--),i>0&&(r._createTransceiver("video"),i--);var a=j.writeSessionBoilerplate(r._sdpSessionId,r._sdpSessionVersion++);r.transceivers.forEach((function(n,i){var o=n.track,a=n.kind,s=n.mid||j.generateIdentifier();n.mid=s,n.iceGatherer||(n.iceGatherer=r._createIceGatherer(i,r.usingBundle));var c=e.RTCRtpSender.getCapabilities(a);t<15019&&(c.codecs=c.codecs.filter((function(e){return"rtx"!==e.name}))),c.codecs.forEach((function(e){"H264"===e.name&&void 0===e.parameters["level-asymmetry-allowed"]&&(e.parameters["level-asymmetry-allowed"]="1"),n.remoteCapabilities&&n.remoteCapabilities.codecs&&n.remoteCapabilities.codecs.forEach((function(t){e.name.toLowerCase()===t.name.toLowerCase()&&e.clockRate===t.clockRate&&(e.preferredPayloadType=t.payloadType)}))})),c.headerExtensions.forEach((function(e){(n.remoteCapabilities&&n.remoteCapabilities.headerExtensions||[]).forEach((function(t){e.uri===t.uri&&(e.id=t.id)}))}));var u=n.sendEncodingParameters||[{ssrc:1001*(2*i+1)}];o&&t>=15019&&"video"===a&&!u[0].rtx&&(u[0].rtx={ssrc:u[0].ssrc+1}),n.wantReceive&&(n.rtpReceiver=new e.RTCRtpReceiver(n.dtlsTransport,a)),n.localCapabilities=c,n.sendEncodingParameters=u})),"max-compat"!==r._config.bundlePolicy&&(a+="a=group:BUNDLE "+r.transceivers.map((function(e){return e.mid})).join(" ")+"\r\n"),a+="a=ice-options:trickle\r\n",r.transceivers.forEach((function(e,t){a+=B(e,e.localCapabilities,"offer",e.stream,r._dtlsRole),a+="a=rtcp-rsize\r\n",!e.iceGatherer||"new"===r.iceGatheringState||0!==t&&r.usingBundle||(e.iceGatherer.getLocalCandidates().forEach((function(e){e.component=1,a+="a="+j.writeCandidate(e)+"\r\n"})),"completed"===e.iceGatherer.state&&(a+="a=end-of-candidates\r\n"))}));var s=new e.RTCSessionDescription({type:"offer",sdp:a});return Promise.resolve(s)},i.prototype.createAnswer=function(){var r=this;if(r._isClosed)return Promise.reject(G("InvalidStateError","Can not call createAnswer after close"));if("have-remote-offer"!==r.signalingState&&"have-local-pranswer"!==r.signalingState)return Promise.reject(G("InvalidStateError","Can not call createAnswer in signalingState "+r.signalingState));var n=j.writeSessionBoilerplate(r._sdpSessionId,r._sdpSessionVersion++);r.usingBundle&&(n+="a=group:BUNDLE "+r.transceivers.map((function(e){return e.mid})).join(" ")+"\r\n"),n+="a=ice-options:trickle\r\n";var i=j.getMediaSections(r._remoteDescription.sdp).length;r.transceivers.forEach((function(e,o){if(!(o+1>i)){if(e.rejected)return"application"===e.kind?"DTLS/SCTP"===e.protocol?n+="m=application 0 DTLS/SCTP 5000\r\n":n+="m=application 0 "+e.protocol+" webrtc-datachannel\r\n":"audio"===e.kind?n+="m=audio 0 UDP/TLS/RTP/SAVPF 0\r\na=rtpmap:0 PCMU/8000\r\n":"video"===e.kind&&(n+="m=video 0 UDP/TLS/RTP/SAVPF 120\r\na=rtpmap:120 VP8/90000\r\n"),void(n+="c=IN IP4 0.0.0.0\r\na=inactive\r\na=mid:"+e.mid+"\r\n");var a;if(e.stream)"audio"===e.kind?a=e.stream.getAudioTracks()[0]:"video"===e.kind&&(a=e.stream.getVideoTracks()[0]),a&&t>=15019&&"video"===e.kind&&!e.sendEncodingParameters[0].rtx&&(e.sendEncodingParameters[0].rtx={ssrc:e.sendEncodingParameters[0].ssrc+1});var s=V(e.localCapabilities,e.remoteCapabilities),c=s.codecs.filter((function(e){return"rtx"===e.name.toLowerCase()})).length;!c&&e.sendEncodingParameters[0].rtx&&delete e.sendEncodingParameters[0].rtx,n+=B(e,s,"answer",e.stream,r._dtlsRole),e.rtcpParameters&&e.rtcpParameters.reducedSize&&(n+="a=rtcp-rsize\r\n")}}));var o=new e.RTCSessionDescription({type:"answer",sdp:n});return Promise.resolve(o)},i.prototype.addIceCandidate=function(e){var t,r=this;return e&&void 0===e.sdpMLineIndex&&!e.sdpMid?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise((function(n,i){if(!r._remoteDescription)return i(G("InvalidStateError","Can not add ICE candidate without a remote description"));if(e&&""!==e.candidate){var o=e.sdpMLineIndex;if(e.sdpMid)for(var a=0;a<r.transceivers.length;a++)if(r.transceivers[a].mid===e.sdpMid){o=a;break}var s=r.transceivers[o];if(!s)return i(G("OperationError","Can not add ICE candidate"));if(s.rejected)return n();var c=Object.keys(e.candidate).length>0?j.parseCandidate(e.candidate):{};if("tcp"===c.protocol&&(0===c.port||9===c.port))return n();if(c.component&&1!==c.component)return n();if((0===o||o>0&&s.iceTransport!==r.transceivers[0].iceTransport)&&!J(s.iceTransport,c))return i(G("OperationError","Can not add ICE candidate"));var u=e.candidate.trim();0===u.indexOf("a=")&&(u=u.substr(2)),(t=j.getMediaSections(r._remoteDescription.sdp))[o]+="a="+(c.type?u:"end-of-candidates")+"\r\n",r._remoteDescription.sdp=j.getDescription(r._remoteDescription.sdp)+t.join("")}else for(var l=0;l<r.transceivers.length&&(r.transceivers[l].rejected||(r.transceivers[l].iceTransport.addRemoteCandidate({}),(t=j.getMediaSections(r._remoteDescription.sdp))[l]+="a=end-of-candidates\r\n",r._remoteDescription.sdp=j.getDescription(r._remoteDescription.sdp)+t.join(""),!r.usingBundle));l++);n()}))},i.prototype.getStats=function(t){if(t&&t instanceof e.MediaStreamTrack){var r=null;if(this.transceivers.forEach((function(e){e.rtpSender&&e.rtpSender.track===t?r=e.rtpSender:e.rtpReceiver&&e.rtpReceiver.track===t&&(r=e.rtpReceiver)})),!r)throw G("InvalidAccessError","Invalid selector.");return r.getStats()}var n=[];return this.transceivers.forEach((function(e){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach((function(t){e[t]&&n.push(e[t].getStats())}))})),Promise.all(n).then((function(e){var t=new Map;return e.forEach((function(e){e.forEach((function(e){t.set(e.id,e)}))})),t}))};["RTCRtpSender","RTCRtpReceiver","RTCIceGatherer","RTCIceTransport","RTCDtlsTransport"].forEach((function(t){var r=e[t];if(r&&r.prototype&&r.prototype.getStats){var n=r.prototype.getStats;r.prototype.getStats=function(){return n.apply(this).then((function(e){var t=new Map;return Object.keys(e).forEach((function(r){var n;e[r].type={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[(n=e[r]).type]||n.type,t.set(r,e[r])})),t}))}}}));var o=["createOffer","createAnswer"];return o.forEach((function(e){var t=i.prototype[e];i.prototype[e]=function(){var e=arguments;return"function"==typeof e[0]||"function"==typeof e[1]?t.apply(this,[arguments[2]]).then((function(t){"function"==typeof e[0]&&e[0].apply(null,[t])}),(function(t){"function"==typeof e[1]&&e[1].apply(null,[t])})):t.apply(this,arguments)}})),(o=["setLocalDescription","setRemoteDescription","addIceCandidate"]).forEach((function(e){var t=i.prototype[e];i.prototype[e]=function(){var e=arguments;return"function"==typeof e[1]||"function"==typeof e[2]?t.apply(this,arguments).then((function(){"function"==typeof e[1]&&e[1].apply(null)}),(function(t){"function"==typeof e[2]&&e[2].apply(null,[t])})):t.apply(this,arguments)}})),["getStats"].forEach((function(e){var t=i.prototype[e];i.prototype[e]=function(){var e=arguments;return"function"==typeof e[1]?t.apply(this,arguments).then((function(){"function"==typeof e[1]&&e[1].apply(null)})):t.apply(this,arguments)}})),i};function K(e){const t=e&&e.navigator,r=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(e){return r(e).catch((e=>Promise.reject(function(e){return{name:{PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:e.message,constraint:e.constraint,toString(){return this.name}}}(e))))}}function W(e){"getDisplayMedia"in e.navigator&&e.navigator.mediaDevices&&(e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=e.navigator.getDisplayMedia.bind(e.navigator)))}function Y(e,t){if(e.RTCIceGatherer&&(e.RTCIceCandidate||(e.RTCIceCandidate=function(e){return e}),e.RTCSessionDescription||(e.RTCSessionDescription=function(e){return e}),t.version<15025)){const t=Object.getOwnPropertyDescriptor(e.MediaStreamTrack.prototype,"enabled");Object.defineProperty(e.MediaStreamTrack.prototype,"enabled",{set(e){t.set.call(this,e);const r=new Event("enabled");r.enabled=e,this.dispatchEvent(r)}})}e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)&&Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=new e.RTCDtmfSender(this):"video"===this.track.kind&&(this._dtmf=null)),this._dtmf}}),e.RTCDtmfSender&&!e.RTCDTMFSender&&(e.RTCDTMFSender=e.RTCDtmfSender);const r=H(e,t.version);e.RTCPeerConnection=function(e){return e&&e.iceServers&&(e.iceServers=function(e){let t=!1;return(e=JSON.parse(JSON.stringify(e))).filter((e=>{if(e&&(e.urls||e.url)){let r=e.urls||e.url;e.url&&!e.urls&&m("RTCIceServer.url","RTCIceServer.urls");const n="string"==typeof r;return n&&(r=[r]),r=r.filter((e=>{if(0===e.indexOf("stun:"))return!1;const r=e.startsWith("turn")&&!e.startsWith("turn:[")&&e.includes("transport=udp");return r&&!t?(t=!0,!0):r&&!t})),delete e.url,e.urls=n?r[0]:r,!!r.length}}))}(e.iceServers,t.version),g("ICE servers after filtering:",e.iceServers)),new r(e)},e.RTCPeerConnection.prototype=r.prototype}function z(e){e.RTCRtpSender&&!("replaceTrack"in e.RTCRtpSender.prototype)&&(e.RTCRtpSender.prototype.replaceTrack=e.RTCRtpSender.prototype.setTrack)}var q=Object.freeze({__proto__:null,shimPeerConnection:Y,shimReplaceTrack:z,shimGetUserMedia:K,shimGetDisplayMedia:W});function Q(e,t){const r=e&&e.navigator,n=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,t,n){m("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),r.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){const e=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])},t=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(r){return"object"==typeof r&&"object"==typeof r.audio&&(r=JSON.parse(JSON.stringify(r)),e(r.audio,"autoGainControl","mozAutoGainControl"),e(r.audio,"noiseSuppression","mozNoiseSuppression")),t(r)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const r=t.apply(this,arguments);return e(r,"mozAutoGainControl","autoGainControl"),e(r,"mozNoiseSuppression","noiseSuppression"),r}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(r){return"audio"===this.kind&&"object"==typeof r&&(r=JSON.parse(JSON.stringify(r)),e(r,"autoGainControl","mozAutoGainControl"),e(r,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[r])}}}}function Z(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function X(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}));const r={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,i,o]=arguments;return n.apply(this,[e||null]).then((e=>{if(t.version<53&&!i)try{e.forEach((e=>{e.type=r[e.type]||e.type}))}catch(t){if("TypeError"!==t.name)throw t;e.forEach(((t,n)=>{e.set(n,Object.assign({},t,{type:r[t.type]||t.type}))}))}return e})).then(i,o)}}function $(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function ee(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),h(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function te(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){m("removeStream","removeTrack"),this.getSenders().forEach((t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)}))})}function re(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function ne(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];const e=arguments[1],r=e&&"sendEncodings"in e;r&&e.sendEncodings.forEach((e=>{if("rid"in e){if(!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")}));const n=t.apply(this,arguments);if(r){const{sender:t}=n,r=t.getParameters();(!("encodings"in r)||1===r.encodings.length&&0===Object.keys(r.encodings[0]).length)&&(r.encodings=e.sendEncodings,t.sendEncodings=e.sendEncodings,this.setParametersPromises.push(t.setParameters(r).then((()=>{delete t.sendEncodings})).catch((()=>{delete t.sendEncodings}))))}return n})}function ie(e){if("object"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function oe(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function ae(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}var se=Object.freeze({__proto__:null,shimOnTrack:Z,shimPeerConnection:X,shimSenderGetStats:$,shimReceiverGetStats:ee,shimRemoveStream:te,shimRTCDataChannel:re,shimAddTransceiver:ne,shimGetParameters:ie,shimCreateOffer:oe,shimCreateAnswer:ae,shimGetUserMedia:Q,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!r||!r.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===r.video?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})}});function ce(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((r=>t.call(this,r,e))),e.getVideoTracks().forEach((r=>t.call(this,r,e)))},e.RTCPeerConnection.prototype.addTrack=function(e,...r){return r&&r.forEach((e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]})),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const r=e.getTracks();this.getSenders().forEach((e=>{r.includes(e.track)&&this.removeTrack(e)}))})}}function ue(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach((e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event("addstream");t.stream=e,this.dispatchEvent(t)}))})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach((t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const r=new Event("addstream");r.stream=t,e.dispatchEvent(r)}))}),t.apply(e,arguments)}}}function le(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,r=t.createOffer,n=t.createAnswer,i=t.setLocalDescription,o=t.setRemoteDescription,a=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){const r=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i};let s=function(e,t,r){const n=i.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n};t.setLocalDescription=s,s=function(e,t,r){const n=o.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.setRemoteDescription=s,s=function(e,t,r){const n=a.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.addIceCandidate=s}function de(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,r=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>r(_e(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,r,n){t.mediaDevices.getUserMedia(e).then(r,n)}.bind(t))}function _e(e){return e&&void 0!==e.video?Object.assign({},e,{video:v(e.video)}):e}function pe(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,r){if(e&&e.iceServers){const t=[];for(let r=0;r<e.iceServers.length;r++){let n=e.iceServers[r];!n.hasOwnProperty("urls")&&n.hasOwnProperty("url")?(m("RTCIceServer.url","RTCIceServer.urls"),n=JSON.parse(JSON.stringify(n)),n.urls=n.url,delete n.url,t.push(n)):t.push(e.iceServers[r])}e.iceServers=t}return new t(e,r)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function fe(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function he(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find((e=>"audio"===e.receiver.track.kind));!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio"),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const r=this.getTransceivers().find((e=>"video"===e.receiver.track.kind));!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video")}return t.apply(this,arguments)}}function be(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Re=Object.freeze({__proto__:null,shimLocalStreamsAPI:ce,shimRemoteStreamsAPI:ue,shimCallbacksAPI:le,shimGetUserMedia:de,shimConstraints:_e,shimRTCIceServerUrls:pe,shimTrackEventTransceiver:fe,shimCreateOfferLegacy:he,shimAudioContext:be});function ge(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;const t=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"==typeof e&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substr(2)),e.candidate&&e.candidate.length){const r=new t(e),n=j.parseCandidate(e.candidate),i=Object.assign(r,n);return i.toJSON=function(){return{candidate:i.candidate,sdpMid:i.sdpMid,sdpMLineIndex:i.sdpMLineIndex,usernameFragment:i.usernameFragment}},i}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,h(e,"icecandidate",(t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t)))}function me(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(function(e){if(!e||!e.sdp)return!1;const t=j.splitSections(e.sdp);return t.shift(),t.some((e=>{const t=j.parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")}))}(arguments[0])){const e=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return-1;const r=parseInt(t[1],10);return r!=r?-1:r}(arguments[0]),r=function(e){let r=65536;return"firefox"===t.browser&&(r=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),r}(e),n=function(e,r){let n=65536;"firefox"===t.browser&&57===t.version&&(n=65535);const i=j.matchPrefix(e.sdp,"a=max-message-size:");return i.length>0?n=parseInt(i[0].substr(19),10):"firefox"===t.browser&&-1!==r&&(n=2147483637),n}(arguments[0],e);let i;i=0===r&&0===n?Number.POSITIVE_INFINITY:0===r||0===n?Math.max(r,n):Math.min(r,n);const o={};Object.defineProperty(o,"maxMessageSize",{get:()=>i}),this._sctp=o}return r.apply(this,arguments)}}function Ce(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const r=e.send;e.send=function(){const n=arguments[0],i=n.length||n.size||n.byteLength;if("open"===e.readyState&&t.sctp&&i>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return r.apply(e,arguments)}}const r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=r.apply(this,arguments);return t(e,this),e},h(e,"datachannel",(e=>(t(e.channel,e.target),e)))}function ve(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach((e=>{const r=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const r=new Event("connectionstatechange",e);t.dispatchEvent(r)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}}))}function Oe(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t.version>=605)return;const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const r=t.sdp.split("\n").filter((e=>"a=extmap-allow-mixed"!==e.trim())).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:r}):t.sdp=r}return r.apply(this,arguments)}}function Te(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.addIceCandidate;r&&0!==r.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}var Ee=Object.freeze({__proto__:null,shimRTCIceCandidate:ge,shimMaxMessageSize:me,shimSendThrowTypeError:Ce,shimConnectionState:ve,removeExtmapAllowMixed:Oe,shimAddIceCandidateNullOrEmpty:Te});const Se=function({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0}){const r=g,n=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator)return t.browser="Not a browser.",t;const{navigator:r}=e;if(r.mozGetUserMedia)t.browser="firefox",t.version=f(r.userAgent,/Firefox\/(\d+)\./,1);else if(r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection&&!e.RTCIceGatherer)t.browser="chrome",t.version=f(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(r.mediaDevices&&r.userAgent.match(/Edge\/(\d+).(\d+)$/))t.browser="edge",t.version=f(r.userAgent,/Edge\/(\d+).(\d+)$/,2);else{if(!e.RTCPeerConnection||!r.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=f(r.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t}(e),i={browserDetails:n,commonShim:Ee,extractVersion:f,disableLog:b,disableWarnings:R};switch(n.browser){case"chrome":if(!U||!D||!t.shimChrome)return r("Chrome shim is not included in this adapter release."),i;if(null===n.version)return r("Chrome shim can not determine version, not shimming."),i;r("adapter.js shimming chrome."),i.browserShim=U,Te(e,n),S(e,n),I(e),D(e,n),y(e),w(e,n),L(e),P(e),N(e),k(e,n),ge(e),ve(e),me(e,n),Ce(e),Oe(e,n);break;case"firefox":if(!se||!X||!t.shimFirefox)return r("Firefox shim is not included in this adapter release."),i;r("adapter.js shimming firefox."),i.browserShim=se,Te(e,n),Q(e,n),X(e,n),Z(e),te(e),$(e),ee(e),re(e),ne(e),ie(e),oe(e),ae(e),ge(e),ve(e),me(e,n),Ce(e);break;case"edge":if(!q||!Y||!t.shimEdge)return r("MS edge shim is not included in this adapter release."),i;r("adapter.js shimming edge."),i.browserShim=q,K(e),W(e),Y(e,n),z(e),me(e,n),Ce(e);break;case"safari":if(!Re||!t.shimSafari)return r("Safari shim is not included in this adapter release."),i;r("adapter.js shimming safari."),i.browserShim=Re,Te(e,n),pe(e),he(e),le(e),ce(e),ue(e),fe(e),de(e),be(e),ge(e),me(e,n),Ce(e),Oe(e,n);break;default:r("Unsupported browser!")}return i}({window:"undefined"==typeof window?void 0:window});var Ie,ye,Le,Pe;exports.RCFrameRate=void 0,(Ie=exports.RCFrameRate||(exports.RCFrameRate={})).FPS_10="FPS_10",Ie.FPS_15="FPS_15",Ie.FPS_24="FPS_24",Ie.FPS_30="FPS_30",exports.RCResolution=void 0,(ye=exports.RCResolution||(exports.RCResolution={})).W176_H132="W176_H132",ye.W176_H144="W176_H144",ye.W180_H180="W180_H180",ye.W240_H180="W240_H180",ye.W240_H240="W240_H240",ye.W256_H144="W256_H144",ye.W320_H180="W320_H180",ye.W320_H240="W320_H240",ye.W360_H360="W360_H360",ye.W480_H360="W480_H360",ye.W480_H480="W480_H480",ye.W640_H360="W640_H360",ye.W640_H480="W640_H480",ye.W720_H480="W720_H480",ye.W848_H480="W848_H480",ye.W960_H720="W960_H720",ye.W1280_H720="W1280_H720",ye.W1920_H1080="W1920_H1080",ye.W144_H176="W144_H176",ye.W144_H256="W144_H256",ye.W180_H240="W180_H240",ye.W180_H320="W180_H320",ye.W240_H320="W240_H320",ye.W360_H480="W360_H480",ye.W360_H640="W360_H640",ye.W480_H640="W480_H640",ye.W480_H720="W480_H720",ye.W480_H848="W480_H848",ye.W720_H1280="W720_H1280",ye.W720_H960="W720_H960",ye.W1080_H1920="W1080_H1920",exports.RCMediaType=void 0,(Le=exports.RCMediaType||(exports.RCMediaType={}))[Le.AUDIO_ONLY=0]="AUDIO_ONLY",Le[Le.VIDEO_ONLY=1]="VIDEO_ONLY",Le[Le.AUDIO_VIDEO=2]="AUDIO_VIDEO";var Ne,Ae=((Pe={})[exports.RCResolution.W176_H132]={width:176,height:132,maxBitrate:150,minBitrate:80},Pe[exports.RCResolution.W176_H144]={width:176,height:144,maxBitrate:150,minBitrate:80},Pe[exports.RCResolution.W180_H180]={width:180,height:180,maxBitrate:200,minBitrate:100},Pe[exports.RCResolution.W240_H180]={width:240,height:180,maxBitrate:240,minBitrate:120},Pe[exports.RCResolution.W240_H240]={width:240,height:240,maxBitrate:280,minBitrate:120},Pe[exports.RCResolution.W256_H144]={width:256,height:144,maxBitrate:240,minBitrate:120},Pe[exports.RCResolution.W320_H180]={width:320,height:180,maxBitrate:280,minBitrate:120},Pe[exports.RCResolution.W320_H240]={width:320,height:240,maxBitrate:400,minBitrate:120},Pe[exports.RCResolution.W360_H360]={width:360,height:360,maxBitrate:520,minBitrate:140},Pe[exports.RCResolution.W480_H360]={width:480,height:360,maxBitrate:650,minBitrate:150},Pe[exports.RCResolution.W480_H480]={width:480,height:480,maxBitrate:800,minBitrate:180},Pe[exports.RCResolution.W640_H360]={width:640,height:360,maxBitrate:800,minBitrate:180},Pe[exports.RCResolution.W640_H480]={width:640,height:480,maxBitrate:900,minBitrate:200},Pe[exports.RCResolution.W720_H480]={width:720,height:480,maxBitrate:1e3,minBitrate:200},Pe[exports.RCResolution.W848_H480]={width:848,height:480,maxBitrate:1860,minBitrate:200},Pe[exports.RCResolution.W960_H720]={width:960,height:720,maxBitrate:2e3,minBitrate:250},Pe[exports.RCResolution.W1280_H720]={width:1280,height:720,maxBitrate:2200,minBitrate:250},Pe[exports.RCResolution.W1920_H1080]={width:1920,height:1080,maxBitrate:4e3,minBitrate:400},Pe[exports.RCResolution.W144_H176]={width:144,height:176,maxBitrate:150,minBitrate:80},Pe[exports.RCResolution.W144_H256]={width:144,height:256,maxBitrate:240,minBitrate:120},Pe[exports.RCResolution.W180_H240]={width:180,height:240,maxBitrate:240,minBitrate:120},Pe[exports.RCResolution.W180_H320]={width:180,height:320,maxBitrate:280,minBitrate:120},Pe[exports.RCResolution.W240_H320]={width:240,height:320,maxBitrate:400,minBitrate:120},Pe[exports.RCResolution.W360_H480]={width:360,height:480,maxBitrate:650,minBitrate:150},Pe[exports.RCResolution.W360_H640]={width:360,height:640,maxBitrate:800,minBitrate:180},Pe[exports.RCResolution.W480_H640]={width:480,height:640,maxBitrate:900,minBitrate:200},Pe[exports.RCResolution.W480_H720]={width:480,height:720,maxBitrate:1e3,minBitrate:200},Pe[exports.RCResolution.W480_H848]={width:480,height:848,maxBitrate:1860,minBitrate:930},Pe[exports.RCResolution.W720_H1280]={width:720,height:1280,maxBitrate:2200,minBitrate:250},Pe[exports.RCResolution.W720_H960]={width:720,height:960,maxBitrate:2760,minBitrate:910},Pe[exports.RCResolution.W1080_H1920]={width:1080,height:1920,maxBitrate:4e3,minBitrate:400},Pe),we=function(e){var t={192:180,368:360,1088:1080};return t[e]?t[e]:e},De=function(e,t){e=we(e),t=we(t);var r=Ae["W".concat(e,"_H").concat(t)];if(r)return r;var n=e*t;return Object.keys(Ae).map((function(e){return Ae[e]})).sort((function(e,t){return e.height*e.width-t.width*t.height})).filter((function(e){return e.height*e.width>=n}))[0]||Ae.W1920_H1080},ke={10:1,15:1,24:1.5,30:1.5},Ue=function(e){var t=Number.MAX_VALUE,r=1;for(var n in ke){var i=Math.abs(e-parseInt(n));i<t&&(t=i,r=ke[n])}return r},Me={getCameras:function(){return s(void 0,void 0,void 0,(function(){return c(this,(function(e){switch(e.label){case 0:return[4,navigator.mediaDevices.enumerateDevices()];case 1:return[2,e.sent().filter((function(e){return"videoinput"===e.kind}))]}}))}))},getMicrophones:function(){return s(void 0,void 0,void 0,(function(){return c(this,(function(e){switch(e.label){case 0:return[4,navigator.mediaDevices.enumerateDevices()];case 1:return[2,e.sent().filter((function(e){return"audioinput"===e.kind}))]}}))}))},getSpeakers:function(){return s(void 0,void 0,void 0,(function(){return c(this,(function(e){switch(e.label){case 0:return[4,navigator.mediaDevices.enumerateDevices()];case 1:return[2,e.sent().filter((function(e){return"audiooutput"===e.kind}))]}}))}))}};!function(e){e.AUDIO="audio",e.VIDEO="video"}(Ne||(Ne={}));var xe,je,Be,Ve=function(t){function n(e,r,n,i,o,a){var s=t.call(this)||this;return Object.defineProperty(s,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(s,"_tag",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(s,"_userId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(s,"_kind",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(s,"_isLocalTrack",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(s,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(s,"_localMuted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(s,"_remoteMuted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(s,"_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(s,"_streamId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(s,"_msTrack",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(s,"_msStream",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(s,"DataTrackId",{enumerable:!0,configurable:!0,writable:!0,value:"data-track-id"}),Object.defineProperty(s,"_element",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),s._streamId=[s._userId||s._roomId,s._tag].join("_"),s._id=[s._streamId,s.isAudioTrack()?0:1].join("_"),s}return r(n,t),Object.defineProperty(n.prototype,"getStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._streamId}}),Object.defineProperty(n.prototype,"getTrackId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._id}}),Object.defineProperty(n.prototype,"getUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._userId}}),Object.defineProperty(n.prototype,"__innerGetMediaStreamTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._msTrack}}),Object.defineProperty(n.prototype,"streamTrack",{get:function(){return this._msTrack},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"getTag",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._tag}}),Object.defineProperty(n.prototype,"isLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isLocalTrack}}),Object.defineProperty(n.prototype,"isVideoTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"video"===this._kind}}),Object.defineProperty(n.prototype,"isAudioTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"audio"===this._kind}}),Object.defineProperty(n.prototype,"isReady",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return"live"===(null===(e=this._msTrack)||void 0===e?void 0:e.readyState)}}),Object.defineProperty(n.prototype,"__innerSetMediaStreamTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._msTrack=e,this._setLocalMuted(this._localMuted);var t=this._msStream=this._msStream||new MediaStream,r=t.getTracks()[0];r&&t.removeTrack(r),this._isLocalTrack||this._logger.warn(i.L_INNER_SET_TRACK_O,"trackId: ".concat(this._id,", track: ").concat(e?e.id:"undefined")),e?t.addTrack(e):this._element&&this._element.getAttribute(this.DataTrackId)===this.getTrackId()&&(this._element.pause(),this._element.srcObject=null)}}),Object.defineProperty(n.prototype,"_setLocalMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return this._msTrack&&(this._msTrack.enabled=!e),this._localMuted=e,[2,exports.RCRTCCode.SUCCESS]}))}))}}),Object.defineProperty(n.prototype,"mute",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){return c(this,(function(e){return[2,this._setLocalMuted(!0)]}))}))}}),Object.defineProperty(n.prototype,"unmute",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){return c(this,(function(e){return[2,this._setLocalMuted(!1)]}))}))}}),Object.defineProperty(n.prototype,"isLocalMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._localMuted}}),Object.defineProperty(n.prototype,"isMCUTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){return Boolean(this._roomId)}}),Object.defineProperty(n.prototype,"isOwnerMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._remoteMuted}}),Object.defineProperty(n.prototype,"_validateVolume",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(null==t?void 0:t.volume){if(!e.isNumber(null==t?void 0:t.volume))return this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> options.volume not a number"})),{code:exports.RCRTCCode.PARAMS_ERROR};(null==t?void 0:t.volume)<0&&(t.volume=0,this._logger.warn(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,msg:"params error -> options.volume < 0",tips:"the valid range of options.volume is 0-100, the value of volume has been set 0"}))),(null==t?void 0:t.volume)>100&&(t.volume=100,this._logger.warn(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,msg:"params error -> options.volume > 100",tips:"the valid range of options.volume is 0-100, the value of volume has been set 100"})))}}}),Object.defineProperty(n.prototype,"_validatePlayOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n;return c(this,(function(a){switch(a.label){case 0:return this._msTrack?("ended"===this._msTrack.readyState&&this._logger.warn(i.L_TRACK_PLAY_E,"track readyState is ended -> id: ".concat(this._id)),(r=this._validateVolume(t))?[2,r]:(null==t?void 0:t.audioDeviceId)?[4,Me.getSpeakers()]:[3,2]):(this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.TRACK_NOT_READY,kind:this._kind,msg:"the track is not ready to play -> id: ".concat(this._id)})),[2,{code:exports.RCRTCCode.TRACK_NOT_READY}]);case 1:if(n=a.sent().map((function(e){return e.deviceId})),!n.includes(t.audioDeviceId))return this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> options.audioDeviceId"})),[2,{code:exports.RCRTCCode.PARAMS_ERROR}];a.label=2;case 2:return!this.isVideoTrack()||e&&(e instanceof HTMLVideoElement||this._validateVideoNodeName(e))?[2]:(this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.VIDEO_TRACK_MISS_MEDIA_ELEMENT,kind:this._kind,msg:"params element is not a HTMLVideoElement"})),[2,{code:exports.RCRTCCode.VIDEO_TRACK_MISS_MEDIA_ELEMENT}])}}))}))}}),Object.defineProperty(n.prototype,"_setPlayAttrs",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r;return s(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return e&&(this._element.playsInline=!0,this._element.x5PlaysInline=!0,this._element.webkitPlaysInline=!0),!(null==t?void 0:t.audioDeviceId)||e?[3,2]:[4,this._element.setSinkId(t.audioDeviceId)];case 1:n.sent(),n.label=2;case 2:return e||!(null==t?void 0:t.volume)&&0!==(null==t?void 0:t.volume)||(this._element.volume=t.volume/100),null===(r=this._element)||void 0===r||r.setAttribute(this.DataTrackId,this.getTrackId()),[2]}}))}))}}),Object.defineProperty(n.prototype,"play",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,a=this;return c(this,(function(u){switch(u.label){case 0:return this._logger.info(i.L_TRACK_PLAY_O,JSON.stringify({elementId:null==e?void 0:e.id,trackId:this._id,kind:this._kind,options:t?{volume:null==t?void 0:t.volume,audioDeviceId:t.audioDeviceId}:void 0})),[4,this._validatePlayOptions(e,t)];case 1:return(r=u.sent())?[2,r]:(n=this.isVideoTrack(),this._element=n?e:this._element||new Audio,this._localMuted&&this._setLocalMuted(!1),this._element.srcObject&&this._element.srcObject===this._msStream||this._element.pause(),this._element.onloadstart=function(e){var t;a._logger.info(i.L_TRACK_LOAD_START_O,JSON.stringify({status:o.INFO,kind:a._kind,msg:"HTMLMediaElement onloadstart -> id: ".concat(null===(t=e.target)||void 0===t?void 0:t.id,", trackId: ").concat(a._id)}))},this._element.ondurationchange=function(e){var t;a._logger.info(i.L_TRACK_DURATION_CHANGE_O,JSON.stringify({status:o.INFO,kind:a._kind,msg:"HTMLMediaElement ondurationchange -> id: ".concat(null===(t=e.target)||void 0===t?void 0:t.id,", trackId: ").concat(a._id)}))},this._element.onloadedmetadata=function(e){var t;a._logger.info(i.L_TRACK_LOADED_META_DATA_O,JSON.stringify({status:o.INFO,kind:a._kind,msg:"HTMLMediaElement onloadedmetadata -> id: ".concat(null===(t=e.target)||void 0===t?void 0:t.id,", trackId: ").concat(a._id)}))},this._element.onloadeddata=function(e){var t;a._logger.info(i.L_TRACK_LOADED_DATA_O,JSON.stringify({status:o.INFO,kind:a._kind,msg:"HTMLMediaElement onloadeddata -> id: ".concat(null===(t=e.target)||void 0===t?void 0:t.id,", trackId: ").concat(a._id)}))},this._element.onabort=function(e){var t;a._logger.info(i.L_TRACK_ABORT_O,JSON.stringify({status:o.INFO,kind:a._kind,msg:"HTMLMediaElement onabort -> id: ".concat(null===(t=e.target)||void 0===t?void 0:t.id,", trackId: ").concat(a._id)}))},this._element.oncanplay=function(e){return s(a,void 0,void 0,(function(){var r,a,s;return c(this,(function(c){switch(c.label){case 0:this._logger.info(i.L_TRACK_CANPLAY_O,JSON.stringify({status:o.INFO,kind:this._kind,msg:"HTMLMediaElement oncanplay -> id: ".concat(null===(a=e.target)||void 0===a?void 0:a.id,", trackId: ").concat(this._id)})),c.label=1;case 1:return c.trys.push([1,5,,6]),!(null==t?void 0:t.audioDeviceId)||n?[3,3]:[4,this._element.setSinkId(t.audioDeviceId)];case 2:c.sent(),c.label=3;case 3:return[4,null===(s=this._element)||void 0===s?void 0:s.play()];case 4:return c.sent(),[3,6];case 5:return"No permission to use requested device"===(r=c.sent()).message?(this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,kind:this._kind,code:exports.RCRTCCode.NO_PERMISSION_TO_USE_REQUESTED_DEVICE,msg:"setSinkId failed, error msg: ".concat(r.message)})),[2]):(this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.TRACK_PLAY_ERROR,kind:this._kind,msg:"play error, error msg: ".concat(r.message)})),[3,6]);case 6:return[2]}}))}))},this._element.onvolumechange=function(e){var t,r,n=Math.floor(100*(null===(t=e.target)||void 0===t?void 0:t.volume));a._logger.info(i.L_TRACK_VOLUME_CHANGE_O,JSON.stringify({status:o.INFO,msg:"HTMLMediaElement onvolumechange -> id: ".concat(null===(r=e.target)||void 0===r?void 0:r.id,", volume: ").concat(n,", trackId: ").concat(a._id)}))},this._element.srcObject=this._msStream,this._element.autoplay=!0,[4,this._setPlayAttrs(n,t)]);case 2:return u.sent(),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"__innerDestroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.__innerSetMediaStreamTrack(void 0)}}),Object.defineProperty(n.prototype,"__releaseMediaElement",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._element&&this._element.getAttribute(this.DataTrackId)===this.getTrackId()&&(this._element.remove(),this._element.srcObject=null)}}),Object.defineProperty(n.prototype,"_validateVideoNodeName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e&&e.nodeName&&"VIDEO"===e.nodeName.toUpperCase()}}),n}(e.EventEmitter);exports.RCAudioBitrate=void 0,(Be=exports.RCAudioBitrate||(exports.RCAudioBitrate={})).Speech="Speech",Be.Music="Music",Be.MusicHigh="MusicHigh";var Fe,Je=((xe={})[exports.RCAudioBitrate.Music]={max:64,min:64},xe[exports.RCAudioBitrate.MusicHigh]={max:128,min:128},xe[exports.RCAudioBitrate.Speech]={max:32,min:32},xe);exports.RCVideoBitrate=void 0,(Fe=exports.RCVideoBitrate||(exports.RCVideoBitrate={})).LEVEL0="LEVEL0",Fe.LEVEL1="LEVEL1",Fe.LEVEL2="LEVEL2",Fe.LEVEL3="LEVEL3",Fe.LEVEL4="LEVEL4",Fe.LEVEL5="LEVEL5";var Ge=((je={})[exports.RCVideoBitrate.LEVEL0]={max:150,min:80},je[exports.RCVideoBitrate.LEVEL1]={max:280,min:120},je[exports.RCVideoBitrate.LEVEL2]={max:650,min:150},je[exports.RCVideoBitrate.LEVEL3]={max:1e3,min:200},je[exports.RCVideoBitrate.LEVEL4]={max:2200,min:250},je[exports.RCVideoBitrate.LEVEL5]={max:4e3,min:400},je),He=function(){function e(){}return Object.defineProperty(e,"apply3ANoiseWorklet",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,a,s;return c(this,(function(c){switch(c.label){case 0:r=new AudioContext({sampleRate:44100}),c.label=1;case 1:return c.trys.push([1,5,,6]),[4,r.audioWorklet.addModule(e.SCRIPT_URL)];case 2:return c.sent(),[4,fetch(e.WASM_URL,{cache:"force-cache",credentials:"same-origin"})];case 3:return[4,c.sent().arrayBuffer()];case 4:return n=c.sent(),[3,6];case 5:return c.sent(),[2,{code:exports.RCRTCCode.LOAD_3A_MODULE_FAILED}];case 6:return i=r.createMediaStreamSource(new MediaStream([t])),o=new AudioWorkletNode(r,"process-worklet",{numberOfInputs:1,numberOfOutputs:1,outputChannelCount:[1],processorOptions:{binary:n}}),a=r.createMediaStreamDestination(),i.connect(o).connect(a),s=a.stream.getAudioTracks()[0],e._maps.set(t.id,r),[2,{code:exports.RCRTCCode.SUCCESS,track:s}]}}))}))}}),Object.defineProperty(e,"release3ANoiseWorklet",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r=e._maps.get(t.id);r&&(r.close(),e._maps.delete(t.id))}}),Object.defineProperty(e,"WASM_URL",{enumerable:!0,configurable:!0,writable:!0,value:"https://cdn.ronghub.com/plugin-rtc/wasm/5.0.0-alpha.2/AudioProcessing.wasm"}),Object.defineProperty(e,"SCRIPT_URL",{enumerable:!0,configurable:!0,writable:!0,value:"https://cdn.ronghub.com/plugin-rtc/wasm/5.0.0-alpha.2/process-worklet.js"}),Object.defineProperty(e,"_maps",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),e}(),Ke=function(t){function n(e,r,n,i,o){var a=t.call(this,e,r,n,i,!0)||this;return Object.defineProperty(a,"_isDestroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(a,"_isPublished",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(a,"_bitrateInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),a.__innerSetMediaStreamTrack(o),o.onended=function(){o.onended=null,a._onTrackEnded()},a}return r(n,t),Object.defineProperty(n.prototype,"_onTrackEnded",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.emit(n.EVENT_LOCAL_TRACK_END,this),this.removeAll(n.EVENT_LOCAL_TRACK_END)}}),Object.defineProperty(n.prototype,"_setLocalMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r=this;return new Promise((function(o){var a=r._localMuted!==e;t.prototype._setLocalMuted.call(r,e),r._remoteMuted=r._localMuted,a&&r._isPublished?r.emit(n.__INNER_EVENT_MUTED_CHANGE__,r,o):o(exports.RCRTCCode.SUCCESS),r._logger.info(i.L_LOCAL_TRACK_SET_LOCAL_MUTED_O,JSON.stringify({enable:e,trackId:r._id}))}))}}),Object.defineProperty(n.prototype,"__innerSetPublished",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._isPublished=e}}),Object.defineProperty(n.prototype,"isPublished",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isPublished}}),Object.defineProperty(n.prototype,"destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;this._isDestroyed||(this._logger.info(i.L_LOCAL_TRACK_DESTROY_O,this._id),this._isDestroyed=!0,null===(e=this._msTrack)||void 0===e||e.stop(),t.prototype.__innerDestroy.call(this),this.isAudioTrack()&&t.prototype.__releaseMediaElement.call(this),this._isPublished&&this.emit(n.__INNER_EVENT_DESTROY__,this))}}),Object.defineProperty(n.prototype,"isDestroyed",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isDestroyed}}),Object.defineProperty(n.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){void 0===t&&(t=0),void 0===r&&(r=0),void 0===n&&(n=0),!e.isNumber(t)||!e.isNumber(r)||!e.isNumber(n)||t<=0||r<=0||t<r?this._logger.error(i.L_LOCAL_TRACK_SET_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> max: ".concat(t,",min: ").concat(r,", start: ").concat(n),trackId:this._id})):(this._logger.info(i.L_LOCAL_TRACK_SET_BITRATE_O,JSON.stringify({status:o.SUCCESSED,max:t,min:r,start:n,trackId:this._id})),this._bitrateInfo={max:t,min:r,start:n})}}),Object.defineProperty(n.prototype,"getBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t,r,n,i,o,a,s,c,u=0,l=0,d=0;return(null===(r=this._msTrack)||void 0===r?void 0:r.kind)===Ne.VIDEO?(u=(e=ut(this._msTrack)).min,l=e.max):(null===(n=this._msTrack)||void 0===n?void 0:n.kind)===Ne.AUDIO&&(u=(t={min:32,max:32}).min,l=t.max),(null===(i=this._bitrateInfo)||void 0===i?void 0:i.max)&&(d=.7*(null===(o=this._bitrateInfo)||void 0===o?void 0:o.max)),{min:(null===(a=this._bitrateInfo)||void 0===a?void 0:a.min)||u,max:(null===(s=this._bitrateInfo)||void 0===s?void 0:s.max)||l,start:(null===(c=this._bitrateInfo)||void 0===c?void 0:c.start)||d}}}),Object.defineProperty(n,"EVENT_LOCAL_TRACK_END",{enumerable:!0,configurable:!0,writable:!0,value:"local-track-end"}),Object.defineProperty(n,"__INNER_EVENT_MUTED_CHANGE__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-muted-change"}),Object.defineProperty(n,"__INNER_EVENT_DESTROY__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-destroy"}),Object.defineProperty(n,"__INNER_SEND_TWO_SECONDS_VIDEO__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-send-two-seconds-video"}),n}(Ve),We=function(t){function n(e,r,n,i){return t.call(this,e,r,n,"audio",i)||this}return r(n,t),Object.defineProperty(n.prototype,"setRecommendBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(e.validate("audioBitrate",t,(function(e){return e in exports.RCAudioBitrate}))){var r=Je[t];this.setBitrate(r.max,r.min,r.start||.7*r.max)}else this._logger.warn(i.L_RTC_SET_RECOMMEND_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> params type is RCAudioBitrate"}))}}),Object.defineProperty(n.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var i=l(r,2),o=i[0],a=void 0===o?1:o,s=i[1],c=void 0===s?.7*e||1:s;t.prototype.setBitrate.call(this,e,a,c)}}),n}(Ke),Ye=function(t){function n(e,r,n,i,o){void 0===o&&(o=!1);var a=t.call(this,e,r,n,"video",i)||this;return Object.defineProperty(a,"_isTiny",{enumerable:!0,configurable:!0,writable:!0,value:o}),a}return r(n,t),Object.defineProperty(n.prototype,"__isTiny",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isTiny}}),Object.defineProperty(n.prototype,"getStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=t.prototype.getStreamId.call(this);return this._isTiny?"".concat(e,"_tiny"):e}}),Object.defineProperty(n.prototype,"getTrackId",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=t.prototype.getTrackId.call(this);return this._isTiny?"".concat(e,"_tiny"):e}}),Object.defineProperty(n.prototype,"setRecommendBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(e.validate("videoBitrate",t,(function(e){return e in exports.RCVideoBitrate}))){var r=Ge[t];this.setBitrate(r.max,r.min,r.start||.7*r.max)}else this._logger.warn(i.L_RTC_SET_RECOMMEND_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> params type is RCVideoBitrate"}))}}),Object.defineProperty(n.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var i=l(r,2),o=i[0],a=void 0===o?1:o,s=i[1],c=void 0===s?.7*e||1:s;t.prototype.setBitrate.call(this,e,a,c)}}),n}(Ke),ze=function(e){function t(r,n,i,o,a,s){var c=e.call(this,r,n,i,o,a)||this;return Object.defineProperty(c,"_resource",{enumerable:!0,configurable:!0,writable:!0,value:s}),t._innerSetMapping(c.getTrackId(),s),c}return r(t,e),Object.defineProperty(t,"_innerSetMapping",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this._mapping.get(t)||[];r.push(e),this._mapping.set(t,r)}}),Object.defineProperty(t,"_innerRemoveMapping",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n,i=null===(r=this._mapping.get(t))||void 0===r?void 0:r.filter((function(t){return t!==e}));i&&i.length>0?this._mapping.set(t,i):(this._mapping.delete(t),t.pause(),t.src="",null===(n=t.parentNode)||void 0===n||n.removeChild(t))}}),Object.defineProperty(t.prototype,"destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.isAudioTrack()&&this.mute(),t._innerRemoveMapping(this.getTrackId(),this._resource),e.prototype.destroy.call(this)}}),Object.defineProperty(t,"_mapping",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),t}(Ke),qe=function(e){function t(t,r,n,i,o){return e.call(this,t,r,n,"video",i,o)||this}return r(t,e),t}(ze),Qe=function(e){function t(t,r,n,i,o){return e.call(this,t,r,n,"audio",i,o)||this}return r(t,e),Object.defineProperty(t.prototype,"_setLocalMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){return c(this,(function(r){return this._resource&&(this._resource.muted=t),[2,e.prototype._setLocalMuted.call(this,t)]}))}))}}),Object.defineProperty(t.prototype,"play",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){return c(this,(function(e){switch(e.label){case 0:return[4,this._setLocalMuted(!1)];case 1:return[2,{code:e.sent()}]}}))}))}}),t}(ze),Ze=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"_originTrack",{enumerable:!0,configurable:!0,writable:!0,value:null}),t}return r(t,e),Object.defineProperty(t.prototype,"apply3ANoiseWorklet",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e,t,r;return c(this,(function(n){switch(n.label){case 0:return this._logger.info(i.A_APPLY_3A_NOISE_WORKLET_T),this._originTrack?(this._logger.warn(i.A_APPLY_3A_NOISE_WORKLET_R,JSON.stringify({status:o.FAILED,msg:"3A noise module already applied"})),[2,{code:exports.RCRTCCode.SUCCESS}]):!this._msTrack||this.isDestroyed()?(this._logger.warn(i.A_APPLY_3A_NOISE_WORKLET_R,JSON.stringify({status:o.FAILED,msg:"track not ready"})),[2,{code:exports.RCRTCCode.TRACK_NOT_READY}]):this.isPublished()?(this._logger.warn(i.A_APPLY_3A_NOISE_WORKLET_R,JSON.stringify({status:o.FAILED,msg:"track already published"})),[2,{code:exports.RCRTCCode.APPLY_3A_NOISE_WORKLET_BEFORE_PUBLISH}]):[4,He.apply3ANoiseWorklet(this._msTrack)];case 1:return e=n.sent(),t=e.code,r=e.track,t===exports.RCRTCCode.SUCCESS&&r?(this._originTrack=this._msTrack,this._msTrack=r,this._logger.info(i.A_APPLY_3A_NOISE_WORKLET_R,JSON.stringify({status:o.SUCCESSED})),[2,{code:exports.RCRTCCode.SUCCESS}]):(this._logger.warn(i.A_APPLY_3A_NOISE_WORKLET_R,JSON.stringify({status:o.FAILED,msg:"apply 3A noise module failed: ".concat(t)})),[2,{code:t}])}}))}))}}),Object.defineProperty(t.prototype,"__innerSetMediaStreamTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(t){!t&&this._originTrack&&(He.release3ANoiseWorklet(this._originTrack),this._originTrack.stop(),this._originTrack=null),e.prototype.__innerSetMediaStreamTrack.call(this,t)}}),t}(We),Xe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(Ye),$e=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,"_onTrackEnded",{enumerable:!1,configurable:!0,writable:!0,value:function(){e.prototype._onTrackEnded.call(this),this.isPublished()&&this.emit(Ke.__INNER_EVENT_DESTROY__,this)}}),t}(Ye),et=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,"_onTrackEnded",{enumerable:!1,configurable:!0,writable:!0,value:function(){e.prototype._onTrackEnded.call(this),this.isPublished()&&this.emit(Ke.__INNER_EVENT_DESTROY__,this)}}),t}(We),tt=function(e){function t(t,r,n,i,o){var a=e.call(this,t,r,n,i,!1,o)||this;return Object.defineProperty(a,"_isSubscribed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),a}return r(t,e),Object.defineProperty(t.prototype,"__innerSetRemoteMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._remoteMuted=e}}),Object.defineProperty(t.prototype,"__innerSetSubscribed",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._isSubscribed=e}}),Object.defineProperty(t.prototype,"isSubscribed",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isSubscribed}}),t}(Ve),rt=function(e){function t(t,r,n,i){return e.call(this,t,r,n,"audio",i)||this}return r(t,e),Object.defineProperty(t.prototype,"getVolume",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return 100*((null===(e=this._element)||void 0===e?void 0:e.volume)||0)}}),t}(tt),nt=function(e){function t(t,r,n,i){var o=e.call(this,t,r,n,"video",i)||this;return Object.defineProperty(o,"_isSubTiny",{enumerable:!0,configurable:!0,writable:!0,value:!1}),o}return r(t,e),Object.defineProperty(t.prototype,"__innerSetIsTinyTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._isSubTiny=e}}),Object.defineProperty(t.prototype,"isSubTiny",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isSubTiny}}),t}(tt),it=function(e,t){return{name:e,content:JSON.stringify({uris:t,ignore:!0})}},ot=function(e){return JSON.stringify(e)},at=function(e){return/^[a-zA-Z\d-=]+$/g.test(e)},st=function(t){if(void 0===t)return 0;if(e.isNumber(t))return t;var r=t;return r.exact||r.ideal||r.max||0},ct=function(e){var t=e.getSettings(),r=e.getConstraints();return{width:st(r.width)||t.width||0,height:st(r.height)||t.height||0,frameRate:t.frameRate||st(r.frameRate)}},ut=function(e){var t=ct(e),r=t.width,n=t.height,i=t.frameRate,o=De(r||1920,n||1080),a=Ue(i);return{min:o.minBitrate*a,max:o.maxBitrate*a}},lt=function(e){return[e.msid,e.mediaType].join("_")},dt=function(e){var t=e.split("_");return{mediaType:parseInt(t.pop()),tag:t.pop(),userId:t.join("_")}},_t=function(e,t){return[e,t].join("_")},pt=function(e){return e.map((function(e){return a({},e)}))},ft=function(e,t,r){void 0===r&&(r=!1),e=e.slice();var n=[],i=[],o=[];return t.forEach((function(t){var i=lt(t),a=e.findIndex((function(e){return lt(e)===i}));if(r&&(a=e.findIndex((function(e){return e.uri===t.uri}))),-1!==a){var s=e[a];s.uri!==t.uri?n.push(t):s.state!==t.state&&o.push(t),e.splice(a,1)}else n.push(t)})),i.push.apply(i,d([],l(e),!1)),{publishedList:n,unpublishedList:i,modifiedList:o}},ht=function(){var e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}));return e="".concat(e.replace(/-/g,""),"0"),(e=function(e){var t="0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ+/".split(""),r=t.length+1,n=+e,i=[];do{var o=n%r;n=(n-o)/r,i.unshift(t[o])}while(n);return i.join("")}(e=parseInt(e,16))).length>22&&(e=e.slice(0,22)),e},bt=function(e){if(Ae[e]){var t=Ae[e];return{width:t.width,height:t.height}}var r=l(e.split("_").map((function(e){return parseInt(e.replace(/[^\d]/g,""))})),2);return{width:r[0],height:r[1]}},Rt=function(e){return!!exports.RCResolution[e]},gt=function(e){return!!exports.RCFrameRate[e]},mt=function(e){return parseInt(e.replace("FPS_",""))},Ct=function(){var e=Se.browserDetails;return{browser:e.browser,version:e.version,supportsUnifiedPlan:!1!==e.supportsUnifiedPlan}}();function vt(){return"captureStream"in HTMLMediaElement.prototype||"mozCaptureStream"in HTMLMediaElement.prototype}function Ot(){return"mediaDevices"in navigator&&"getDisplayMedia"in navigator.mediaDevices}var Tt,Et,St=function(e){return"[object Null]"===Object.prototype.toString.call(e)},It=function(e){return 1===e.type},yt=function(e,t,r,n){var o={},a=Object.keys(e.users);return a.length&&a.forEach((function(a){var s=[],c=e.users[a];if(c.extra){var u=JSON.parse(c.extra).roomId;if(t!==u)return}if(c.uris)try{s.push.apply(s,d([],l(JSON.parse(c.uris)),!1))}catch(e){r.warn(i.L_PARSE_ROOMDATA_URIS_R,"invalid user data -> userId: ".concat(a,", userData: ").concat(c),n)}o[a]=s})),o},Lt=function(e){return e instanceof Ve?e.getTrackId():e.track.getTrackId()},Pt=function(t){if(!e.isObject(t)||void 0===t.low||void 0===t.high)return t;var r=t.low;return r<0&&(r+=4294967296),r=r.toString(16),parseInt(t.high.toString(16)+"00000000".replace(new RegExp("0{".concat(r.length,"}$")),r),16)};!function(e){e.PUBLISH="RCRTC:PublishResource",e.UNPUBLISH="RCRTC:UnpublishResource",e.MODIFY="RCRTC:ModifyResource",e.TOTAL_CONTENT_RESOURCE="RCRTC:TotalContentResources",e.STATE="RCRTC:state",e.ROOM_NOTIFY="RCRTC:RoomNtf",e.USER_NOTIFY="RCRTC:UserNtf",e.KICK="RCRTC:kick",e.PK_INVITE="RCRTC:invite",e.PK_INVITE_TIMEOUT="RCRTC:inviteTimeout",e.PK_CANCEL_INVITE="RCRTC:cancelInvite",e.PK_INVITE_ANSWER="RCRTC:answerInvite",e.PK_END="RCRTC:endInvite",e.OTHER_ROOM_OFFLINE="RCRTC:otherRoomOffline",e.ROOM_TASK_FINISH="RCRTC:roomTaskFinish"}(Tt||(Tt={})),exports.RCRTCPingResult=void 0,(Et=exports.RCRTCPingResult||(exports.RCRTCPingResult={})).SUCCESS="Success",Et.FAIL="Fail";var Nt=function(){function t(e,t,r,n){void 0===n&&(n=5e3),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_roomMode",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_gap",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_latestTimestamp",{enumerable:!0,configurable:!0,writable:!0,value:Date.now()}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onFailed",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onPingResult",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_started",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_timer",{enumerable:!0,configurable:!0,writable:!0,value:null}),this._logger=this._context.logger}return Object.defineProperty(t.prototype,"start",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._started||(e<15e3&&(e=15e3),this._logger.info(i.L_PINGER_START_O,JSON.stringify({interval:this._gap,offlineKickTime:e})),this._started=!0,this._checkAlive(e))}}),Object.defineProperty(t.prototype,"_sendPing",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=this;return new Promise((function(r){t._context.rtcPing(t._roomId,t._roomMode).then(r),setTimeout(r,5e3,{code:e.ErrorCode.TIMEOUT})}))}}),Object.defineProperty(t.prototype,"_checkAlive",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,o,a,s,u,l=this;return c(this,(function(c){switch(c.label){case 0:return r=this._context.logger,n=r.createTraceId(),[4,this._sendPing()];case 1:return o=c.sent(),a=o.code,s=o.data,this._started?(u=Date.now(),a===e.ErrorCode.SUCCESS?(this._latestTimestamp=u,this.onPingResult(exports.RCRTCPingResult.SUCCESS,s.version),this._timer=setTimeout((function(){return l._checkAlive(t)}),this._gap),[2]):(r.error(i.L_PINGER_SEND_RTCPING_E,JSON.stringify({roomId:this._roomId,code:a}),n),this.onPingResult(exports.RCRTCPingResult.FAIL),40003===a||u-this._latestTimestamp>t?(this.stop(),this.onFailed(40003===a),[2]):(this._timer=setTimeout((function(){return l._checkAlive(t)}),this._gap),[2]))):[2]}}))}))}}),Object.defineProperty(t.prototype,"stop",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._started&&(this._logger.info(i.L_PINGER_STOP_O),this._started=!1,this._timer&&(clearTimeout(this._timer),this._timer=null))}}),t}();function At(e){let t=e.length;for(;--t>=0;)e[t]=0}const wt=256,Dt=286,kt=30,Ut=15,Mt=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]),xt=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]),jt=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Bt=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Vt=new Array(576);At(Vt);const Ft=new Array(60);At(Ft);const Jt=new Array(512);At(Jt);const Gt=new Array(256);At(Gt);const Ht=new Array(29);At(Ht);const Kt=new Array(kt);function Wt(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}let Yt,zt,qt;function Qt(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}At(Kt);const Zt=e=>e<256?Jt[e]:Jt[256+(e>>>7)],Xt=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},$t=(e,t,r)=>{e.bi_valid>16-r?(e.bi_buf|=t<<e.bi_valid&65535,Xt(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=r-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)},er=(e,t,r)=>{$t(e,r[2*t],r[2*t+1])},tr=(e,t)=>{let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1},rr=(e,t,r)=>{const n=new Array(16);let i,o,a=0;for(i=1;i<=Ut;i++)a=a+r[i-1]<<1,n[i]=a;for(o=0;o<=t;o++){let t=e[2*o+1];0!==t&&(e[2*o]=tr(n[t]++,t))}},nr=e=>{let t;for(t=0;t<Dt;t++)e.dyn_ltree[2*t]=0;for(t=0;t<kt;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},ir=e=>{e.bi_valid>8?Xt(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},or=(e,t,r,n)=>{const i=2*t,o=2*r;return e[i]<e[o]||e[i]===e[o]&&n[t]<=n[r]},ar=(e,t,r)=>{const n=e.heap[r];let i=r<<1;for(;i<=e.heap_len&&(i<e.heap_len&&or(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!or(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n},sr=(e,t,r)=>{let n,i,o,a,s=0;if(0!==e.sym_next)do{n=255&e.pending_buf[e.sym_buf+s++],n+=(255&e.pending_buf[e.sym_buf+s++])<<8,i=e.pending_buf[e.sym_buf+s++],0===n?er(e,i,t):(o=Gt[i],er(e,o+wt+1,t),a=Mt[o],0!==a&&(i-=Ht[o],$t(e,i,a)),n--,o=Zt(n),er(e,o,r),a=xt[o],0!==a&&(n-=Kt[o],$t(e,n,a)))}while(s<e.sym_next);er(e,256,t)},cr=(e,t)=>{const r=t.dyn_tree,n=t.stat_desc.static_tree,i=t.stat_desc.has_stree,o=t.stat_desc.elems;let a,s,c,u=-1;for(e.heap_len=0,e.heap_max=573,a=0;a<o;a++)0!==r[2*a]?(e.heap[++e.heap_len]=u=a,e.depth[a]=0):r[2*a+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=u<2?++u:0,r[2*c]=1,e.depth[c]=0,e.opt_len--,i&&(e.static_len-=n[2*c+1]);for(t.max_code=u,a=e.heap_len>>1;a>=1;a--)ar(e,r,a);c=o;do{a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ar(e,r,1),s=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=s,r[2*c]=r[2*a]+r[2*s],e.depth[c]=(e.depth[a]>=e.depth[s]?e.depth[a]:e.depth[s])+1,r[2*a+1]=r[2*s+1]=c,e.heap[1]=c++,ar(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((e,t)=>{const r=t.dyn_tree,n=t.max_code,i=t.stat_desc.static_tree,o=t.stat_desc.has_stree,a=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length;let u,l,d,_,p,f,h=0;for(_=0;_<=Ut;_++)e.bl_count[_]=0;for(r[2*e.heap[e.heap_max]+1]=0,u=e.heap_max+1;u<573;u++)l=e.heap[u],_=r[2*r[2*l+1]+1]+1,_>c&&(_=c,h++),r[2*l+1]=_,l>n||(e.bl_count[_]++,p=0,l>=s&&(p=a[l-s]),f=r[2*l],e.opt_len+=f*(_+p),o&&(e.static_len+=f*(i[2*l+1]+p)));if(0!==h){do{for(_=c-1;0===e.bl_count[_];)_--;e.bl_count[_]--,e.bl_count[_+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(_=c;0!==_;_--)for(l=e.bl_count[_];0!==l;)d=e.heap[--u],d>n||(r[2*d+1]!==_&&(e.opt_len+=(_-r[2*d+1])*r[2*d],r[2*d+1]=_),l--)}})(e,t),rr(r,u,e.bl_count)},ur=(e,t,r)=>{let n,i,o=-1,a=t[1],s=0,c=7,u=4;for(0===a&&(c=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++s<c&&i===a||(s<u?e.bl_tree[2*i]+=s:0!==i?(i!==o&&e.bl_tree[2*i]++,e.bl_tree[32]++):s<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=0,o=i,0===a?(c=138,u=3):i===a?(c=6,u=3):(c=7,u=4))},lr=(e,t,r)=>{let n,i,o=-1,a=t[1],s=0,c=7,u=4;for(0===a&&(c=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++s<c&&i===a)){if(s<u)do{er(e,i,e.bl_tree)}while(0!=--s);else 0!==i?(i!==o&&(er(e,i,e.bl_tree),s--),er(e,16,e.bl_tree),$t(e,s-3,2)):s<=10?(er(e,17,e.bl_tree),$t(e,s-3,3)):(er(e,18,e.bl_tree),$t(e,s-11,7));s=0,o=i,0===a?(c=138,u=3):i===a?(c=6,u=3):(c=7,u=4)}};let dr=!1;const _r=(e,t,r,n)=>{$t(e,0+(n?1:0),3),ir(e),Xt(e,r),Xt(e,~r),r&&e.pending_buf.set(e.window.subarray(t,t+r),e.pending),e.pending+=r};var pr=e=>{dr||((()=>{let e,t,r,n,i;const o=new Array(16);for(r=0,n=0;n<28;n++)for(Ht[n]=r,e=0;e<1<<Mt[n];e++)Gt[r++]=n;for(Gt[r-1]=n,i=0,n=0;n<16;n++)for(Kt[n]=i,e=0;e<1<<xt[n];e++)Jt[i++]=n;for(i>>=7;n<kt;n++)for(Kt[n]=i<<7,e=0;e<1<<xt[n]-7;e++)Jt[256+i++]=n;for(t=0;t<=Ut;t++)o[t]=0;for(e=0;e<=143;)Vt[2*e+1]=8,e++,o[8]++;for(;e<=255;)Vt[2*e+1]=9,e++,o[9]++;for(;e<=279;)Vt[2*e+1]=7,e++,o[7]++;for(;e<=287;)Vt[2*e+1]=8,e++,o[8]++;for(rr(Vt,287,o),e=0;e<kt;e++)Ft[2*e+1]=5,Ft[2*e]=tr(e,5);Yt=new Wt(Vt,Mt,257,Dt,Ut),zt=new Wt(Ft,xt,0,kt,Ut),qt=new Wt(new Array(0),jt,0,19,7)})(),dr=!0),e.l_desc=new Qt(e.dyn_ltree,Yt),e.d_desc=new Qt(e.dyn_dtree,zt),e.bl_desc=new Qt(e.bl_tree,qt),e.bi_buf=0,e.bi_valid=0,nr(e)},fr=(e,t,r,n)=>{let i,o,a=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&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<wt;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),cr(e,e.l_desc),cr(e,e.d_desc),a=(e=>{let t;for(ur(e,e.dyn_ltree,e.l_desc.max_code),ur(e,e.dyn_dtree,e.d_desc.max_code),cr(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*Bt[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),i=e.opt_len+3+7>>>3,o=e.static_len+3+7>>>3,o<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==t?_r(e,t,r,n):4===e.strategy||o===i?($t(e,2+(n?1:0),3),sr(e,Vt,Ft)):($t(e,4+(n?1:0),3),((e,t,r,n)=>{let i;for($t(e,t-257,5),$t(e,r-1,5),$t(e,n-4,4),i=0;i<n;i++)$t(e,e.bl_tree[2*Bt[i]+1],3);lr(e,e.dyn_ltree,t-1),lr(e,e.dyn_dtree,r-1)})(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),sr(e,e.dyn_ltree,e.dyn_dtree)),nr(e),n&&ir(e)},hr=(e,t,r)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=r,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(Gt[r]+wt+1)]++,e.dyn_dtree[2*Zt(t)]++),e.sym_next===e.sym_end),br=e=>{$t(e,2,3),er(e,256,Vt),(e=>{16===e.bi_valid?(Xt(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)},Rr={_tr_init:pr,_tr_stored_block:_r,_tr_flush_block:fr,_tr_tally:hr,_tr_align:br};var gr=(e,t,r,n)=>{let i=65535&e,o=e>>>16&65535,a=0;for(;0!==r;){a=r>2e3?2e3:r,r-=a;do{i=i+t[n++]|0,o=o+i|0}while(--a);i%=65521,o%=65521}return i|o<<16};const mr=new Uint32Array((()=>{let e,t=[];for(var r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t})());var Cr=(e,t,r,n)=>{const i=mr,o=n+r;e^=-1;for(let r=n;r<o;r++)e=e>>>8^i[255&(e^t[r])];return~e},vr={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"},Or={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};const{_tr_init:Tr,_tr_stored_block:Er,_tr_flush_block:Sr,_tr_tally:Ir,_tr_align:yr}=Rr,{Z_NO_FLUSH:Lr,Z_PARTIAL_FLUSH:Pr,Z_FULL_FLUSH:Nr,Z_FINISH:Ar,Z_BLOCK:wr,Z_OK:Dr,Z_STREAM_END:kr,Z_STREAM_ERROR:Ur,Z_DATA_ERROR:Mr,Z_BUF_ERROR:xr,Z_DEFAULT_COMPRESSION:jr,Z_FILTERED:Br,Z_HUFFMAN_ONLY:Vr,Z_RLE:Fr,Z_FIXED:Jr,Z_DEFAULT_STRATEGY:Gr,Z_UNKNOWN:Hr,Z_DEFLATED:Kr}=Or,Wr=258,Yr=262,zr=42,qr=113,Qr=666,Zr=(e,t)=>(e.msg=vr[t],t),Xr=e=>2*e-(e>4?9:0),$r=e=>{let t=e.length;for(;--t>=0;)e[t]=0},en=e=>{let t,r,n,i=e.w_size;t=e.hash_size,n=t;do{r=e.head[--n],e.head[n]=r>=i?r-i:0}while(--t);t=i,n=t;do{r=e.prev[--n],e.prev[n]=r>=i?r-i:0}while(--t)};let tn=(e,t,r)=>(t<<e.hash_shift^r)&e.hash_mask;const rn=e=>{const t=e.state;let r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+r),e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))},nn=(e,t)=>{Sr(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,rn(e.strm)},on=(e,t)=>{e.pending_buf[e.pending++]=t},an=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},sn=(e,t,r,n)=>{let i=e.avail_in;return i>n&&(i=n),0===i?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),r),1===e.state.wrap?e.adler=gr(e.adler,t,i,r):2===e.state.wrap&&(e.adler=Cr(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)},cn=(e,t)=>{let r,n,i=e.max_chain_length,o=e.strstart,a=e.prev_length,s=e.nice_match;const c=e.strstart>e.w_size-Yr?e.strstart-(e.w_size-Yr):0,u=e.window,l=e.w_mask,d=e.prev,_=e.strstart+Wr;let p=u[o+a-1],f=u[o+a];e.prev_length>=e.good_match&&(i>>=2),s>e.lookahead&&(s=e.lookahead);do{if(r=t,u[r+a]===f&&u[r+a-1]===p&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&o<_);if(n=Wr-(_-o),o=_-Wr,n>a){if(e.match_start=t,a=n,n>=s)break;p=u[o+a-1],f=u[o+a]}}}while((t=d[t&l])>c&&0!=--i);return a<=e.lookahead?a:e.lookahead},un=e=>{const t=e.w_size;let r,n,i;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Yr)&&(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),en(e),n+=t),0===e.strm.avail_in)break;if(r=sn(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=r,e.lookahead+e.insert>=3)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=tn(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=tn(e,e.ins_h,e.window[i+3-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<Yr&&0!==e.strm.avail_in)},ln=(e,t)=>{let r,n,i,o=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,a=0,s=e.strm.avail_in;do{if(r=65535,i=e.bi_valid+42>>3,e.strm.avail_out<i)break;if(i=e.strm.avail_out-i,n=e.strstart-e.block_start,r>n+e.strm.avail_in&&(r=n+e.strm.avail_in),r>i&&(r=i),r<o&&(0===r&&t!==Ar||t===Lr||r!==n+e.strm.avail_in))break;a=t===Ar&&r===n+e.strm.avail_in?1:0,Er(e,0,0,a),e.pending_buf[e.pending-4]=r,e.pending_buf[e.pending-3]=r>>8,e.pending_buf[e.pending-2]=~r,e.pending_buf[e.pending-1]=~r>>8,rn(e.strm),n&&(n>r&&(n=r),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,r-=n),r&&(sn(e.strm,e.strm.output,e.strm.next_out,r),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r)}while(0===a);return s-=e.strm.avail_in,s&&(s>=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<=s&&(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-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),a?4:t!==Lr&&t!==Ar&&0===e.strm.avail_in&&e.strstart===e.block_start?2:(i=e.window_size-e.strstart,e.strm.avail_in>i&&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++,i+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),i>e.strm.avail_in&&(i=e.strm.avail_in),i&&(sn(e.strm,e.window,e.strstart,i),e.strstart+=i,e.insert+=i>e.w_size-e.insert?e.w_size-e.insert:i),e.high_water<e.strstart&&(e.high_water=e.strstart),i=e.bi_valid+42>>3,i=e.pending_buf_size-i>65535?65535:e.pending_buf_size-i,o=i>e.w_size?e.w_size:i,n=e.strstart-e.block_start,(n>=o||(n||t===Ar)&&t!==Lr&&0===e.strm.avail_in&&n<=i)&&(r=n>i?i:n,a=t===Ar&&0===e.strm.avail_in&&r===n?1:0,Er(e,e.block_start,r,a),e.block_start+=r,rn(e.strm)),a?3:1)},dn=(e,t)=>{let r,n;for(;;){if(e.lookahead<Yr){if(un(e),e.lookahead<Yr&&t===Lr)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=3&&(e.ins_h=tn(e,e.ins_h,e.window[e.strstart+3-1]),r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-Yr&&(e.match_length=cn(e,r)),e.match_length>=3)if(n=Ir(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=tn(e,e.ins_h,e.window[e.strstart+3-1]),r=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=tn(e,e.ins_h,e.window[e.strstart+1]);else n=Ir(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(nn(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===Ar?(nn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(nn(e,!1),0===e.strm.avail_out)?1:2},_n=(e,t)=>{let r,n,i;for(;;){if(e.lookahead<Yr){if(un(e),e.lookahead<Yr&&t===Lr)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=3&&(e.ins_h=tn(e,e.ins_h,e.window[e.strstart+3-1]),r=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!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-Yr&&(e.match_length=cn(e,r),e.match_length<=5&&(e.strategy===Br||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,n=Ir(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=tn(e,e.ins_h,e.window[e.strstart+3-1]),r=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&&(nn(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if(n=Ir(e,0,e.window[e.strstart-1]),n&&nn(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=Ir(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===Ar?(nn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(nn(e,!1),0===e.strm.avail_out)?1:2};function pn(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}const fn=[new pn(0,0,0,0,ln),new pn(4,4,8,4,dn),new pn(4,5,16,8,dn),new pn(4,6,32,32,dn),new pn(4,4,16,16,_n),new pn(8,16,32,32,_n),new pn(8,16,128,128,_n),new pn(8,32,128,256,_n),new pn(32,128,258,1024,_n),new pn(32,258,258,4096,_n)];function hn(){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=Kr,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),$r(this.dyn_ltree),$r(this.dyn_dtree),$r(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),$r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),$r(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 bn=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==zr&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==qr&&t.status!==Qr?1:0},Rn=e=>{if(bn(e))return Zr(e,Ur);e.total_in=e.total_out=0,e.data_type=Hr;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?zr:qr,e.adler=2===t.wrap?0:1,t.last_flush=-2,Tr(t),Dr},gn=e=>{const t=Rn(e);return t===Dr&&(e=>{e.window_size=2*e.w_size,$r(e.head),e.max_lazy_match=fn[e.level].max_lazy,e.good_match=fn[e.level].good_length,e.nice_match=fn[e.level].nice_length,e.max_chain_length=fn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=2,e.match_available=0,e.ins_h=0})(e.state),t},mn=(e,t,r,n,i,o)=>{if(!e)return Ur;let a=1;if(t===jr&&(t=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),i<1||i>9||r!==Kr||n<8||n>15||t<0||t>9||o<0||o>Jr||8===n&&1!==a)return Zr(e,Ur);8===n&&(n=9);const s=new hn;return e.state=s,s.strm=e,s.status=zr,s.wrap=a,s.gzhead=null,s.w_bits=n,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=i+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+3-1)/3),s.window=new Uint8Array(2*s.w_size),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=3*(s.lit_bufsize-1),s.level=t,s.strategy=o,s.method=r,gn(e)};var Cn=(e,t)=>{if(bn(e)||t>wr||t<0)return e?Zr(e,Ur):Ur;const r=e.state;if(!e.output||0!==e.avail_in&&!e.input||r.status===Qr&&t!==Ar)return Zr(e,0===e.avail_out?xr:Ur);const n=r.last_flush;if(r.last_flush=t,0!==r.pending){if(rn(e),0===e.avail_out)return r.last_flush=-1,Dr}else if(0===e.avail_in&&Xr(t)<=Xr(n)&&t!==Ar)return Zr(e,xr);if(r.status===Qr&&0!==e.avail_in)return Zr(e,xr);if(r.status===zr&&0===r.wrap&&(r.status=qr),r.status===zr){let t=Kr+(r.w_bits-8<<4)<<8,n=-1;if(n=r.strategy>=Vr||r.level<2?0:r.level<6?1:6===r.level?2:3,t|=n<<6,0!==r.strstart&&(t|=32),t+=31-t%31,an(r,t),0!==r.strstart&&(an(r,e.adler>>>16),an(r,65535&e.adler)),e.adler=1,r.status=qr,rn(e),0!==r.pending)return r.last_flush=-1,Dr}if(57===r.status)if(e.adler=0,on(r,31),on(r,139),on(r,8),r.gzhead)on(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),on(r,255&r.gzhead.time),on(r,r.gzhead.time>>8&255),on(r,r.gzhead.time>>16&255),on(r,r.gzhead.time>>24&255),on(r,9===r.level?2:r.strategy>=Vr||r.level<2?4:0),on(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(on(r,255&r.gzhead.extra.length),on(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=Cr(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(on(r,0),on(r,0),on(r,0),on(r,0),on(r,0),on(r,9===r.level?2:r.strategy>=Vr||r.level<2?4:0),on(r,3),r.status=qr,rn(e),0!==r.pending)return r.last_flush=-1,Dr;if(69===r.status){if(r.gzhead.extra){let t=r.pending,n=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+n>r.pending_buf_size;){let i=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>t&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-t,t)),r.gzindex+=i,rn(e),0!==r.pending)return r.last_flush=-1,Dr;t=0,n-=i}let i=new Uint8Array(r.gzhead.extra);r.pending_buf.set(i.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending+=n,r.gzhead.hcrc&&r.pending>t&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-t,t)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let t,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-n,n)),rn(e),0!==r.pending)return r.last_flush=-1,Dr;n=0}t=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,on(r,t)}while(0!==t);r.gzhead.hcrc&&r.pending>n&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-n,n)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let t,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-n,n)),rn(e),0!==r.pending)return r.last_flush=-1,Dr;n=0}t=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,on(r,t)}while(0!==t);r.gzhead.hcrc&&r.pending>n&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-n,n))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(rn(e),0!==r.pending))return r.last_flush=-1,Dr;on(r,255&e.adler),on(r,e.adler>>8&255),e.adler=0}if(r.status=qr,rn(e),0!==r.pending)return r.last_flush=-1,Dr}if(0!==e.avail_in||0!==r.lookahead||t!==Lr&&r.status!==Qr){let n=0===r.level?ln(r,t):r.strategy===Vr?((e,t)=>{let r;for(;;){if(0===e.lookahead&&(un(e),0===e.lookahead)){if(t===Lr)return 1;break}if(e.match_length=0,r=Ir(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(nn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Ar?(nn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(nn(e,!1),0===e.strm.avail_out)?1:2})(r,t):r.strategy===Fr?((e,t)=>{let r,n,i,o;const a=e.window;for(;;){if(e.lookahead<=Wr){if(un(e),e.lookahead<=Wr&&t===Lr)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(i=e.strstart-1,n=a[i],n===a[++i]&&n===a[++i]&&n===a[++i])){o=e.strstart+Wr;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<o);e.match_length=Wr-(o-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(r=Ir(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Ir(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(nn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Ar?(nn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(nn(e,!1),0===e.strm.avail_out)?1:2})(r,t):fn[r.level].func(r,t);if(3!==n&&4!==n||(r.status=Qr),1===n||3===n)return 0===e.avail_out&&(r.last_flush=-1),Dr;if(2===n&&(t===Pr?yr(r):t!==wr&&(Er(r,0,0,!1),t===Nr&&($r(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),rn(e),0===e.avail_out))return r.last_flush=-1,Dr}return t!==Ar?Dr:r.wrap<=0?kr:(2===r.wrap?(on(r,255&e.adler),on(r,e.adler>>8&255),on(r,e.adler>>16&255),on(r,e.adler>>24&255),on(r,255&e.total_in),on(r,e.total_in>>8&255),on(r,e.total_in>>16&255),on(r,e.total_in>>24&255)):(an(r,e.adler>>>16),an(r,65535&e.adler)),rn(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?Dr:kr)},vn=(e,t)=>{let r=t.length;if(bn(e))return Ur;const n=e.state,i=n.wrap;if(2===i||1===i&&n.status!==zr||n.lookahead)return Ur;if(1===i&&(e.adler=gr(e.adler,t,r,0)),n.wrap=0,r>=n.w_size){0===i&&($r(n.head),n.strstart=0,n.block_start=0,n.insert=0);let e=new Uint8Array(n.w_size);e.set(t.subarray(r-n.w_size,r),0),t=e,r=n.w_size}const o=e.avail_in,a=e.next_in,s=e.input;for(e.avail_in=r,e.next_in=0,e.input=t,un(n);n.lookahead>=3;){let e=n.strstart,t=n.lookahead-2;do{n.ins_h=tn(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,un(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=a,e.input=s,e.avail_in=o,n.wrap=i,Dr},On={deflateInit:(e,t)=>mn(e,t,Kr,15,8,Gr),deflateInit2:mn,deflateReset:gn,deflateResetKeep:Rn,deflateSetHeader:(e,t)=>bn(e)||2!==e.state.wrap?Ur:(e.state.gzhead=t,Dr),deflate:Cn,deflateEnd:e=>{if(bn(e))return Ur;const t=e.state.status;return e.state=null,t===qr?Zr(e,Mr):Dr},deflateSetDictionary:vn,deflateInfo:"pako deflate (from Nodeca project)"};const Tn=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var En=function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const t in r)Tn(r,t)&&(e[t]=r[t])}}return e},Sn=e=>{let t=0;for(let r=0,n=e.length;r<n;r++)t+=e[r].length;const r=new Uint8Array(t);for(let t=0,n=0,i=e.length;t<i;t++){let i=e[t];r.set(i,n),n+=i.length}return r};let In=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){In=!1}const yn=new Uint8Array(256);for(let e=0;e<256;e++)yn[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;yn[254]=yn[254]=1;var Ln=e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,r,n,i,o,a=e.length,s=0;for(i=0;i<a;i++)r=e.charCodeAt(i),55296==(64512&r)&&i+1<a&&(n=e.charCodeAt(i+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),i++)),s+=r<128?1:r<2048?2:r<65536?3:4;for(t=new Uint8Array(s),o=0,i=0;o<s;i++)r=e.charCodeAt(i),55296==(64512&r)&&i+1<a&&(n=e.charCodeAt(i+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),i++)),r<128?t[o++]=r:r<2048?(t[o++]=192|r>>>6,t[o++]=128|63&r):r<65536?(t[o++]=224|r>>>12,t[o++]=128|r>>>6&63,t[o++]=128|63&r):(t[o++]=240|r>>>18,t[o++]=128|r>>>12&63,t[o++]=128|r>>>6&63,t[o++]=128|63&r);return t},Pn=(e,t)=>{const r=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));let n,i;const o=new Array(2*r);for(i=0,n=0;n<r;){let t=e[n++];if(t<128){o[i++]=t;continue}let a=yn[t];if(a>4)o[i++]=65533,n+=a-1;else{for(t&=2===a?31:3===a?15:7;a>1&&n<r;)t=t<<6|63&e[n++],a--;a>1?o[i++]=65533:t<65536?o[i++]=t:(t-=65536,o[i++]=55296|t>>10&1023,o[i++]=56320|1023&t)}}return((e,t)=>{if(t<65534&&e.subarray&&In)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let r="";for(let n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r})(o,i)},Nn=(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let r=t-1;for(;r>=0&&128==(192&e[r]);)r--;return r<0||0===r?t:r+yn[e[r]]>t?r:t};var An=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};const wn=Object.prototype.toString,{Z_NO_FLUSH:Dn,Z_SYNC_FLUSH:kn,Z_FULL_FLUSH:Un,Z_FINISH:Mn,Z_OK:xn,Z_STREAM_END:jn,Z_DEFAULT_COMPRESSION:Bn,Z_DEFAULT_STRATEGY:Vn,Z_DEFLATED:Fn}=Or;function Jn(e){this.options=En({level:Bn,method:Fn,chunkSize:16384,windowBits:15,memLevel:8,strategy:Vn},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 An,this.strm.avail_out=0;let r=On.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==xn)throw new Error(vr[r]);if(t.header&&On.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e="string"==typeof t.dictionary?Ln(t.dictionary):"[object ArrayBuffer]"===wn.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,r=On.deflateSetDictionary(this.strm,e),r!==xn)throw new Error(vr[r]);this._dict_set=!0}}function Gn(e,t){const r=new Jn(t);if(r.push(e,!0),r.err)throw r.msg||vr[r.err];return r.result}Jn.prototype.push=function(e,t){const r=this.strm,n=this.options.chunkSize;let i,o;if(this.ended)return!1;for(o=t===~~t?t:!0===t?Mn:Dn,"string"==typeof e?r.input=Ln(e):"[object ArrayBuffer]"===wn.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),(o===kn||o===Un)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(i=On.deflate(r,o),i===jn)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),i=On.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===xn;if(0!==r.avail_out){if(o>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},Jn.prototype.onData=function(e){this.chunks.push(e)},Jn.prototype.onEnd=function(e){e===xn&&(this.result=Sn(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var Hn={Deflate:Jn,deflate:Gn,deflateRaw:function(e,t){return(t=t||{}).raw=!0,Gn(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,Gn(e,t)},constants:Or};const Kn=16209;var Wn=function(e,t){let r,n,i,o,a,s,c,u,l,d,_,p,f,h,b,R,g,m,C,v,O,T,E,S;const I=e.state;r=e.next_in,E=e.input,n=r+(e.avail_in-5),i=e.next_out,S=e.output,o=i-(t-e.avail_out),a=i+(e.avail_out-257),s=I.dmax,c=I.wsize,u=I.whave,l=I.wnext,d=I.window,_=I.hold,p=I.bits,f=I.lencode,h=I.distcode,b=(1<<I.lenbits)-1,R=(1<<I.distbits)-1;e:do{p<15&&(_+=E[r++]<<p,p+=8,_+=E[r++]<<p,p+=8),g=f[_&b];t:for(;;){if(m=g>>>24,_>>>=m,p-=m,m=g>>>16&255,0===m)S[i++]=65535&g;else{if(!(16&m)){if(64&m){if(32&m){I.mode=16191;break e}e.msg="invalid literal/length code",I.mode=Kn;break e}g=f[(65535&g)+(_&(1<<m)-1)];continue t}for(C=65535&g,m&=15,m&&(p<m&&(_+=E[r++]<<p,p+=8),C+=_&(1<<m)-1,_>>>=m,p-=m),p<15&&(_+=E[r++]<<p,p+=8,_+=E[r++]<<p,p+=8),g=h[_&R];;){if(m=g>>>24,_>>>=m,p-=m,m=g>>>16&255,16&m){if(v=65535&g,m&=15,p<m&&(_+=E[r++]<<p,p+=8,p<m&&(_+=E[r++]<<p,p+=8)),v+=_&(1<<m)-1,v>s){e.msg="invalid distance too far back",I.mode=Kn;break e}if(_>>>=m,p-=m,m=i-o,v>m){if(m=v-m,m>u&&I.sane){e.msg="invalid distance too far back",I.mode=Kn;break e}if(O=0,T=d,0===l){if(O+=c-m,m<C){C-=m;do{S[i++]=d[O++]}while(--m);O=i-v,T=S}}else if(l<m){if(O+=c+l-m,m-=l,m<C){C-=m;do{S[i++]=d[O++]}while(--m);if(O=0,l<C){m=l,C-=m;do{S[i++]=d[O++]}while(--m);O=i-v,T=S}}}else if(O+=l-m,m<C){C-=m;do{S[i++]=d[O++]}while(--m);O=i-v,T=S}for(;C>2;)S[i++]=T[O++],S[i++]=T[O++],S[i++]=T[O++],C-=3;C&&(S[i++]=T[O++],C>1&&(S[i++]=T[O++]))}else{O=i-v;do{S[i++]=S[O++],S[i++]=S[O++],S[i++]=S[O++],C-=3}while(C>2);C&&(S[i++]=S[O++],C>1&&(S[i++]=S[O++]))}break}if(64&m){e.msg="invalid distance code",I.mode=Kn;break e}g=h[(65535&g)+(_&(1<<m)-1)]}}break}}while(r<n&&i<a);C=p>>3,r-=C,p-=C<<3,_&=(1<<p)-1,e.next_in=r,e.next_out=i,e.avail_in=r<n?n-r+5:5-(r-n),e.avail_out=i<a?a-i+257:257-(i-a),I.hold=_,I.bits=p};const Yn=15,zn=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]),qn=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]),Qn=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]),Zn=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]);var Xn=(e,t,r,n,i,o,a,s)=>{const c=s.bits;let u,l,d,_,p,f,h=0,b=0,R=0,g=0,m=0,C=0,v=0,O=0,T=0,E=0,S=null;const I=new Uint16Array(16),y=new Uint16Array(16);let L,P,N,A=null;for(h=0;h<=Yn;h++)I[h]=0;for(b=0;b<n;b++)I[t[r+b]]++;for(m=c,g=Yn;g>=1&&0===I[g];g--);if(m>g&&(m=g),0===g)return i[o++]=20971520,i[o++]=20971520,s.bits=1,0;for(R=1;R<g&&0===I[R];R++);for(m<R&&(m=R),O=1,h=1;h<=Yn;h++)if(O<<=1,O-=I[h],O<0)return-1;if(O>0&&(0===e||1!==g))return-1;for(y[1]=0,h=1;h<Yn;h++)y[h+1]=y[h]+I[h];for(b=0;b<n;b++)0!==t[r+b]&&(a[y[t[r+b]]++]=b);if(0===e?(S=A=a,f=20):1===e?(S=zn,A=qn,f=257):(S=Qn,A=Zn,f=0),E=0,b=0,h=R,p=o,C=m,v=0,d=-1,T=1<<m,_=T-1,1===e&&T>852||2===e&&T>592)return 1;for(;;){L=h-v,a[b]+1<f?(P=0,N=a[b]):a[b]>=f?(P=A[a[b]-f],N=S[a[b]-f]):(P=96,N=0),u=1<<h-v,l=1<<C,R=l;do{l-=u,i[p+(E>>v)+l]=L<<24|P<<16|N}while(0!==l);for(u=1<<h-1;E&u;)u>>=1;if(0!==u?(E&=u-1,E+=u):E=0,b++,0==--I[h]){if(h===g)break;h=t[r+a[b]]}if(h>m&&(E&_)!==d){for(0===v&&(v=m),p+=R,C=h-v,O=1<<C;C+v<g&&(O-=I[C+v],!(O<=0));)C++,O<<=1;if(T+=1<<C,1===e&&T>852||2===e&&T>592)return 1;d=E&_,i[d]=m<<24|C<<16|p-o}}return 0!==E&&(i[p+E]=h-v<<24|64<<16),s.bits=m,0};const{Z_FINISH:$n,Z_BLOCK:ei,Z_TREES:ti,Z_OK:ri,Z_STREAM_END:ni,Z_NEED_DICT:ii,Z_STREAM_ERROR:oi,Z_DATA_ERROR:ai,Z_MEM_ERROR:si,Z_BUF_ERROR:ci,Z_DEFLATED:ui}=Or,li=16180,di=16190,_i=16191,pi=16192,fi=16194,hi=16199,bi=16200,Ri=16206,gi=16209,mi=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function Ci(){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 vi=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<li||t.mode>16211?1:0},Oi=e=>{if(vi(e))return oi;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=li,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,ri},Ti=e=>{if(vi(e))return oi;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Oi(e)},Ei=(e,t)=>{let r;if(vi(e))return oi;const n=e.state;return t<0?(r=0,t=-t):(r=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?oi:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,Ti(e))},Si=(e,t)=>{if(!e)return oi;const r=new Ci;e.state=r,r.strm=e,r.window=null,r.mode=li;const n=Ei(e,t);return n!==ri&&(e.state=null),n};let Ii,yi,Li=!0;const Pi=e=>{if(Li){Ii=new Int32Array(512),yi=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(Xn(1,e.lens,0,288,Ii,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Xn(2,e.lens,0,32,yi,0,e.work,{bits:5}),Li=!1}e.lencode=Ii,e.lenbits=9,e.distcode=yi,e.distbits=5},Ni=(e,t,r,n)=>{let i;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(r-o.wsize,r),0),o.wnext=0,o.whave=o.wsize):(i=o.wsize-o.wnext,i>n&&(i=n),o.window.set(t.subarray(r-n,r-n+i),o.wnext),(n-=i)?(o.window.set(t.subarray(r-n,r),0),o.wnext=n,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=i))),0};var Ai=(e,t)=>{let r,n,i,o,a,s,c,u,l,d,_,p,f,h,b,R,g,m,C,v,O,T,E=0;const S=new Uint8Array(4);let I,y;const L=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(vi(e)||!e.output||!e.input&&0!==e.avail_in)return oi;r=e.state,r.mode===_i&&(r.mode=pi),a=e.next_out,i=e.output,c=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,u=r.hold,l=r.bits,d=s,_=c,T=ri;e:for(;;)switch(r.mode){case li:if(0===r.wrap){r.mode=pi;break}for(;l<16;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(2&r.wrap&&35615===u){0===r.wbits&&(r.wbits=15),r.check=0,S[0]=255&u,S[1]=u>>>8&255,r.check=Cr(r.check,S,2,0),u=0,l=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=gi;break}if((15&u)!==ui){e.msg="unknown compression method",r.mode=gi;break}if(u>>>=4,l-=4,O=8+(15&u),0===r.wbits&&(r.wbits=O),O>15||O>r.wbits){e.msg="invalid window size",r.mode=gi;break}r.dmax=1<<r.wbits,r.flags=0,e.adler=r.check=1,r.mode=512&u?16189:_i,u=0,l=0;break;case 16181:for(;l<16;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(r.flags=u,(255&r.flags)!==ui){e.msg="unknown compression method",r.mode=gi;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=gi;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&4&r.wrap&&(S[0]=255&u,S[1]=u>>>8&255,r.check=Cr(r.check,S,2,0)),u=0,l=0,r.mode=16182;case 16182:for(;l<32;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&4&r.wrap&&(S[0]=255&u,S[1]=u>>>8&255,S[2]=u>>>16&255,S[3]=u>>>24&255,r.check=Cr(r.check,S,4,0)),u=0,l=0,r.mode=16183;case 16183:for(;l<16;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&4&r.wrap&&(S[0]=255&u,S[1]=u>>>8&255,r.check=Cr(r.check,S,2,0)),u=0,l=0,r.mode=16184;case 16184:if(1024&r.flags){for(;l<16;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&4&r.wrap&&(S[0]=255&u,S[1]=u>>>8&255,r.check=Cr(r.check,S,2,0)),u=0,l=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(p=r.length,p>s&&(p=s),p&&(r.head&&(O=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(n.subarray(o,o+p),O)),512&r.flags&&4&r.wrap&&(r.check=Cr(r.check,n,p,o)),s-=p,o+=p,r.length-=p),r.length))break e;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===s)break e;p=0;do{O=n[o+p++],r.head&&O&&r.length<65536&&(r.head.name+=String.fromCharCode(O))}while(O&&p<s);if(512&r.flags&&4&r.wrap&&(r.check=Cr(r.check,n,p,o)),s-=p,o+=p,O)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=16187;case 16187:if(4096&r.flags){if(0===s)break e;p=0;do{O=n[o+p++],r.head&&O&&r.length<65536&&(r.head.comment+=String.fromCharCode(O))}while(O&&p<s);if(512&r.flags&&4&r.wrap&&(r.check=Cr(r.check,n,p,o)),s-=p,o+=p,O)break e}else r.head&&(r.head.comment=null);r.mode=16188;case 16188:if(512&r.flags){for(;l<16;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(4&r.wrap&&u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=gi;break}u=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=_i;break;case 16189:for(;l<32;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}e.adler=r.check=mi(u),u=0,l=0,r.mode=di;case di:if(0===r.havedict)return e.next_out=a,e.avail_out=c,e.next_in=o,e.avail_in=s,r.hold=u,r.bits=l,ii;e.adler=r.check=1,r.mode=_i;case _i:if(t===ei||t===ti)break e;case pi:if(r.last){u>>>=7&l,l-=7&l,r.mode=Ri;break}for(;l<3;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}switch(r.last=1&u,u>>>=1,l-=1,3&u){case 0:r.mode=16193;break;case 1:if(Pi(r),r.mode=hi,t===ti){u>>>=2,l-=2;break e}break;case 2:r.mode=16196;break;case 3:e.msg="invalid block type",r.mode=gi}u>>>=2,l-=2;break;case 16193:for(u>>>=7&l,l-=7&l;l<32;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=gi;break}if(r.length=65535&u,u=0,l=0,r.mode=fi,t===ti)break e;case fi:r.mode=16195;case 16195:if(p=r.length,p){if(p>s&&(p=s),p>c&&(p=c),0===p)break e;i.set(n.subarray(o,o+p),a),s-=p,o+=p,c-=p,a+=p,r.length-=p;break}r.mode=_i;break;case 16196:for(;l<14;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=gi;break}r.have=0,r.mode=16197;case 16197:for(;r.have<r.ncode;){for(;l<3;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.lens[L[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[L[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,I={bits:r.lenbits},T=Xn(0,r.lens,0,19,r.lencode,0,r.work,I),r.lenbits=I.bits,T){e.msg="invalid code lengths set",r.mode=gi;break}r.have=0,r.mode=16198;case 16198:for(;r.have<r.nlen+r.ndist;){for(;E=r.lencode[u&(1<<r.lenbits)-1],b=E>>>24,R=E>>>16&255,g=65535&E,!(b<=l);){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(g<16)u>>>=b,l-=b,r.lens[r.have++]=g;else{if(16===g){for(y=b+2;l<y;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(u>>>=b,l-=b,0===r.have){e.msg="invalid bit length repeat",r.mode=gi;break}O=r.lens[r.have-1],p=3+(3&u),u>>>=2,l-=2}else if(17===g){for(y=b+3;l<y;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}u>>>=b,l-=b,O=0,p=3+(7&u),u>>>=3,l-=3}else{for(y=b+7;l<y;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}u>>>=b,l-=b,O=0,p=11+(127&u),u>>>=7,l-=7}if(r.have+p>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=gi;break}for(;p--;)r.lens[r.have++]=O}}if(r.mode===gi)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=gi;break}if(r.lenbits=9,I={bits:r.lenbits},T=Xn(1,r.lens,0,r.nlen,r.lencode,0,r.work,I),r.lenbits=I.bits,T){e.msg="invalid literal/lengths set",r.mode=gi;break}if(r.distbits=6,r.distcode=r.distdyn,I={bits:r.distbits},T=Xn(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,I),r.distbits=I.bits,T){e.msg="invalid distances set",r.mode=gi;break}if(r.mode=hi,t===ti)break e;case hi:r.mode=bi;case bi:if(s>=6&&c>=258){e.next_out=a,e.avail_out=c,e.next_in=o,e.avail_in=s,r.hold=u,r.bits=l,Wn(e,_),a=e.next_out,i=e.output,c=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,u=r.hold,l=r.bits,r.mode===_i&&(r.back=-1);break}for(r.back=0;E=r.lencode[u&(1<<r.lenbits)-1],b=E>>>24,R=E>>>16&255,g=65535&E,!(b<=l);){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(R&&!(240&R)){for(m=b,C=R,v=g;E=r.lencode[v+((u&(1<<m+C)-1)>>m)],b=E>>>24,R=E>>>16&255,g=65535&E,!(m+b<=l);){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}u>>>=m,l-=m,r.back+=m}if(u>>>=b,l-=b,r.back+=b,r.length=g,0===R){r.mode=16205;break}if(32&R){r.back=-1,r.mode=_i;break}if(64&R){e.msg="invalid literal/length code",r.mode=gi;break}r.extra=15&R,r.mode=16201;case 16201:if(r.extra){for(y=r.extra;l<y;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;E=r.distcode[u&(1<<r.distbits)-1],b=E>>>24,R=E>>>16&255,g=65535&E,!(b<=l);){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(!(240&R)){for(m=b,C=R,v=g;E=r.distcode[v+((u&(1<<m+C)-1)>>m)],b=E>>>24,R=E>>>16&255,g=65535&E,!(m+b<=l);){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}u>>>=m,l-=m,r.back+=m}if(u>>>=b,l-=b,r.back+=b,64&R){e.msg="invalid distance code",r.mode=gi;break}r.offset=g,r.extra=15&R,r.mode=16203;case 16203:if(r.extra){for(y=r.extra;l<y;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=gi;break}r.mode=16204;case 16204:if(0===c)break e;if(p=_-c,r.offset>p){if(p=r.offset-p,p>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=gi;break}p>r.wnext?(p-=r.wnext,f=r.wsize-p):f=r.wnext-p,p>r.length&&(p=r.length),h=r.window}else h=i,f=a-r.offset,p=r.length;p>c&&(p=c),c-=p,r.length-=p;do{i[a++]=h[f++]}while(--p);0===r.length&&(r.mode=bi);break;case 16205:if(0===c)break e;i[a++]=r.length,c--,r.mode=bi;break;case Ri:if(r.wrap){for(;l<32;){if(0===s)break e;s--,u|=n[o++]<<l,l+=8}if(_-=c,e.total_out+=_,r.total+=_,4&r.wrap&&_&&(e.adler=r.check=r.flags?Cr(r.check,i,_,a-_):gr(r.check,i,_,a-_)),_=c,4&r.wrap&&(r.flags?u:mi(u))!==r.check){e.msg="incorrect data check",r.mode=gi;break}u=0,l=0}r.mode=16207;case 16207:if(r.wrap&&r.flags){for(;l<32;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(4&r.wrap&&u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=gi;break}u=0,l=0}r.mode=16208;case 16208:T=ni;break e;case gi:T=ai;break e;case 16210:return si;default:return oi}return e.next_out=a,e.avail_out=c,e.next_in=o,e.avail_in=s,r.hold=u,r.bits=l,(r.wsize||_!==e.avail_out&&r.mode<gi&&(r.mode<Ri||t!==$n))&&Ni(e,e.output,e.next_out,_-e.avail_out),d-=e.avail_in,_-=e.avail_out,e.total_in+=d,e.total_out+=_,r.total+=_,4&r.wrap&&_&&(e.adler=r.check=r.flags?Cr(r.check,i,_,e.next_out-_):gr(r.check,i,_,e.next_out-_)),e.data_type=r.bits+(r.last?64:0)+(r.mode===_i?128:0)+(r.mode===hi||r.mode===fi?256:0),(0===d&&0===_||t===$n)&&T===ri&&(T=ci),T},wi={inflateReset:Ti,inflateReset2:Ei,inflateResetKeep:Oi,inflateInit:e=>Si(e,15),inflateInit2:Si,inflate:Ai,inflateEnd:e=>{if(vi(e))return oi;let t=e.state;return t.window&&(t.window=null),e.state=null,ri},inflateGetHeader:(e,t)=>{if(vi(e))return oi;const r=e.state;return 2&r.wrap?(r.head=t,t.done=!1,ri):oi},inflateSetDictionary:(e,t)=>{const r=t.length;let n,i,o;return vi(e)?oi:(n=e.state,0!==n.wrap&&n.mode!==di?oi:n.mode===di&&(i=1,i=gr(i,t,r,0),i!==n.check)?ai:(o=Ni(e,t,r,r),o?(n.mode=16210,si):(n.havedict=1,ri)))},inflateInfo:"pako inflate (from Nodeca project)"};var Di=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};const ki=Object.prototype.toString,{Z_NO_FLUSH:Ui,Z_FINISH:Mi,Z_OK:xi,Z_STREAM_END:ji,Z_NEED_DICT:Bi,Z_STREAM_ERROR:Vi,Z_DATA_ERROR:Fi,Z_MEM_ERROR:Ji}=Or;function Gi(e){this.options=En({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 An,this.strm.avail_out=0;let r=wi.inflateInit2(this.strm,t.windowBits);if(r!==xi)throw new Error(vr[r]);if(this.header=new Di,wi.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=Ln(t.dictionary):"[object ArrayBuffer]"===ki.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=wi.inflateSetDictionary(this.strm,t.dictionary),r!==xi)))throw new Error(vr[r])}Gi.prototype.push=function(e,t){const r=this.strm,n=this.options.chunkSize,i=this.options.dictionary;let o,a,s;if(this.ended)return!1;for(a=t===~~t?t:!0===t?Mi:Ui,"[object ArrayBuffer]"===ki.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),o=wi.inflate(r,a),o===Bi&&i&&(o=wi.inflateSetDictionary(r,i),o===xi?o=wi.inflate(r,a):o===Fi&&(o=Bi));r.avail_in>0&&o===ji&&r.state.wrap>0&&0!==e[r.next_in];)wi.inflateReset(r),o=wi.inflate(r,a);switch(o){case Vi:case Fi:case Bi:case Ji:return this.onEnd(o),this.ended=!0,!1}if(s=r.avail_out,r.next_out&&(0===r.avail_out||o===ji))if("string"===this.options.to){let e=Nn(r.output,r.next_out),t=r.next_out-e,i=Pn(r.output,e);r.next_out=t,r.avail_out=n-t,t&&r.output.set(r.output.subarray(e,e+t),0),this.onData(i)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(o!==xi||0!==s){if(o===ji)return o=wi.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},Gi.prototype.onData=function(e){this.chunks.push(e)},Gi.prototype.onEnd=function(e){e===xi&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Sn(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};const{Deflate:Hi,deflate:Ki,deflateRaw:Wi,gzip:Yi}=Hn;var zi=Yi;var qi,Qi=-1,Zi=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))},Xi=function(t,r,n){return s(void 0,void 0,void 0,(function(){var i;return c(this,(function(o){return i=[],[2,new Promise((function(o,a){t.forEach((function(t){return s(void 0,void 0,void 0,(function(){var a,s,u;return c(this,(function(c){switch(c.label){case 0:return a=t.detectorAddr.replace(/^(https?:\/\/)?/,"https://"),s="".concat(a,"/rtc/detector/ping?t=").concat((d=9999,(l=1e3)+Math.floor(Math.random()*(d-l)))),u={jwt:n},[4,r.httpReq({url:s,body:JSON.stringify(u),timeout:5e3,method:e.HttpMethod.POST})];case 1:return 200===c.sent().status&&i.push(t.clusterId),o(i),[2]}var l,d}))}))}))}))]}))}))},$i=function(t,r,n){return s(void 0,void 0,void 0,(function(){var o,a,s,u,l,d,_,p;return c(this,(function(c){switch(c.label){case 0:return o=function(e,t){var r,n;if(!t)return"";try{n=JSON.parse(t.voipCallInfo||'{ "strategy": 0 }')}catch(r){return e.warn(i.L_MEDIA_SERVICE_PARSE_NAVI_CALLVOIP_INFO_O,"parse `voipCallInfo` of navi failed: ".concat(t.voipCallInfo)),""}if(0===n.strategy)return"";var o=null===(r=n.callEngine)||void 0===r?void 0:r.filter((function(e){return 4===e.engineType}));if(!o||0===o.length)return"";var a=o[0];return a.detectorManager?a.detectorManager:""}(r,n),a=(f=n)&&f.jwt||"",s=null,u=120,l=0,d={jwt:a},o&&a?[4,t.httpReq({url:"".concat(o,"/rtc/detector/servers"),body:JSON.stringify(d),headers:{"Content-Type":"application/json;charset=UTF-8","Cache-Control":"no-cache",ClientType:"web|".concat(Ct.browser,"|").concat(Ct.version),ClientVersion:"5.7.5-alpha.3","Client-Session-Id":Zi(),"Request-Id":Date.now().toString()},method:e.HttpMethod.POST})]:[3,3];case 1:return _=c.sent(),p=_.data&&JSON.parse(_.data).detectorAddrs,u=_.data&&JSON.parse(_.data).clientDetectMinute,l=_.data&&JSON.parse(_.data).resultCode,p&&e.isArray(p)?[4,Xi(p,t,a)]:[3,3];case 2:s=c.sent(),c.label=3;case 3:return[2,{fastMediaUrl:s,clientDetectMinute:u,status:l}]}var f}))}))},eo=function(){return{"Content-Type":"application/json;charset=UTF-8","Cache-Control":"no-cache",ClientType:"web|".concat(Ct.browser,"|").concat(Ct.version),ClientVersion:"5.7.5-alpha.3","Client-Session-Id":Zi(),"Request-Id":Date.now().toString()}},to=function(){function t(r,n,i,o){void 0===o&&(o=5e3),Object.defineProperty(this,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_msUrl",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_timeout",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"_msInNavi",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_failedMs",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_rtcFinger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_clusterId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_configUrl",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_msList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_qualityMsList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._logger=this._context.logger,t.isDetector||n.getConnectionStatus()!==e.RCConnectionStatus.CONNECTED||this.detectorMediaSever()}return Object.defineProperty(t.prototype,"detectorMediaSever",{enumerable:!1,configurable:!0,writable:!0,value:function(){var r=this._context.getNaviInfo();if(t.jwtToken=(null==r?void 0:r.jwt)||"",!this._msUrl){var n=Date.now(),i=t.detectValidMinute+t.detectorTime>n;t.isDetector=i,!i&&r&&e.notEmptyObject(r)&&(this._msList=[],this._getDetectorUrls(r))}}}),Object.defineProperty(t.prototype,"_getDetectorUrls",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var r,n,i;return c(this,(function(o){switch(o.label){case 0:return t.isDetector?[2]:(t.isDetector=!0,[4,$i(this._runtime,this._logger,e)]);case 1:return r=o.sent(),n=r.fastMediaUrl,i=r.clientDetectMinute,r.status!==exports.RCRTCCode.JWT_TIME_OUT?[3,3]:[4,this._context.getPluginContext().refetchNaviInfo()];case 2:o.sent(),this.detectorMediaSever(),o.label=3;case 3:return t.msInDetector=n||[],t.detectorTime=Date.now(),t.detectValidMinute=60*i*1e3,[2]}}))}))}}),Object.defineProperty(t.prototype,"getNaviMS",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._msUrl?[this._msUrl]:(e.notEmptyArray(this._msList)&&!this._clusterId||(this._msList=this.setMediaServiceList()),this._msList)}}),Object.defineProperty(t.prototype,"setMediaServiceList",{enumerable:!1,configurable:!0,writable:!0,value:function(){var r,n,o,a=[];return this._clusterId&&(this._clusterId=this._clusterId.replace(/^(https?:\/\/)?/,"https://"),this._msList.unshift(this._clusterId)),e.notEmptyArray(t.msInDetector)&&(t.msInDetector=t.msInDetector.map((function(e){return e.replace(/^(https?:\/\/)?/,"https://")})),this._msList.push(t.msInDetector[0]),a=t.msInDetector.concat().splice(1,t.msInDetector.length-1)),0===this._msInNavi.length&&(0===this._failedMs.length?(r=this._msInNavi).push.apply(r,d([],l(function(e,t){var r,n;if(!e)return[];try{n=JSON.parse(e.voipCallInfo||'{ "strategy": 0 }')}catch(r){return t.warn(i.L_PARSE_VOIP_SERVER_CONF_E,e.voipCallInfo),[]}if(0===n.strategy)return[];var o=null===(r=n.callEngine)||void 0===r?void 0:r.filter((function(e){return 4===e.engineType}));if(!o||0===o.length)return[];var a=o[0],s=[];return a.mediaServer&&s.push(a.mediaServer.replace(/^(https?:\/\/)?/,"https://")),a.backupMediaServer&&a.backupMediaServer.forEach((function(e){s.push(e.replace(/^(https?:\/\/)?/,"https://"))})),s}(this._context.getNaviInfo(),this._logger)),!1)):((n=this._msInNavi).push.apply(n,d([],l(this._failedMs),!1)),this._failedMs.length=0)),o=this._msInNavi.concat().splice(1,this._msInNavi.length-1),this._msList.push(this._msInNavi[0]),this._msList=d(d(d([],l(this._msList),!1),l(a),!1),l(o),!1),this._msList=d([],l(new Set(this._msList)),!1),this._logger.info(i.L_MEDIA_SERVICE_MSLIST_CHANGE_O,"MediaServiceList msList -> ".concat(JSON.stringify(this._msList))),this._msList}}),Object.defineProperty(t.prototype,"_openGzip",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){for(var r=JSON.stringify(t),n=r.length,i=new Uint8Array(n),o=0;o<n;o++)i[o]=r.charCodeAt(o);var s;return{headers:e=a(a({},e),{"Content-Encoding":"gzip","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}),body:t=zi(i,s)}}}),Object.defineProperty(t.prototype,"_dealRequestSuccessResult",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=JSON.parse(e);return n.rtcFinger&&(this._rtcFinger=n.rtcFinger),n.clusterId&&(this._clusterId=n.clusterId),this._logger.info(i.L_MEDIA_SERVICE_REQUEST_R,JSON.stringify({status:o.SUCCESSED,url:t}),r),{code:exports.RCRTCCode.SUCCESS,data:n,qualityMsList:this._qualityMsList}}}),Object.defineProperty(t.prototype,"_request",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,u,_){var p;return s(this,void 0,void 0,(function(){var s,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L;return c(this,(function(c){switch(c.label){case 0:if(this._qualityMsList=[],s=(null===(p=this._context.getNaviInfo())||void 0===p?void 0:p.openGzip)||!1,f=s?this._openGzip(r,n):{headers:r,body:n},h=f.headers,b=f.body,0===(R=this.getNaviMS()).length)return this._logger.error(i.L_MEDIA_SERVICE_REQUEST_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER,msg:"have no valid service address"}),u),[2,{code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER}];this._rtcFinger&&(b.rtcFinger=this._rtcFinger),g=0,c.label=1;case 1:return g<R.length?(m=Date.now(),C="".concat(R[g]).concat(t),v=eo(),O=a(a({},v),h),T=/x-www-form-urlencoded/.test(O["Content-Type"])?b:JSON.stringify(b),E=v["Request-Id"],this._logger.info(i.L_MEDIA_SERVICE_REQUEST_T,JSON.stringify({url:C,"Request-Id":E}),u),[4,this._runtime.httpReq({url:C,body:T,headers:O,method:e.HttpMethod.POST,timeout:this._timeout})]):[3,4];case 2:if(S=c.sent(),I=S.status,y=S.data,_&&this._qualityMsList.push({rsdur:Date.now()-m,rsid:E,rscod:200===I?exports.RCRTCCode.SUCCESS:exports.RCRTCCode.REQUEST_FAILED,msa:C}),200===I)return[2,this._dealRequestSuccessResult(y,C,u)];(L=this._failedMs).push.apply(L,d([],l(this._msInNavi.splice(g,1)),!1)),this._logger.error(i.L_MEDIA_SERVICE_REQUEST_R,JSON.stringify({status:o.FAILED,msg:"request error -> Request-Id: ".concat(E,", status: ").concat(I,", url: ").concat(C),timeout:this._timeout}),u),c.label=3;case 3:return g+=1,[3,1];case 4:return[2,{code:exports.RCRTCCode.REQUEST_FAILED,qualityMsList:this._qualityMsList}]}}))}))}}),Object.defineProperty(t.prototype,"exchange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){var i;return s(this,void 0,void 0,(function(){var o,a;return c(this,(function(s){switch(s.label){case 0:return[4,this._request("/exchange",e,t,r,n)];case 1:return(o=s.sent()).code===exports.RCRTCCode.SUCCESS&&(null===(i=o.data)||void 0===i?void 0:i.resultCode)===exports.RCRTCCode.SUCCESS&&(a=o.data.urls)&&(this._configUrl=a.configUrl),[2,o]}}))}))}}),Object.defineProperty(t.prototype,"exit",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this._logger.createTraceId(),[4,this._request("/exit",e,{},t)];case 1:return[2,r.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"broadcastSubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this._logger.createTraceId();return this._request("/broadcast/subscribe",e,t,r,!0)}}),Object.defineProperty(t.prototype,"broadcastExit",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this._logger.createTraceId(),[4,this._request("/broadcast/exit",e,{},t,!0)];case 1:return[2,{code:r.sent().code}]}}))}))}}),Object.defineProperty(t.prototype,"setMcuConfig",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return s(this,void 0,void 0,(function(){var n,s,u,l,d,_,p,f,h,b,R;return c(this,(function(c){switch(c.label){case 0:return n=this._logger.createTraceId(),this._logger.info(i.L_MEDIA_SERVICE_SET_MCU_CONFIG_T,JSON.stringify({body:r}),n),this._configUrl?(s="".concat(this._configUrl.replace(/^(https?:\/\/)?/,"https://"),"/server/mcu/config"),u=eo(),l=a(a({},u),t),d=JSON.stringify(r),_=u["Request-Id"],[4,this._runtime.httpReq({url:s,headers:l,body:d,method:e.HttpMethod.POST})]):(this._logger.error(i.L_MEDIA_SERVICE_SET_MCU_CONFIG_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.MCU_SERVER_NOT_FOUND,msg:"MCU server not found"}),n),[2,{code:exports.RCRTCCode.MCU_SERVER_NOT_FOUND}]);case 1:return p=c.sent(),f=p.status,h=p.data,200===f?(b=JSON.parse(h),(R=b.resultCode)===exports.RCRTCCode.SUCCESS?this._logger.info(i.L_MEDIA_SERVICE_SET_MCU_CONFIG_R,JSON.stringify({status:o.SUCCESSED,"Request-Id":_}),n):this._logger.warn(i.L_MEDIA_SERVICE_SET_MCU_CONFIG_R,JSON.stringify({code:R,"Request-Id":_}),n),[2,{code:R,res:b}]):(this._logger.error(i.L_MEDIA_SERVICE_SET_MCU_CONFIG_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REQUEST_FAILED,msg:"request error -> Request-Id: ".concat(_,", status: ").concat(f,", url: ").concat(s)}),n),[2,{code:exports.RCRTCCode.REQUEST_FAILED}])}}))}))}}),Object.defineProperty(t.prototype,"getCDNResourceInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f;return c(this,(function(c){switch(c.label){case 0:return s=eo(),u=a(a({},s),t),l=s["Request-Id"],this._logger.info(i.L_MEDIA_SERVICE_GET_CDN_RESOURCE_INFO_T,"Request-Id: ".concat(l,", url: ").concat(r),n),[4,this._runtime.httpReq({url:r,headers:u,method:e.HttpMethod.GET})];case 1:return d=c.sent(),_=d.status,p=d.data,200===_?(f=JSON.parse(p),this._logger.info(i.L_MEDIA_SERVICE_GET_CDN_RESOURCE_INFO_R,JSON.stringify({status:o.SUCCESSED,cdnPlayerUrl:null==f?void 0:f.data.pull_url}),n),[2,{code:f.resultCode,res:f}]):(this._logger.info(i.L_MEDIA_SERVICE_GET_CDN_RESOURCE_INFO_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REQUEST_FAILED}),n),[2,{code:exports.RCRTCCode.REQUEST_FAILED}])}}))}))}}),Object.defineProperty(t,"isDetector",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(t,"msInDetector",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(t,"detectorTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(t,"detectValidMinute",{enumerable:!0,configurable:!0,writable:!0,value:72e5}),Object.defineProperty(t,"jwtToken",{enumerable:!0,configurable:!0,writable:!0,value:""}),t}();!function(e){e[e.NORMAL=1]="NORMAL",e[e.TINY=2]="TINY"}(qi||(qi={}));var ro,no=function(e,t){return Math.round(8*t/e)},io=function(e,t){void 0===t&&(t=2);var r=Math.pow(10,t);return Math.round(e*r)/r},oo=function(e,t){void 0===t&&(t=2),e>1&&(e=1);var r=Math.pow(10,t);return Math.round(e*r)},ao=function(e,t,r,n){if(0===t)return 0;if(!r||!n)return io(e/t,3);var i=t-n;if(0===i)return 0;var o=e-r;return o<0||i<0?0:io(o/i,3)},so=function(e){var t=e.jitter,r=e.rtt,n=e.packetsLostRate;return!St(t)||!St(r)||0!==n};!function(e){e.TRACK="track",e.STREAM="stream",e.MEDIASOURCE="media-source",e.INBOUNDRTP="inbound-rtp",e.OUTBOUNDRTP="outbound-rtp",e.REMOTEINBOUNDRTP="remote-inbound-rtp",e.PEERCONNECTION="peer-connection",e.TRANSPORT="transport",e.CERTIFICATE="certificate",e.CANDIDATEPAIR="candidate-pair",e.REMOTECANDIDATE="remote-candidate",e.LOCALCANDIDATE="local-candidate"}(ro||(ro={}));var co,uo,lo=function(){function e(e,t,r,n,i,o){Object.defineProperty(this,"_sdpStrategy",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_rtcPeerConn",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_sdpSemantics",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_currentUserId",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_store",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"_latestPacketsSent",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_latestBytesSent",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_latestBytesRecv",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_latestPacketsRecv",{enumerable:!0,configurable:!0,writable:!0,value:{}})}return Object.defineProperty(e.prototype,"getTrackIdByMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._sdpStrategy.getTrackIdByMid(e)}}),Object.defineProperty(e.prototype,"updateBytesSent",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,i;if(this._latestBytesSent[e]&&t<this._latestBytesSent[e].bytesSent&&this.clearLatestpacketsSent([e]),this._latestBytesSent[e]){var o=this._latestBytesSent[e];n=t-o.bytesSent,i=r-o.timestamp,this._latestBytesSent[e]={bytesSent:t,timestamp:r}}else n=t,i=1e3,this._latestBytesSent[e]={bytesSent:t,timestamp:r};return no(i,n)}}),Object.defineProperty(e.prototype,"updateBytesRecv",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,i;if(this._latestBytesRecv[e]&&t<this._latestBytesRecv[e].bytesRecv&&this.clearLatestPacketsRecv([e]),this._latestBytesRecv[e]){var o=this._latestBytesRecv[e];n=t-o.bytesRecv,i=r-o.timestamp,this._latestBytesRecv[e]={bytesRecv:t,timestamp:r}}else n=t,i=1e3,this._latestBytesRecv[e]={bytesRecv:t,timestamp:r};return no(i,n)}}),Object.defineProperty(e.prototype,"updateSenderPacketsLost",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n;if(Object.prototype.hasOwnProperty.call(this._latestPacketsSent[e],"packetsSent")){var i=this._latestPacketsSent[e],o=i.packetsLost,a=i.packetsSent;n=ao(t,r,o,a),this._latestPacketsSent[e].packetsLost=t,this._latestPacketsSent[e].packetsSent=o===t?a:r}else n=ao(t,r),this._latestPacketsSent[e].packetsLost=t,this._latestPacketsSent[e].packetsSent=r;return n}}),Object.defineProperty(e.prototype,"updateReceiverPacketsLost",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n;if(this._latestPacketsRecv[e]){var i=this._latestPacketsRecv[e],o=i.packetsLost,a=i.packetsRecv;n=ao(t,r+t,o,a+o)}else n=ao(t,r);return this._latestPacketsRecv[e]={packetsLost:t,packetsRecv:r},n}}),Object.defineProperty(e.prototype,"clearLatestpacketsSent",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e.forEach((function(e){if(parseInt(e.split("_").pop())===exports.RCMediaType.VIDEO_ONLY){var r="".concat(e,"_tiny");delete t._latestPacketsSent[r],delete t._latestBytesSent[r]}delete t._latestPacketsSent[e],delete t._latestBytesSent[e]}))}}),Object.defineProperty(e.prototype,"clearLatestPacketsRecv",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e.forEach((function(e){delete t._latestPacketsRecv[e],delete t._latestBytesRecv[e]}))}}),Object.defineProperty(e.prototype,"parseRTCStatsReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r,n={};try{for(var i=u(e.entries()),o=i.next();!o.done;o=i.next()){var a=l(o.value,2),s=a[0],c=a[1];/codec/gi.test(c)&&s.includes("RTCCodec_")||(n[s]=c)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n}}),Object.defineProperty(e.prototype,"formatRCRTCStateReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t={senders:[],receivers:[]};return this._logger.info(i.L_ABSTRACT_STAT_PARSER_FORMAT_RTC_STATE_REPORT_O,JSON.stringify({status:o.SUCCESSED,stats:e,reports:t})),t}}),Object.defineProperty(e.prototype,"isValidTranceiver",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n,i="outbound-rtp"===t?null===(r=this._rtcPeerConn.currentLocalDescription)||void 0===r?void 0:r.sdp:null===(n=this._rtcPeerConn.currentRemoteDescription)||void 0===n?void 0:n.sdp,o=e.ssrc;return!(null==i?void 0:i.split("\r\nm=").some((function(e){return e.includes(o)&&e.includes("a=inactive")})))}}),Object.defineProperty(e.prototype,"formatStateData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return Object.values(e).reduce((function(e,t){return t.type===ro.REMOTEINBOUNDRTP?(e.remoteInbound.push(t),e):t.type===ro.INBOUNDRTP?(e.inbound.push(t),e):t.type===ro.OUTBOUNDRTP?(e.outbound.push(t),e):t.type===ro.TRANSPORT?(e.transport.push(t),e):t.type===ro.PEERCONNECTION?(e.connection.push(t),e):e}),{outbound:[],remoteInbound:[],inbound:[],transport:[],connection:[]})}}),e}(),_o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,"formatRCRTCStateReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r,n=this.formatStateData(e),i=n.outbound,o=n.remoteInbound,a=n.inbound,s=n.transport,c=n.connection,u={senders:[],receivers:[]},l=Math.floor(c[0].timestamp);u.timestamp=l;var d=0,_=0;d=(t=this.pickOutbound(i,e,d,l,_)).totalPacketsLost,_=t.bitrateSend,u.senders=t.senders,o.length>0&&u.senders.length>0&&this.pickRemoteInbound(o,u.senders,e);var p=0;if(d=(r=this.pickInbound(a,e,d,l,p)).totalPacketsLost,p=r.bitrateRecv,u.receivers=r.receivers,s.length>0){var f=s[0];this.pickRtcTransport(f,e,u,p,_,d)}return u}}),Object.defineProperty(t.prototype,"pickRtcTransport",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i,o){var a=e.selectedCandidatePairId;if(a){var s=t[a],c=s.availableOutgoingBitrate,u=s.availableIncomingBitrate,l=s.currentRoundTripTime,d=s.localCandidateId,_=s.remoteCandidateId,p=t[d],f=p.ip,h=p.port,b=p.networkType,R=t[_],g=R.ip,m=R.port,C=R.protocol;r.iceCandidatePair={IP:f,port:h,networkType:b,remoteIP:g,remotePort:m,protocol:C,bitrateRecv:n,bitrateSend:i,rtt:1e3*l,availableOutgoingBitrate:c,availableIncomingBitrate:u,totalPacketsLost:o},r.receivers.forEach((function(e){e.rtt=1e3*l}))}}}),Object.defineProperty(t.prototype,"pickRemoteInbound",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=this;e.forEach((function(e){var i,o=e.localId,a=e.jitter,s=e.roundTripTime,c=e.packetsLost,u=t.filter((function(e){return e.id===o}))[0];if(u&&!so(u)){var l=null===(i=n._store)||void 0===i?void 0:i.getTrackIdBySSRC(r[u.id].ssrc);u.jitter=Math.round(1e3*a),u.rtt=s;var d=n._latestPacketsSent[l].crtPacketsSent;u.packetsLostRate=n.updateSenderPacketsLost(l,c,d)}}))}}),Object.defineProperty(t.prototype,"_getOutboundVideoAttrs",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){var o,a,s,c=e.framesPerSecond,u=e.frameWidth,l=e.frameHeight;return"video"!==r||u||l||c||(u=(null===(o=t[n])||void 0===o?void 0:o.frameWidth)||t[i].width,l=(null===(a=t[n])||void 0===a?void 0:a.frameHeight)||t[i].height,c=(null===(s=t[i])||void 0===s?void 0:s.framesPerSecond)||null),{frameRate:c,frameWidth:u,frameHeight:l}}}),Object.defineProperty(t.prototype,"pickOutbound",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,o){var a=this,s=[];return e.forEach((function(e){var c;if("unified-plan"!==a._sdpSemantics||a.isValidTranceiver(e,"outbound-rtp")){var u=e.id,l=e.kind,d=e.mediaSourceId,_=e.remoteId,p=e.packetsSent,f=e.bytesSent,h=e.encoderImplementation,b=e.pliCount,R=e.nackCount,g=e.mid,m=e.framesEncoded,C=e.framesSent,v=e.keyFramesEncoded,O=e.qualityLimitationReason,T=e.trackId;if(void 0!==g&&(T=a.getTrackIdByMid(g)),T){var E=a._getOutboundVideoAttrs(e,t,l,T,d),S=E.frameRate,I=E.frameWidth,y=E.frameHeight;"video"===l&&a._logger.info(i.L_RTC_PEER_CONNECTION_VIDEO_SENDER_DATA_O,"bytesSent: ".concat(f,", framesEncoded: ").concat(m,", framesSent: ").concat(C,", keyFramesEncoded: ").concat(v,", framesPerSecond: ").concat(S,", qualityLimitationReason: ").concat(O));var L=t[_],P=null,N=null,A=0;L&&(P=L.jitter,N=L.roundTripTime,A=L.packetsLost),r+=A;var w=null===(c=a._store)||void 0===c?void 0:c.getTrackIdBySSRC(e.ssrc);if(w){var D=d?t[d].audioLevel:t[T].audioLevel,k=0;!a._latestPacketsSent[w]&&(a._latestPacketsSent[w]={}),L?k=a.updateSenderPacketsLost(w,A,p):a._latestPacketsSent[w].crtPacketsSent=p;var U=a.updateBytesSent(w,f,n);U<0&&(U=0),o+=U,s.push({id:u,trackId:w,kind:l,packetsLostRate:k,remoteResource:!1,audioLevel:D||0===D?oo(D):null,frameWidth:I,frameHeight:y,frameRate:S,bitrate:U,jitter:P?Math.round(1e3*P):P,rtt:N?Math.round(1e3*N):N,encoderImplementation:h,pliCount:b,nackCount:R,googFirsSent:Qi,samplingRate:Qi,googRenderDelayMs:Qi,trackState:Qi,framesSent:C})}}}})),{totalPacketsLost:r,bitrateSend:o,senders:s}}}),Object.defineProperty(t.prototype,"_getInboundMediaAttrs",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){var o,a,s,c=e.frameWidth,u=e.frameHeight,l=e.audioLevel;return"video"===i?c||u||(c=(null===(o=t[r])||void 0===o?void 0:o.frameWidth)||t[n].width,u=(null===(a=t[r])||void 0===a?void 0:a.frameHeight)||t[n].height):l||(l=(null===(s=t[r])||void 0===s?void 0:s.audioLevel)||t[n].audioLevel),{frameWidth:c,frameHeight:u,audioLevel:l}}}),Object.defineProperty(t.prototype,"pickInbound",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){var o=this,a=[];return e.forEach((function(e){var s;if("unified-plan"!==o._sdpSemantics||o.isValidTranceiver(e,"inbound-rtp")){var c=e.packetsLost,u=e.packetsReceived,l=e.jitter,d=e.bytesReceived,_=e.framesPerSecond,p=e.kind,f=e.codecImplementationName,h=e.nackCount,b=e.pliCount,R=e.mid,g=e.id,m=e.trackId;if(void 0!==R&&(m=o.getTrackIdByMid(R)),m){var C=o._getInboundMediaAttrs(e,t,m,g,p),v=C.frameWidth,O=C.frameHeight,T=C.audioLevel;r+=c;var E=null===(s=o._store)||void 0===s?void 0:s.getTrackIdBySSRC(e.ssrc),S=o.updateReceiverPacketsLost(E,c,u),I=o.updateBytesRecv(E,d,n);I<0&&(I=0),i+=I,a.push({trackId:E,kind:p,packetsLostRate:S,remoteResource:!0,audioLevel:T||0===T?oo(T):null,frameWidth:v,frameHeight:O,frameRate:_,bitrate:I,jitter:l?Math.round(1e3*l):0,codecImplementationName:f,nackCount:h,pliCount:b,rtt:null,samplingRate:Qi,googFirsReceived:Qi,googRenderDelayMs:Qi,trackState:Qi})}}})),{totalPacketsLost:r,bitrateRecv:i,receivers:a}}}),t}(lo),po=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"_reportsData",{enumerable:!0,configurable:!0,writable:!0,value:{senders:[],receivers:[],timestamp:+new Date}}),Object.defineProperty(t,"_totalPacketsLost",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(t,"_bitrateSend",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(t,"_bitrateRecv",{enumerable:!0,configurable:!0,writable:!0,value:0}),t}return r(t,e),Object.defineProperty(t.prototype,"_pickSenderData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n;if("unified-plan"!==this._sdpSemantics||this.isValidTranceiver(e,r)){var i=e.kind,o=e.bytesSent,a=e.packetsSent,s=e.bitrateMean,c=e.framerateMean,u=e.nackCount,l=e.pliCount,d=e.remoteId,_=d?t[d]:{jitter:null,roundTripTime:null,packetsLost:0},p=_.jitter,f=_.roundTripTime,h=_.packetsLost,b=null===(n=this._store)||void 0===n?void 0:n.getTrackIdBySSRC(e.ssrc);this._totalPacketsLost+=h;var R=0;!this._latestPacketsSent[b]&&(this._latestPacketsSent[b]={}),d?R=this.updateSenderPacketsLost(b,h,a):this._latestPacketsSent[b].crtPacketsSent=a;var g=0;"video"===i?s&&(g=Math.floor(s/1e3)):g=this.updateBytesSent(b,o,this._reportsData.timestamp),g<0&&(g=0),this._bitrateSend+=g,this._reportsData.senders.push({trackId:b,kind:i,packetsLostRate:R,remoteResource:!1,audioLevel:null,frameWidth:null,frameHeight:null,frameRate:Math.floor(c),bitrate:g,jitter:p?Math.round(1e3*p):null,rtt:f,encoderImplementation:null,pliCount:l,nackCount:u,googFirsSent:Qi,samplingRate:Qi,googRenderDelayMs:Qi,trackState:Qi})}}}),Object.defineProperty(t.prototype,"_addSenderData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n=t.localId,i=null===(r=this._store)||void 0===r?void 0:r.getTrackIdBySSRC(e[n].ssrc),o=this._reportsData.senders.filter((function(e){return e.trackId===i}))[0];o&&so(o)&&(o.jitter=Math.round(1e3*t.jitter),o.rtt=t.rtt,o.packetsLostRate=this.updateSenderPacketsLost(i,t.packetsLost,this._latestPacketsSent[i].crtPacketsSent))}}),Object.defineProperty(t.prototype,"_pickReceiverData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r;if("unified-plan"!==this._sdpSemantics||this.isValidTranceiver(e,t)){var n=e.packetsLost,i=e.bytesReceived,o=e.packetsReceived,a=e.jitter,s=e.framerateMean,c=e.kind,u=e.bitrateMean,l=e.nackCount,d=e.pliCount,_=null===(r=this._store)||void 0===r?void 0:r.getTrackIdBySSRC(e.ssrc);this._totalPacketsLost+=n;var p=this.updateReceiverPacketsLost(_,n,o),f=0;"video"===c?u&&(f=Math.floor(u/1e3)):f=this.updateBytesRecv(_,i,this._reportsData.timestamp),f<0&&(f=0),this._bitrateRecv+=f,this._reportsData.receivers.push({trackId:_,kind:c,packetsLostRate:p,remoteResource:!0,audioLevel:null,frameWidth:null,frameHeight:null,frameRate:Math.floor(s),bitrate:f,jitter:a?Math.round(1e3*a):null,codecImplementationName:null,nackCount:l,pliCount:d,rtt:null,samplingRate:Qi,googFirsReceived:Qi,googRenderDelayMs:Qi,trackState:Qi})}}}),Object.defineProperty(t.prototype,"_pickIceCandidatePair",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=e[t.localCandidateId],n=r.address,i=r.port,o=e[t.remoteCandidateId],a=o.address,s=o.port,c=o.protocol;this._reportsData.iceCandidatePair={IP:n,port:i,networkType:null,remoteIP:a,remotePort:s,protocol:c,bitrateRecv:this._bitrateRecv,bitrateSend:this._bitrateSend,rtt:null,availableOutgoingBitrate:null,availableIncomingBitrate:null,totalPacketsLost:this._totalPacketsLost}}}),Object.defineProperty(t.prototype,"formatRCRTCStateReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=+new Date;for(var r in this._reportsData={senders:[],receivers:[],timestamp:t},this._totalPacketsLost=0,this._bitrateRecv=0,this._bitrateSend=0,e){var n=e[r],i=n.type;"outbound-rtp"===i&&this._pickSenderData(n,e,i),"remote-inbound-rtp"===i&&this._addSenderData(e,n),"inbound-rtp"===i&&this._pickReceiverData(n,i),"candidate-pair"===i&&"succeeded"===n.state&&this._pickIceCandidatePair(e,n)}return this._reportsData}}),t}(lo),fo=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"_reportsData",{enumerable:!0,configurable:!0,writable:!0,value:{senders:[],receivers:[],timestamp:+new Date}}),Object.defineProperty(t,"_totalPacketsLost",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(t,"_bitrateSend",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(t,"_bitrateRecv",{enumerable:!0,configurable:!0,writable:!0,value:0}),t}return r(t,e),Object.defineProperty(t.prototype,"_pickReceiverData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;e.forEach((function(e){var t;if("unified-plan"!==r._sdpSemantics||r.isValidTranceiver(e,"inbound-rtp")){var n=e.packetsLost,i=e.packetsReceived,o=e.jitter,a=e.bytesReceived,s=e.kind,c=e.nackCount,u=e.pliCount,l=e.audioLevel,d=e.frameHeight,_=e.frameWidth,p=null===(t=r._store)||void 0===t?void 0:t.getTrackIdBySSRC(e.ssrc);if(p){r._totalPacketsLost+=n;var f=r.updateReceiverPacketsLost(p,n,i),h=r.updateBytesRecv(p,a,r._reportsData.timestamp);h<0&&(h=0),r._bitrateRecv+=h,r._reportsData.receivers.push({trackId:p,kind:s,packetsLostRate:f,remoteResource:!0,audioLevel:l||0===l?oo(l):null,frameWidth:_,frameHeight:d,frameRate:null,bitrate:h,jitter:o?Math.round(1e3*o):o,codecImplementationName:null,nackCount:c,pliCount:u,rtt:null,samplingRate:Qi,googFirsReceived:Qi,googRenderDelayMs:Qi,trackState:Qi})}}}))}}),Object.defineProperty(t.prototype,"_pickSenderData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;e.forEach((function(e){var n;if("unified-plan"!==r._sdpSemantics||r.isValidTranceiver(e,"outbound-rtp")){var i=null===(n=r._store)||void 0===n?void 0:n.getTrackIdBySSRC(e.ssrc),o=e.kind,a=e.bytesSent,s=e.pliCount,c=e.nackCount,u=e.audioLevel,l=e.frameHeight,d=e.frameWidth,_=e.codecId,p=e.remoteId,f=e.packetsSent;if(i){var h=t[p],b=null,R=null,g=0;h&&(b=h.jitter,R=h.roundTripTime,g=h.packetsLost),r._totalPacketsLost+=g;var m=0;!r._latestPacketsSent[i]&&(r._latestPacketsSent[i]={}),h?m=r.updateSenderPacketsLost(i,g,f):r._latestPacketsSent[i].crtPacketsSent=f;var C=r.updateBytesSent(i,a,r._reportsData.timestamp);C<0&&(C=0),r._bitrateSend+=C,r._reportsData.senders.push({trackId:i,kind:o,packetsLostRate:m,remoteResource:!1,audioLevel:u||0===u?oo(u):null,frameWidth:d,frameHeight:l,frameRate:null,bitrate:C,jitter:b?Math.round(1e3*b):b,rtt:R?Math.round(1e3*R):R,encoderImplementation:t[_].mimeType,pliCount:s,nackCount:c,googFirsSent:Qi,samplingRate:Qi,googRenderDelayMs:Qi,trackState:Qi})}}}))}}),Object.defineProperty(t.prototype,"_pickIceCandidatePair",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=e.selectedCandidatePairId;if(r){var n=t[r],i=n.availableOutgoingBitrate,o=n.availableIncomingBitrate,a=n.currentRoundTripTime,s=n.localCandidateId,c=n.remoteCandidateId,u=t[s],l=u.address,d=u.port,_=t[c],p=_.address,f=_.port,h=_.protocol;this._reportsData.iceCandidatePair={IP:l||null,port:d,networkType:null,remoteIP:p,remotePort:f,protocol:h,bitrateRecv:this._bitrateRecv,bitrateSend:this._bitrateSend,rtt:1e3*a,availableOutgoingBitrate:i,availableIncomingBitrate:o,totalPacketsLost:this._totalPacketsLost},this._reportsData.receivers.forEach((function(e){e.rtt=1e3*a}))}}}),Object.defineProperty(t.prototype,"formatRCRTCStateReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.formatStateData(e),r=t.outbound,n=t.inbound,i=t.transport,o=t.connection;this._reportsData={senders:[],receivers:[]};var a=Math.floor(o[0].timestamp);if(this._reportsData.timestamp=a,this._totalPacketsLost=0,this._bitrateSend=0,this._bitrateRecv=0,this._pickSenderData(r,e),this._pickReceiverData(n,e),i.length>0){var s=i[0];this._pickIceCandidatePair(s,e)}return this._reportsData}}),t}(lo),ho=function(){function e(e,t,r){Object.defineProperty(this,"SDP",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"SDPHeader",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"videoStreams",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"audioStreams",{enumerable:!0,configurable:!0,writable:!0,value:[]});var n=this.getStreamIndex();this.spliteStreams(n)}return Object.defineProperty(e.prototype,"videoSdps",{get:function(){return this.videoStreams.slice()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"audioSdps",{get:function(){return this.audioStreams.slice()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"trimBlankLine",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e.replace(/\n\r\s*\r\n/g,"\r\n").replace(/\s+\r\n/g,"\r\n")}}),Object.defineProperty(e.prototype,"getStreamIndex",{enumerable:!1,configurable:!0,writable:!0,value:function(){for(var e=/m=(?:video|audio)/gim,t=new Set([0]),r=e.exec(this.SDP);null!==r;)t.add(null==r?void 0:r.index),r=e.exec(this.SDP);return t.add(this.SDP.length),d([],l(t),!1)}}),Object.defineProperty(e.prototype,"spliteStreams",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.SDPHeader=this.SDP.substring(e[0],e[1]).replace(/\r\ns=-/g,"\r\ns=".concat((new Date).valueOf()));for(var t=1;t<e.length;t++){var r=this.SDP.substring(e[t],e[t+1]);/^\bm=video\b/.test(r)?this.videoStreams.push(r):this.audioStreams.push(r)}}}),Object.defineProperty(e,"clearInactiveOrRecvonly",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return/\ba=(recvonly|inactive)\b/.test(e)?e.replace(/\r\na=(ssrc|msid)[^\r\n]+/gi,""):e}}),Object.defineProperty(e.prototype,"setHeaderBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this.SDPHeader=this.SDPHeader.replace(/(\r\ns=[^\r\n]+)/gi,"$1\r\nc=IN IP4 0.0.0.0\r\nb=AS:".concat(t*e.KBitrate,"\r\nb=TIAS:").concat(t*e.KBitrate*850))}}),Object.defineProperty(e.prototype,"setAudiosBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;return this.audioStreams=this.audioStreams.map((function(r){return t.setAudioItemBitrate(r,e)})),this}}),Object.defineProperty(e.prototype,"setAudioBitrateWithStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;return this.audioStreams=this.audioStreams.map((function(n){return new RegExp("\\bmsid:".concat(t,"\\b"),"ig").test(n)?r.setAudioItemBitrate(n,e):n})),this}}),Object.defineProperty(e.prototype,"setAudioBitrateWithMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;return this.audioStreams=this.audioStreams.map((function(n){return new RegExp("\\bmid:".concat(t,"\\b"),"ig").test(n)?r.setAudioItemBitrate(n,e):n})),this}}),Object.defineProperty(e.prototype,"setAudioItemBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){if(0===r.max&&/\ba=inactive\b/gi.test(t))return t;if(!/\bmaxaveragebitrate\b/gi.test(t)){var n=["$1","maxaveragebitrate=".concat(r.max*e.KBitrate*1e3)];t=t.replace(/(\buseinbandfec=[^\r\n]+)/gi,n.join(";"))}return this.addAudioBlineAS(t,r)}}),Object.defineProperty(e.prototype,"addAudioBlineAS",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return/\bb=AS:\d+\b/gi.test(t)?t:t.replace(/(\bc=IN[^\r\n]+)/gi,"$1\r\nb=AS:".concat(r.max*e.KBitrate,"\r\nb=TIAS:").concat(r.max*e.KBitrate*850))}}),Object.defineProperty(e.prototype,"setVideosBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;return this.videoStreams=this.videoStreams.map((function(r){return t.setVideoItemBitrate(r,e)})),this}}),Object.defineProperty(e.prototype,"setVideoBitrateWithStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;return this.videoStreams=this.videoStreams.map((function(n){return new RegExp("\\bmsid:".concat(t,"\\b"),"ig").test(n)?r.setVideoItemBitrate(n,e):n})),this}}),Object.defineProperty(e.prototype,"setVideoBitrateWithMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;return this.videoStreams=this.videoStreams.map((function(n){return new RegExp("\\bmid:".concat(t,"\\b"),"ig").test(n)?r.setVideoItemBitrate(n,e):n})),this}}),Object.defineProperty(e.prototype,"setVideoItemBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){if(0===r.max&&/\ba=inactive\b/gi.test(t))return t;if(!/\bx-google-max-bitrate\b/.test(t)){var n=["$1","x-google-max-bitrate=".concat(r.max*e.KBitrate),"x-google-min-bitrate=".concat(r.min*e.KBitrate),"x-google-start-bitrate=".concat(r.start||r.max*e.KBitrate*.7)];t=t.replace(/(\bprofile-level-id=42[e0]01f\b)/gi,n.join(";"))}return this.addVideoBlineAS(t,r)}}),Object.defineProperty(e.prototype,"addVideoBlineAS",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return/\bb=AS:\d+\b/gi.test(t)?t:t.replace(/(\bc=IN[^\r\n]+)/gi,"$1\r\nb=AS:".concat(r.max*e.KBitrate,"\r\nb=TIAS:").concat(r.max*e.KBitrate*850))}}),Object.defineProperty(e.prototype,"clearnSsrcWithMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;return this.audioStreams=this.audioStreams.map((function(n){return new RegExp("\\bmid:".concat(e,"\\b"),"ig").test(n)?r.clearSSRC(n,t):n})),this.videoStreams=this.videoStreams.map((function(n){return new RegExp("\\bmid:".concat(e,"\\b"),"ig").test(n)?r.clearSSRC(n,t):n})),this}}),Object.defineProperty(e.prototype,"clearSSRC",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(t===uo.SENDONLY&&/\ba=sendonly\b/.test(e))return e.replace(/\r\na=(ssrc|msid)[^\r\n]+/gi,"");if(t===uo.RECVONLY&&/\ba=recvonly\b/.test(e))return e.replace(/\r\na=(ssrc|msid)[^\r\n]+/gi,"");if(t===uo.INACTIVE&&/\ba=inactive\b/.test(e))return e.replace(/\r\na=(ssrc|msid)[^\r\n]+/gi,"");return e}}),Object.defineProperty(e,"KBitrate",{enumerable:!0,configurable:!0,writable:!0,value:1}),e}(),bo=function(){function e(){}return Object.defineProperty(e,"init",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._encoder=e.encode,this._decoder=e.decode,this._logger=t}}),Object.defineProperty(e,"isInit",{enumerable:!1,configurable:!0,writable:!0,value:function(){return!!this._encoder&&!!this._decoder}}),Object.defineProperty(e,"decode",{enumerable:!1,configurable:!0,writable:!0,value:function(e){try{return this._decoder(e)}catch(e){throw this._logger.error(i.L_ENCRYPTOR_DECODE_E,null==e?void 0:e.message),e}}}),Object.defineProperty(e,"encode",{enumerable:!1,configurable:!0,writable:!0,value:function(e){try{return this._encoder(e)}catch(e){throw this._logger.error(i.L_ENCRYPTOR_ENCODE_E,null==e?void 0:e.message),e}}}),e}();!function(e){e.PLANB="plan-b",e.UNIFIEDPLAN="unified-plan"}(co||(co={})),function(e){e.SENDONLY="sendonly",e.RECVONLY="recvonly",e.INACTIVE="inactive"}(uo||(uo={}));var Ro,go,mo,Co,vo,Oo=function(){function e(e,t,r){Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_peer",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_useEncrypt",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_outboundStreams",{enumerable:!0,configurable:!0,writable:!0,value:{}})}return Object.defineProperty(e,"setSdpSemantics",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=Ct.browser,n=Ct.version,o=Ct.supportsUnifiedPlan;if(t.info(i.L_A_SDP_STRATEGY_SET_SDP_SEMANTICS_O,JSON.stringify({sdpSemantics:e,supportsUnifiedPlan:o,browser:r,version:n})),o)return/chrome/i.test(r)?n?void(this._sdpSemantics=n>92?"unified-plan":n<72?"plan-b":e):void(this._sdpSemantics="unified-plan"):void(/firefox/i.test(r)?this._sdpSemantics="unified-plan":/safari/i.test(r)?this._sdpSemantics=n<12?"plan-b":"unified-plan":this._sdpSemantics="unified-plan");this._sdpSemantics="plan-b"}}),Object.defineProperty(e,"getSdpSemantics",{enumerable:!1,configurable:!0,writable:!0,value:function(){return e._sdpSemantics}}),Object.defineProperty(e.prototype,"getOutboundVideoInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[];for(var t in this._outboundStreams){var r=this._outboundStreams[t].getVideoTracks()[0];if(r){var n=/_tiny$/.test(t),i=ct(r),o=i.width,a=i.height;e.push({trackId:r.id,simulcast:n?qi.TINY:qi.NORMAL,resolution:"".concat(o,"x").concat(a)})}}return e}}),Object.defineProperty(e.prototype,"setRemoteAnswer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:e=ho.trimBlankLine(e),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this._peer.setRemoteDescription({type:"answer",sdp:e})];case 2:return r.sent(),[3,4];case 3:return t=r.sent(),this._logger.info(i.L_A_SDP_STRATEGY_SET_REMOTE_ANSWER_O,JSON.stringify({status:o.FAILED,msg:t})),[2,exports.RCRTCCode.SET_REMOTE_DESCRIPTION_FAILED];case 4:return this._logger.info(i.L_A_SDP_STRATEGY_SET_REMOTE_ANSWER_O,JSON.stringify({status:o.SUCCESSED,sdp:e})),[2,exports.RCRTCCode.SUCCESS]}}))}))}}),Object.defineProperty(e.prototype,"getStatParsr",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return/chrome/i.test(Ct.browser)?new _o(this,e,this._logger,t,r,n):/Firefox/i.test(Ct.browser)?new po(this,e,this._logger,t,r,n):/Safari/i.test(Ct.browser)?new fo(this,e,this._logger,t,r,n):null}}),Object.defineProperty(e.prototype,"getTrackIdByMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return null}}),Object.defineProperty(e.prototype,"resetSdp",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return ho.trimBlankLine(e)}}),Object.defineProperty(e.prototype,"_setupSenderTransform",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(this._useEncrypt){var t=e.createEncodedStreams(),r=t.readable,n=t.writable,i=new TransformStream({transform:this._encodeRtpChunk.bind(this,e)});r.pipeThrough(i).pipeTo(n)}}}),Object.defineProperty(e.prototype,"_setupReceiverTransform",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(this._useEncrypt){var t=e.createEncodedStreams(),r=t.readable,n=t.writable,i=new TransformStream({transform:this._decodeRtpChunk.bind(this,e)});r.pipeThrough(i).pipeTo(n)}}}),Object.defineProperty(e.prototype,"_encodeRtpChunk",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){r.enqueue(bo.encode(t))}}),Object.defineProperty(e.prototype,"_decodeRtpChunk",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){r.enqueue(bo.decode(t))}}),e}(),To=function(e){function t(t,r){var n=e.call(this,r,co.PLANB,t)||this;return Object.defineProperty(n,"SDP",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(t,e),Object.defineProperty(t.prototype,"stringify",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[this.SDPHeader];d(d([],l(this.audioStreams),!1),l(this.videoStreams),!1).forEach((function(t){var r=t.match(/\ba=mid:(video|audio)\b/),n=ho.clearInactiveOrRecvonly(t);r&&r[1]===Ne.AUDIO&&(e[1]=n),r&&r[1]===Ne.VIDEO&&(e[2]=n)}));var t=e.join("");return ho.trimBlankLine(t)}}),Object.defineProperty(t.prototype,"setAudioBitrateWithStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return this._logger.warn(i.L_FUNCTION_IS_UNAVAILABLE,"plan-b not support set Audio Bitrate With Stream Id"),this}}),Object.defineProperty(t.prototype,"setVideoBitrateWithStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return this._logger.warn(i.L_FUNCTION_IS_UNAVAILABLE,"plan-b not support set Video Bitrate With Stream Id"),this}}),t}(ho),Eo=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"senders",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(t,"_localTracks",{enumerable:!0,configurable:!0,writable:!0,value:[]}),t}return r(t,e),Object.defineProperty(t.prototype,"addLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._localTracks.every((function(t){return t.getTrackId()!==e.getTrackId()}))&&this._localTracks.push(e);var t=e.getStreamId(),r=e.__innerGetMediaStreamTrack(),n=this._outboundStreams[t]||(this._outboundStreams[t]=new MediaStream);n.getTracks().forEach((function(e){e.kind===r.kind&&n.removeTrack(e)})),n.addTrack(r);var i=e.getTrackId(),o=this.senders[i];o?o.replaceTrack(r):(this.senders[i]=this._peer.addTrack(r,n),Object.defineProperty(r,"trackId",{value:i,writable:!1,enumerable:!1,configurable:!1}))}}),Object.defineProperty(t.prototype,"removeLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this._localTracks.findIndex((function(t){return t===e}));t>=0&&this._localTracks.splice(t,1);var r=e.getTrackId(),n=this.senders[r];n&&(n.replaceTrack(null),this._peer.removeTrack(n),delete this.senders[r])}}),Object.defineProperty(t.prototype,"updateSubRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e){}}),Object.defineProperty(t.prototype,"updateRecvTransceiverMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){}}),Object.defineProperty(t.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){}}),Object.defineProperty(t.prototype,"createOffer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n;return c(this,(function(i){switch(i.label){case 0:return[4,this._peer.createOffer({iceRestart:e,offerToReceiveAudio:!0,offerToReceiveVideo:!0})];case 1:for(r in t=i.sent(),this._outboundStreams)n=this._outboundStreams[r].id,t.sdp=t.sdp.replace(new RegExp(n,"g"),r);return t.sdp&&(t.sdp=this.resetSdp(t.sdp)),[4,this._peer.setLocalDescription(t)];case 2:return i.sent(),[2,{type:"offer",semantics:"plan-b",sdp:t.sdp}]}}))}))}}),Object.defineProperty(t.prototype,"setRemoteAnswer",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return t=this.resetSdp(t),e.prototype.setRemoteAnswer.call(this,t)}}),Object.defineProperty(t.prototype,"_getMaxRangeBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this._localTracks.filter((function(t){return e===exports.RCMediaType.AUDIO_ONLY?t.isAudioTrack():t.isVideoTrack()})),r={max:0,min:0};return t.forEach((function(e){var t=e.getBitrate(),n=t.min,i=t.max,o=t.start;r.max=r.max<i?i:r.max,r.min=r.min>n?n:r.min,r.max===i?r.start=o:r.start=.7*r.max})),r}}),Object.defineProperty(t.prototype,"resetSdp",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=new To(this._logger,e),r=this._getMaxRangeBitrate(exports.RCMediaType.VIDEO_ONLY),n=this._getMaxRangeBitrate(exports.RCMediaType.AUDIO_ONLY);return t.setAudiosBitrate(n),t.setVideosBitrate(r),t.stringify()}}),t}(Oo),So=function(e){function t(t,r){return e.call(this,r,co.UNIFIEDPLAN,t)||this}return r(t,e),Object.defineProperty(t.prototype,"stringify",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[this.SDPHeader];d(d([],l(this.audioStreams),!1),l(this.videoStreams),!1).forEach((function(t){var r=t.match(/\ba=mid:(\d+)\b/);r&&r[1]&&(e[+r[1]+1]=t)})),this.SDPHeader="",this.videoStreams=[],this.audioStreams=[];var t=e.join("");return ho.trimBlankLine(t)}}),t}(ho),Io=function(){function e(){}return Object.defineProperty(e,"splitSections",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e.split("\nm=").map((function(e,t){var r=t>0?"m=".concat(e):e;return"".concat(r.trim(),"\r\n")}))}}),Object.defineProperty(e,"getMediaSections",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r=e.splitSections(t);return r.shift(),r}}),Object.defineProperty(e,"parseExtmap",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.substr(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1]}}}),Object.defineProperty(e,"splitLines",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e.trim().split("\n").map((function(e){return e.trim()}))}}),Object.defineProperty(e,"parseMLine",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r=e.splitLines(t)[0].substr(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}}}),Object.defineProperty(e,"matchPrefix",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return e.splitLines(t).filter((function(e){return 0===e.indexOf(r)}))}}),Object.defineProperty(e,"parseMsid",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r,n=e.matchPrefix(t,"a=msid:");if(1===n.length)return{stream:(r=n[0].substr(7).split(" "))[0],track:r[1]};var i=e.matchPrefix(t,"a=ssrc:").map((function(t){return e.parseSsrcMedia(t)})).filter((function(e){return"msid"===e.attribute}));return i.length>0&&i[0].value?{stream:(r=i[0].value.split(" "))[0],track:r[1]}:{stream:"",track:""}}}),Object.defineProperty(e,"parseSsrcMedia",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.indexOf(" "),r={ssrc:parseInt(e.substr(7,t-7),10)},n=e.indexOf(":",t);return n>-1?(r.attribute=e.substr(t+1,n-t-1),r.value=e.substr(n+1)):r.attribute=e.substr(t+1),r}}),Object.defineProperty(e,"getMid",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r=e.matchPrefix(t,"a=mid:")[0];if(r)return r.substr(6)}}),e}(),yo=function(){function e(){Object.defineProperty(this,"__streams",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}return Object.defineProperty(e,"getInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(){return e.instance||(e.instance=new e),e.instance}}),Object.defineProperty(e.prototype,"push",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return this.__streams.set(e,t),t}}),Object.defineProperty(e.prototype,"pickup",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.__streams.get(e)}}),Object.defineProperty(e.prototype,"delete",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.__streams.delete(e)}}),Object.defineProperty(e.prototype,"streams",{get:function(){var e,t,r=new Map;try{for(var n=u(this.__streams.keys()),i=n.next();!i.done;i=n.next()){var o=i.value;r.set(o,this.pickup(o))}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r},enumerable:!1,configurable:!0}),e}(),Lo=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"_sendTransceiver",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(t,"_localTracks",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(t,"_recvAudio",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(t,"_recvVideo",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(t,"_recvTransceiver",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(t,"_subedTracks",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(t,"midMsid",{enumerable:!0,configurable:!0,writable:!0,value:{}}),t}return r(t,e),Object.defineProperty(t.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){this._logger.warn(i.L_FUNCTION_IS_UNAVAILABLE,"the interface named `setBitrate` is invalid while sdpSemantics value is `unified-plan`")}}),Object.defineProperty(t.prototype,"getTrackIdByMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t in this._sendTransceiver){if(this._sendTransceiver[t].mid===e)return t}for(var t in this._recvTransceiver){if(this._recvTransceiver[t].mid===e)return t}return null}}),Object.defineProperty(t.prototype,"addLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r=e.getTrackId(),n=e.getStreamId(),i=e.__innerGetMediaStreamTrack();this._localTracks[r]=e;var o=this._outboundStreams[n]||(this._outboundStreams[n]=new MediaStream);o.getTracks().forEach((function(e){e.kind===i.kind&&o.removeTrack(e)})),o.addTrack(i);var a=this._sendTransceiver[r];if(a)a.sender.replaceTrack(i),a.direction="sendonly";else{var s=this._sendTransceiver[r]=this._peer.addTransceiver(i,{direction:"sendonly",streams:[o]});this._setupSenderTransform(s.sender)}yo.getInstance().push(r,{msid:n,id:this._outboundStreams[n].id,kind:null===(t=e.streamTrack)||void 0===t?void 0:t.kind})}}),Object.defineProperty(t.prototype,"removeLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.getTrackId(),r=e.getStreamId();delete this._localTracks[t];var n=this._sendTransceiver[t];if(n){"closed"!==this._peer.connectionState&&(n.direction="inactive",this._peer.removeTrack(n.sender),n.sender.replaceTrack(null));var i=this._outboundStreams[r];(e.isAudioTrack()?i.getAudioTracks():i.getVideoTracks()).forEach((function(e){return i.removeTrack(e)}));var o=this._sendTransceiver["".concat(t,"_tiny")];if(o&&"inactive"!==o.direction&&"closed"!==this._peer.connectionState){o.direction="inactive";var a=o.sender,s=a.track;this._peer.removeTrack(a),a.replaceTrack(null),this._outboundStreams["".concat(r,"_tiny")].removeTrack(s),s.stop()}}}}),Object.defineProperty(t.prototype,"updateRecvTransceiverMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=dt(e).mediaType;this._recvTransceiver[e]=t;var n=r===exports.RCMediaType.AUDIO_ONLY?this._recvAudio:this._recvVideo,i=n.findIndex((function(e){return e===t}));i>=0&&n.splice(i,1)}}),Object.defineProperty(t.prototype,"updateSubRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this,r=e.slice(),n=this._subedTracks.slice();this._subedTracks=e.slice();for(var i=function(e){var t=r[e],i=n.findIndex((function(e){return e===t}));i>=0&&(r.splice(e,1),n.splice(i,1))},o=r.length-1;o>=0;o-=1)i(o);n.length&&n.forEach((function(e){var r=e.getTrackId();e.__innerSetMediaStreamTrack(void 0);var n=t._recvTransceiver[r];n&&(n.direction="inactive")}));var a={audio:0,video:0};r.length&&r.forEach((function(e){var r=e.isAudioTrack()?"audio":"video",n=t._recvTransceiver[e.getTrackId()];n?n.direction="recvonly":a[r]+=1}));for(o=this._recvAudio.length;o<a.audio;o+=1){var s=this._peer.addTransceiver("audio",{direction:"recvonly"});this._recvAudio.push(s),this._setupReceiverTransform(s.receiver)}for(o=this._recvVideo.length;o<a.video;o+=1){s=this._peer.addTransceiver("video",{direction:"recvonly"});this._recvVideo.push(s),this._setupReceiverTransform(s.receiver)}}}),Object.defineProperty(t.prototype,"createOffer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i;return c(this,(function(o){switch(o.label){case 0:return[4,this._peer.createOffer({iceRestart:e})];case 1:for(n in t=o.sent(),r=t.sdp,this._outboundStreams)i=this._outboundStreams[n].id,r=r.replace(new RegExp(i,"g"),n);return r=(r=this.resetOfferSdp(r)).replace(/(a=ice-options:trickle)/g,"$1\r\na=ice-options:renomination"),t.sdp=r,[4,this._peer.setLocalDescription(t)];case 2:return o.sent(),[2,{type:"offer",semantics:"unified-plan",sdp:r}]}}))}))}}),Object.defineProperty(t.prototype,"setRemoteAnswer",{enumerable:!1,configurable:!0,writable:!0,value:function(t){t=this.resetAnswerSdp(t);var r=/[\r\n]+\r\n[\r\n]+/g;return r.test(t)&&(t=t.replace(r,"\r\n")),e.prototype.setRemoteAnswer.call(this,t)}}),Object.defineProperty(t.prototype,"_genarateMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=null;return Io.getMediaSections(e).forEach((function(e){Io.parseExtmap(e);var i=Io.parseMLine(e).kind,o=Io.parseMsid(e).stream,a=Io.getMid(e);"video"===r?/tiny$/.test(o)?o=o.replace(/tiny$/gi,"1_tiny"):o+="_1":o+="_0",o===t&&r===i&&a&&(n=a)})),n}}),Object.defineProperty(t.prototype,"_setSenderTransceiverBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){var i=this._localTracks[t],o=null==i?void 0:i.getBitrate();n===Ne.AUDIO&&o&&e.setAudioBitrateWithMid(o,r),n===Ne.VIDEO&&o&&e.setVideoBitrateWithMid(o,r)}}),Object.defineProperty(t.prototype,"_resetSenderTransceiver",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r;for(var n in this._sendTransceiver){var i=this._sendTransceiver[n],o=null===(r=i.sender.track)||void 0===r?void 0:r.kind,a=i.direction,s=i.mid;s||(s=this._genarateMid(e,n,o)),s&&(a===uo.SENDONLY&&this._setSenderTransceiverBitrate(t,n,s,o),a===uo.INACTIVE&&t.clearnSsrcWithMid(s,uo.INACTIVE))}}}),Object.defineProperty(t.prototype,"_resetRecvTransceiver",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t in this._recvTransceiver){var r=this._recvTransceiver[t],n=r.direction,i=r.mid;i&&n===uo.INACTIVE&&e.clearnSsrcWithMid(i,uo.RECVONLY)}}}),Object.defineProperty(t.prototype,"resetOfferSdp",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=new So(this._logger,e);return this._resetSenderTransceiver(e,t),this._resetRecvTransceiver(t),t.stringify()}}),Object.defineProperty(t.prototype,"resetAnswerSdp",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r=new So(this._logger,e);for(var n in this._sendTransceiver){var i=this._sendTransceiver[n],o=i.mid;if(o){var a=this._localTracks[n],s=null==a?void 0:a.getBitrate(),c=null===(t=i.sender.track)||void 0===t?void 0:t.kind;c===Ne.AUDIO&&s&&r.setAudioBitrateWithMid(s,o),c===Ne.VIDEO&&s&&r.setVideoBitrateWithMid(s,o)}}return r.stringify()}}),t}(Oo);function Po(){}function No(){No.init.call(this)}function Ao(e){return void 0===e._maxListeners?No.defaultMaxListeners:e._maxListeners}function wo(e,t,r){if(t)e.call(r);else for(var n=e.length,i=Vo(e,n),o=0;o<n;++o)i[o].call(r)}function Do(e,t,r,n){if(t)e.call(r,n);else for(var i=e.length,o=Vo(e,i),a=0;a<i;++a)o[a].call(r,n)}function ko(e,t,r,n,i){if(t)e.call(r,n,i);else for(var o=e.length,a=Vo(e,o),s=0;s<o;++s)a[s].call(r,n,i)}function Uo(e,t,r,n,i,o){if(t)e.call(r,n,i,o);else for(var a=e.length,s=Vo(e,a),c=0;c<a;++c)s[c].call(r,n,i,o)}function Mo(e,t,r,n){if(t)e.apply(r,n);else for(var i=e.length,o=Vo(e,i),a=0;a<i;++a)o[a].apply(r,n)}function xo(e,t,r,n){var i,o,a,s;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((o=e._events)?(o.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),a=o[t]):(o=e._events=new Po,e._eventsCount=0),a){if("function"==typeof a?a=o[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),!a.warned&&(i=Ao(e))&&i>0&&a.length>i){a.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=a.length,s=c,"function"==typeof console.warn?console.warn(s):console.log(s)}}else a=o[t]=r,++e._eventsCount;return e}function jo(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}function Bo(e){var t=this._events;if(t){var r=t[e];if("function"==typeof r)return 1;if(r)return r.length}return 0}function Vo(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}!function(e){e.VP8="VP8",e.VP9="VP9",e.H264="H264"}(Ro||(Ro={})),Po.prototype=Object.create(null),No.EventEmitter=No,No.usingDomains=!1,No.prototype.domain=void 0,No.prototype._events=void 0,No.prototype._maxListeners=void 0,No.defaultMaxListeners=10,No.init=function(){this.domain=null,No.usingDomains&&(void 0).active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Po,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},No.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},No.prototype.getMaxListeners=function(){return Ao(this)},No.prototype.emit=function(e){var t,r,n,i,o,a,s,c="error"===e;if(a=this._events)c=c&&null==a.error;else if(!c)return!1;if(s=this.domain,c){if(t=arguments[1],!s){if(t instanceof Error)throw t;var u=new Error('Uncaught, unspecified "error" event. ('+t+")");throw u.context=t,u}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit("error",t),!1}if(!(r=a[e]))return!1;var l="function"==typeof r;switch(n=arguments.length){case 1:wo(r,l,this);break;case 2:Do(r,l,this,arguments[1]);break;case 3:ko(r,l,this,arguments[1],arguments[2]);break;case 4:Uo(r,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),o=1;o<n;o++)i[o-1]=arguments[o];Mo(r,l,this,i)}return!0},No.prototype.addListener=function(e,t){return xo(this,e,t,!1)},No.prototype.on=No.prototype.addListener,No.prototype.prependListener=function(e,t){return xo(this,e,t,!0)},No.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,jo(this,e,t)),this},No.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,jo(this,e,t)),this},No.prototype.removeListener=function(e,t){var r,n,i,o,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(n=this._events))return this;if(!(r=n[e]))return this;if(r===t||r.listener&&r.listener===t)0==--this._eventsCount?this._events=new Po:(delete n[e],n.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(i=-1,o=r.length;o-- >0;)if(r[o]===t||r[o].listener&&r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new Po,this;delete n[e]}else!function(e,t){for(var r=t,n=r+1,i=e.length;n<i;r+=1,n+=1)e[r]=e[n];e.pop()}(r,i);n.removeListener&&this.emit("removeListener",e,a||t)}return this},No.prototype.off=function(e,t){return this.removeListener(e,t)},No.prototype.removeAllListeners=function(e){var t,r;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=new Po,this._eventsCount=0):r[e]&&(0==--this._eventsCount?this._events=new Po:delete r[e]),this;if(0===arguments.length){for(var n,i=Object.keys(r),o=0;o<i.length;++o)"removeListener"!==(n=i[o])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=new Po,this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},No.prototype.listeners=function(e){var t,r=this._events;return r&&(t=r[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(t):[]},No.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):Bo.call(e,t)},No.prototype.listenerCount=Bo,No.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};class Fo extends No{}!function(e){e.Issue="issue",e.NetworkScoresUpdated="network-scores-updated",e.StatsParsingFinished="stats-parsing-finished"}(go||(go={})),function(e){e.Network="network",e.CPU="cpu",e.Server="server",e.Stream="stream"}(mo||(mo={})),function(e){e.OutboundNetworkQuality="outbound-network-quality",e.InboundNetworkQuality="inbound-network-quality",e.OutboundNetworkMediaLatency="outbound-network-media-latency",e.InboundNetworkMediaLatency="inbound-network-media-latency",e.NetworkMediaSyncFailure="network-media-sync-failure",e.OutboundNetworkThroughput="outbound-network-throughput",e.InboundNetworkThroughput="inbound-network-throughput",e.EncoderCPUThrottling="encoder-cpu-throttling",e.DecoderCPUThrottling="decoder-cpu-throttling",e.ServerIssue="server-issue",e.UnknownVideoDecoderIssue="unknown-video-decoder",e.LowInboundMOS="low-inbound-mean-opinion-score",e.LowOutboundMOS="low-outbound-mean-opinion-score",e.FrozenVideoTrack="frozen-video-track",e.MissingVideoStreamData="missing-video-stream-data",e.MissingAudioStreamData="missing-audio-stream-data"}(Co||(Co={})),function(e){e[e.BAD=2.1]="BAD",e[e.POOR=2.6]="POOR",e[e.FAIR=3.1]="FAIR",e[e.GOOD=3.8]="GOOD",e[e.EXCELLENT=4.3]="EXCELLENT"}(vo||(vo={}));class Jo extends No{static STATS_REPORT_READY_EVENT="stats-report-ready";static STATS_REPORTS_PARSED="stats-reports-parsed";isStopped=!1;reportTimer;getStatsInterval;compositeStatsParser;constructor(e){super(),this.compositeStatsParser=e.compositeStatsParser,this.getStatsInterval=e.getStatsInterval??1e4}get isRunning(){return!!this.reportTimer&&!this.isStopped}startReporting(){if(this.reportTimer)return;const e=()=>setTimeout((()=>{this.isStopped?this.reportTimer=void 0:this.parseReports().finally((()=>{this.reportTimer=e()}))}),this.getStatsInterval);this.isStopped=!1,this.reportTimer=e()}stopReporting(){this.isStopped=!0,this.reportTimer&&(clearTimeout(this.reportTimer),this.reportTimer=void 0)}async parseReports(){const e=Date.now(),t=await this.compositeStatsParser.parse(),r=Date.now()-e;this.emit(Jo.STATS_REPORTS_PARSED,{timeTaken:r,reportItems:t}),t.forEach((e=>{this.emit(Jo.STATS_REPORT_READY_EVENT,e)}))}}const Go=(()=>{const e=new Map;return t=>{const{taskId:r,delayMs:n,maxJitterMs:i,callback:o}=t,a=Math.ceil(Math.random()*(i||0)),s=e.get(r);s&&clearTimeout(s);const c=setTimeout((()=>{o(),e.delete(r)}),n+a);e.set(r,c)}})();class Ho{#e={};calculate(e){const{connection:{id:t}}=e,{mos:r,stats:n}=this.calculateOutboundScore(e)||{},{mos:i,stats:o}=this.calculateInboundScore(e)||{};return this.#e[t]=e,Go({taskId:t,delayMs:35e3,callback:()=>delete this.#e[t]}),{outbound:r,inbound:i,connectionId:t,statsSamples:{inboundStatsSample:o,outboundStatsSample:n}}}calculateOutboundScore(e){const t=[...e.remote?.audio.inbound||[],...e.remote?.video.inbound||[]];if(!t.length)return;const r=this.#e[e.connection.id];if(!r)return;const n=[...r.remote?.audio.inbound||[],...r.remote?.video.inbound||[]],{packetsSent:i}=e.connection,o=r.connection.packetsSent,a=t.reduce(((e,t)=>{const r=n.find((e=>e.ssrc===t.ssrc));return{sumJitter:e.sumJitter+t.jitter,packetsLost:e.packetsLost+t.packetsLost,lastPacketsLost:e.lastPacketsLost+(r?.packetsLost||0)}}),{sumJitter:0,packetsLost:0,lastPacketsLost:0}),s=1e3*e.connection.currentRoundTripTime||0,{sumJitter:c}=a,u=c/t.length,l=i-o,d=a.packetsLost-a.lastPacketsLost,_=l&&d?Math.round(100*d/(l+d)):0;return{mos:this.calculateMOS({avgJitter:u,rtt:s,packetsLoss:_}),stats:{avgJitter:u,rtt:s,packetsLoss:_}}}calculateInboundScore(e){const t=[...e.audio?.inbound,...e.video?.inbound];if(!t.length)return;const r=this.#e[e.connection.id];if(!r)return;const n=[...r.video?.inbound,...r.audio?.inbound],{packetsReceived:i}=e.connection,o=r.connection.packetsReceived,a=t.reduce(((e,t)=>{const r=n.find((e=>e.ssrc===t.ssrc));return{sumJitter:e.sumJitter+t.jitter,packetsLost:e.packetsLost+t.packetsLost,lastPacketsLost:e.lastPacketsLost+(r?.packetsLost||0)}}),{sumJitter:0,packetsLost:0,lastPacketsLost:0}),s=1e3*e.connection.currentRoundTripTime||0,{sumJitter:c}=a,u=c/t.length,l=i-o,d=a.packetsLost-a.lastPacketsLost,_=l&&d?Math.round(100*d/(l+d)):0;return{mos:this.calculateMOS({avgJitter:u,rtt:s,packetsLoss:_}),stats:{avgJitter:u,rtt:s,packetsLoss:_}}}calculateMOS({avgJitter:e,rtt:t,packetsLoss:r}){const n=t+2*e+10;let i=n<160?93.2-n/40:93.2-n/120-10;return i-=2.5*r,1+.035*i+7e-6*i*(i-60)*(100-i)}}class Ko{#t=new Map;#r;#n;constructor(e={}){this.#r=e.statsCleanupTtlMs??35e3,this.#n=e.maxParsedStatsStorageSize??5}detect(e,t){const r={...e,networkScores:{...t,statsSamples:t?.statsSamples||{}}},n=this.performDetection(r);return this.setLastProcessedStats(e.connection.id,r),this.performPrevStatsCleanup({connectionId:e.connection.id}),n}performPrevStatsCleanup(e){const{connectionId:t,cleanupCallback:r}=e;this.#t.has(t)&&Go({taskId:t,delayMs:this.#r,callback:()=>{this.deleteLastProcessedStats(t),"function"==typeof r&&r()}})}setLastProcessedStats(e,t){if(!e||t.connection.id!==e)return;const r=this.#t.get(e)??[];r.push(t),r.length>this.#n&&r.shift(),this.#t.set(e,r)}getLastProcessedStats(e){const t=this.#t.get(e);return t?.[t.length-1]}getAllLastProcessedStats(e){return this.#t.get(e)??[]}deleteLastProcessedStats(e){this.#t.delete(e)}}class Wo extends Ko{#i;constructor(e={}){super(e),this.#i=e.availableOutgoingBitrateThreshold??1e5}performDetection(e){const t=[],{availableOutgoingBitrate:r}=e.connection;if(void 0===r)return t;const n=e.audio.outbound.reduce(((e,t)=>e+t.targetBitrate),0),i=e.video.outbound.reduce(((e,t)=>e+t.bitrate),0);if(!n&&!i)return t;const o={availableOutgoingBitrate:r,videoStreamsTotalBitrate:i,audioStreamsTotalTargetBitrate:n};return n>r||i>0&&r<this.#i?(t.push({statsSample:o,type:mo.Network,reason:Co.OutboundNetworkThroughput}),t):t}}class Yo extends Ko{#o;#a;#s;#c;constructor(e={}){super(),this.#o=e.highPacketLossThresholdPct??5,this.#a=e.highJitterThreshold??200,this.#s=e.highJitterBufferDelayThresholdMs??500,this.#c=e.highRttThresholdMs??250}performDetection(e){return this.processData(e)}processData(e){const t=[],r=[...e.audio?.inbound,...e.video?.inbound];if(!r.length)return t;const n=this.getLastProcessedStats(e.connection.id);if(!n)return t;const i=[...n.video?.inbound,...n.audio?.inbound],{packetsReceived:o}=e.connection,a=n.connection.packetsReceived,s=r.reduce(((e,t)=>{const r=i.find((e=>e.ssrc===t.ssrc)),n=r?.jitterBufferDelay||0,o=r?.jitterBufferEmittedCount||0,a=t.jitterBufferDelay-n,s=t.jitterBufferEmittedCount-o,c=a&&s?1e3*a/s:0;return{sumJitter:e.sumJitter+t.jitter,sumJitterBufferDelayMs:e.sumJitterBufferDelayMs+c,packetsLost:e.packetsLost+t.packetsLost,lastPacketsLost:e.lastPacketsLost+(r?.packetsLost||0)}}),{sumJitter:0,sumJitterBufferDelayMs:0,packetsLost:0,lastPacketsLost:0}),c=1e3*e.connection.currentRoundTripTime||0,{sumJitter:u,sumJitterBufferDelayMs:l}=s,d=u/r.length,_=l/r.length,p=o-a,f=s.packetsLost-s.lastPacketsLost,h=p&&f?Math.round(100*f/(p+f)):0,b=h>this.#o,R=d>=this.#a,g=c>=this.#c,m=_>this.#s,C=g&&!R&&!b,v=b&&R,O=R&&m,T={rtt:c,packetLossPct:h,avgJitter:d,avgJitterBufferDelay:_};return(R||b)&&t.push({statsSample:T,type:mo.Network,reason:Co.InboundNetworkQuality,iceCandidate:e.connection.local.id}),C&&t.push({statsSample:T,type:mo.Server,reason:Co.ServerIssue,iceCandidate:e.connection.remote.id}),v&&t.push({statsSample:T,type:mo.Network,reason:Co.InboundNetworkMediaLatency,iceCandidate:e.connection.local.id}),O&&t.push({statsSample:T,type:mo.Network,reason:Co.NetworkMediaSyncFailure,iceCandidate:e.connection.local.id}),t}}class zo extends Ko{#u;constructor(e={}){super(),this.#u=e.correctedSamplesThresholdPct??5}performDetection(e){return this.processData(e)}processData(e){const t=e.audio.inbound,r=[],n=this.getLastProcessedStats(e.connection.id)?.audio.inbound;return n?(t.forEach((e=>{const t=n.find((t=>t.ssrc===e.ssrc));if(!t)return;const i=e.track.insertedSamplesForDeceleration+e.track.removedSamplesForAcceleration,o=t.track.insertedSamplesForDeceleration+t.track.removedSamplesForAcceleration;if(i===o)return;const a=e.track.totalSamplesReceived-t.track.totalSamplesReceived,s=i-o,c=Math.round(100*s/a),u={correctedSamplesPct:c};c>this.#u&&r.push({statsSample:u,type:mo.Network,reason:Co.NetworkMediaSyncFailure,ssrc:e.ssrc})})),r):r}}class qo extends Ko{#o;#a;constructor(e={}){super(),this.#o=e.highPacketLossThresholdPct??5,this.#a=e.highJitterThreshold??200}performDetection(e){return this.processData(e)}processData(e){const t=[],r=[...e.remote?.audio.inbound||[],...e.remote?.video.inbound||[]];if(!r.length)return t;const n=this.getLastProcessedStats(e.connection.id);if(!n)return t;const i=[...n.remote?.audio.inbound||[],...n.remote?.video.inbound||[]],{packetsSent:o}=e.connection,a=n.connection.packetsSent,s=r.reduce(((e,t)=>{const r=i.find((e=>e.ssrc===t.ssrc));return{sumJitter:e.sumJitter+t.jitter,packetsLost:e.packetsLost+t.packetsLost,lastPacketsLost:e.lastPacketsLost+(r?.packetsLost||0)}}),{sumJitter:0,packetsLost:0,lastPacketsLost:0}),c=1e3*e.connection.currentRoundTripTime||0,{sumJitter:u}=s,l=u/r.length,d=o-a,_=s.packetsLost-s.lastPacketsLost,p=d&&_?Math.round(100*_/(d+_)):0,f=p>this.#o,h=l>=this.#a,b=!f&&h||h||f,R={rtt:c,avgJitter:l,packetLossPct:p};return f&&h&&t.push({statsSample:R,type:mo.Network,reason:Co.OutboundNetworkMediaLatency,iceCandidate:e.connection.local.id}),b&&t.push({statsSample:R,type:mo.Network,reason:Co.OutboundNetworkQuality,iceCandidate:e.connection.local.id}),t}}class Qo extends Ko{performDetection(e){return this.processData(e)}processData(e){const t=e.video.outbound.filter((e=>"none"!==e.qualityLimitationReason)),r=[],n=this.getLastProcessedStats(e.connection.id)?.video.outbound;return n?(t.forEach((e=>{const t=n.find((t=>t.ssrc===e.ssrc));if(!t)return;const i={qualityLimitationReason:e.qualityLimitationReason};e.framesSent>t.framesSent||("cpu"===e.qualityLimitationReason&&r.push({statsSample:i,type:mo.CPU,reason:Co.EncoderCPUThrottling,ssrc:e.ssrc}),"bandwidth"===e.qualityLimitationReason&&r.push({statsSample:i,type:mo.Network,reason:Co.OutboundNetworkThroughput,ssrc:e.ssrc}))})),r):r}}class Zo extends Ko{UNKNOWN_DECODER="unknown";#l={};performDetection(e){return this.processData(e)}performPrevStatsCleanup(e){const{connectionId:t,cleanupCallback:r}=e;super.performPrevStatsCleanup({...e,cleanupCallback:()=>{delete this.#l[t],"function"==typeof r&&r()}})}processData(e){const t=[],{id:r}=e.connection,n=this.getLastProcessedStats(r)?.video.inbound;return e.video.inbound.forEach((e=>{const{decoderImplementation:i,ssrc:o}=e,a=n?.find((e=>e.ssrc===o));if(a)if(i===this.UNKNOWN_DECODER){if(!this.hadLastDecoderWithIssue(r,o)){this.setLastDecoderWithIssue(r,o,this.UNKNOWN_DECODER);const n={mimeType:e.mimeType,decoderImplementation:i};t.push({ssrc:o,statsSample:n,type:mo.Stream,reason:Co.UnknownVideoDecoderIssue,trackIdentifier:e.track.trackIdentifier})}}else this.setLastDecoderWithIssue(r,o,void 0)})),t}setLastDecoderWithIssue(e,t,r){const n=this.#l[e]??{};void 0===r?delete n[t]:n[t]=r,this.#l[e]=n}hadLastDecoderWithIssue(e,t){const r=this.#l[e];return(r&&r[t])===this.UNKNOWN_DECODER}}const Xo=e=>e.reduce(((e,t)=>e+t),0)/e.length,$o=(e,t,r=30)=>{const n=[];for(let r=1;r<t.length-1;r+=1){const i=t[r]?.video?.inbound.find((t=>t.ssrc===e));if(!i)continue;const o=t[r-1]?.video?.inbound?.find((t=>t.ssrc===e));if(!i||!o)continue;const a=i.timestamp-o.timestamp,s=i.framesDecoded-o.framesDecoded;if(s>0){const e=a/s;n.push(e)}}return!(n.length<=1)&&(e=>{const t=((e,t)=>t.reduce(((t,r)=>t+(r-e)**2),0)/t.length)(Xo(e),e);return Math.sqrt(t)})(n)>r},ea=(e,t)=>{for(let r=1;r<t.length;r+=1){const n=t[r].video.inbound.find((t=>t.ssrc===e));if(!n)continue;const i=t[r-1].video.inbound.find((t=>t.ssrc===e)),o=n.frameWidth!==i?.frameWidth,a=n.frameHeight!==i?.frameHeight;if(o||a)return!0}return!1};class ta extends Ko{#d;#_;#p;constructor(e={}){super(),this.#d=e.avgFreezeDurationThresholdMs??1e3,this.#_=e.frozenDurationThresholdPct??30,this.#p=e.minMosQuality??vo.BAD}performDetection(e){const t=e.networkScores.inbound;return void 0!==t&&t<=this.#p?[]:this.processData(e)}processData(e){const t=[],r=this.getAllLastProcessedStats(e.connection.id);if(0===r.length)return[];const n=e.video.inbound.map((t=>{const n=r[r.length-1].video.inbound.find((e=>e.ssrc===t.ssrc));if(!n)return;if(ea(t.ssrc,[r[r.length-1],e]))return;if($o(t.ssrc,r))return;const i=t.freezeCount-(n.freezeCount??0),o=1e3*(t.totalFreezesDuration-(n.totalFreezesDuration??0)),a=i>0?o/i:0,s=o/(t.timestamp-n.timestamp)*100;return s>this.#_||a>this.#d?{ssrc:t.ssrc,avgFreezeDurationMs:a,frozenDurationPct:s}:void 0})).filter((e=>void 0!==e));return n.length>0&&(t.push({type:mo.Stream,reason:Co.FrozenVideoTrack,statsSample:{ssrcs:n.map((e=>e.ssrc))}}),this.deleteLastProcessedStats(e.connection.id)),t}}class ra extends Ko{#f;#h;#p;constructor(e={}){super(e),this.#f=e.volatilityThreshold??8,this.#h=e.affectedStreamsPercentThreshold??30,this.#p=e.minMosQuality??vo.BAD}performDetection(e){return[...this.getAllLastProcessedStats(e.connection.id),e].find((e=>void 0!==e.networkScores.inbound&&e.networkScores.inbound<=this.#p))?[]:this.processData(e)}processData(e){const t=[],r=[...this.getAllLastProcessedStats(e.connection.id),e],n=e.video.inbound.map((e=>{if(r.length<5)return;if(ea(e.ssrc,r))return;const t=[];for(let n=0;n<r.length-1;n+=1){const i=r[n].video.inbound.find((t=>t.ssrc===e.ssrc));void 0!==i?.framesPerSecond&&t.push(i.framesPerSecond)}if(t.length<5)return;if($o(e.ssrc,r))return;const n=(e=>{if(0===e.length)throw new Error("Cannot calculate volatility for empty array");const t=Xo(e);return e.reduce(((e,r)=>e+Math.abs(r-t)),0)/e.length*100/t})(t);return n>this.#f?{ssrc:e.ssrc,allFps:t,volatility:n}:void 0})).filter((e=>Boolean(e)));if(0===n.length)return t;const i=n.length/(e.video.inbound.length/100);return i>this.#h&&(t.push({type:mo.CPU,reason:Co.DecoderCPUThrottling,statsSample:{affectedStreamsPercent:i,throtthedStreams:n}}),this.deleteLastProcessedStats(e.connection.id)),t}}const na=e=>"closed"===e.iceConnectionState||"closed"===e.connectionState,ia=(e,t,r)=>8*((e,t,r)=>{if(!t)return 0;const n=e[r],i=t[r];if(null==n||null==i)return 0;const o=Math.floor(e.timestamp)-Math.floor(t.timestamp);return 0===o?0:(Number(n)-Number(i))/o*1e3})(e,t,r);class oa{connections=[];statsParser;constructor(e){this.statsParser=e.statsParser}listConnections(){return[...this.connections]}addPeerConnection(e){this.connections.push({id:e.id??String(Date.now()+Math.random().toString(32)),pc:e.pc})}removePeerConnection(e){const t=this.connections.findIndex((({pc:t})=>t===e.pc));t>=0&&this.removeConnectionsByIndexes([t])}async parse(){const e=[],t=this.connections.map((async(t,r)=>{if(!na(t.pc))return this.statsParser.parse(t);e.unshift(r)}));return e.length&&this.removeConnectionsByIndexes(e),(await Promise.all(t)).filter((e=>void 0!==e))}removeConnectionsByIndexes(e){e.forEach((e=>{this.connections.splice(e,1)}))}}class aa{prevStats=new Map;allowedReportTypes=new Set(["candidate-pair","inbound-rtp","outbound-rtp","remote-outbound-rtp","remote-inbound-rtp","track","transport"]);ignoreSSRCList;logger;constructor(e){this.ignoreSSRCList=e.ignoreSSRCList??[],this.logger=e.logger}get previouslyParsedStatsConnectionsIds(){return[...this.prevStats.keys()]}async parse(e){if(!na(e.pc))return this.getConnectionStats(e);this.logger.debug("Skip stats parsing. Connection is closed.",{connection:e})}async getConnectionStats(e){const{pc:t,id:r}=e;try{const n=Date.now(),i=t.getReceivers().filter((e=>e.track?.enabled)),o=t.getSenders().filter((e=>e.track?.enabled)),a=await Promise.all(i.map((e=>e.getStats()))),s=await Promise.all(o.map((e=>e.getStats())));return{id:r,stats:this.mapReportsStats([...a,...s],e),timeTaken:Date.now()-n}}catch(e){return void this.logger.error("Failed to get stats for PC",{id:r,pc:t,error:e})}}mapReportsStats(e,t){const r={audio:{inbound:[],outbound:[]},video:{inbound:[],outbound:[]},connection:{},remote:{video:{inbound:[],outbound:[]},audio:{inbound:[],outbound:[]}}};e.forEach((e=>{e.forEach((t=>{this.allowedReportTypes.has(t.type)&&this.updateMappedStatsWithReportItemData(t,r,e)}))}));const{id:n}=t,i=this.prevStats.get(n);return i&&this.propagateStatsWithRateValues(r,i.stats),this.prevStats.set(n,{stats:r,ts:Date.now()}),Go({taskId:n,delayMs:35e3,callback:()=>this.prevStats.delete(n)}),r}updateMappedStatsWithReportItemData(e,t,r){const n=e.type;if("candidate-pair"===n&&"succeeded"===e.state&&e.nominated)return void(t.connection=this.prepareConnectionStats(e,r));const i=this.getMediaType(e);if(!i)return;const o=e.ssrc;if(!o||!this.ignoreSSRCList.includes(o))if("outbound-rtp"!==n)if("inbound-rtp"!==n)"remote-outbound-rtp"!==n?"remote-inbound-rtp"===n&&(this.mapConnectionStatsIfNecessary(t,e,r),t.remote[i].inbound.push({...e})):t.remote[i].outbound.push({...e});else{const n=r.get(e.trackId)||r.get(e.mediaSourceId)||{};this.mapConnectionStatsIfNecessary(t,e,r);const o={...e,track:{...n}};t[i].inbound.push(o)}else{const n=r.get(e.trackId)||r.get(e.mediaSourceId)||{},o={...e,track:{...n}};t[i].outbound.push(o)}}getMediaType(e){const t=e.mediaType||e.kind;if(!["audio","video"].includes(t)){const{id:t}=e;if(!t)return;return String(t).includes("Video")?"video":String(t).includes("Audio")?"audio":void 0}return t}propagateStatsWithRateValues(e,t){e.audio.inbound.forEach((e=>{const r=t.audio.inbound.find((({id:t})=>t===e.id));e.bitrate=ia(e,r,"bytesReceived"),e.packetRate=ia(e,r,"packetsReceived")})),e.audio.outbound.forEach((e=>{const r=t.audio.outbound.find((({id:t})=>t===e.id));e.bitrate=ia(e,r,"bytesSent"),e.packetRate=ia(e,r,"packetsSent")})),e.video.inbound.forEach((e=>{const r=t.video.inbound.find((({id:t})=>t===e.id));e.bitrate=ia(e,r,"bytesReceived"),e.packetRate=ia(e,r,"packetsReceived")})),e.video.outbound.forEach((e=>{const r=t.video.outbound.find((({id:t})=>t===e.id));e.bitrate=ia(e,r,"bytesSent"),e.packetRate=ia(e,r,"packetsSent")}))}mapConnectionStatsIfNecessary(e,t,r){if(e.connection.id||!t.transportId)return;const n=r.get(t.transportId);if(n&&n.selectedCandidatePairId){const t=r.get(n.selectedCandidatePairId);e.connection=this.prepareConnectionStats(t,r)}}prepareConnectionStats(e,t){if(!e||!t)return{};const r={...e};if(r.remoteCandidateId){const e=t.get(r.remoteCandidateId);r.remote={...e}}if(r.localCandidateId){const e=t.get(r.localCandidateId);r.local={...e}}return r}}class sa extends Ko{#b=new Map;#R;#g;constructor(e={}){super(),this.#R=e.timeoutMs??15e3,this.#g=e.steps??3}performDetection(e){return this.processData(e)}processData(e){const t=[],r=[...this.getAllLastProcessedStats(e.connection.id),e];if(r.length<this.#g)return t;const n=r.slice(-this.#g),i=n.map((e=>e.video.inbound)),o=n.map((e=>e.audio.inbound));return t.push(...this.detectMissingData(o,mo.Stream,Co.MissingAudioStreamData)),t.push(...this.detectMissingData(i,mo.Stream,Co.MissingVideoStreamData)),new Set(this.#b.keys()).forEach((e=>{const t=this.#b.get(e);t&&Date.now()-t>this.#R&&this.removeMarkedIssue(e)})),t}detectMissingData(e,t,r){const n=[],i=e.pop(),o=sa.mapStatsByTrackId(e);return i.forEach((e=>{const i=e.track.trackIdentifier,a=o.get(i);if(!Array.isArray(a)||0===a.length)return;if(e.track.detached||e.track.ended)return;if(!sa.isAllBytesReceivedDidntChange(e.bytesReceived,a))return void this.removeMarkedIssue(i);if(!this.markIssue(i))return;const s={bytesReceived:e.bytesReceived};n.push({type:t,reason:r,statsSample:s,trackIdentifier:i})})),n}static mapStatsByTrackId(e){const t=new Map;return e.forEach((e=>{e.forEach((e=>{const r=t.get(e.track.trackIdentifier)||[];r.push(e),t.set(e.track.trackIdentifier,r)}))})),t}static isAllBytesReceivedDidntChange(e,t){for(let r=0;r<t.length;r+=1)if(t[r].bytesReceived!==e)return!1;return!0}markIssue(e){const t=Date.now(),r=this.#b.get(e);return(!r||t-r>this.#R)&&(this.#b.set(e,t),!0)}removeMarkedIssue(e){this.#b.delete(e)}}class ca{eventEmitter;#m=!1;detectors=[];networkScoresCalculator;statsReporter;compositeStatsParser;logger;autoAddPeerConnections;constructor(e){this.logger=e.logger??{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},this.eventEmitter=e.issueEmitter??new Fo,e.onIssues&&this.eventEmitter.on(go.Issue,e.onIssues),e.onNetworkScoresUpdated&&this.eventEmitter.on(go.NetworkScoresUpdated,e.onNetworkScoresUpdated),this.detectors=e.detectors??[new Qo,new Yo,new qo,new zo,new Wo,new Zo,new ta,new ra,new sa],this.networkScoresCalculator=e.networkScoresCalculator??new Ho,this.compositeStatsParser=e.compositeStatsParser??new oa({statsParser:new aa({ignoreSSRCList:e.ignoreSSRCList,logger:this.logger})}),this.statsReporter=e.statsReporter??new Jo({compositeStatsParser:this.compositeStatsParser,getStatsInterval:e.getStatsInterval??5e3}),window.wid=this,this.autoAddPeerConnections=e.autoAddPeerConnections??!0,this.autoAddPeerConnections&&this.wrapRTCPeerConnection(),this.statsReporter.on(Jo.STATS_REPORT_READY_EVENT,(e=>{const t=this.calculateNetworkScores(e.stats);this.detectIssues({data:e.stats},t)})),this.statsReporter.on(Jo.STATS_REPORTS_PARSED,(t=>{const r={timeTaken:t.timeTaken,ts:Date.now()};e.onStats&&e.onStats(t.reportItems),this.eventEmitter.emit(go.StatsParsingFinished,r)}))}watchNewPeerConnections(){if(!this.autoAddPeerConnections)throw new Error("Auto add peer connections was disabled in the constructor.");this.#m?this.logger.warn("WebRTCIssueDetector is already started. Skip processing"):(this.logger.info("Start watching peer connections"),this.#m=!0,this.statsReporter.startReporting())}stopWatchingNewPeerConnections(){this.#m?(this.logger.info("Stop watching peer connections"),this.#m=!1,this.statsReporter.stopReporting()):this.logger.warn("WebRTCIssueDetector is already stopped. Skip processing")}handleNewPeerConnection(e,t){this.#m||!this.autoAddPeerConnections?(this.#m||!1!==this.autoAddPeerConnections||(this.logger.info("Starting stats reporting for new peer connection"),this.#m=!0,this.statsReporter.startReporting()),this.logger.debug("Handling new peer connection",e),this.compositeStatsParser.addPeerConnection({pc:e,id:t})):this.logger.debug("Skip handling new peer connection. Detector is not running",e)}emitIssues(e){this.eventEmitter.emit(go.Issue,e)}detectIssues({data:e},t){const r=this.detectors.reduce(((r,n)=>[...r,...n.detect(e,t)]),[]);r.length>0&&this.emitIssues(r)}calculateNetworkScores(e){const t=this.networkScoresCalculator.calculate(e);return this.eventEmitter.emit(go.NetworkScoresUpdated,t),t}wrapRTCPeerConnection(){if(!window.RTCPeerConnection)return void this.logger.warn("No RTCPeerConnection found in browser window. Skipping");const e=window.RTCPeerConnection,t=e=>this.handleNewPeerConnection(e);function r(r){const n=new e(r);return t(n),n}r.prototype=e.prototype,window.RTCPeerConnection=r}}var ua,la,da,_a,pa=function(e){function t(){return e.call(this,{availableOutgoingBitrateThreshold:15e4})||this}return r(t,e),t}(Wo),fa=function(e){function t(){return e.call(this,{highPacketLossThresholdPct:10})||this}return r(t,e),t}(Yo),ha=function(e){function t(){return e.call(this,{highPacketLossThresholdPct:2})||this}return r(t,e),t}(qo),ba=function(){function e(e){var t=this;Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_webRtcIssueDetector",{enumerable:!0,configurable:!0,writable:!0,value:null});var r=ca;this._webRtcIssueDetector=new r({onIssues:function(e){return e.forEach((function(e){t._logger.info(i.L_WEBRTC_ISSUE_DETECTOR_ISSUE_O,JSON.stringify(e))}))},detectors:[new Qo,new fa,new ha,new zo,new pa,new Zo,new ta,new ra]})}return Object.defineProperty(e.prototype,"watchNewPeerConnections",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;this._logger.info(i.L_WEBRTC_ISSUE_DETECTOR_OPEN_O),null===(e=this._webRtcIssueDetector)||void 0===e||e.watchNewPeerConnections()}}),Object.defineProperty(e.prototype,"stopWatchingNewPeerConnections",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;null===(e=this._webRtcIssueDetector)||void 0===e||e.stopWatchingNewPeerConnections()}}),e}(),Ra=function(e){function t(t,r,n,i,o,a,s){void 0===a&&(a=!1),void 0===s&&(s={encrypt:!1,isOpenWebRTCIssueDetector:!1});var c=e.call(this)||this;Object.defineProperty(c,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(c,"_reTryExchange",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(c,"_currentUserId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(c,"_store",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(c,"_polarisReport",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(c,"_isRoomAudience",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(c,"_options",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(c,"_rtcPeerConn",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(c,"_sdpStrategy",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(c,"reportParser",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(c,"pubLocalTracks",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(c,"_reTryExchangeTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(c,"_reportStatsTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(c,"_reportR3R4ToPolarisTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(c,"_isDestroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(c,"_formatStatsData",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(c,"_WebRTCIssueDetector",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(c,"_inRetry",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(c,"_firstConnectFromPub",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(c,"_reportListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),c._options.isOpenWebRTCIssueDetector&&(c._WebRTCIssueDetector=new ba(t),c._WebRTCIssueDetector.watchNewPeerConnections());var u=Oo.getSdpSemantics(),l="unified-plan"===u&&c._options.encrypt&&"function"==typeof RTCRtpSender.prototype.createEncodedStreams&&"function"==typeof RTCRtpReceiver.prototype.createEncodedStreams&&bo.isInit(),d=c._rtcPeerConn=new RTCPeerConnection({sdpSemantics:u,encodedInsertableStreams:l});return c._sdpStrategy="plan-b"===u?new Eo(c._logger,d,!1):new Lo(c._logger,d,l),c._rtcPeerConn.oniceconnectionstatechange=c._onICEConnectionStateChange.bind(c),c._rtcPeerConn.onconnectionstatechange=c._onConnectionStateChange.bind(c),c._rtcPeerConn.ontrack=c._onTrackReady.bind(c),c.reportParser=c._sdpStrategy.getStatParsr(c._rtcPeerConn,u,c._currentUserId,c._store),c}return r(t,e),Object.defineProperty(t.prototype,"getLocalTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){return Object.values(this.pubLocalTracks)}}),Object.defineProperty(t.prototype,"_onConnectionStateChange",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._logger.info(i.L_RTC_PEER_CONNECTION_CONNECTION_STATE_S,"state: ".concat(this._rtcPeerConn.connectionState))}}),Object.defineProperty(t.prototype,"startAutoExecute",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;this.stopAutoExecute(),this._reportStatsTimer=setTimeout((function(){t._reportHandle(),t.startAutoExecute(e)}),e)}}),Object.defineProperty(t.prototype,"stopAutoExecute",{enumerable:!1,configurable:!0,writable:!0,value:function(){clearTimeout(this._reportStatsTimer)}}),Object.defineProperty(t.prototype,"_onICEConnectionStateChange",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,r;return s(this,void 0,void 0,(function(){var n,a,s;return c(this,(function(c){switch(c.label){case 0:return n=this._rtcPeerConn.iceConnectionState,this._logger.info(i.L_RTC_PEER_CONNECTION_ICE_CONNECTION_STATE_S,JSON.stringify({iceConnectionState:n})),[4,this._getStatsData()];case 1:a=c.sent(),s=a?this._createRCRTCStateReport(a).iceCandidatePair:null,this.emit(t.__INNER_ICE_STATE_CHANGE__,{status:n,time:Date.now(),iceCandidatePair:s}),"connected"===n?(this.emit(t.__INNER_ICE_CONNECTED__,this._firstConnectFromPub),this.startAutoExecute(1e3)):"failed"!==n&&"disconnected"!==n||this._handleRetry();try{null===(r=null===(e=this._reportListener)||void 0===e?void 0:e.onICEConnectionStateChange)||void 0===r||r.call(e,n)}catch(e){this._logger.error(i.L_RTC_PEER_CONNECTION_ICE_CONNECTION_STATE_REPORT_R,JSON.stringify({status:o.FAILED,mag:e}))}return[2]}}))}))}}),Object.defineProperty(t.prototype,"_handleRetry",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e,t=this;return c(this,(function(r){switch(r.label){case 0:return this._inRetry?[2]:(this.clearReTryExchangeTimer(),this._inRetry=!0,[4,this._reTryExchange()]);case 1:return e=r.sent().code,this._inRetry=!1,e===exports.RCRTCCode.SUCCESS?[2]:(this._reTryExchangeTimer=setTimeout((function(){return t._handleRetry()}),15e3),[2])}}))}))}}),Object.defineProperty(t.prototype,"_onTrackReady",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(e.streams.length){var r=e.streams[0].id,n=e.receiver.track,i=[r,"audio"===n.kind?exports.RCMediaType.AUDIO_ONLY:exports.RCMediaType.VIDEO_ONLY].join("_");Object.defineProperty(n,"trackId",{value:i,writable:!1,enumerable:!1,configurable:!1}),this._updateRecvTransceiverMap(i,e.transceiver),this.emit(t.__INNER_EVENT_TRACK_READY__,e)}}}),Object.defineProperty(t.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){return c(this,(function(n){return this._sdpStrategy.setBitrate(e,t,r),this._logger.info(i.L_RTC_PEER_CONNECTION_SET_BITRATE_O,JSON.stringify({status:o.SUCCESSED,max:e,min:t,start:r})),[2]}))}))}}),Object.defineProperty(t.prototype,"createOffer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return[4,this._sdpStrategy.createOffer(e)];case 1:return t=r.sent(),this._logger.info(i.L_RTC_PEER_CONNECTION_CREATE_OFFER_O,JSON.stringify({offerSDP:t.sdp,sdpDemantics:t.semantics})),[2,t]}}))}))}}),Object.defineProperty(t.prototype,"setRemoteAnswer",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===t&&(t=!1),s(this,void 0,void 0,(function(){return c(this,(function(r){return this._firstConnectFromPub=t,[2,this._sdpStrategy.setRemoteAnswer(e)]}))}))}}),Object.defineProperty(t.prototype,"getLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.pubLocalTracks[e]||null}}),Object.defineProperty(t.prototype,"addLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.pubLocalTracks[e.getTrackId()]=e,this._sdpStrategy.addLocalTrack(e),e.off(Ke.__INNER_EVENT_MUTED_CHANGE__,this._onLocalTrackMuted,this),e.off(Ke.__INNER_EVENT_DESTROY__,this._onLocalTrackDestroied,this),e.on(Ke.__INNER_EVENT_MUTED_CHANGE__,this._onLocalTrackMuted,this),e.on(Ke.__INNER_EVENT_DESTROY__,this._onLocalTrackDestroied,this),this._logger.info(i.L_RTC_PEER_CONNECTION_ADD_LOCAL_TRACK_O,"trackId: ".concat(e.getTrackId()))}}),Object.defineProperty(t.prototype,"removeLocalTrackById",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.getLocalTrack(e);t?(this._logger.info(i.L_RTC_PEER_CONNECTION_REMOVE_LOCAL_TRACK_BY_ID_O,JSON.stringify({status:o.SUCCESSED,trackId:e})),this.removeLocalTrack(t)):this._logger.warn(i.L_RTC_PEER_CONNECTION_REMOVE_LOCAL_TRACK_BY_ID_O,JSON.stringify({status:o.FAILED,msg:"track not found",trackId:e}))}}),Object.defineProperty(t.prototype,"removeAllLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;Object.keys(this.pubLocalTracks).forEach((function(t){/_tiny$/.test(t)||e.removeLocalTrackById(t)}))}}),Object.defineProperty(t.prototype,"removeLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.getTrackId();delete this.pubLocalTracks[t],this._sdpStrategy.removeLocalTrack(e),e.__innerSetPublished(!1),e.off(Ke.__INNER_EVENT_MUTED_CHANGE__,this._onLocalTrackMuted,this),e.off(Ke.__INNER_EVENT_DESTROY__,this._onLocalTrackDestroied,this);var r="".concat(t,"_tiny"),n=this.getLocalTrack(r);n&&(this._sdpStrategy.removeLocalTrack(n),delete this.pubLocalTracks[r],n.destroy()),this._logger.info(i.L_RTC_PEER_CONNECTION_REMOVE_LOCAL_TRACK_O,JSON.stringify({trackId:t}))}}),Object.defineProperty(t.prototype,"_updateRecvTransceiverMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._sdpStrategy.updateRecvTransceiverMap(e,t)}}),Object.defineProperty(t.prototype,"updateSubRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._sdpStrategy.updateSubRemoteTracks(e)}}),Object.defineProperty(t.prototype,"getOutboundVideoInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._sdpStrategy.getOutboundVideoInfo()}}),Object.defineProperty(t.prototype,"_onLocalTrackMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this.getLocalTrack("".concat(e.getTrackId(),"_tiny"));r&&(r.__innerGetMediaStreamTrack().enabled=!e.isLocalMuted()),this.emit(Ke.__INNER_EVENT_MUTED_CHANGE__,e,t)}}),Object.defineProperty(t.prototype,"_onLocalTrackDestroied",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.emit(Ke.__INNER_EVENT_DESTROY__,e)}}),Object.defineProperty(t.prototype,"registerReportListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._reportListener=e}}),Object.defineProperty(t.prototype,"_isSendTwoSecondsVideo",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){if(e>=2*t){var n=this.getLocalTrack(r);n&&n.emit(Ke.__INNER_SEND_TWO_SECONDS_VIDEO__)}}}),Object.defineProperty(t.prototype,"_createSenderReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;return e.filter((function(e){return e.trackId})).map((function(e){var r=e.trackId,n=e.kind,i=e.packetsLostRate,o=e.remoteResource,s=e.bitrate,c=e.jitter,u=e.rtt,l=e.framesSent,d={trackId:r,kind:n,packetsLostRate:i,remoteResource:o,bitrate:s,jitter:c,rtt:u};return(e.audioLevel||0===e.audioLevel)&&(d.audioLevel=e.audioLevel),e.frameWidth&&(d.frameWidth=e.frameWidth),e.frameHeight&&(d.frameHeight=e.frameHeight),e.frameRate&&(d.frameRate=e.frameRate),"video"===n&&e.frameRate&&l&&t._isSendTwoSecondsVideo(l,e.frameRate,r),a({},d)}))}}),Object.defineProperty(t.prototype,"_createReceiverReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e.filter((function(e){return e.trackId})).map((function(e){var t={trackId:e.trackId,kind:e.kind,packetsLostRate:e.packetsLostRate,remoteResource:e.remoteResource,bitrate:e.bitrate,jitter:e.jitter,rtt:e.rtt};return(e.audioLevel||0===e.audioLevel)&&(t.audioLevel=e.audioLevel),e.frameWidth&&(t.frameWidth=e.frameWidth),e.frameHeight&&(t.frameHeight=e.frameHeight),e.frameRate&&(t.frameRate=e.frameRate),a({},t)}))}}),Object.defineProperty(t.prototype,"_createRCRTCStateReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.timestamp,r=e.iceCandidatePair,n=e.senders,i=e.receivers;for(var o in(null==r?void 0:r.totalPacketsLost)&&(null==r||delete r.totalPacketsLost),r)St(r[o])&&delete r[o];return{timestamp:t,iceCandidatePair:r,senders:this._createSenderReport(n),receivers:this._createReceiverReport(i)}}}),Object.defineProperty(t.prototype,"_getStatsData",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t;return s(this,void 0,void 0,(function(){var r,n,i;return c(this,(function(o){switch(o.label){case 0:return this._formatStatsData=null,r=null,[4,this._rtcPeerConn.getStats()];case 1:return n=o.sent(),r=null===(e=this.reportParser)||void 0===e?void 0:e.parseRTCStatsReport(n),i=null===(t=this.reportParser)||void 0===t?void 0:t.formatRCRTCStateReport(r),this._formatStatsData=i,[2,i]}}))}))}}),Object.defineProperty(t.prototype,"_reportHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,r,n,o,a;return s(this,void 0,void 0,(function(){var s,u,_,p,f,h,b,R;return c(this,(function(c){switch(c.label){case 0:return[4,this._getStatsData()];case 1:if(!(s=c.sent()))return[2];u=this._createRCRTCStateReport(s);try{_=u.iceCandidatePair||{},p=_.availableIncomingBitrate,f=_.availableOutgoingBitrate,h=_.rtt,this._logger.info(i.L_RTC_PEER_CONNECTION_ICECANDIDATEPAIR_DATA_O,"availableIncomingBitrate: ".concat(p,", availableOutgoingBitrate: ").concat(f,", rtt: ").concat(h)),null===(r=null===(e=this._reportListener)||void 0===e?void 0:e.onStateReport)||void 0===r||r.call(e,JSON.parse(JSON.stringify(u)))}catch(e){this._logger.error(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,null==e?void 0:e.stack)}if(b=d(d([],l(s.receivers),!1),l(s.senders),!1).filter((function(e){return"audio"===e.kind})).map((function(e){return{trackId:e.trackId,audioLevel:e.audioLevel}})),this.emit(t.__INNER_AUDIOLEVEL_CHANGE__,b),this._isRoomAudience&&(null===(n=this._reportListener)||void 0===n?void 0:n.onReportLiveAudioStates)){R=this._getLiveAudioState();try{R.length&&(null===(a=null===(o=this._reportListener)||void 0===o?void 0:o.onReportLiveAudioStates)||void 0===a||a.call(o,R))}catch(e){this._logger.error(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,null==e?void 0:e.stack)}}return[2]}}))}))}}),Object.defineProperty(t.prototype,"_getLiveAudioState",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=[];return this._rtcPeerConn.getReceivers().forEach((function(e){var r=e.getContributingSources();r.length&&t.push.apply(t,d([],l(r),!1))})),t.map((function(t){var r=t.source,n=t.audioLevel,i=e._store.getTrackIdBySSRC(r);if(!i)return{};var o=dt(i).userId;return{audioLevel:oo(n),userId:o,trackId:i}})).filter((function(e){return!!e.userId}))}}),Object.defineProperty(t.prototype,"_sendR3R4Data",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t;return s(this,void 0,void 0,(function(){var r,n,i;return c(this,(function(o){switch(o.label){case 0:return(r=this._formatStatsData)?(n=r.senders,i=r.receivers,n.length?[4,null===(e=this._polarisReport)||void 0===e?void 0:e.sendR3Data(r)]:[3,2]):[2];case 1:o.sent(),o.label=2;case 2:return i.length?[4,null===(t=this._polarisReport)||void 0===t?void 0:t.sendR4Data(r)]:[3,4];case 3:o.sent(),o.label=4;case 4:return[2]}}))}))}}),Object.defineProperty(t.prototype,"__reportR3R4ToPolaris",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e=this;return c(this,(function(t){return clearTimeout(this._reportR3R4ToPolarisTimer),this._reportR3R4ToPolarisTimer=setTimeout((function(){return s(e,void 0,void 0,(function(){var e=this;return c(this,(function(t){return this._sendR3R4Data().then((function(){e.__reportR3R4ToPolaris()})),[2]}))}))}),2e3),[2]}))}))}}),Object.defineProperty(t.prototype,"getRTCPeerConn",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._rtcPeerConn}}),Object.defineProperty(t.prototype,"getCapabilitiesCodes",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t;void 0===e&&(e=Ro.H264);var r=null===(t=RTCRtpSender.getCapabilities("video"))||void 0===t?void 0:t.codecs,n=null;switch(e){case Ro.VP8:case Ro.VP9:n=r.find((function(t){return t.mimeType.match(e)}));break;case Ro.H264:n=r.find((function(t){var r;return t.mimeType.match(e)&&(null===(r=t.sdpFmtpLine)||void 0===r?void 0:r.match("42e01f"))}))}return r=r.filter((function(e){return e!==n})),r=d([n],l(r),!1)}}),Object.defineProperty(t.prototype,"setEncoderPreferences",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r;return c(this,(function(n){return t=this.getRTCPeerConn(),r=this.getCapabilitiesCodes(e),this._logger.info(i.L_SET_ENCODER_PREFERENCES_S,JSON.stringify({status:o.SUCCESSED,codecCap:r})),t.getTransceivers().forEach((function(e){var t;"video"===(null===(t=e.sender.track)||void 0===t?void 0:t.kind)&&e.setCodecPreferences(r)})),[2]}))}))}}),Object.defineProperty(t.prototype,"destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;null===(e=this._WebRTCIssueDetector)||void 0===e||e.stopWatchingNewPeerConnections(),this.clear(),this.clearReTryExchangeTimer(),clearTimeout(this._reportR3R4ToPolarisTimer),this.stopAutoExecute(),this.registerReportListener(null),this._rtcPeerConn.close(),this._isDestroyed=!0,this.reportParser=null,this._logger.info(i.L_RTC_PEER_CONNECTION_DESTROY_O,JSON.stringify({status:o.SUCCESSED}))}}),Object.defineProperty(t.prototype,"clearReTryExchangeTimer",{enumerable:!1,configurable:!0,writable:!0,value:function(){clearTimeout(this._reTryExchangeTimer),this._reTryExchangeTimer=null}}),Object.defineProperty(t.prototype,"isDestroyed",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isDestroyed}}),Object.defineProperty(t,"__INNER_EVENT_TRACK_READY__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-track-ready"}),Object.defineProperty(t,"__INNER_AUDIOLEVEL_CHANGE__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-audio-level-change"}),Object.defineProperty(t,"__INNER_ICE_STATE_CHANGE__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-ice-state-change"}),Object.defineProperty(t,"__INNER_ICE_CONNECTED__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-ice-connected"}),t}(e.EventEmitter),ga=function(){function e(e,t){Object.defineProperty(this,"_store",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_peer",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_audioLevelChangeHandler",{enumerable:!0,configurable:!0,writable:!0,value:null})}return Object.defineProperty(e.prototype,"audioLevelReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(this._audioLevelChangeHandler){var r=[];e.forEach((function(e){var n=dt(e.trackId).userId,i=t._store.crtUserId===n?t._peer.getLocalTrack(e.trackId):t._store.getRemoteTrack(e.trackId);i&&r.push({track:i,audioLevel:e.audioLevel||0})})),this._audioLevelChangeHandler(r)}}}),Object.defineProperty(e.prototype,"onAudioLevelChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._audioLevelChangeHandler=e}}),e}();exports.RCRTCLiveRole=void 0,(ua=exports.RCRTCLiveRole||(exports.RCRTCLiveRole={}))[ua.ANCHOR=1]="ANCHOR",ua[ua.AUDIENCE=2]="AUDIENCE",function(e){e.UNPUBLISH_PREV="UnpublishPrevCommand",e.PULL_RTCROOM_STATUS="PullRTCRoomStatusCommand",e.JOINROOM="JoinRoomCommand",e.PARSE_REMOTERES="ParseRemoteResCommand",e.PARSE_USERSTATE="ParseUserStateCommand",e.LOCAL_TRACK_MUTE="LocalTrackMuteCommand",e.PUBLISH="PublishCommand",e.RETRY_EXCHANGE="RetryExchangeCommand",e.UNPUBLISH="UnpublishCommand",e.SUBSCRIBE="SubscribeCommand",e.UNSUBSCRIBE="UnsubscribeCommand",e.UPDATE_SUBSCRIBE_LIST="UpdateSubscribeListCommand",e.ON_SIGNAL_RECONNECTED="OnSignalReconnectedCommand",e.LEAVE_OTHER_ROOM="LeaveOtherRoomCommand",e.RTC_IDENTITY_CHANGE="RTCIdentityChangeCommand",e.ENABLE_INNER_CDN="EnableInnerCDNCommand",e.EXCHANGE_WITH_PUSH_OTHER_ROOM="ExchangeWithPushOtherRoomCommand",e.MCUCONFIG_FLUSH="MCUConfigFlushCommand",e.UNKNOWN="Unknown"}(la||(la={})),function(e){e[e.LOW=0]="LOW",e[e.NORMAL=1]="NORMAL",e[e.HIGH=2]="HIGH"}(da||(da={})),function(e){e[e.Destroy=40400]="Destroy"}(_a||(_a={}));var ma,Ca=function(){function e(){}return Object.defineProperty(e.prototype,"priority",{get:function(){return da.LOW},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"kind",{get:function(){return la.UNKNOWN},enumerable:!1,configurable:!0}),e}(),va=function(){function t(e,t,r,n){Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_store",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"abortCode",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_queue",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_busy",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_isDestroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1})}return Object.defineProperty(t.prototype,"_next",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._busy=!1,this._execute()}}),Object.defineProperty(t.prototype,"_execute",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var t,r,n,o,a,s,u;return c(this,(function(c){switch(c.label){case 0:if(this._isDestroyed||this._busy||0===this._queue.length)return[2];this._busy=!0,t=this._queue.shift(),r=t.command,n=t.resolve,a=this._logger.createTraceId(),c.label=1;case 1:return c.trys.push([1,3,,4]),this._logger.info(i.L_INVOKER_EXECUTE_T,"kind: ".concat(r.kind,", length: ").concat(this._queue.length),a),[4,r.execute(this._context,this._store,this)];case 2:return o=c.sent(),[3,4];case 3:return s=c.sent(),console.error(s),this._logger.error(i.L_INVOKER_EXECUTE_R,r.kind,a),this._next(),[2];case 4:return(u=o.code)!==exports.RCRTCCode.SUCCESS&&u!==e.ErrorCode.SUCCESS?this._logger.warn(i.L_INVOKER_EXECUTE_R,"code: ".concat(u,", kind: ").concat(r.kind),a):this._logger.info(i.L_INVOKER_EXECUTE_R,"kind: ".concat(r.kind,", Done"),a),n(o),this._next(),[2]}}))}))}}),Object.defineProperty(t.prototype,"push",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t=this;return c(this,(function(r){return[2,new Promise((function(r){if(t._logger.info(i.L_INVOKER_PUSH_O,JSON.stringify({isDestroyed:t._isDestroyed,kind:e.kind,length:t._queue.length})),t._isDestroyed)r({code:exports.RCRTCCode.NOT_IN_ROOM});else{var n=e.priority;if(n===da.LOW)t._queue.push({command:e,resolve:r});else{var o=t._queue.findIndex((function(e){return e.command.priority<n})),a=-1===o?t._queue.length-1:o;t._queue.splice(a,0,{command:e,resolve:r})}setTimeout((function(){t._execute()}),0)}}))]}))}))}}),Object.defineProperty(t.prototype,"isDestroyed",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isDestroyed}}),Object.defineProperty(t.prototype,"destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this._isDestroyed||(this._logger.info(i.L_INVOKER_DESTROY_O),this._isDestroyed=!0,this._queue.forEach((function(t){t.resolve({code:e.abortCode})})),this._queue.length=0)}}),t}(),Oa=function(e){function t(t,r){return e.call(this,t.logger,t,r,exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED)||this}return r(t,e),Object.defineProperty(t.prototype,"store",{get:function(){return this._context.store},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){e.prototype.destroy.call(this),this._store.removeRemoteTracks()}}),t}(va),Ta=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,"_updateTrackIdSSRCMap",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;Object.values(this._roomResources).forEach((function(t){t.forEach((function(t){var r=JSON.parse(t.uri),n=r.ssrc,i=r.resourceId;e._trackIdSSRCMap.set(n,i)}))}))}}),Object.defineProperty(t.prototype,"setTrackIdSSRCMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._trackIdSSRCMap.set(e,t)}}),Object.defineProperty(t.prototype,"_initRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;for(var t in this._roomResources){var r=this._roomResources[t];t!==this.crtUserId&&0!==r.length&&r.forEach((function(t){var r=lt(t),n=dt(r),i=n.tag,o=n.userId,a=n.mediaType===exports.RCMediaType.AUDIO_ONLY?new rt(e._logger,i,o):new nt(e._logger,i,o);a.__innerSetRemoteMuted(0===t.state),e._remoteTracks[r]=a}))}}}),Object.defineProperty(t.prototype,"initWithRoomData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._sessionId=e.sessionId,this._token=e.token,this._roomStatusVersion=Pt(e.version),this._roomResources=yt(e,this.roomId,this._logger,t),this._updateTrackIdSSRCMap(),this._initRemoteTracks(),this.setResourcesByUserId(this.crtUserId,this.getResourcesByUserId(this.crtUserId)||[]),this._logger.info(i.L_PARSE_ROOMDATA_URIS_R,"room data -> ".concat(JSON.stringify(this._roomResources)),t)}}),Object.defineProperty(t.prototype,"assignRoomData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){Object.assign(this._roomResources,e),this._updateTrackIdSSRCMap()}}),Object.defineProperty(t.prototype,"setResourcesByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._roomResources[e]=t,this._updateTrackIdSSRCMap()}}),Object.defineProperty(t.prototype,"removeRemoteTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){delete this._remoteTracks[e]}}),Object.defineProperty(t.prototype,"removeResourcesByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){delete this._roomResources[e],this._updateTrackIdSSRCMap()}}),Object.defineProperty(t.prototype,"addRemoteTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._remoteTracks[e.getTrackId()]=e}}),Object.defineProperty(t.prototype,"removeRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=Object.values(this._remoteTracks);e.length&&(e.forEach((function(e){e.isAudioTrack()&&e.__releaseMediaElement()})),this._remoteTracks={})}}),Object.defineProperty(t.prototype,"setCDNEnabel",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._CDNEnable=e}}),Object.defineProperty(t.prototype,"setCDNUris",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._CDNUris=e}}),Object.defineProperty(t.prototype,"resetSubscribedList",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t;(t=this._subscribedList).splice.apply(t,d([0,this._subscribedList.length],l(e),!1)),this.resetCollectSubscribeList(e)}}),Object.defineProperty(t.prototype,"resetCollectSubscribeList",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t;(t=this._collectSubscribeList).splice.apply(t,d([0,this._collectSubscribeList.length],l(e),!1))}}),Object.defineProperty(t.prototype,"setRoomStatusVersion",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._roomStatusVersion=Pt(e)}}),t}(function(){function e(e,t,r,n,i,o,a,s){Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"appkey",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"roomId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"crtUserId",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"roomMode",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"isUpgrade",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"isMainRoom",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"_roomResources",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_remoteTracks",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_subscribedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_collectSubscribeList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_token",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_sessionId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_CDNUris",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_CDNEnable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_destroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_trackIdSSRCMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"_roomStatusVersion",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_supportNtf",{enumerable:!0,configurable:!0,writable:!0,value:!0})}return Object.defineProperty(e.prototype,"getResourcesByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._roomResources[e]}}),Object.defineProperty(e.prototype,"getRemoteTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._remoteTracks[e]}}),Object.defineProperty(e.prototype,"getRemoteTracksByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=[];for(var r in this._remoteTracks){var n=this._remoteTracks[r];n.getUserId()===e&&t.push(n)}return t}}),Object.defineProperty(e.prototype,"getRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._remoteTracks}}),Object.defineProperty(e.prototype,"getSessionId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._sessionId}}),Object.defineProperty(e.prototype,"getAllUserIds",{enumerable:!1,configurable:!0,writable:!0,value:function(){return Object.keys(this._roomResources)}}),Object.defineProperty(e.prototype,"getRemoteUserIds",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;return this.getAllUserIds().filter((function(t){return t!==e.crtUserId}))}}),Object.defineProperty(e.prototype,"getSubscribedList",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subscribedList}}),Object.defineProperty(e.prototype,"getCollectSubscribeList",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._collectSubscribeList}}),Object.defineProperty(e.prototype,"getPublishedResourceByTrackId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=dt(e).userId;return this._roomResources[t].find((function(t){return lt(t)===e}))}}),Object.defineProperty(e.prototype,"getToken",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._token}}),Object.defineProperty(e.prototype,"getCDNEnable",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._CDNEnable}}),Object.defineProperty(e.prototype,"getCDNUris",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._CDNUris}}),Object.defineProperty(e.prototype,"getRoomStatusVersion",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._roomStatusVersion}}),Object.defineProperty(e.prototype,"getTrackIdBySSRC",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._trackIdSSRCMap.get(e)}}),Object.defineProperty(e.prototype,"getRTCRequestHeader",{enumerable:!1,configurable:!0,writable:!0,value:function(){return{"App-Key":this.appkey,RoomId:this.roomId,Token:this._token,RoomType:this.roomMode,UserId:this.crtUserId,"Client-Session-Id":this.clientSessionId}}}),Object.defineProperty(e.prototype,"getSupportNtf",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._supportNtf}}),e}()),Ea=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.UNPUBLISH_PREV},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l,d;return c(this,(function(c){switch(c.label){case 0:return n=t.logger,a=t.context,s=r.getResourcesByUserId(r.crtUserId),u=s.slice(),s.length=0,l=n.createTraceId(),n.info(i.L_UNPUBLISH_PREV_COMMAND_T,JSON.stringify({resource:u}),l),[4,a.setRTCTotalRes(r.roomId,[it(Tt.UNPUBLISH,u)],ot([]),Tt.TOTAL_CONTENT_RESOURCE,ot([]))];case 1:return(d=c.sent())!==e.ErrorCode.SUCCESS?n.error(i.L_UNPUBLISH_PREV_COMMAND_R,JSON.stringify({status:o.FAILED,code:d}),l):n.info(i.L_UNPUBLISH_PREV_COMMAND_R,JSON.stringify({status:o.SUCCESSED}),l),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),n}(Ca);exports.RTCMode=void 0,(ma=exports.RTCMode||(exports.RTCMode={}))[ma.RTC=0]="RTC",ma[ma.LIVE=2]="LIVE",ma[ma.CROSS_MUTI=7]="CROSS_MUTI",ma[ma.SIP=4]="SIP",ma[ma.CALL=5]="CALL";var Sa,Ia=function(t){function n(e,r,n,i,o,a,s){var c=t.call(this)||this;return Object.defineProperty(c,"roomId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(c,"roomType",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(c,"joinType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(c,"livingType",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(c,"innerUserDatas",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(c,"outerUserDatas",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(c,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:s}),c}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.JOINROOM},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"_getResultTag",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=i.L_RTC_CLIENT_JOIN_RTC_ROOM_R;return this.roomType===exports.RTCMode.LIVE&&(e=i.L_RTC_CLIENT_JOIN_LIVING_ROOM_R),e}}),Object.defineProperty(n.prototype,"_validateParams",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){var i=this;if(t.getConnectionStatus()!==e.RCConnectionStatus.CONNECTED)return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.SIGNAL_DISCONNECTED,msg:"im not connected"}),this.traceId),{code:exports.RCRTCCode.SIGNAL_DISCONNECTED};if(It(t.getNaviInfo()))return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR,msg:"package environment error"}),this.traceId),{code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR};if(!e.validate("roomId",this.roomId,e.notEmptyString,!0))return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> roomId"}),this.traceId),{code:exports.RCRTCCode.PARAMS_ERROR};if(!e.validate("roomType",this.roomType,(function(e){return void 0!==exports.RTCMode[e]})))return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> roomType"}),this.traceId),{code:exports.RCRTCCode.PARAMS_ERROR};if(!e.validate("outerUserDatas",this.outerUserDatas,e.isObject,!1))return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> outerUserDatas"}),this.traceId),{code:exports.RCRTCCode.PARAMS_ERROR};if(this.outerUserDatas&&!Object.keys(this.outerUserDatas).every((function(t){return e.validate("outerUserDatas.".concat(t),i.outerUserDatas[t],e.isString,!0)})))return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> outerUserDatas"}),this.traceId),{code:exports.RCRTCCode.PARAMS_ERROR};return{code:exports.RCRTCCode.SUCCESS}}}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){var i;return s(this,void 0,void 0,(function(){var a,s,u,l,d,_,p,f,h,b,R,g,m;return c(this,(function(c){switch(c.label){case 0:return a=Date.now(),s=t.context,u=t.service,l=t.logger,d=t.reportMediaActionLogger,_=this._getResultTag(),(p=this._validateParams(s,l,_).code)!==exports.RCRTCCode.SUCCESS?[2,{code:p}]:(u.detectorMediaSever(),u.getNaviMS().length?(f=r.getSupportNtf(),[4,s.joinRTCRoom(this.roomId,this.roomType,this.livingType,this.joinType,this.innerUserDatas,this.outerUserDatas,f)]):(l.error(_,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER,msg:"No audio / video server address available"}),this.traceId),[2,{code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER}]));case 1:return h=c.sent(),b=h.code,R=h.data,d.reportQualityJoinRoomData(a,b,this.roomType,null==R?void 0:R.sessionId),b===e.ErrorCode.SUCCESS&&R?(r.initWithRoomData(R,this.traceId),r.getResourcesByUserId(r.crtUserId).length>0&&n.push(new Ea),(m=null===(i=R.roomInfo.filter((function(e){return"cdn_uris"===e.key}))[0])||void 0===i?void 0:i.value)&&r.setCDNUris(JSON.parse(m)[0]),l.info(_,JSON.stringify({status:o.SUCCESSED,userId:r.crtUserId,roomId:this.roomId}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS,data:R}]):(g=40032===b?exports.RCRTCCode.SIGNAL_JOIN_RTC_ROOM_REFUSED:b,l.error(_,JSON.stringify({status:o.FAILED,code:g,msg:"joinRoom failed"}),this.traceId),[2,{code:g}])}}))}))}}),n}(Ca);!function(e){e[e.ROOM=1]="ROOM",e[e.PERSON=2]="PERSON"}(Sa||(Sa={}));var ya,La,Pa,Na="PEER_CONNECTION_CLOSED_BY_EXCEPTION",Aa="USER_JOIN",wa="USER_LEAVE",Da="TRACKS_PUBLISH",ka="TRACKS_UNPUBLISH",Ua="AUDIO_MUTE_CHANGE",Ma="VIDEO_MUTE_CHANGE",xa="CDN_ENABLE_CHANGE",ja="USER_STATE_CHANGE",Ba=function(e){function t(t,r,n,i,o,a,s,c){var u=e.call(this)||this;return Object.defineProperty(u,"logger",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(u,"service",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(u,"context",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(u,"runtime",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(u,"peer",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(u,"store",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(u,"polarisReport",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(u,"reportMediaActionLogger",{enumerable:!0,configurable:!0,writable:!0,value:c}),Object.defineProperty(u,"getPushOtherRooms",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),u}return r(t,e),t}(e.EventEmitter);!function(e){e.PUBLISH="publish",e.SUBSCRIBE="subscribe"}(ya||(ya={})),function(e){e.BEGIN="begin",e.END="end"}(La||(La={})),function(e){e[e.SPREAD=0]="SPREAD",e[e.NO_SPREAD=-1]="NO_SPREAD"}(Pa||(Pa={}));var Va,Fa=function(e){function t(t,r,n){var i=e.call(this)||this;return Object.defineProperty(i,"reqBody",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(i,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"isNeedUpdateMsas",{enumerable:!0,configurable:!0,writable:!0,value:n}),i}return r(t,e),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n;return s(this,void 0,void 0,(function(){var r,i,o,s,u,l,d,_,p,f;return c(this,(function(c){switch(c.label){case 0:return r=e.service,i=e.context,[4,r.exchange(t.getRTCRequestHeader(),this.reqBody,this.traceId,this.isNeedUpdateMsas)];case 1:return o=c.sent(),s=o.code,u=o.data,l=o.qualityMsList,d={code:s,data:{data:u,qualityMsList:l}},_=null===(n=null==u?void 0:u.urls)||void 0===n?void 0:n.pull_url,t.roomMode===exports.RTCMode.LIVE&&_&&(p=JSON.parse(_),t.setCDNUris(p),(null==p?void 0:p.broadcast)===Pa.SPREAD&&(t.setCDNEnabel(!0),f=a(a({},p),{enableInnerCDN:!0}),Ya(i,t.roomId,f))),[2,d]}}))}))}}),t}(Ca);!function(e){e.PUB="pub",e.UNPUB="unpub",e.SUB="sub",e.UNSUB="unsub"}(Va||(Va={}));var Ja=function(t){function n(e,r,n,i,o){void 0===i&&(i=Va.SUB);var a=t.call(this)||this;return Object.defineProperty(a,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(a,"forceReq",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"fromCommand",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(a,"unsubTracks",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(a,"_actionStartTime",{enumerable:!0,configurable:!0,writable:!0,value:Date.now()}),Object.defineProperty(a,"_trackMediaMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),a}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.UPDATE_SUBSCRIBE_LIST},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"_dealSubscribeResult",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){var a=null==n?void 0:n.map((function(e){return"".concat(e.msid,"_").concat(e.mediaType)})),s=r.filter((function(e){return null==a?void 0:a.includes(e.track.getTrackId())})),c=r.filter((function(e){return!(null==a?void 0:a.includes(e.track.getTrackId()))}));t.info(i.L_ABSTRACT_ROOM_SUBSCRIBE_R,JSON.stringify({status:o.SUCCESSED,subSuccessTrackIds:a,failedList:c}),this.traceId);var u=e.getRemoteTracks(),l=function(e){var t=s.some((function(t){return t.track.getTrackId()===e}));u[e].__innerSetSubscribed(t);var r=s.some((function(t){return t.track.getTrackId()===e&&t.subTiny}));u[e].isVideoTrack()&&u[e].__innerSetIsTinyTrack(r)};for(var d in u)l(d);return e.resetSubscribedList(s),c}}),Object.defineProperty(n.prototype,"_getParams",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=this,o=r.map((function(e){return e instanceof tt?{track:e}:a({},e)})),s={};return o=o.filter((function(r){var o=r.track.getTrackId();return e.getRemoteTrack(o)?!s[o]&&(s[o]=!0,!0):(t.warn(i.L_UPDATE_SUBSCRIBELIST_COMMAND_P,"track cannot found in room -> trackId: ".concat(o),n.traceId),!1)})).map((function(e){return a({},e)}))}}),Object.defineProperty(n.prototype,"_validateParams",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return e.validate("tracks",r,(function(){return e.isArray(r)&&r.every((function(e){return e instanceof tt||e.track instanceof tt}))}),!0)?{code:exports.RCRTCCode.SUCCESS}:(t.warn(i.L_UPDATE_SUBSCRIBELIST_COMMAND_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"tracks is invalid"}),this.traceId),{code:exports.RCRTCCode.PARAMS_ERROR})}}),Object.defineProperty(n.prototype,"_reportPubOrSubQualityData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){(null==r?void 0:r.length)&&e.reportPubOrSubQualityData(this.fromCommand,this._actionStartTime,r,t,this._trackMediaMap)}}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,s,u,l,d,_,p,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L=this;return c(this,(function(c){switch(c.label){case 0:if(n=e.logger,s=e.peer,u=e.reportMediaActionLogger,this._actionStartTime=Date.now(),d=(l=this).tracks,_=l.forceReq,p=t.roomId,n.info(i.L_UPDATE_SUBSCRIBELIST_COMMAND_T,"roomId: ".concat(p,", forceReq: ").concat(_,", trackIds: ").concat(d.map(Lt)),this.traceId),(f=this._validateParams(n,d).code)!==exports.RCRTCCode.SUCCESS)return[2,{code:f}];if(h=this._getParams(t,n,d),b=t.getSubscribedList().map((function(e){return a({},e)})),!_){if(!es(h,b))return n.warn(i.L_UPDATE_SUBSCRIBELIST_COMMAND_R,JSON.stringify({status:o.SUCCESSED,msg:"subscribe list unchanged"}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS}];b.length&&(R=b.map((function(e){return e.track})),n.warn(i.L_CLEAR_UNSUBSCRIBE_LIST_O,JSON.stringify({list:R.map((function(e){return e.getTrackId()}))}),this.traceId),g=t.getSubscribedList().filter((function(e){return R.every((function(t){return t.getTrackId()!==e.track.getTrackId()}))})),t.resetSubscribedList(g))}return s.__reportR3R4ToPolaris(),s.clearReTryExchangeTimer(),s.updateSubRemoteTracks(h.map((function(e){return e.track}))),[4,Ka(h,!1,s,t)];case 1:return(m=c.sent()).pushOtherRooms=e.getPushOtherRooms(),[4,new Fa(m,this.traceId,!0).execute(e,t,r)];case 2:return C=c.sent(),d.forEach((function(e){var t=e instanceof tt?e.getTrackId():e.track.getTrackId();L._trackMediaMap[t]=C.data.qualityMsList||[]})),v=this.fromCommand===Va.SUB?d:this.unsubTracks,C.code!==exports.RCRTCCode.SUCCESS?(this._reportPubOrSubQualityData(u,C.code,v),n.error(i.L_UPDATE_SUBSCRIBELIST_COMMAND_R,JSON.stringify({status:o.FAILED,code:C.code}),this.traceId),[2,{code:C.code}]):(O=C.data.data,T=O.sdp,E=O.resultCode,S=O.subscribedList,E!==exports.RCRTCCode.SUCCESS?(this._reportPubOrSubQualityData(u,E,v),n.error(i.L_UPDATE_SUBSCRIBELIST_COMMAND_R,JSON.stringify({status:o.FAILED,code:E}),this.traceId),[2,{code:E}]):(u.setPubOrSubSuccessTime(Date.now()),[4,s.setRemoteAnswer(T.sdp)]));case 3:return I=c.sent(),this._reportPubOrSubQualityData(u,I,v),I!==exports.RCRTCCode.SUCCESS?[2,{code:I}]:[2,(y=this._dealSubscribeResult(t,n,h,S)).length?{code:exports.RCRTCCode.SUCCESS,data:y}:{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),n}(Ca),Ga=function(t){function n(e,r){var n=t.call(this)||this;return Object.defineProperty(n,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(n,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.UNSUBSCRIBE},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var s,u,l,d;return c(this,(function(c){return s=t.logger,u=t.polarisReport,l=this.tracks,e.validate("tracks",l,(function(){return e.isArray(l)&&l.length>0&&l.every((function(e){return e instanceof tt}))}),!0)?(s.info(i.L_ABSTRACT_ROOM_UNSUBSCRIBE_T,JSON.stringify({unSubscribeTrackIds:l.map(Lt)}),this.traceId),d=r.getSubscribedList().map((function(e){return a({},e)})).filter((function(e){return l.every((function(t){return t.getTrackId()!==e.track.getTrackId()}))})),u.sendR2(ya.SUBSCRIBE,La.END,l.map((function(e){return e.getTrackId()}))),[2,new Ja(d,!1,this.traceId,Va.UNSUB,this.tracks).execute(t,r,n)]):(s.warn(i.L_ABSTRACT_ROOM_UNSUBSCRIBE_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"}),this.traceId),[2,{code:exports.RCRTCCode.PARAMS_ERROR}])}))}))}}),n}(Ca),Ha=function(e){function t(t){var r=e.call(this)||this;return Object.defineProperty(r,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:t}),r}return r(t,e),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,o,a;return c(this,(function(s){switch(s.label){case 0:return n=e.logger,o=this.tracks,a=n.createTraceId(),n.info(i.L_USER_LEFT_UNSUBSCRIBE_O,void 0,a),[4,new Ga(o,a).execute(e,t,r)];case 1:return s.sent(),o.forEach((function(e){e.__innerDestroy(),t.removeRemoteTrack(e.getTrackId())})),e.emit(ka,o),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),t}(Ca);function Ka(e,t,r,n){return s(this,void 0,void 0,(function(){var i;return c(this,(function(o){switch(o.label){case 0:return[4,r.createOffer(t)];case 1:return i=o.sent(),[2,{sdp:i,extend:JSON.stringify({resolutionInfo:r.getOutboundVideoInfo()}),subscribeList:e.filter((function(e){var t=e.track.getTrackId(),r=dt(t).userId,i=n.getResourcesByUserId(r);if(!i)return!1;var o=i.filter((function(e){return t==="".concat(e.msid,"_").concat(e.mediaType)})).length;return o})).map((function(e){return{simulcast:e.subTiny?qi.TINY:qi.NORMAL,resolution:"",uri:n.getPublishedResourceByTrackId(e.track.getTrackId()).uri}})),switchstream:!1}]}}))}))}function Wa(t,r,n){return s(this,void 0,void 0,(function(){var a,s;return c(this,(function(c){switch(c.label){case 0:return a=t.logger.createTraceId(),t.logger.info(i.L_LIVING_ROOM_SPREAD_CDN_INFO_T,JSON.stringify({CDNUris:n}),a),[4,t.setRTCCDNUris(r,Tt.TOTAL_CONTENT_RESOURCE,JSON.stringify([n]))];case 1:return(s=c.sent())!==e.ErrorCode.SUCCESS?(t.logger.error(i.L_LIVING_ROOM_SPREAD_CDN_INFO_R,"status: ".concat(o.FAILED,", code: ").concat(s),a),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(t.logger.info(i.L_LIVING_ROOM_SPREAD_CDN_INFO_R,"status: ".concat(o.SUCCESSED),a),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}function Ya(t,r,n){return s(this,void 0,void 0,(function(){var a,s;return c(this,(function(c){switch(c.label){case 0:return a=t.logger.createTraceId(),t.logger.info(i.L_LIVING_ROOM_SET_ROOM_CDN_INFO_T,"CDNUris: ".concat(n),a),[4,t.setRTCData(r,"cdn_uris",JSON.stringify([n]),!0,Sa.ROOM)];case 1:return(s=c.sent())!==e.ErrorCode.SUCCESS?(t.logger.error(i.L_LIVING_ROOM_SET_ROOM_CDN_INFO_R,"status: ".concat(o.FAILED,", code: ").concat(s),a),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(t.logger.info(i.L_LIVING_ROOM_SET_ROOM_CDN_INFO_R,"status: ".concat(o.SUCCESSED),a),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}function za(e,t){return s(this,void 0,void 0,(function(){var r,n,i;return c(this,(function(o){switch(o.label){case 0:return r=t.roomId,n=Object.assign({},t.getCDNUris(),{enableInnerCDN:t.getCDNEnable()}),[4,Promise.all([Wa(e,r,n),Ya(e,r,n)])];case 1:return i=o.sent(),[2,i.every((function(e){return e.code===exports.RCRTCCode.SUCCESS}))?{code:exports.RCRTCCode.SUCCESS}:{code:exports.RCRTCCode.SIGNAL_ERROR}]}}))}))}var qa=function(e,t,r,n){return s(void 0,void 0,void 0,(function(){var i,o,a,s,u,l,d;return c(this,(function(c){switch(c.label){case 0:for(a in i=e.crtUserId,o=[],n)o.push(a);s=0,c.label=1;case 1:return s<o.length?(u=o[s])===i?[3,3]:(l=n[u]).length?(d=l.map((function(t){return e.getRemoteTrack(lt(t))})),[4,new Ha(d).execute(t,e,r)]):[3,3]:[3,4];case 2:c.sent(),c.label=3;case 3:return s++,[3,1];case 4:return[2]}}))}))};function Qa(t,r,n,a,u,l){return s(this,void 0,void 0,(function(){var s,d,_,p,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L;return c(this,(function(c){switch(c.label){case 0:for(s=n.logger,d=r.roomId,_=r.roomMode,p=[],f={},h={},b={},R=yt(t,d,s,l),g=Object.keys(R),m=r.getAllUserIds(),C=g.length-1;C>=0;C-=1)v=g[C],-1!==(O=m.indexOf(v))?(T=r.getResourcesByUserId(v),E=R[v],S=ft(T,E,!0),I=S.publishedList,y=S.modifiedList,L=S.unpublishedList,f[v]=pt(I),h[v]=pt(L),b[v]=pt(y),m.splice(O,1)):(p.push(v),f[v]=pt(R[v]));return m.length&&m.forEach((function(e){r.removeResourcesByUserId(e)})),r.assignRoomData(R),m.length?[4,Za(m,n,r,a,l)]:[3,2];case 1:c.sent(),n.emit(wa,m),c.label=2;case 2:return p.length&&n.emit(Aa,p),[4,qa(r,n,a,h)];case 3:return c.sent(),function(e,t,r){var n=t.logger;Object.keys(r).forEach((function(i){var o=r[i];if(0!==o.length){var a=o.map((function(t){var r=lt(t),i=dt(r),o=i.userId,a=i.tag,s=i.mediaType===exports.RCMediaType.AUDIO_ONLY?new rt(n,a,o):new nt(n,a,o);return e.addRemoteTrack(s),s.__innerSetRemoteMuted(0===t.state),s}));t.emit(Da,a)}}))}(r,n,f),function(e,t,r){Object.keys(r).forEach((function(n){r[n].forEach((function(r){var n=lt(r),i=e.getRemoteTrack(n);i.__innerSetRemoteMuted(0===r.state),i.isAudioTrack()?t.emit(Ua,i):t.emit(Ma,i)}))}))}(r,n,b),_===e.RTCMode.LIVE&&function(e,t,r,n){var a;if(!n)return void r.warn(i.L_LIVING_ROOM_RECONNECTED_R,JSON.stringify({status:o.FAILED,code:"",msg:"cdn_uris not found"}));var s=JSON.parse(n),c=(null===(a=t.getCDNUris())||void 0===a?void 0:a.enableInnerCDN)!==s.enableInnerCDN;t.setCDNUris(s),c&&e.emit(xa,s.enableInnerCDN)}(n,r,s,u),[2]}}))}))}function Za(e,t,r,n,i){return s(this,void 0,void 0,(function(){var o,a;return c(this,(function(s){switch(s.label){case 0:return o=[],a=[],e.forEach((function(e){o.push.apply(o,d([],l(r.getRemoteTracksByUserId(e)),!1)),a.push(e)})),o.length?[4,new Ga(o,i).execute(t,r,n)]:[3,2];case 1:s.sent(),o.forEach((function(e){return r.removeRemoteTrack(e.getTrackId())})),s.label=2;case 2:return a.length&&a.forEach((function(e){return r.removeResourcesByUserId(e)})),[2]}}))}))}var Xa,$a=function(e,t,r){var n=e.split("\r\nm"),i=r===exports.RCMediaType.AUDIO_ONLY?"audio":"video",o=n.filter((function(e){return e.includes("=".concat(i))&&e.includes(t)}))[0],a=new RegExp("a=ssrc:(.*?) msid:".concat(t)),s=o.match(a);return s?s[1]:""},es=function(e,t){var r=!1;return e.forEach((function(e){var n=t.findIndex((function(t){return t.track.getTrackId()===e.track.getTrackId()}));-1!==n?t.splice(n,1)[0].subTiny!==e.subTiny&&(r=!0):r=!0})),t.length&&(r=!0),r},ts=function(e){function t(t,r){var n=e.call(this)||this;return Object.defineProperty(n,"msgContent",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(n,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(t,e),Object.defineProperty(t.prototype,"kind",{get:function(){return la.PARSE_USERSTATE},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"priority",{get:function(){return da.NORMAL},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_isPKRoomUser",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n;try{for(var i=u(t),o=i.next();!o.done;o=i.next()){var a=o.value;if(a.extra&&a.extra.roomId!==e.roomId)return!0;if(1===Number(a.state)&&!e.getRemoteUserIds().includes(a.userId))return!0}}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return!1}}),Object.defineProperty(t.prototype,"_dealAddUser",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,o){var a=e.getResourcesByUserId(o);a||(n?r.upgrade.push(o):r.joined.push(o),t.info(i.L_PARSE_USERSTATE_COMMAND_R,JSON.stringify({userId:o,msg:"user ".concat(n?"upgrade":"joined")}),this.traceId)),e.setResourcesByUserId(o,a||[])}}),Object.defineProperty(t.prototype,"_dealReduceUser",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,o){t.info(i.L_PARSE_USERSTATE_COMMAND_R,JSON.stringify({userId:o,msg:"user ".concat(n?"downgrade":"left")}),this.traceId),n?r.downgrade.push(o):r.left.push(o)}}),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a,s=this;return c(this,(function(c){switch(c.label){case 0:return n=e.logger,i={joined:[],left:[],upgrade:[],downgrade:[]},0===(o=this.msgContent.users).length?[2,{code:exports.RCRTCCode.SUCCESS,data:i}]:this._isPKRoomUser(t,o)?[2,{code:exports.RCRTCCode.SUCCESS,data:i}]:(o.forEach((function(e){var r=e.userId;0===Number(e.state)?s._dealAddUser(t,n,i,e.switchRoleType,r):s._dealReduceUser(t,n,i,e.switchRoleType,r)})),(a=d(d([],l(i.left),!1),l(i.downgrade),!1)).length?[4,Za(a,e,t,r,this.traceId)]:[3,2]);case 1:c.sent(),c.label=2;case 2:return[2,{code:exports.RCRTCCode.SUCCESS,data:i}]}}))}))}}),t}(Ca),rs=function(e){function t(t,r,n,i,o){var a=e.call(this)||this;return Object.defineProperty(a,"msgContent",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(a,"messageType",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"senderId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(a,"sentTime",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(a,"_publishedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(a,"_unpublishedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(a,"_modifiedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(a,"_nowResources",{enumerable:!0,configurable:!0,writable:!0,value:[]}),a}return r(t,e),Object.defineProperty(t.prototype,"kind",{get:function(){return la.PARSE_REMOTERES},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"priority",{get:function(){return da.NORMAL},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_dealPublishList",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l,d,_,p=this;return c(this,(function(c){switch(c.label){case 0:return n=e.logger,a=e.reportMediaActionLogger,s=this._nowResources.map(lt),u=[],l=[],this._publishedList.forEach((function(e){var r=lt(e),i=s.indexOf(r),o=dt(r),a=o.userId,c=o.tag,d=o.mediaType;i>-1?p._nowResources[i]=e:p._nowResources.push(e);var _=t.getRemoteTrack(r);_?_.isSubscribed()&&u.push(_):(_=d===exports.RCMediaType.AUDIO_ONLY?new rt(n,c,a):new nt(n,c,a),t.addRemoteTrack(_),l.push(_)),_.__innerSetRemoteMuted(0===e.state)})),u.length?(d=u.map((function(e){return e.getTrackId()})),[4,new Ja(u,!0,this.traceId).execute(e,t,r)]):[3,2];case 1:(_=c.sent().code)!==exports.RCRTCCode.SUCCESS&&n.error(i.L_RESUB_REPUB_RES_R,JSON.stringify({status:o.FAILED,trackIds:d,code:_}),this.traceId),c.label=2;case 2:return e.emit(Da,l),a.reportQualityRecvPubMsgData(this.sentTime,this.senderId),[2]}}))}))}}),Object.defineProperty(t.prototype,"_dealUnpublishList",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a;return c(this,(function(s){switch(s.label){case 0:for(n=this._unpublishedList.map(lt),i=this._nowResources.length-1;i>=0;i-=1)o=this._nowResources[i],n.includes(lt(o))&&this._nowResources.splice(i,1);return a=this._unpublishedList.map((function(e){var r=lt(e);return t.getRemoteTrack(r)})),[4,new Ha(a).execute(e,t,r)];case 1:return s.sent(),[2]}}))}))}}),Object.defineProperty(t.prototype,"_dealModifiedList",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,i,o,a,s,l,d,_;return c(this,(function(c){r=this._nowResources.map(lt);try{for(n=u(this._modifiedList),i=n.next();!i.done;i=n.next())o=i.value,a=lt(o),s=r.indexOf(a),this._nowResources[s].state=o.state,(l=t.getRemoteTrack(a)).__innerSetRemoteMuted(0===o.state),l.isAudioTrack()?e.emit(Ua,l):e.emit(Ma,l)}catch(e){d={error:e}}finally{try{i&&!i.done&&(_=n.return)&&_.call(n)}finally{if(d)throw d.error}}return[2]}))}))}}),Object.defineProperty(t.prototype,"_updateCDNUris",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n,i=this.msgContent.cdn_uris[0],o=(null===(r=t.getCDNUris())||void 0===r?void 0:r.enableInnerCDN)!==i.enableInnerCDN;t.setCDNUris(i),o&&e.emit(xa,!!(null===(n=t.getCDNUris())||void 0===n?void 0:n.enableInnerCDN))}}),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a,s,u,_,p,f,h;return c(this,(function(c){switch(c.label){case 0:if(n=this.msgContent.uris,this._publishedList=[],this._unpublishedList=[],this._modifiedList=[],o=this.senderId,a=this.messageType,!t.getRemoteUserIds().includes(o))return[2,{code:exports.RCRTCCode.SUCCESS}];switch(this._nowResources=t.getResourcesByUserId(o)||[],a){case Tt.MODIFY:(s=this._modifiedList).push.apply(s,d([],l(n),!1));break;case Tt.PUBLISH:(u=this._publishedList).push.apply(u,d([],l(n),!1));break;case Tt.UNPUBLISH:(_=this._unpublishedList).push.apply(_,d([],l(n),!1));break;case Tt.TOTAL_CONTENT_RESOURCE:i=ft(this._nowResources,n),(p=this._publishedList).push.apply(p,d([],l(i.publishedList),!1)),(f=this._unpublishedList).push.apply(f,d([],l(i.unpublishedList),!1)),(h=this._modifiedList).push.apply(h,d([],l(i.modifiedList),!1))}return this._publishedList.length?[4,this._dealPublishList(e,t,r)]:[3,2];case 1:c.sent(),c.label=2;case 2:return this._unpublishedList.length?[4,this._dealUnpublishList(e,t,r)]:[3,4];case 3:c.sent(),c.label=4;case 4:return this._modifiedList.length?[4,this._dealModifiedList(e,t)]:[3,6];case 5:c.sent(),c.label=6;case 6:return t.setResourcesByUserId(o,this._nowResources),t.roomMode!==exports.RTCMode.LIVE?[2,{code:exports.RCRTCCode.SUCCESS}]:this.msgContent.cdn_uris?(this._updateCDNUris(e,t),[2,{code:exports.RCRTCCode.SUCCESS}]):[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),t}(Ca),ns=function(t){function n(e,r,n){var i=t.call(this)||this;return Object.defineProperty(i,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(i,"forceReq",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:n}),i}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.SUBSCRIBE},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f,h,b;return c(this,(function(c){return s=t.logger,u=t.polarisReport,d=(l=this).tracks,_=l.forceReq,e.validate("tracks",d,(function(){return e.isArray(d)&&d.length>0&&d.every((function(e){return e instanceof tt||e.track instanceof tt}))}),!0)?(s.info(i.L_ABSTRACT_ROOM_SUBSCRIBE_T,JSON.stringify({trackIds:d.map(Lt),forceReq:_}),this.traceId),p=r.getSubscribedList().map((function(e){return a({},e)})),f=d.map((function(e){return e instanceof tt?{track:e}:e})),h=!1,b=[],f.forEach((function(e){var t=e.track.getTrackId();b.push(t);var r=p.find((function(e){return e.track.getTrackId()===t}));r&&r.subTiny===e.subTiny||(r?r.subTiny=e.subTiny:p.push(e),h=!0)})),h||_?(u.sendR2(ya.SUBSCRIBE,La.BEGIN,b),[2,new Ja(p,!0,this.traceId).execute(t,r,n)]):(s.warn(i.L_ABSTRACT_ROOM_SUBSCRIBE_R,JSON.stringify({status:o.SUCCESSED,msg:"repeat subscribe"}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS}])):(s.error(i.L_ABSTRACT_ROOM_SUBSCRIBE_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"}),this.traceId),[2,{code:exports.RCRTCCode.PARAMS_ERROR}])}))}))}}),n}(Ca),is=function(t){function n(e){var r=t.call(this)||this;return Object.defineProperty(r,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(r,"_traceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_actionStartTime",{enumerable:!0,configurable:!0,writable:!0,value:Date.now()}),Object.defineProperty(r,"_trackMediaMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),r}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.PUBLISH},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"_removePubFailedTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){e.forEach((function(e){var r=e instanceof Ke?e:e.track;t.removeLocalTrackById(r.getTrackId())}))}}),Object.defineProperty(n.prototype,"_addLocalTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,o,a,s,l,d,_,p;return c(this,(function(f){switch(f.label){case 0:r=[],n=function(e){var n,a,s,u,l,d,_,p,f,h,b,R,g,m,C,v,O,T;return c(this,(function(c){switch(c.label){case 0:if(a=(n=e instanceof Ke?{pubTiny:!1,track:e}:e).track,s=n.pubTiny,u=ct(a.__innerGetMediaStreamTrack()),l=u.width,d=u.height,!a.isVideoTrack())return[3,5];if(_=function(e,t){var r=e/t;return Object.keys(Ae).map((function(e){return Ae[e]})).filter((function(e){return e.width/e.height===r})).sort((function(e,t){return e.width-t.width}))[0]||Ae.W176_H144}(l,d),p=_.width,f=_.height,a.__innerGetMediaStreamTrack().applyConstraints({width:p,height:f}),a.on(Ke.__INNER_SEND_TWO_SECONDS_VIDEO__,(function(){a.__innerGetMediaStreamTrack().applyConstraints({width:l,height:d})})),!s)return[3,5];h=void 0,c.label=1;case 1:return c.trys.push([1,3,,4]),h=a.__innerGetMediaStreamTrack().clone(),b=s.frameRate||exports.RCFrameRate.FPS_15,R=s.resolution||exports.RCResolution.W176_H144,g=bt(R),m=g.width,C=g.height,v=mt(b),[4,h.applyConstraints({width:m,height:C,frameRate:v})];case 2:return c.sent(),[3,4];case 3:return O=c.sent(),null==h||h.stop(),o._logger.warn(i.L_ABSTRACT_ROOM_PUBLISH_E,"pubTiny failed -> id: ".concat(a.getTrackId(),", msg: ").concat(O.message),o._traceId),[2,"break"];case 4:return T=new Ye(o._logger,a.getTag(),a.getUserId(),h,!0),r.push(T),t.addLocalTrack(T),[3,5];case 5:return t.addLocalTrack(a),[2]}}))},o=this,f.label=1;case 1:f.trys.push([1,6,7,8]),a=u(e),s=a.next(),f.label=2;case 2:return s.done?[3,5]:(l=s.value,[5,n(l)]);case 3:if("break"===f.sent())return[3,5];f.label=4;case 4:return s=a.next(),[3,2];case 5:return[3,8];case 6:return d=f.sent(),_={error:d},[3,8];case 7:try{s&&!s.done&&(p=a.return)&&p.call(a)}finally{if(_)throw _.error}return[7];case 8:return[2,r]}}))}))}}),Object.defineProperty(n.prototype,"__publish",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f,h,b,R,g,m=this;return c(this,(function(c){switch(c.label){case 0:return s=e.peer,u=e.reportMediaActionLogger,t.roomId,l=[],r.forEach((function(e){var t=(e instanceof Ke?{track:e}:e).track;l.push(t)})),r.sort((function(e,t){return(e instanceof Ke?{track:e}:e).track.getBitrate().max-(t instanceof Ke?{track:t}:t).track.getBitrate().max})),s.getLocalTracks().length+function(e,t){var r=0;return e.forEach((function(e){var n=e instanceof Ke?e.getTrackId():e.track.getTrackId();t.getLocalTrack(n)||(e instanceof Ke?r++:e.pubTiny&&e.track.isVideoTrack()&&(r+=2))})),r}(r,s)>10?(this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PUBLISH_TRACK_LIMIT_EXCEEDED,trackIds:r.map(Lt),msg:"publish track limit exceeded"}),this._traceId),[2,{code:exports.RCRTCCode.PUBLISH_TRACK_LIMIT_EXCEEDED,tracks:l}]):[4,this._addLocalTracks(r,s)];case 1:return d=c.sent(),s.clearReTryExchangeTimer(),[4,Ka(t.getSubscribedList(),!1,s,t)];case 2:return(_=c.sent()).pushOtherRooms=e.getPushOtherRooms(),[4,new Fa(_,this._traceId,!0).execute(e,t,n)];case 3:return p=c.sent(),l.forEach((function(e){var t=e.getTrackId();m._trackMediaMap[t]=p.data.qualityMsList||[]})),p.code!==exports.RCRTCCode.SUCCESS?(u.reportPubOrSubQualityData(Va.PUB,this._actionStartTime,l,p.code,this._trackMediaMap),this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_E,JSON.stringify({status:o.FAILED,tracks:r.map(Lt),code:p.code,msg:"exchange failed"}),this._traceId),this._removePubFailedTracks(r,s),[2,{code:p.code,tracks:l}]):(f=p.data.data,h=f.sdp,b=f.resultCode,R=f.message,b!==exports.RCRTCCode.SUCCESS?(u.reportPubOrSubQualityData(Va.PUB,this._actionStartTime,l,b,this._trackMediaMap),this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_E,JSON.stringify({status:o.FAILED,trackIds:r.map(Lt),code:b,msg:"exchange inner failed: ".concat(R)}),this._traceId),this._removePubFailedTracks(r,s),[2,{code:b,tracks:l}]):(u.setPubOrSubSuccessTime(Date.now()),[4,s.setRemoteAnswer(h.sdp,!0)]));case 4:return(g=c.sent())!==exports.RCRTCCode.SUCCESS?(u.reportPubOrSubQualityData(Va.PUB,this._actionStartTime,l,g,this._trackMediaMap),this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_E,JSON.stringify({status:o.FAILED,trackIds:r.map(Lt),code:g,msg:"set remote answer error"}),this._traceId),[2,{code:g,tracks:l}]):(d.length&&this._updateTinyTrackIdSSRCMap(t,_.sdp.sdp,d),[2,a(a({code:b},p.data),{tracks:l})])}}))}))}}),Object.defineProperty(n.prototype,"_updateTinyTrackIdSSRCMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){r.forEach((function(r){var n=$a(t,r.getStreamId(),exports.RCMediaType.VIDEO_ONLY);e.setTrackIdSSRCMap(Number(n),r.getTrackId())}))}}),Object.defineProperty(n.prototype,"_dealPublishRes",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var s,u,_,p,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L,P,N,A,w;return c(this,(function(c){switch(c.label){case 0:return s=n.polarisReport,u=n.context,_=n.peer,p=n.reportMediaActionLogger,f=r.crtUserId,h=r.roomId,b="",R=r.getResourcesByUserId(f),g=d([],l(R),!1),[],C=t.tracks,t.code!==exports.RCRTCCode.SUCCESS?[2,{code:t.code}]:(v=t.data,O=v.publishList,T=v.urls,E=v.mcuPublishList,b=null==T?void 0:T.liveUrl,O.map((function(e){return a({tag:e.msid.split("_").pop(),state:_.getLocalTrack(lt(e)).isLocalMuted()?0:1},e)})).forEach((function(e){var t=function(e,t){for(var r=!1,n=0,i=0;i<t.length;i++){var o=t[i];if("".concat(e.msid,"_").concat(e.mediaType)==="".concat(o.msid,"_").concat(o.mediaType)){r=!0,n=i;break}}return{isInclude:r,index:n}}(e,g),r=t.isInclude,n=t.index;r?g.splice(n,1,e):g.push(e)})),S=(null==E?void 0:E.map((function(e){return a({tag:e.msid.split("_").pop(),state:1},e)})))||[],m=S,I=ft(R,g).publishedList,y=a(a({},r.getCDNUris()),{enableInnerCDN:r.getCDNEnable()}),L=y&&y.broadcast===Pa.SPREAD?JSON.stringify([y]):"",P=Date.now(),[4,u.setRTCTotalRes(h,[it(Tt.PUBLISH,I)],ot(g),Tt.TOTAL_CONTENT_RESOURCE,ot(m),L)]);case 1:return N=c.sent(),p.reportPubOrSubQualityData(Va.PUB,this._actionStartTime,C,N,this._trackMediaMap,[{dur:Date.now()-P,cod:N}]),N!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_R,JSON.stringify({status:o.FAILED,code:N,msg:"send publish streams notification failed"}),this._traceId),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(r.setResourcesByUserId(f,g),A=I.map((function(e){return lt(e)})),s.sendR2(ya.PUBLISH,La.BEGIN,A),I.forEach((function(e){_.getLocalTrack("".concat(e.msid,"_").concat(e.mediaType)).__innerSetPublished(!0)})),w={code:exports.RCRTCCode.SUCCESS},b&&(w.liveUrl=b),[2,w])}}))}))}}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l,d=this;return c(this,(function(c){switch(c.label){case 0:return a=t.logger,s=t.peer,this._traceId=a.createTraceId(),this._logger=a,this._actionStartTime=Date.now(),u=this.tracks,e.validate("tracks",u,(function(){return e.isArray(u)&&u.length>0&&u.every((function(e){return e instanceof Ke||e.track instanceof Ke}))}),!0)?(this._logger.info(i.L_ABSTRACT_ROOM_PUBLISH_T,JSON.stringify({trackIds:u.map(Lt)})),(u=u.filter((function(e){var t=(e instanceof Ke?{track:e}:e).track,r=t.isDestroyed();return r&&d._logger.warn(i.L_ABSTRACT_ROOM_PUBLISH_E,"track '".concat(t.getTrackId(),"' has beem destroyed"),d._traceId),!r}))).length?(s.__reportR3R4ToPolaris(),s.clearReTryExchangeTimer(),[4,this.__publish(t,r,u,n)]):(this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PUBLISH_TRACKS_IS_INVALID,msg:"params tracks is empty"}),this._traceId),[2,{code:exports.RCRTCCode.PUBLISH_TRACKS_IS_INVALID}])):(this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"}),this._traceId),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return l=c.sent(),[4,this._dealPublishRes(l,r,t)];case 2:return[2,c.sent()]}}))}))}}),n}(Ca),os=function(t){function n(e){var r=t.call(this)||this;return Object.defineProperty(r,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(r,"_traceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_actionStartTime",{enumerable:!0,configurable:!0,writable:!0,value:Date.now()}),Object.defineProperty(r,"_trackMediaMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),r}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.UNPUBLISH},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"__unpublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f,h,b,R,g,m=this;return c(this,(function(c){switch(c.label){case 0:return s=e.peer,u=e.polarisReport,l=e.logger,d=e.reportMediaActionLogger,_=n.map((function(e){return e.getTrackId()})),0===_.map(t.getPublishedResourceByTrackId.bind(t)).filter((function(e){return!!e})).length?[2,{code:exports.RCRTCCode.SUCCESS,tracks:n}]:(_.forEach((function(e){return s.removeLocalTrackById(e)})),u.sendR2(ya.PUBLISH,La.END,_),s.clearReTryExchangeTimer(),[4,Ka(t.getSubscribedList(),!1,s,t)]);case 1:return p=c.sent(),(f=e.getPushOtherRooms()).length&&(p.pushOtherRooms=f),[4,new Fa(p,this._traceId,!0).execute(e,t,r)];case 2:return h=c.sent(),n.forEach((function(e){var t=e.getTrackId();m._trackMediaMap[t]=h.data.qualityMsList||[]})),h.code!==exports.RCRTCCode.SUCCESS?(d.reportPubOrSubQualityData(Va.UNPUB,this._actionStartTime,n,h.code,this._trackMediaMap),l.error(i.L_ABSTRACT_ROOM_UNPUBLISH_P,JSON.stringify({status:o.FAILED,code:h.code,trackIds:n.map(Lt),msg:"exchange failed"}),this._traceId),[2,{code:h.code,tracks:n}]):(b=h.data.data,R=b.resultCode,g=b.message,R!==exports.RCRTCCode.SUCCESS?(d.reportPubOrSubQualityData(Va.UNPUB,this._actionStartTime,n,h.data.data.resultCode,this._trackMediaMap),l.error(i.L_ABSTRACT_ROOM_UNPUBLISH_P,JSON.stringify({status:o.FAILED,code:R,trackIds:n.map(Lt),msg:"exchange inner failed: ".concat(g)}),this._traceId),[2,{code:R,tracks:n}]):[2,a(a({code:h.code},h.data),{tracks:n})])}}))}))}}),Object.defineProperty(n.prototype,"_dealUnpublishRes",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var s,u,_,p,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L,P;return c(this,(function(c){switch(c.label){case 0:return s=t.context,u=t.logger,_=t.peer,p=t.reportMediaActionLogger,f=s.getCurrentId(),h=r.roomId,b=[],[],g=n.tracks,m=n.code,C=n.data,m!==exports.RCRTCCode.SUCCESS?(u.error(i.L_ABSTRACT_ROOM_UNPUBLISH_R,JSON.stringify({code:m,msg:"unpublish failed"}),this._traceId),[2,{code:m}]):C?(v=C.mcuPublishList,O=g.map((function(e){return e.getTrackId()})),T=O.map(r.getPublishedResourceByTrackId.bind(r)).filter((function(e){return!!e})),b.push.apply(b,d([],l(T),!1)),E=v?v.map((function(e){return a({tag:e.msid.split("_").pop(),state:1},e)})):[],R=E,S=r.getResourcesByUserId(f),I=S.filter((function(e){return!b.includes(e)})),y=Date.now(),[4,s.setRTCTotalRes(h,[it(Tt.UNPUBLISH,b)],ot(I),Tt.TOTAL_CONTENT_RESOURCE,ot(R))]):(u.info(i.L_ABSTRACT_ROOM_UNPUBLISH_R,JSON.stringify({status:o.SUCCESSED,msg:"unpublish list is empty "})),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return L=c.sent(),p.reportPubOrSubQualityData(Va.UNPUB,this._actionStartTime,g,L,this._trackMediaMap,[{dur:Date.now()-y,cod:L}]),L!==e.ErrorCode.SUCCESS?(u.error(i.L_ABSTRACT_ROOM_UNPUBLISH_R,JSON.stringify({status:o.FAILED,code:L,msg:"send unpublish notification failed"}),this._traceId),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(u.info(i.L_ABSTRACT_ROOM_UNPUBLISH_R,JSON.stringify({status:o.SUCCESSED,code:exports.RCRTCCode.SUCCESS,msg:"unpublish success",unPubResourceIds:O}),this._traceId),P=n.data.sdp,[4,_.setRemoteAnswer(P.sdp)]);case 2:return c.sent(),r.setResourcesByUserId(f,I),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return a=t.logger,this._actionStartTime=Date.now(),s=r.crtUserId,u=this.tracks,this._traceId=a.createTraceId(),e.validate("tracks",u,(function(){return u.every((function(e){return e.getUserId()===s&&e instanceof Ke}))}),!0)?(a.info(i.L_ABSTRACT_ROOM_UNPUBLISH_T,JSON.stringify({trackIds:u.map(Lt)})),[4,this.__unpublish(t,r,n,u)]):(a.error(i.L_ABSTRACT_ROOM_UNPUBLISH_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"})),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return l=c.sent(),[4,this._dealUnpublishRes(t,r,l)];case 2:return[2,c.sent()]}}))}))}}),n}(Ca),as=function(t){function n(e){var r=t.call(this)||this;return Object.defineProperty(r,"localTrack",{enumerable:!0,configurable:!0,writable:!0,value:e}),r}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.LOCAL_TRACK_MUTE},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var n,a,s,l,d,_,p,f,h,b,R,g,m,C,v,O,T,E;return c(this,(function(c){switch(c.label){case 0:n=t.logger,a=t.context,s=this.localTrack,l=s.getTrackId(),d=r.crtUserId,_=r.roomId,p=!s.isLocalMuted(),f=n.createTraceId(),n.info(i.L_LOCAL_TRACK_SET_LOCAL_MUTED_SPREAD_T,JSON.stringify({enabled:p,trackId:this.localTrack.getTrackId()}),f),h=[{resourceId:l,enabled:p}],b=r.getResourcesByUserId(d),R=[],g=function(e){var t=lt(e),r=h.findIndex((function(e){return e.resourceId===t}));if(r>=0){var n=h[r].enabled;return e.state=n?1:0,R.push(e),"break"}};try{for(m=u(b),C=m.next();!C.done&&(v=C.value,"break"!==g(v));C=m.next());}catch(e){T={error:e}}finally{try{C&&!C.done&&(E=m.return)&&E.call(m)}finally{if(T)throw T.error}}return[4,a.setRTCTotalRes(_,[it(Tt.MODIFY,R)],ot(b),Tt.TOTAL_CONTENT_RESOURCE)];case 1:return(O=c.sent())!==e.ErrorCode.SUCCESS?(n.error(i.L_LOCAL_TRACK_SET_LOCAL_MUTED_SPREAD_R,JSON.stringify({status:o.FAILED,code:O,msg:"signal error"}),f),[2,{code:O}]):(n.info(i.L_LOCAL_TRACK_SET_LOCAL_MUTED_SPREAD_R,JSON.stringify({status:o.SUCCESSED}),f),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),n}(Ca),ss=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.RETRY_EXCHANGE},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"priority",{get:function(){return da.HIGH},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,o,a,s,u,l,d,_,p,f,h,b,R,g,m;return c(this,(function(c){switch(c.label){case 0:return n=e.logger,o=e.peer,a=e.context,s=n.createTraceId(),n.info(i.L_RETRY_EXCHANGE_COMMAND_T),u=a.getCurrentId(),[4,Ka(t.getSubscribedList(),!0,o,t)];case 1:return(l=c.sent()).pushOtherRooms=e.getPushOtherRooms(),[4,new Fa(l,s).execute(e,t,r)];case 2:return(d=c.sent()).code!==exports.RCRTCCode.SUCCESS?[2,{code:d.code}]:(_=d.data.data,p=_.sdp,(f=_.resultCode)!==exports.RCRTCCode.SUCCESS?[2,{code:f}]:(o.clearReTryExchangeTimer(),[4,o.setRemoteAnswer(p.sdp)]));case 3:return(h=c.sent())!==exports.RCRTCCode.SUCCESS?[2,{code:h}]:(b=d.data.data.publishList||[],R=this._diffPublishListChange(b,t,o,u),g=R.plus,m=R.minus,g.length||m.length?[4,this._spreadPublishListUri(e,u,g,m,s)]:[3,5]);case 4:c.sent(),c.label=5;case 5:return[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"_diffPublishListChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){var i=t.getResourcesByUserId(n),o=JSON.parse(JSON.stringify(i));e.forEach((function(e){var t,n=e.mediaType,i=e.msid,s=o.findIndex((function(e){var t=e.mediaType,r=e.msid;return n===t&&i===r}));if(-1===s){var c=a({tag:i.split("_").pop(),state:(null===(t=r.getLocalTrack(lt(e)))||void 0===t?void 0:t.isLocalMuted)?0:1},e);o.push(c)}else o[s].uri=e.uri}));var s=ft(i,o,!0),c=s.publishedList,u=s.unpublishedList;return t.setResourcesByUserId(n,o),{plus:c,minus:u}}}),Object.defineProperty(n.prototype,"_spreadPublishListUri",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a,u){return s(this,void 0,void 0,(function(){var s,l,d,_;return c(this,(function(c){switch(c.label){case 0:return s=t.store,l=t.logger,d=s.getResourcesByUserId(r),l.info(i.L_RETRY_EXCHANGE_SPREAD_T,JSON.stringify({plus:n,minus:a,allPublishList:d}),u),_=[],a.length&&_.push(it(Tt.UNPUBLISH,a)),n.length&&_.push(it(Tt.PUBLISH,n)),[4,t.context.setRTCTotalRes(s.roomId,_,ot(d),Tt.TOTAL_CONTENT_RESOURCE)];case 1:return c.sent()===e.ErrorCode.SUCCESS?l.info(i.L_RETRY_EXCHANGE_SPREAD_R,"status: ".concat(o.SUCCESSED),u):l.error(i.L_RETRY_EXCHANGE_SPREAD_R,"status: ".concat(o.FAILED),u),[2]}}))}))}}),n}(Ca);!function(e){e[e.JOIN=0]="JOIN",e[e.LEAVE=1]="LEAVE",e[e.OFFLINE=2]="OFFLINE",e[e.RESOURCECHANGE=3]="RESOURCECHANGE"}(Xa||(Xa={}));var cs,us,ls=function(t){function n(e,r,n,i){var o=t.call(this)||this;return Object.defineProperty(o,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(o,"_traceId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(o,"_context",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(o,"_targetPullVersion",{enumerable:!0,configurable:!0,writable:!0,value:i}),o}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.PULL_RTCROOM_STATUS},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,l,d,_,p,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L,P,N;return c(this,(function(c){switch(c.label){case 0:return a=t.logger,s=r.getRoomStatusVersion(),a.info(i.L_PULL_ROOM_STATUS_T,JSON.stringify({roomId:this._roomId,localVersion:s}),this._traceId),this._targetPullVersion&&this._targetPullVersion<=s?(a.info(i.L_PULL_ROOM_STATUS_R,JSON.stringify({status:o.SUCCESSED,msg:"the roomData has been pulled",localVersion:s,targetPullVersion:this._targetPullVersion}),this._traceId),[2,{code:e.ErrorCode.SUCCESS}]):[4,this._context.pullRTCRoomStatus(this._roomId,s)];case 1:return l=c.sent(),d=l.code,_=l.data,d!==e.ErrorCode.SUCCESS?(a.info(i.L_PULL_ROOM_STATUS_R,JSON.stringify({status:o.FAILED,code:d}),this._traceId),[2,{code:d}]):(f=(p=_).bFullStatus,h=p.version,b=p.usersData,R=p.roomStatus,a.info(i.L_PULL_ROOM_STATUS_R,JSON.stringify({bFullStatus:f,version:Pt(h),usersData:b,roomStatus:R}),this._traceId),r.setRoomStatusVersion(h),f?(g=function(e){var t={users:{}},r="";return e.forEach((function(e){var n,i,o=e.userId,a=e.userData;t.users[o]={};var s=null===(n=a.filter((function(e){return"uris"===e.key}))[0])||void 0===n?void 0:n.value,c=null===(i=a.filter((function(e){return"cdn_uris"===e.key}))[0])||void 0===i?void 0:i.value;r=c||r,t.users[o]={uris:s}})),{urisData:t,CDNUris:r&&JSON.stringify(JSON.parse(r)[0])}}(b),m=g.urisData,C=g.CDNUris,[4,Qa(m,r,t,n,C,this._traceId)]):[3,3]);case 2:return c.sent(),[2,{code:d}];case 3:c.trys.push([3,10,11,12]),v=u(R),O=v.next(),c.label=4;case 4:return O.done?[3,9]:(T=O.value).event!==Xa.RESOURCECHANGE?[3,6]:(E=function(e){var t,r,n=e.userId,i=e.userData,o=function(e){return e.some((function(e){return"uris"===e.key||"cdn_uris"===e.key}))}(i);if(o){var a=null===(t=i.filter((function(e){return"uris"===e.key}))[0])||void 0===t?void 0:t.value,s=null===(r=i.filter((function(e){return"cdn_uris"===e.key}))[0])||void 0===r?void 0:r.value;return{userId:n,content:{uris:a?JSON.parse(a):[],cdn_uris:s&&JSON.parse(s)}}}}(T),E?(I=E.content,(S=E.userId)===r.crtUserId?[3,8]:[4,new rs(I,Tt.TOTAL_CONTENT_RESOURCE,S,this._traceId).execute(t,r,n)]):[3,8]);case 5:return c.sent(),[3,8];case 6:return I=function(e){var t,r=e.userId,n=e.userData,i=e.event,o=e.switchRoleType;return{users:[{userId:r,extra:null===(t=n.filter((function(e){return"extra"===e.key}))[0])||void 0===t?void 0:t.value,state:i,switchRoleType:o}]}}(T),[4,new ts(I,this._traceId).execute(t,r,n)];case 7:y=c.sent().data,t.emit(ja,y),c.label=8;case 8:return O=v.next(),[3,4];case 9:return[3,12];case 10:return L=c.sent(),P={error:L},[3,12];case 11:try{O&&!O.done&&(N=v.return)&&N.call(v)}finally{if(P)throw P.error}return[7];case 12:return[2,{code:d}]}}))}))}}),n}(Ca),ds=function(t){function n(e){var r=t.call(this)||this;return Object.defineProperty(r,"livingType",{enumerable:!0,configurable:!0,writable:!0,value:e}),r}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.ON_SIGNAL_RECONNECTED},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"priority",{get:function(){return da.HIGH},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var o,a,s,u,l,d;return c(this,(function(c){switch(c.label){case 0:return o=t.logger,a=t.peer,s=t.context,u=r.roomId,l=r.roomMode,d=o.createTraceId(),o.info(i.L_ABSTRACT_ROOM_IM_RECONNECTED_T,void 0,d),"closed"===a.getRTCPeerConn().connectionState?(o.error(i.L_ABSTRACT_ROOM_IM_RECONNECTED_R,"RTCPeerConnection closed. Please rejoin room to restore services",d),t.emit(Na),[2,{code:exports.RCRTCCode.SUCCESS}]):[4,s.rtcPing(u,l)];case 1:return 40001!==c.sent().code?[3,5]:[4,this._joinRoom(t,r,n,d)];case 2:return c.sent()!==e.ErrorCode.SUCCESS?[3,4]:[4,this._restoreMediaServer(t,r,n)];case 3:c.sent(),c.label=4;case 4:return[3,7];case 5:return[4,new ls(u,d,s).execute(t,r,n)];case 6:c.sent(),c.label=7;case 7:return[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"_joinRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a){var u;return s(this,void 0,void 0,(function(){var s,l,d,_,p,f;return c(this,(function(c){switch(c.label){case 0:return s=t.context,l=t.logger,[4,s.joinRTCRoom(r.roomId,r.roomMode,this.livingType)];case 1:return d=c.sent(),_=d.code,p=d.data,_!==e.ErrorCode.SUCCESS?(l.error(i.L_ABSTRACT_ROOM_IM_RECONNECTED_R,JSON.stringify({status:o.FAILED,code:_,msg:"im reconnect joinRTCRoom failed"}),a),[2]):p?(f=null===(u=p.roomInfo.filter((function(e){return"cdn_uris"===e.key}))[0])||void 0===u?void 0:u.value,[4,Qa(p,r,t,n,f,a)]):(l.info(i.L_ABSTRACT_ROOM_IM_RECONNECTED_R,JSON.stringify({status:o.FAILED,msg:"im reconnect joinRTCRoom, roomData is empty"}),a),[2]);case 2:return c.sent(),l.info(i.L_ABSTRACT_ROOM_IM_RECONNECTED_R,JSON.stringify({status:o.SUCCESSED,roomData:p}),a),[2,_]}}))}))}}),Object.defineProperty(n.prototype,"_restoreMediaServer",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i;return c(this,(function(o){switch(o.label){case 0:return n=e.peer.getLocalTracks(),i=Object.values(t.getRemoteTracks()).filter((function(e){return!!e.isSubscribed()})),n.length?[4,new is(n).execute(e,t,r)]:[3,2];case 1:o.sent(),o.label=2;case 2:return n.length||!i.length?[3,4]:[4,new ns(i,!0).execute(e,t,r)];case 3:o.sent(),o.label=4;case 4:return[2]}}))}))}}),n}(Ca),_s=1,ps=5;!function(e){e[e.new=0]="new",e[e.checking=1]="checking",e[e.connected=2]="connected",e[e.completed=3]="completed",e[e.failed=4]="failed",e[e.disconnected=5]="disconnected",e[e.closed=6]="closed"}(cs||(cs={})),exports.RCKickReason=void 0,(us=exports.RCKickReason||(exports.RCKickReason={}))[us.SERVER_KICK=1]="SERVER_KICK",us[us.OTHER_KICK=2]="OTHER_KICK",us[us.IM_DISCONNECTED=3]="IM_DISCONNECTED",us[us.IM_LOGOUT=4]="IM_LOGOUT",us[us.OTHER_CLIENT_IM_CONNECTED=5]="OTHER_CLIENT_IM_CONNECTED";var fs,hs,bs,Rs,gs=function(){function e(e,t,r,n){var o=this;Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_userId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_baseReportData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_networkReportData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_pubOrSubSuccessTime",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_peerCStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reportQualityJoinRoomData",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r,n){o._baseReportData=Object.assign(o._baseReportData,{snid:n});var s=a(a(a({},o._baseReportData),o._networkReportData),{cod:t,time:e,dur:Date.now()-e,rtp:r});o._logger.__statistics(i.L_QS_JOIN_ROOM_S,JSON.stringify(s))}}),this._baseReportData={rid:this._roomId,csnid:this._clientSessionId,snid:"",time:Date.now(),uid:this._userId},this._networkReportData={cr:"unknown",net:"unknown"}}return Object.defineProperty(e.prototype,"reportQualityKickedData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=a(a(a({},this._baseReportData),this._networkReportData),{time:Date.now(),cod:e===exports.RCKickReason.OTHER_KICK?ps:_s});this._logger.__statistics(i.L_QS_KICKED_S,JSON.stringify(t))}}),Object.defineProperty(e.prototype,"reportPubOrSubQualityData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,o,s){var c=this;r.forEach((function(r){var u,l,d=r instanceof Ke||r instanceof tt?r:r.track,_=d.getTrackId(),p=dt(_).mediaType,f=!1;f=d instanceof Ke?!!d.isVideoTrack()&&(null===(l=(u=d).__isTiny)||void 0===l?void 0:l.call(u)):r.subTiny||!1;var h=a(a(a({},c._baseReportData),c._networkReportData),{resid:_,mtp:p,smct:f?qi.TINY:qi.NORMAL,stp:"Rongcloud"!==d.getTag()?1:0,cod:n,msas:o?o[_]:[],sigs:s,time:Date.now(),dur:Date.now()-t});switch(e){case"pub":c._logger.__statistics(i.L_QS_PUBLISH_S,JSON.stringify(h));break;case"unpub":c._logger.__statistics(i.L_QS_UNPUBLISH_S,JSON.stringify(h));break;case"sub":c._logger.__statistics(i.L_QS_SUBSCRIBE_S,JSON.stringify(h));break;case"unsub":c._logger.__statistics(i.L_QS_UNSUBSCRIBE_S,JSON.stringify(h))}}))}}),Object.defineProperty(e.prototype,"reportQualityRecvPubMsgData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=a(a(a({},this._baseReportData),this._networkReportData),{puid:t,time:Date.now(),dur:Date.now()-e});this._logger.__statistics(i.L_QS_RECV_PUB_MSG_S,JSON.stringify(r))}}),Object.defineProperty(e.prototype,"setPubOrSubSuccessTime",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._pubOrSubSuccessTime=e}}),Object.defineProperty(e.prototype,"reportIceFirstConnectData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=a(a(a({},this._baseReportData),this._networkReportData),{time:this._pubOrSubSuccessTime,dur:Date.now()-this._pubOrSubSuccessTime}),r="pub"===e?i.L_QS_PUB_ICE_STATUS_S:i.L_QS_SUB_ICE_STATUS_S;this._logger.__statistics(r,JSON.stringify(t))}}),Object.defineProperty(e.prototype,"recordQualityIceStatusData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=this._peerCStatus||{},o=n.status,s=n.time;if(s){var c=e.IP,u=e.port,l=e.networkType,d=e.remoteIP,_=e.remotePort,p=a(a(a({},this._baseReportData),this._networkReportData),{dur:r-s,time:r,pices:cs[o],ices:cs[t],rcdts:[{ip:"".concat(d,":").concat(_)}],lcdts:[{ip:"".concat(c,":").concat(u),nttp:l}],cncdts:[]});this._logger.__statistics(i.L_QS_ICE_STATUS_S,JSON.stringify(p)),this._peerCStatus={status:t,time:r}}else this._peerCStatus={status:t,time:r}}}),e}();!function(e){e[e.DISABLE=0]="DISABLE",e[e.ENABLE=1]="ENABLE"}(fs||(fs={})),function(e){e[e.MeetingOrAnchor=1]="MeetingOrAnchor",e[e.Audience=2]="Audience"}(hs||(hs={})),function(e){e[e.NOT_REPORT=-1]="NOT_REPORT",e[e.REPORT_SUCCESS=1e4]="REPORT_SUCCESS",e[e.REPORT_FAIL=0]="REPORT_FAIL",e[e.PB_ERROR=40001]="PB_ERROR"}(bs||(bs={})),function(e){e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4"}(Rs||(Rs={}));var ms,Cs,vs,Os,Ts=function(){function t(e,t,r,n,i){void 0===i&&(i=hs.MeetingOrAnchor),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_crtRTCRoom",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_userRole",{enumerable:!0,configurable:!0,writable:!0,value:i})}return Object.defineProperty(t.prototype,"_send",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){return c(this,(function(r){switch(r.label){case 0:return this._context.getConnectionStatus()!==e.RCConnectionStatus.CONNECTED?[2,bs.NOT_REPORT]:[4,this._context.setRTCState(this._roomId,t)];case 1:return r.sent()===e.ErrorCode.SUCCESS?[2,bs.REPORT_SUCCESS]:[2,bs.REPORT_FAIL]}}))}))}}),Object.defineProperty(t.prototype,"_getClientID",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e="uuid",t=this._runtime.localStorage.getItem(e);return t||(t=ht(),this._runtime.localStorage.setItem(e,t)),t}}),Object.defineProperty(t.prototype,"_getRealResourceId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e,r=e.indexOf("_tiny");return r>-1&&(t=e.slice(0,r)),t}}),Object.defineProperty(t.prototype,"_getPolarisTrackId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t="",r=e.split("_");if(e.includes("_tiny")){var n=r.pop(),i=parseInt(r.pop())===exports.RCMediaType.AUDIO_ONLY?"audio":"video",o=r.pop();t=[r.join("_"),o,n,i].join("_")}else{i=parseInt(r.pop())===exports.RCMediaType.AUDIO_ONLY?"audio":"video",o=r.pop();t=[r.join("_"),o,i].join("_")}return t}}),Object.defineProperty(t.prototype,"_getBaseData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return{bitrateSend:(null==e?void 0:e.bitrateSend)||Qi,bitrateRecv:(null==e?void 0:e.bitrateRecv)||Qi,networkType:(null==e?void 0:e.networkType)||"unknown",rtt:(null==e?void 0:e.rtt)||Qi,localAddress:"".concat((null==e?void 0:e.IP)||Qi,":").concat(null==e?void 0:e.port),remoteAddress:"".concat(null==e?void 0:e.remoteIP,":").concat(null==e?void 0:e.remotePort),receiveBand:(null==e?void 0:e.availableIncomingBitrate)||Qi,sendBand:(null==e?void 0:e.availableOutgoingBitrate)||Qi,packetsLost:(null==e?void 0:e.totalPacketsLost)||Qi,deviceId:this._context.getCurrentId()}}}),Object.defineProperty(t.prototype,"_getAudioLevel",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||0===e?e:Qi}}),Object.defineProperty(t.prototype,"_getBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||0===e?e:Qi}}),Object.defineProperty(t.prototype,"_getPacketsLostRate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||0===e?e:Qi}}),Object.defineProperty(t.prototype,"_getFrameRate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||Qi}}),Object.defineProperty(t.prototype,"_getResolution",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return e&&t?"".concat(e," * ").concat(t):"".concat(Qi)}}),Object.defineProperty(t.prototype,"_getJitter",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||Qi}}),Object.defineProperty(t.prototype,"_getNackCount",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||0===e?e:Qi}}),Object.defineProperty(t.prototype,"_getPliCount",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||0===e?e:Qi}}),Object.defineProperty(t.prototype,"_getRTT",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||Qi}}),Object.defineProperty(t.prototype,"_getTrackState",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=e?this._crtRTCRoom.getLocalTrack(t):this._crtRTCRoom.getRemoteTrack(t);return(null==r?void 0:r.isLocalMuted())?fs.DISABLE:fs.ENABLE}}),Object.defineProperty(t.prototype,"sendR3Data",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a=this;return c(this,(function(s){switch(s.label){case 0:return t=e.iceCandidatePair,r=e.senders,n=this._getBaseData(t),i="R3\t".concat(n.bitrateSend,"\t-1\t-1\t-1\t").concat(n.networkType,"\t").concat(n.rtt,"\t").concat(n.localAddress,"\t").concat(n.receiveBand,"\t").concat(n.sendBand,"\t").concat(n.packetsLost,"\t").concat(n.deviceId,"\r"),o=r.map((function(e){var t=e.trackId,r=e.audioLevel,n=e.samplingRate,i=e.bitrate,o=e.packetsLostRate,s=e.frameRate,c=e.frameWidth,u=e.frameHeight,l=e.googRenderDelayMs,d=e.jitter,_=e.nackCount,p=e.pliCount,f=e.rtt,h=e.googFirsSent,b=e.encoderImplementation,R=a._getPolarisTrackId(t),g=a._getRealResourceId(t);return{trackId:R,googCodecName:b||String(Qi),audioLevel:a._getAudioLevel(r),bitrate:a._getBitrate(i),packetsLostRate:a._getPacketsLostRate(o),frameRate:a._getFrameRate(s),resolution:a._getResolution(c,u),jitter:a._getJitter(d),nackCount:a._getNackCount(_),pliCount:a._getPliCount(p),rtt:a._getRTT(f),googFirsSent:h,samplingRate:n,googRenderDelayMs:l,encoderImplementation:b||String(Qi),trackState:a._getTrackState(!0,g)}})),i+=o.map((function(e){return"".concat(e.trackId,"\t").concat(e.googCodecName,"\t").concat(e.audioLevel,"\t").concat(e.samplingRate,"\t").concat(e.bitrate,"\t").concat(e.packetsLostRate,"\t").concat(e.frameRate,"\t").concat(e.resolution,"\t").concat(e.googRenderDelayMs,"\t").concat(e.jitter,"\t").concat(e.nackCount,"\t").concat(e.pliCount,"\t").concat(e.rtt,"\t").concat(e.googFirsSent,"\t").concat(e.encoderImplementation,"\t").concat(e.trackState)})).join("\n"),[4,this._send("".concat(i,"\r").concat(this._userRole))];case 1:return s.sent()!==bs.REPORT_SUCCESS?[2,bs.REPORT_FAIL]:[2,bs.REPORT_SUCCESS]}}))}))}}),Object.defineProperty(t.prototype,"sendR4Data",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a=this;return c(this,(function(s){switch(s.label){case 0:return t=e.iceCandidatePair,r=e.receivers,n=this._getBaseData(t),i="R4\t".concat(n.bitrateRecv,"\t-1\t-1\t-1\t").concat(n.networkType,"\t").concat(n.rtt,"\t").concat(n.localAddress,"\t").concat(n.receiveBand,"\t").concat(n.sendBand,"\t").concat(n.packetsLost,"\t").concat(n.deviceId,"\r"),o=r.filter((function(e){return!!e.trackId})).map((function(e){var t=e.trackId,r=e.audioLevel,n=e.samplingRate,i=e.bitrate,o=e.packetsLostRate,s=e.frameRate,c=e.frameWidth,u=e.frameHeight,l=e.googRenderDelayMs,d=e.jitter,_=e.nackCount,p=e.pliCount,f=e.rtt,h=e.googFirsReceived,b=e.codecImplementationName,R=a._getPolarisTrackId(t),g=a._getRealResourceId(t);return{trackId:R,googCodecName:b||String(Qi),audioLevel:a._getAudioLevel(r),bitrate:a._getBitrate(i),packetsLostRate:a._getPacketsLostRate(o),frameRate:a._getFrameRate(s),resolution:a._getResolution(c,u),jitter:a._getJitter(d),nackCount:a._getNackCount(_),pliCount:a._getPliCount(p),rtt:a._getRTT(f),googFirsReceived:h,samplingRate:n,googRenderDelayMs:l,codecImplementationName:b||String(Qi),trackState:a._getTrackState(!1,g)}})),i+=o.map((function(e){return"".concat(e.trackId,"\t").concat(e.googCodecName,"\t").concat(e.audioLevel,"\t").concat(e.samplingRate,"\t").concat(e.bitrate,"\t").concat(e.packetsLostRate,"\t").concat(e.frameRate,"\t").concat(e.resolution,"\t").concat(e.googRenderDelayMs,"\t").concat(e.jitter,"\t").concat(e.nackCount,"\t").concat(e.pliCount,"\t").concat(e.rtt,"\t").concat(e.googFirsReceived,"\t").concat(e.codecImplementationName,"\t").concat(e.trackState)})).join("\n"),[4,this._send("".concat(i,"\r").concat(this._userRole))];case 1:return s.sent()!==bs.REPORT_SUCCESS?[2,bs.REPORT_FAIL]:[2,bs.REPORT_SUCCESS]}}))}))}}),Object.defineProperty(t.prototype,"sendR1",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this._context.getCoreVersion(),r=(null===(e=navigator.userAgentData)||void 0===e?void 0:e.platformn)||navigator.platform,n=Ct.browser,i=Ct.version,o=this._getClientID(),a="R1\t".concat("5.7.5-alpha.3","\t").concat(t,"\t").concat("web","\t").concat(r,"\t").concat(-1,"\t").concat(n,"\t").concat(i,"\t").concat(o,"\t").concat(this._userRole);this._send(a)}}),Object.defineProperty(t.prototype,"sendR2",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=this._getClientID(),i="R2\t".concat(e,"\t").concat(t,"\t").concat(n,"\r").concat(r.join("\t"),"\r").concat(this._userRole);this._send(i)}}),t}(),Es="evt-leave",Ss=function(t){function n(e,r,n,o,a,u,l,d,_,p){void 0===_&&(_=Zi()),void 0===p&&(p=!1);var f=t.call(this)||this;Object.defineProperty(f,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(f,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(f,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(f,"_service",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(f,"_initOptions",{enumerable:!0,configurable:!0,writable:!0,value:u}),Object.defineProperty(f,"_clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:_}),Object.defineProperty(f,"_pinger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_polarisReport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_audioLevelReport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_peerConnection",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_invoker",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_store",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_reportMediaActionLogger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_executeCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_appListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(f,"_onRecvPKMsg",{enumerable:!0,configurable:!0,writable:!0,value:null});var h=f._logger=f._context.logger;f._reportMediaActionLogger=new gs(h,f._roomId,f._clientSessionId,f._context.getCurrentId()),f._polarisReport=new Ts(f._context,f._runtime,f._roomId,f);var b=f._context.getCurrentId(),R=new Ta(h,_,f._context.getAppkey(),n,b,o,l,d),g=f._peerConnection=new Ra(h,f._reTryExchange.bind(f),b,R,f._polarisReport,!1,{encrypt:p,isOpenWebRTCIssueDetector:!!f._initOptions.isOpenWebRTCIssueDetector});f._setPeerConnectionListener();var m=f._executeCtx=new Ba(h,f._service,e,r,g,R,f._polarisReport,f._reportMediaActionLogger);return m.getPushOtherRooms=function(){return f._getPushOtherRoomsParams()},f.setCommandEventListener(),f._invoker=new Oa(m,R),f._store=f._invoker.store,f._audioLevelReport=new ga(f._store,g),g.on(Ra.__INNER_AUDIOLEVEL_CHANGE__,f._audioLevelReport.audioLevelReport,f._audioLevelReport),f._pinger=new Nt(f._context,f._roomId,o,f._initOptions.pingGap),f._pinger.onFailed=f.__kickoff.bind(f),f._pinger.onPingResult=f._handlePingResult.bind(f),f._context.registerRTCSignalListener((function(e){return s(f,void 0,void 0,(function(){var t,r,n,o,a;return c(this,(function(s){return t=this._context.decodeRtcNotify(e),r=t.time,n=t.type,o=t.roomId,this._invoker.isDestroyed()?(this._logger.info(i.L_RTCNTF_PULL_ROOM_STATUS_O,JSON.stringify({isDestroyed:!0,type:n,time:r,roomId:o})),[2]):(2===n&&o===this._roomId&&(a=this._logger.createTraceId(),this._logger.info(i.L_RTCNTF_PULL_ROOM_STATUS_O,null,a),this._startPullRTCRoomStatus(o,a,r)),[2])}))}))})),f}return r(n,t),Object.defineProperty(n.prototype,"_setPeerConnectionListener",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this._peerConnection;t.on(Ra.__INNER_EVENT_TRACK_READY__,this._onTrackReady,this),t.on(Ke.__INNER_EVENT_MUTED_CHANGE__,this._onLocalTrackMuted,this),t.on(Ke.__INNER_EVENT_DESTROY__,this._onLocalTrackDestroied,this),t.once(Ra.__INNER_ICE_CONNECTED__,(function(t){e._reportMediaActionLogger.reportIceFirstConnectData(t?"pub":"sub")}),this),t.on(Ra.__INNER_ICE_STATE_CHANGE__,(function(t){var r=t.status,n=t.time,i=t.iceCandidatePair;i&&e._reportMediaActionLogger.recordQualityIceStatusData(i,r,n)}))}}),Object.defineProperty(n.prototype,"setCommandEventListener",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._executeCtx;e.on(Na,this._rtcpeerClosed,this),e.on(Aa,this._callAppListener.bind(this,"onUserJoin"),this),e.on(wa,this._callAppListener.bind(this,"onUserLeave"),this),e.on(Da,this._onTrackPublish,this),e.on(ka,this._onTrackUnpublish,this),e.on(Ua,this._onAudioMuteChange,this),e.on(Ma,this._onVideoMuteChange,this),e.on(xa,this._callAppListener.bind(this,"onCDNEnableChange"),this),e.on(ja,this._dealUserAppListener,this)}}),Object.defineProperty(n.prototype,"_startPullRTCRoomStatus",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,this._invoker.push(new ls(e,t,this._context,r))];case 1:return n.sent(),[2]}}))}))}}),Object.defineProperty(n.prototype,"__innerInit",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i,o){return s(this,void 0,void 0,(function(){var a,s,u;return c(this,(function(c){switch(c.label){case 0:return[4,this._invoker.push(new Ia(this._roomId,e,t,r,n,i,o))];case 1:return a=c.sent(),s=a.code,u=a.data,s!==exports.RCRTCCode.SUCCESS?[2,{code:s}]:(this._initWithRoomData(u.offlineKickTime),[2,{code:s,data:u}])}}))}))}}),Object.defineProperty(n.prototype,"_initWithRoomData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._pinger.start(1e3*e),this._polarisReport.sendR1()}}),Object.defineProperty(n.prototype,"_handlePingResult",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(e===exports.RCRTCPingResult.SUCCESS&&(t>this._store.getRoomStatusVersion()&&this._store.getSupportNtf())){var r=this._logger.createTraceId();this._logger.info(i.L_RTCPING_PULL_ROOM_STATUS_O,JSON.stringify({dataVersion:t}),r),this._startPullRTCRoomStatus(this._roomId,r,t)}this._callAppListener("onPing",e)}}),Object.defineProperty(n.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){this._logger.warn(i.L_ABSTRACT_ROOM_SETBITRATE_O,"`RCAbstractRoom.setBitrate` will be deprecated, use `RCLocalTrack.setBitrate` instead."),e.assert("max",t,(function(t){return e.isNumber(t)&&t>Math.max(r||1,200)}),!0),e.assert("min",r,(function(r){return e.isNumber(r)&&r>=1&&(!e.isNumber(t)||r<t)}),!0),e.assert("start",n,(function(n){return e.isNumber(n)&&n>r&&n<=t})),this._peerConnection.setBitrate(t,r,n)}}),Object.defineProperty(n.prototype,"_onTrackReady",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.streams[0].id,r=e.receiver.track,n=[t,"audio"===r.kind?exports.RCMediaType.AUDIO_ONLY:exports.RCMediaType.VIDEO_ONLY].join("_"),a=this._store.getRemoteTrack(n);a?(a.__innerSetMediaStreamTrack(r),this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onTrackReady",trackId:a.getTrackId()})),this._callAppListener("onTrackReady",a)):this._logger.warn(i.L_ABSTRACT_ROOM_ONTRACKREADY_O,"cannot found remote track ".concat(r.id))}}),Object.defineProperty(n.prototype,"_callAppListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var o=null===(t=this._appListener)||void 0===t?void 0:t[e];if(o)try{o.apply(void 0,d([],l(r),!1))}catch(e){this._logger.error(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,null==e?void 0:e.stack)}}}),Object.defineProperty(n.prototype,"_onTrackUnpublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onTrackUnpublish",trackIds:null==e?void 0:e.map((function(e){return e.getTrackId()}))})),this._callAppListener("onTrackUnpublish",e)}}),Object.defineProperty(n.prototype,"__parseInnerMessage",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=e.targetId;if(r===this._roomId){this._logger.info(i.L_ABSTRACT_ROOM_RECEIVE_MESSAGE_O,"recv inner msg -> message: ".concat(JSON.stringify(e)," | roomid: ").concat(this._roomId),t);var n=e.content;switch(e.messageType){case Tt.KICK:this.__kickoff(!0,n);break;case Tt.STATE:this._stateHandle(n,t);break;case Tt.MODIFY:case Tt.PUBLISH:case Tt.UNPUBLISH:case Tt.TOTAL_CONTENT_RESOURCE:this._resourceHandle(n,e.messageType,e.senderUserId,e.sentTime,t);break;case Tt.ROOM_NOTIFY:this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onRoomAttributeChange",messageType:e.messageType,messageContent:e.content})),this._callAppListener("onRoomAttributeChange",e.messageType,e.content);break;case Tt.USER_NOTIFY:this._logger.warn(i.L_OLD_DAILY_RECORD_O,"TODO: ".concat(Tt.USER_NOTIFY));break;case Tt.PK_INVITE:case Tt.PK_CANCEL_INVITE:case Tt.PK_INVITE_TIMEOUT:case Tt.PK_INVITE_ANSWER:case Tt.PK_END:this._onRecvPKMsg&&this._onRecvPKMsg(e);break;case Tt.OTHER_ROOM_OFFLINE:break;default:this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onMessageReceive",messageType:e.messageType,messageContent:e.content,senderUserId:e.senderUserId,messageUId:e.messageUId})),this._callAppListener("onMessageReceive",e.messageType,n,e.senderUserId,e.messageUId)}}else this._logger.warn(i.L_ABSTRACT_ROOM_RECEIVE_MESSAGE_O,JSON.stringify({status:o.FAILED,message:"roomId is different, msg roomId-> ".concat(r,", this._roomId-> ").concat(this._roomId," ")}),t)}}),Object.defineProperty(n.prototype,"__kickoff",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,a=this;return c(this,(function(s){return this._invoker.isDestroyed()||(this._logger.warn(i.L_ABSTRACT_ROOM_ONKICKOFF_O,"onKickOff -> byServer: ".concat(e,", kickContent: ").concat(JSON.stringify(t))),this.emit(Es),this._leaveHandle(!e),e&&((null==t?void 0:t.users)||[]).forEach((function(e){e.userId===a._context.getCurrentId()&&(n=e.type,r=e.kickExtra,a._reportMediaActionLogger.reportQualityKickedData(n))})),this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onKickOff",byServer:e,kickType:n,kickExtra:r})),this._callAppListener("onKickOff",e,n,r)),[2]}))}))}}),Object.defineProperty(n.prototype,"_rtcpeerClosed",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.emit(Es),this._leaveHandle(!0),this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,"onRTCPeerConnectionCloseByException"),this._callAppListener("onRTCPeerConnectionCloseByException")}}),Object.defineProperty(n.prototype,"_resourceHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){return s(this,void 0,void 0,(function(){var o;return c(this,(function(a){return o=e.uris,e.ignore||!o||this._invoker.push(new rs(e,t,r,i,n)),[2]}))}))}}),Object.defineProperty(n.prototype,"_onTrackPublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onTrackPublish",trackIds:null==e?void 0:e.map((function(e){return e.getTrackId()}))})),this._callAppListener("onTrackPublish",e)}}),Object.defineProperty(n.prototype,"_stateHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n;return c(this,(function(i){switch(i.label){case 0:return[4,this._invoker.push(new ts(e,t))];case 1:return r=i.sent(),n=r.data,this._dealUserAppListener(n),[2]}}))}))}}),Object.defineProperty(n.prototype,"_dealUserAppListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r=this,n=e.left,a=e.joined,s=e.upgrade,c=e.downgrade;if(null===(t=this._appListener)||void 0===t?void 0:t.onSwitchRole)return null==s||s.forEach((function(e){r._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onSwitchRole",userId:e,role:exports.RCRTCLiveRole.ANCHOR})),r._callAppListener("onSwitchRole",e,exports.RCRTCLiveRole.ANCHOR)})),null==c||c.forEach((function(e){r._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onSwitchRole",userId:e,role:exports.RCRTCLiveRole.AUDIENCE})),r._callAppListener("onSwitchRole",e,exports.RCRTCLiveRole.AUDIENCE)})),a.length>0&&(this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onUserJoin",joined:a})),this._callAppListener("onUserJoin",a)),void(n.length>0&&(this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onUserLeave",left:n})),this._callAppListener("onUserLeave",n)));var u=d(d([],l(a),!1),l(s),!1),_=d(d([],l(n),!1),l(c),!1);u.length>0&&(this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onUserJoin",allJoined:u})),this._callAppListener("onUserJoin",u)),_.length>0&&(_.length&&this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onUserLeave",allLeft:_})),this._callAppListener("onUserLeave",_))}}),Object.defineProperty(n.prototype,"getRoomId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._roomId}}),Object.defineProperty(n.prototype,"getCrtUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._context.getCurrentId()}}),Object.defineProperty(n.prototype,"getRemoteUserIds",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.getRemoteUserIds()}}),Object.defineProperty(n.prototype,"getRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=[];return this.getRemoteUserIds().forEach((function(r){t.push.apply(t,d([],l(e.getRemoteTracksByUserId(r)),!1))})),t}}),Object.defineProperty(n.prototype,"getRemoteTracksByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._store.getRemoteTracksByUserId(e)}}),Object.defineProperty(n.prototype,"getSessionId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.getSessionId()}}),Object.defineProperty(n.prototype,"sendMessage",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return s(this,void 0,void 0,(function(){var n,a;return c(this,(function(s){switch(s.label){case 0:return n=this._logger.createTraceId(),this._logger.info(i.L_ABSTRACT_ROOM_SEND_MESSAGE_T,JSON.stringify({name:t,content:r}),n),[4,this._context.sendMessage(e.ConversationType.RTC_ROOM,this._roomId,{messageType:t,content:r,isStatusMessage:!0})];case 1:return(a=s.sent().code)!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_ABSTRACT_ROOM_SEND_MESSAGE_R,JSON.stringify({status:o.FAILED,code:a}),n),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(this._logger.info(i.L_ABSTRACT_ROOM_SEND_MESSAGE_R,JSON.stringify({status:o.SUCCESSED,name:t,content:r}),n),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(n.prototype,"setRoomAttribute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a){return void 0===a&&(a=!1),s(this,void 0,void 0,(function(){var s,u;return c(this,(function(c){switch(c.label){case 0:return s=this._logger.createTraceId(),this._logger.info(i.L_ABSTRACT_ROOM_SET_ROOM_ATTRIBUTE_T,JSON.stringify({roomId:this._roomId,key:t,value:r,message:n,isInner:a}),s),[4,this._context.setRTCData(this._roomId,t,r,a,Sa.ROOM,n)];case 1:return(u=c.sent())!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_ABSTRACT_ROOM_SET_ROOM_ATTRIBUTE_R,JSON.stringify({status:o.FAILED,code:u}),s),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(this._logger.info(i.L_ABSTRACT_ROOM_SET_ROOM_ATTRIBUTE_R,JSON.stringify({status:o.SUCCESSED,roomId:this._roomId,key:t,value:r,message:n,isInner:a}),s),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(n.prototype,"deleteRoomAttributes",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return void 0===n&&(n=!1),s(this,void 0,void 0,(function(){var a,s;return c(this,(function(c){switch(c.label){case 0:return a=this._logger.createTraceId(),this._logger.info(i.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_T,JSON.stringify({roomId:this._roomId,keys:t,message:r,isInner:n}),a),[4,this._context.removeRTCData(this._roomId,t,n,Sa.ROOM,r)];case 1:return(s=c.sent())!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_R,JSON.stringify({status:o.FAILED,code:s}),a),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(this._logger.info(i.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_R,JSON.stringify({status:o.SUCCESSED,roomId:this._roomId,keys:t,message:r,isInner:n}),a),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(n.prototype,"getRoomAttributes",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return void 0===t&&(t=[]),void 0===r&&(r=!1),s(this,void 0,void 0,(function(){var n,a,s,u;return c(this,(function(c){switch(c.label){case 0:return n=this._logger.createTraceId(),this._logger.info(i.L_ABSTRACT_ROOM_GET_ROOM_ATTRIBUTE_T,JSON.stringify({roomId:this._roomId,keys:t,isInner:r}),n),[4,this._context.getRTCData(this._roomId,t,r,Sa.ROOM)];case 1:return a=c.sent(),s=a.code,u=a.data,s!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_ABSTRACT_ROOM_GET_ROOM_ATTRIBUTE_R,"GetRoomAttributes Failed: ".concat(s),n),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(this._logger.info(i.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_R,JSON.stringify({status:o.SUCCESSED,data:u}),n),[2,{code:exports.RCRTCCode.SUCCESS,data:u}])}}))}))}}),Object.defineProperty(n.prototype,"_setUserAttributeValue",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return this._context.setRTCData(this._roomId,e,t,!1,Sa.PERSON,r)}}),Object.defineProperty(n.prototype,"_deleteUserAttributes",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return this._context.removeRTCData(this._roomId,e,!1,Sa.PERSON,t)}}),Object.defineProperty(n.prototype,"_getUserAttributes",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._context.getRTCData(this._roomId,e,!1,Sa.PERSON)}}),Object.defineProperty(n.prototype,"isDestroyed",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._invoker.isDestroyed()}}),Object.defineProperty(n.prototype,"__destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._leaveHandle(e)}}),Object.defineProperty(n.prototype,"_muteRemoteTracksBeforeQuit",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=Object.values(this._store.getRemoteTracks());e.length&&e.forEach((function(e){return e.mute()}))}}),Object.defineProperty(n.prototype,"_leaveHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){switch(t.label){case 0:return this._invoker.isDestroyed()?[2]:(this._invoker.destroy(),this._muteRemoteTracksBeforeQuit(),e?[4,this._context.quitRTCRoom(this._roomId)]:[3,2]);case 1:t.sent(),t.label=2;case 2:return this._store.isMainRoom?[4,this._quitAllPKRoom()]:[3,4];case 3:t.sent(),t.label=4;case 4:return this._pinger.stop(),[4,this._service.exit(this._store.getRTCRequestHeader())];case 5:return t.sent(),this._releasePCManager(),[2]}}))}))}}),Object.defineProperty(n.prototype,"_releasePCManager",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._peerConnection;e.removeAllLocalTrack(),e.destroy()}}),Object.defineProperty(n.prototype,"_onLocalTrackDestroied",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e instanceof Ye&&e.__isTiny()||this.unpublish([e])}}),Object.defineProperty(n.prototype,"_onLocalTrackMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r;return c(this,(function(n){switch(n.label){case 0:return[4,this._invoker.push(new as(e))];case 1:return r=n.sent().code,t(r),[2]}}))}))}}),Object.defineProperty(n.prototype,"publish",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return[2,this._invoker.push(new is(e))]}))}))}}),Object.defineProperty(n.prototype,"_getPushOtherRoomsParams",{enumerable:!1,configurable:!0,writable:!0,value:function(){return[]}}),Object.defineProperty(n.prototype,"_reTryExchange",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._invoker.push(new ss)}}),Object.defineProperty(n.prototype,"unpublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return[2,this._invoker.push(new os(e))]}))}))}}),Object.defineProperty(n.prototype,"_isValidResourceId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r=dt(e).userId;return!!(null===(t=this._store.getResourcesByUserId(r))||void 0===t?void 0:t.find((function(t){return lt(t)===e})))}}),Object.defineProperty(n.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return[2,this._invoker.push(new ns(e,void 0,void 0))]}))}))}}),Object.defineProperty(n.prototype,"unsubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){return t=this._logger.createTraceId(),this._logger.info(i.L_APP_CALL_UNSUBSCRIBE_O,void 0,t),[2,this._invoker.push(new Ga(e,t))]}))}))}}),Object.defineProperty(n.prototype,"updateSubList",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return[2,this._invoker.push(new Ja(e,!0,this._logger.createTraceId()))]}))}))}}),Object.defineProperty(n.prototype,"getLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._peerConnection.getLocalTrack(e)}}),Object.defineProperty(n.prototype,"getLocalTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._peerConnection.getLocalTracks()}}),Object.defineProperty(n.prototype,"getRemoteTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._store.getRemoteTrack(e)||null}}),Object.defineProperty(n.prototype,"subscribedTracks",{get:function(){return this._store.getSubscribedList().slice()},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"registerRoomEventListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_ABSTRACT_ROOM_REGISTER_ROOM_EVENT_LISTENER_O,e?Object.keys(e).join(","):null),this._appListener=e}}),Object.defineProperty(n.prototype,"registerReportListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_ABSTRACT_ROOM_REGISTER_REPORT_LISTENER_O,e?Object.keys(e).join(","):null),this._peerConnection.registerReportListener(e)}}),Object.defineProperty(n.prototype,"onAudioLevelChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._logger.info(i.L_ABSTRACT_ROOM_AUDIO_LEVEL_O),this._audioLevelReport.onAudioLevelChange(e)}}),Object.defineProperty(n.prototype,"__onReconnected",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._invoker.push(new ds(e))}}),Object.defineProperty(n.prototype,"_onAudioMuteChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onAudioMuteChange",trackId:e.getTrackId()})),this._callAppListener("onAudioMuteChange",e)}}),Object.defineProperty(n.prototype,"_onVideoMuteChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onVideoMuteChange",trackId:e.getTrackId()})),this._callAppListener("onVideoMuteChange",e)}}),Object.defineProperty(n.prototype,"_registerPKMsgListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._onRecvPKMsg=e}}),Object.defineProperty(n.prototype,"_quitAllPKRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){return c(this,(function(e){return[2]}))}))}}),Object.defineProperty(n.prototype,"getClientSessionId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.clientSessionId}}),n}(e.EventEmitter),Is=function(e){function t(t,r){var n=e.call(this)||this;return Object.defineProperty(n,"data",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(n,"cdnValues",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(t,e),Object.defineProperty(t.prototype,"kind",{get:function(){return la.MCUCONFIG_FLUSH},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,i,o,a;return s(this,void 0,void 0,(function(){var r,s,u,l,d,_,p;return c(this,(function(c){switch(c.label){case 0:return r=e.context,s=e.service,u={"App-Key":r.getAppkey(),Token:t.getToken(),RoomId:t.roomId,UserId:r.getCurrentId(),SessionId:t.getSessionId()},[4,s.setMcuConfig(u,this.data)];case 1:return l=c.sent(),d=l.code,_=l.res,d!==exports.RCRTCCode.SUCCESS?[2,{code:d}]:(_.pull_url&&t.setCDNUris(JSON.parse(_.pull_url)),p=this.cdnValues,d===exports.RCRTCCode.SUCCESS&&((null===(i=null===(n=p.output)||void 0===n?void 0:n.video.normal)||void 0===i?void 0:i.width)||(null===(a=null===(o=p.output)||void 0===o?void 0:o.video.normal)||void 0===a?void 0:a.fps))&&za(r,t),[2,{code:d,data:_}])}}))}))}}),t}(Ca);exports.BackgroundPictureFillMode=void 0,(ms=exports.BackgroundPictureFillMode||(exports.BackgroundPictureFillMode={}))[ms.CROP=1]="CROP",ms[ms.WHOLE=2]="WHOLE",exports.MixLayoutMode=void 0,(Cs=exports.MixLayoutMode||(exports.MixLayoutMode={}))[Cs.CUSTOMIZE=1]="CUSTOMIZE",Cs[Cs.SUSPENSION=2]="SUSPENSION",Cs[Cs.ADAPTATION=3]="ADAPTATION",exports.MixVideoRenderMode=void 0,(vs=exports.MixVideoRenderMode||(exports.MixVideoRenderMode={}))[vs.CROP=1]="CROP",vs[vs.WHOLE=2]="WHOLE",function(e){e[e.AUDIO_VIDEO_ALL=0]="AUDIO_VIDEO_ALL",e[e.AUDIO_VIDEO_NO=1]="AUDIO_VIDEO_NO",e[e.AUDIO_ALL_VIDEO_NO=2]="AUDIO_ALL_VIDEO_NO",e[e.AUDIO_NO_VIDEO_ALL=3]="AUDIO_NO_VIDEO_ALL",e[e.AUDIO_VIDEO_INPUT=4]="AUDIO_VIDEO_INPUT",e[e.AUDIO_ALL_VIDEO_INPUT=5]="AUDIO_ALL_VIDEO_INPUT",e[e.AUDIO_NO_VIDEO_INPUT=6]="AUDIO_NO_VIDEO_INPUT",e[e.AUDIO_INPUT_VIDEO_ALL=7]="AUDIO_INPUT_VIDEO_ALL",e[e.AUDIO_INPUT_VIDEO_NO=8]="AUDIO_INPUT_VIDEO_NO",e[e.ROOM_AUDIO_VIDEO_APPEND=9]="ROOM_AUDIO_VIDEO_APPEND",e[e.ROOM_AUDIO_VIDEO_NOT_APPEND=10]="ROOM_AUDIO_VIDEO_NOT_APPEND",e[e.ROOM_AUDIO_APPEND=11]="ROOM_AUDIO_APPEND",e[e.ROOM_AUDIO_NOT_APPEND=12]="ROOM_AUDIO_NOT_APPEND",e[e.ROOM_VIDEO_APPEND=13]="ROOM_VIDEO_APPEND",e[e.ROOM_VIDEO_NOT_APPEND=14]="ROOM_VIDEO_NOT_APPEND"}(Os||(Os={}));var ys,Ls=function(){return{version:2,mode:exports.MixLayoutMode.SUSPENSION}},Ps=function(){function t(e,t,r){Object.defineProperty(this,"_executeCtx",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_invoker",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_isValidTrackId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_values",{enumerable:!0,configurable:!0,writable:!0,value:Ls()}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._logger=this._executeCtx.logger}return Object.defineProperty(t.prototype,"setHostVideoTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!this._isValidTrackId(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_HOST_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,msg:"videoTrackId: ".concat(e," is invalid")})),this;var t=dt(e),r=t.mediaType,n=t.tag,a=t.userId;return r!==exports.RCMediaType.VIDEO_ONLY?(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_HOST_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,msg:"kind of ".concat(e," is not video")})),this):(this._values.host_stream_id=_t(a,n),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_HOST_VIDEO_TRACK_O,JSON.stringify({status:o.SUCCESSED,videoTrackId:e})),this)}}),Object.defineProperty(t.prototype,"setMixLayoutMode",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return[exports.MixLayoutMode.CUSTOMIZE,exports.MixLayoutMode.SUSPENSION,exports.MixLayoutMode.ADAPTATION].includes(e)?(this._values.mode=e,this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_MIX_LAYOUT_MODE_O,JSON.stringify({status:o.SUCCESSED,mode:e})),this):(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_MIX_LAYOUT_MODE_O,JSON.stringify({status:o.SUCCESSED,msg:"mode: ".concat(e," is invalid")})),this)}}),Object.defineProperty(t.prototype,"_addOutputValue",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){void 0===r&&(r="normal");var n=this._values.output||(this._values.output={video:{normal:{width:640,height:480}}});if("cdn"!==e)if("audio"!==e){var i=n.video;if("normal"!==r&&"tiny"!==r)if("backgroundColor"!==r)if("exparams"!==r){if("backgroundPicture"===r){var o=i.backgroundPicture||(i.backgroundPicture={fillMode:exports.BackgroundPictureFillMode.CROP,picture:[]});Object.assign(o,t)}}else i.exparams={renderMode:t};else i.backgroundColor=t;else{var a=i[r]||(i[r]={});Object.assign(a,t)}}else n.audio={bitrate:t};else n.cdn=t}}),Object.defineProperty(t.prototype,"setOutputVideoResolution",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!Rt(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RESOLUTION_O,JSON.stringify({status:o.FAILED,msg:"params error -> resolution: ".concat(e)})),this;var t=bt(e),r=t.width,n=t.height;return this._addOutputValue("video",{width:r,height:n},"normal"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RESOLUTION_O,JSON.stringify({status:o.SUCCESSED,resolution:e})),this}}),Object.defineProperty(t.prototype,"setOutputVideoFPS",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!gt(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_FPS_O,JSON.stringify({status:o.FAILED,msg:"params error -> fps: ".concat(e)})),this;var t=mt(e);return this._addOutputValue("video",{fps:t},"normal"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_FPS_O,JSON.stringify({status:o.SUCCESSED,fps:e})),this}}),Object.defineProperty(t.prototype,"setOutputVideoBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return!e.isNumber(t)||t<=0?(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> bitrate: ".concat(t)})),this):(this._addOutputValue("video",{bitrate:t},"normal"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_BITRATE_O,JSON.stringify({status:o.SUCCESSED,bitrate:t})),this)}}),Object.defineProperty(t.prototype,"setOutputTinyVideoResolution",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!Rt(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_RESOLUTION_O,JSON.stringify({status:o.FAILED,msg:"params error -> resolution: ".concat(e)})),this;var t=bt(e),r=t.width,n=t.height;return this._addOutputValue("video",{width:r,height:n},"tiny"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_RESOLUTION_O,JSON.stringify({status:o.SUCCESSED,resolution:e})),this}}),Object.defineProperty(t.prototype,"setOutputTinyVideoFPS",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!gt(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_FPS_O,JSON.stringify({status:o.FAILED,msg:"params error -> fps: ".concat(e)})),this;var t=mt(e);return this._addOutputValue("video",{fps:t},"tiny"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_FPS_O,JSON.stringify({status:o.SUCCESSED,fps:e})),this}}),Object.defineProperty(t.prototype,"setOutputTinyVideoBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return!e.isNumber(t)||t<=0?(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> bitrate: ".concat(t)})),this):(this._addOutputValue("video",{bitrate:t},"tiny"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_BITRATE_O,JSON.stringify({status:o.SUCCESSED,bitrate:t})),this)}}),Object.defineProperty(t.prototype,"setOutputVideoRenderMode",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return[exports.MixVideoRenderMode.CROP,exports.MixVideoRenderMode.WHOLE].includes(e)?(this._addOutputValue("video",e,"exparams"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RENDER_MODE_O,JSON.stringify({status:o.SUCCESSED,renderMode:e})),this):(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RENDER_MODE_O,JSON.stringify({status:o.FAILED,msg:"params error -> renderMode: ".concat(e)})),this)}}),Object.defineProperty(t.prototype,"setOutputAudioBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return e.isNumber(t)&&t>0?(this._addOutputValue("audio",t),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_AUDIO_BITRATE_O,JSON.stringify({status:o.SUCCESSED,bitrate:t})),this):(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_AUDIO_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> bitrate: ".concat(t)})),this)}}),Object.defineProperty(t.prototype,"setOutputBackgroundColor",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return/^0x[a-fA-F0-9]{6}$/.test(e)?(this._addOutputValue("video",e,"backgroundColor"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_COLOR_O,JSON.stringify({status:o.SUCCESSED,color:e})),this):(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_COLOR_O,JSON.stringify({status:o.FAILED,msg:"params error -> color: ".concat(e)})),this)}}),Object.defineProperty(t.prototype,"addOutputBackgroundPicture",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a,s){var c,u,l;if(!e.isHttpUrl(t))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_O,JSON.stringify({status:o.FAILED,msg:"params error -> uri: ".concat(t)})),this;if([r,n,a,s].some((function(t){return!e.isNumber(t)||t<0||t>1})))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_O,JSON.stringify({status:o.FAILED,msg:"params of (x, y, w, h) error -> x: ".concat(r,", y: ").concat(n,", w: ").concat(a,", h: ").concat(s)})),this;var d=(null===(l=null===(u=null===(c=this._values.output)||void 0===c?void 0:c.video)||void 0===u?void 0:u.backgroundPicture)||void 0===l?void 0:l.picture)||[];return d.push({uri:t,w:a,h:s,x:r,y:n}),this._addOutputValue("video",{picture:d},"backgroundPicture"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_O,JSON.stringify({status:o.SUCCESSED,uri:t,x:r,y:n,w:a,h:s})),this}}),Object.defineProperty(t.prototype,"removeOutputBackgroundPicture",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r,n,a;if(!e.isHttpUrl(t))return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_OUTPUT_BACKGROUND_PICTURE_O,JSON.stringify({status:o.FAILED,msg:"params error -> uri: ".concat(t)})),this;var s=null===(a=null===(n=null===(r=this._values.output)||void 0===r?void 0:r.video)||void 0===n?void 0:n.backgroundPicture)||void 0===a?void 0:a.picture;return s&&(s=s.filter((function(e){return e.uri!==t})),this._addOutputValue("video",{pictures:s},"backgroundPicture")),this._logger.info(i.L_MCU_CONFIG_BUILDER_REMOVE_OUTPUT_BACKGROUND_PICTURE_O,JSON.stringify({status:o.SUCCESSED,uri:t})),this}}),Object.defineProperty(t.prototype,"clearOutputBackgroundPicture",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._addOutputValue("video",{pictures:[]},"backgroundPicture"),this._logger.info(i.L_MCU_CONFIG_BUILDER_CLEAR_OUTPUT_BACKGROUND_PICTURE_O),this}}),Object.defineProperty(t.prototype,"setOutputBackgroundPictureFillMode",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return[exports.BackgroundPictureFillMode.CROP,exports.BackgroundPictureFillMode.WHOLE].includes(e)?(this._addOutputValue("video",{fillMode:e},"backgroundPicture"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_FILL_MODE_O,JSON.stringify({status:o.SUCCESSED,fillMode:e})),this):(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_FILL_MODE_O,JSON.stringify({status:o.FAILED,msg:"params error -> fillMode: ".concat(e)})),this)}}),Object.defineProperty(t.prototype,"addPublishStreamUrls",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r,n,a=/^rtmp:\/\/.+/;if(!e.isArray(t)||0===t.length||t.some((function(e){return!a.test(e)})))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_FILL_MODE_O,JSON.stringify({status:o.FAILED,msg:"params error -> urls: ".concat(t.join(","))})),this;var s=(null===(n=null===(r=this._values.output)||void 0===r?void 0:r.cdn)||void 0===n?void 0:n.concat())||[],c=!1;return t.forEach((function(e){s.some((function(t){return t.pushurl===e}))||(c=!0,s.push({pushurl:e}))})),s.length>5?(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_FILL_MODE_O,JSON.stringify({status:o.FAILED,msg:"params error -> publish stream urls no more than 5, length: ".concat(t.length)})),this):(c&&this._addOutputValue("cdn",s),this._logger.info(i.L_MCU_CONFIG_BUILDER_ADD_PUBLISH_STREAM_URLS_O,JSON.stringify({status:o.SUCCESSED,urls:t})),this)}}),Object.defineProperty(t.prototype,"removePublishStreamUrls",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r,n,a=/^rtmp:\/\/.+/;if(!e.isArray(t)||0===t.length||t.some((function(e){return!a.test(e)})))return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_PUBLISH_STREAM_URLS_O,JSON.stringify({status:o.FAILED,msg:"params error -> urls: ".concat(t.join(","))})),this;for(var s=(null===(n=null===(r=this._values.output)||void 0===r?void 0:r.cdn)||void 0===n?void 0:n.concat())||[],c=s.length-1;c>=0;c-=1){var u=s[c].pushurl,l=t.indexOf(u);l>=0&&(t.splice(l,1),s.splice(c,1))}return this._addOutputValue("cdn",s),this._logger.info(i.L_MCU_CONFIG_BUILDER_REMOVE_PUBLISH_STREAM_URLS_O,JSON.stringify({status:o.SUCCESSED,urls:t})),this}}),Object.defineProperty(t.prototype,"clearPublishStreamUrls",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._addOutputValue("cdn",[]),this._logger.info(i.L_MCU_CONFIG_BUILDER_CLEAR_PUBLISH_STREAM_URLS_O),this}}),Object.defineProperty(t.prototype,"addCustomizeLayoutVideo",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a,s){if(!e.notEmptyString(t)||!this._isValidTrackId(t))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(t)})),this;if(!e.isNumber(r)||!e.isNumber(n))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"params x or y is error -> x: ".concat(r,", y: ").concat(n)})),this;if([a,s].some((function(t){return!e.isNumber(t)||t<0})))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"params width or height error -> width: ".concat(a,", height: ").concat(s)})),this;var c=dt(t),u=c.userId,l=c.tag;if(c.mediaType!==exports.RCMediaType.VIDEO_ONLY)return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"type of trackId: ".concat(t," is not video")})),this;var d=_t(u,l),_=this._values.input||(this._values.input={}),p=_.video||(_.video=[]);return p.some((function(e){return e.height===s&&e.width===a&&e.stream_id===d&&e.user_id===u&&e.x===r&&e.y===n}))?(this._logger.warn(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"Duplicate configuration item place ignored"})),this):(p.push({user_id:u,stream_id:d,x:r,y:n,width:a,height:s}),this._logger.info(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.SUCCESSED,trackId:t,x:r,y:n,width:a,height:s})),this)}}),Object.defineProperty(t.prototype,"removeCustomizeLayoutVideo",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!this._isValidTrackId(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(e)})),this;var t=dt(e),r=t.userId,n=t.tag;if(t.mediaType!==exports.RCMediaType.VIDEO_ONLY)return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"type of trackId: ".concat(e," is not video")})),this;var a=_t(r,n),s=this._values.input;return(null==s?void 0:s.video)&&s.video.length>0&&(s.video=s.video.filter((function(e){return e.stream_id===a}))),this._logger.info(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.SUCCESSED,trackId:e})),this}}),Object.defineProperty(t.prototype,"clearCustomizeLayoutVideo",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._values.input;return null==e||delete e.video,this._logger.info(i.L_MCU_CONFIG_BUILDER_CLEAR_CUSTOMIZE_LAYOUT_VIDEO_O),this}}),Object.defineProperty(t.prototype,"setCustomizeInputAudio",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;return e.some((function(e){return t._isValidTrackId(e)}))?(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.FAILED,msg:"trackIds contain invalid item -> trackIds: ".concat(e.join(","))})),this):((this._values.input||(this._values.input={})).audio=e.map((function(e){var t=dt(e),r=t.userId,n=t.tag;return{stream_id:_t(r,n),user_id:r}})),this._values.inputFilterMode=Os.AUDIO_INPUT_VIDEO_ALL,this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.SUCCESSED,trackIds:e})),this)}}),Object.defineProperty(t.prototype,"addCustomizeInputAudio",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!this._isValidTrackId(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(e)})),this;var t=this._values.input||(this._values.input={}),r=t.audio||(t.audio=[]),n=dt(e),a=n.userId,s=n.tag,c=_t(a,s);return r.some((function(e){return e.stream_id===c&&e.user_id===a}))?(this._logger.warn(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.FAILED,msg:"trackId: ".concat(e," is exist")})),this):(r.push({user_id:a,stream_id:c}),this._values.inputFilterMode=Os.AUDIO_INPUT_VIDEO_ALL,this._logger.info(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.SUCCESSED,trackId:e})),this)}}),Object.defineProperty(t.prototype,"removeCustomizeInputAudio",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!this._isValidTrackId(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(e)})),this;var t=this._values.input;if(!(null==t?void 0:t.audio)||0===t.audio.length)return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.FAILED,msg:"type of trackId: ".concat(e," is not audio")})),this;var r=dt(e),n=r.userId,a=r.tag,s=_t(n,a);return t.audio=t.audio.filter((function(e){return n!==e.user_id||s!==e.stream_id})),this._logger.info(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.SUCCESSED,trackId:e})),this}}),Object.defineProperty(t.prototype,"clearCustomizeInputAudio",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._values.input;return(null==e?void 0:e.audio)&&delete e.audio,this._values.inputFilterMode=Os.AUDIO_VIDEO_ALL,this._logger.info(i.L_MCU_CONFIG_BUILDER_CLEAR_CUSTOMIZE_INPUT_AUDIO_O),this}}),Object.defineProperty(t.prototype,"addPictureWaterMark",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a,s,c){if(!this._isValidTrackId(t))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_SINGLE_WATER_MARK_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(t)})),this;if(!e.isHttpUrl(r))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_SINGLE_WATER_MARK_O,JSON.stringify({status:o.FAILED,msg:"params error -> uri: ".concat(r)})),this;if([n,a,s,c].some((function(t){return!e.isNumber(t)||t<0||t>1}))||n+s>1||a+c>1)return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_SINGLE_WATER_MARK_O,JSON.stringify({status:o.FAILED,msg:"some attrs of (x, y, w, h) is invalid -> x: ".concat(n,", y: ").concat(a,", w: ").concat(s,", h: ").concat(c)})),this;var u=dt(t),l=u.userId,d=u.tag,_=_t(l,d),p=(this._values.waterMark||(this._values.waterMark={enable:"on",singleScreen:[]})).singleScreen,f=p.filter((function(e){return e.streamId===_}))[0];return f?f.picture.push({uri:r,w:s,h:c,x:n,y:a}):p.push({streamId:_,picture:[{uri:r,w:s,h:c,x:n,y:a}]}),this._values.waterMark.singleScreen=p,this._logger.info(i.L_MCU_CONFIG_BUILDER_ADD_SINGLE_WATER_MARK_O,JSON.stringify({status:o.SUCCESSED,trackId:t,uri:r,x:n,y:a,w:s,h:c,singleScreen:p})),this}}),Object.defineProperty(t.prototype,"clearPictureWaterMark",{enumerable:!1,configurable:!0,writable:!0,value:function(){return(this._values.waterMark||(this._values.waterMark={enable:"on",singleScreen:[]})).singleScreen=[],this._logger.info(i.L_MCU_CONFIG_BUILDER_CLEAR_OUTPUT_BACKGROUND_PICTURE_O),this}}),Object.defineProperty(t.prototype,"removePictureWaterMark",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){if(!e.notEmptyString(t)||!this._isValidTrackId(t))return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_SINGLE_WATER_MARK_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(t)})),this;var n=dt(t),a=n.userId,s=n.tag,c=_t(a,s);return(this._values.waterMark||(this._values.waterMark={enable:"on",singleScreen:[]})).singleScreen.forEach((function(e){e.streamId===c&&(e.picture=e.picture.filter((function(e){return e.uri!==r})))})),this._logger.info(i.L_MCU_CONFIG_BUILDER_REMOVE_SINGLE_WATER_MARK_O,JSON.stringify({status:o.SUCCESSED,trackId:t,uri:r})),this}}),Object.defineProperty(t.prototype,"reset",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._values=Ls(),this._logger.info(i.L_MCU_CONFIG_BUILDER_RESET_O),this}}),Object.defineProperty(t.prototype,"flush",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return void 0===e&&(e=!0),s(this,void 0,void 0,(function(){var t,r;return c(this,(function(n){switch(n.label){case 0:return t=JSON.parse(JSON.stringify(this._values)),[4,this._invoker.push(new Is(t,this._values))];case 1:return r=n.sent().code,e&&(this._values=Ls()),[2,{code:r}]}}))}))}}),Object.defineProperty(t.prototype,"__innerGetValues",{enumerable:!1,configurable:!0,writable:!0,value:function(){return JSON.parse(JSON.stringify(this._values))}}),t}();exports.RCLivingType=void 0,(ys=exports.RCLivingType||(exports.RCLivingType={}))[ys.VIDEO=0]="VIDEO",ys[ys.AUDIO=1]="AUDIO";var Ns,As=function(e){function t(t,r,n){var i=e.call(this)||this;return Object.defineProperty(i,"roomId",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(i,"roomPKHandler",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:n}),i}return r(t,e),Object.defineProperty(t.prototype,"_exchangeWithPushOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l,d,_,p,f;return c(this,(function(c){switch(c.label){case 0:return n=e.logger,a=e.peer,a.getLocalTracks().length?(s=a,[4,Ka(t.getSubscribedList(),!1,s,t)]):(n.info(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.SUCCESSED,msg:"have not published resource"}),this.traceId),[2]);case 1:return u=c.sent(),l=e.getPushOtherRooms(),u.pushOtherRooms=l,[4,new Fa(u,this.traceId,!0).execute(e,t,r)];case 2:return(d=c.sent()).code!==exports.RCRTCCode.SUCCESS?(n.error(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.FAILED,code:d.code,pushOtherRooms:l}),this.traceId),[2]):(_=d.data.data,p=_.sdp,(f=_.resultCode)!==exports.RCRTCCode.SUCCESS?(n.error(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.FAILED,code:f,pushOtherRooms:l}),this.traceId),[2]):(n.info(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.SUCCESSED,pushOtherRooms:l}),this.traceId),s.setRemoteAnswer(p.sdp),[2]))}}))}))}}),Object.defineProperty(t.prototype,"kind",{get:function(){return la.EXCHANGE_WITH_PUSH_OTHER_ROOM},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,a;return c(this,(function(s){switch(s.label){case 0:return n=e.logger,a=this.roomId,n.info(i.L_EXCHANGE_WITH_PUSHOTHERROOM_T,a),this.roomPKHandler?this.roomPKHandler.getPKInfo(a)?[4,this._exchangeWithPushOtherRoom(e,t,r)]:(n.warn(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.FAILED,msg:"PKInfo not exist"}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS}]):(n.error(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.FAILED,msg:"_roomPKHandler not exist"}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return s.sent(),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),t}(Ca),ws=function(t){function n(e,r,n,i,o,a){var s=t.call(this)||this;return Object.defineProperty(s,"pkHandler",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(s,"room",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(s,"_PKInfo",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(s,"_joinedPKRooms",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(s,"isQuitPK",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(s,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:a}),s}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.LEAVE_OTHER_ROOM},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"quitRoomPK",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f,h,b,R;return c(this,(function(c){switch(c.label){case 0:return s=t.logger,u=t.context,s.info(i.L_QUIT_PK_T,"roomId: ".concat(r),a),this._PKInfo[r]?(l=this._PKInfo[r],d=l.inviterRoomId,_=l.inviteeRoomId,p=l.inviterUserId,f=l.inviteSessionId,h={inviteeRoomId:_,inviterRoomId:d,userId:n.crtUserId},b={roomId:n.roomId,endRoomId:r,sessionId:f,content:JSON.stringify(h),keys:["".concat(d,"|").concat(p)]},[4,u.endRoomPK(b)]):(s.warn(i.L_QUIT_PK_R,"status: ".concat(o.FAILED,", msg: pkinfo is empty"),a),[2]);case 1:return(R=c.sent())!==e.ErrorCode.SUCCESS?(s.error(i.L_QUIT_PK_R,"status: ".concat(o.FAILED,", code: ").concat(R),a),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(s.info(i.L_QUIT_PK_R,"status: ".concat(o.SUCCESSED),a),delete this._PKInfo[r],[2])}}))}))}}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return n=e.logger,s=(a=this).room,u=a.isQuitPK,l=s.getRoomId(),n.info(i.L_LIVING_ROOM_LEAVE_PK_ROOM_T,JSON.stringify({roomId:l,isQuitPK:u}),this.traceId),[4,s.__destroy(!0)];case 1:return c.sent(),delete this._joinedPKRooms[l],[4,new As(l,this.pkHandler,this.traceId).execute(e,t,r)];case 2:return c.sent(),u&&this.quitRoomPK(e,l,t,this.traceId),n.info(i.L_LIVING_ROOM_LEAVE_PK_ROOM_R,JSON.stringify({status:o.SUCCESSED}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),n}(Ca),Ds=function(){function t(e,t,r,n,i,o,a,s,c,u){Object.defineProperty(this,"_invoker",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_PKInfo",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_service",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_initOptions",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"_mainLivingRoom",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"_registerPKMsgListener",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"_onJoinedPKRoom",{enumerable:!0,configurable:!0,writable:!0,value:c}),Object.defineProperty(this,"_clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:u}),Object.defineProperty(this,"_inviteTimeout",{enumerable:!0,configurable:!0,writable:!0,value:30}),Object.defineProperty(this,"_appListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_mainRoomId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_joinedPKRooms",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._logger=this._context.logger,this._registerPKMsgListener(this._onRecvPKMsg.bind(this)),this._mainRoomId=this._mainLivingRoom.getRoomId()}return Object.defineProperty(t.prototype,"_callAppListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var o=null===(t=this._appListener)||void 0===t?void 0:t[e];if(o)try{o.apply(void 0,d([],l(r),!1))}catch(e){this._logger.error(i.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O,JSON.stringify(e))}}}),Object.defineProperty(t.prototype,"_onInvite",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.inviteInfo||{},r=t.inviterRoomId,n={inviterRoomId:r,inviterUserId:t.inviterUserId,extra:t.extra};this._PKInfo[r]=t,this._logger.info(i.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onRequestJoinOtherRoom",info:n})),this._callAppListener("onRequestJoinOtherRoom",n)}}),Object.defineProperty(t.prototype,"_onCancelInvite",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.inviteInfo||{},r=t.inviterRoomId,n={inviterRoomId:r,inviterUserId:t.inviterUserId,extra:t.extra};delete this._PKInfo[r],this._logger.info(i.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onCancelRequestOtherRoom",cancelInfo:n})),this._callAppListener("onCancelRequestOtherRoom",n)}}),Object.defineProperty(t.prototype,"_onInviteTimeout",{enumerable:!1,configurable:!0,writable:!0,value:function(e){}}),Object.defineProperty(t.prototype,"_onInviteAnswer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.answerCode,r=e.inviteContent,n=r.inviteSessionId,o=r.inviterUserId,a=r.inviterRoomId,s=r.inviteeUserId,c=r.inviterUserAutoMix,u=r.inviteeUserAutoMix,l=r.inviteeRoomId,d={agree:1===t,inviterRoomId:a,inviterUserId:o,inviteeRoomId:l,inviteeUserId:s,extra:r.extra};this._PKInfo[l]=this._PKInfo[l]||{inviteSessionId:n,inviterRoomId:a,inviterUserId:o,inviterUserAutoMix:c,inviteeRoomId:l},this._PKInfo[l].inviteeUserAutoMix=u,this._logger.info(i.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onResponseJoinOtherRoom",answerInfo:d})),this._callAppListener("onResponseJoinOtherRoom",d)}}),Object.defineProperty(t.prototype,"createLeaveOtherRoomCommand",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return new ws(this,e,this._PKInfo,this._joinedPKRooms,t,r)}}),Object.defineProperty(t.prototype,"_onPKEnd",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,o,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return t=e.inviteInfo,r=t.inviteeRoomId,n=t.inviterRoomId,o=t.userId,a=n===this._mainRoomId?r:n,s={endRoomId:a,endUserId:o},u=this._joinedPKRooms[a],l=this._logger.createTraceId(),this._logger.info(i.L_QUIT_PK_LEAVE_PK_ROOM_O,void 0,l),u?[4,this._invoker.push(this.createLeaveOtherRoomCommand(u,!0,l))]:[3,2];case 1:c.sent(),c.label=2;case 2:return delete this._PKInfo[a],this._logger.info(i.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onFinishOtherRoom",endInfo:s})),this._callAppListener("onFinishOtherRoom",s),[2]}}))}))}}),Object.defineProperty(t.prototype,"_onRecvPKMsg",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.content;switch(e.messageType){case Tt.PK_INVITE:this._onInvite(t);break;case Tt.PK_CANCEL_INVITE:this._onCancelInvite(t);break;case Tt.PK_INVITE_TIMEOUT:this._onInviteTimeout(t);break;case Tt.PK_INVITE_ANSWER:this._onInviteAnswer(t);break;case Tt.PK_END:this._onPKEnd(t)}}}),Object.defineProperty(t.prototype,"registerRoomPKEventListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_LIVING_PK_HANDLER_REGISTER_ROOM_PK_EVENT_LISTENER_O,JSON.stringify({listener:e&&Object.keys(e)})),this._appListener=e}}),Object.defineProperty(t.prototype,"requestJoinOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l,d,_;return c(this,(function(c){switch(c.label){case 0:return a=this._logger.createTraceId(),this._logger.info(i.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_T,JSON.stringify({inviteeRoomId:t,inviteeUserId:r,options:n}),a),e.validate("inviteeRoomId",t,e.notEmptyString,!0)&&e.validate("inviteeUserId",r,e.notEmptyString,!0)?(s=Zi(),u=!e.isBoolean(null==n?void 0:n.autoMix)||(null==n?void 0:n.autoMix),l={inviteSessionId:s,inviterRoomId:this._mainRoomId,inviterUserId:this._context.getCurrentId(),inviterUserAutoMix:u,inviteeRoomId:t,inviteeUserId:r,inviteeTimeoutTime:this._inviteTimeout,extra:(null==n?void 0:n.extra)||""},d={roomId:this._mainRoomId,invitedRoomId:t,invitedUserId:r,inviteTimeout:this._inviteTimeout,inviteInfo:JSON.stringify(l),inviteSessionId:s},[4,this._context.requestRoomPK(d)]):(this._logger.error(i.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> inviteeRoomId or inviteeUserId"}),a),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return(_=c.sent())!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:_}),a),[2,{code:_}]):(this._PKInfo[t]={inviteSessionId:s,inviterRoomId:this._mainRoomId,inviterUserId:this._context.getCurrentId(),inviterUserAutoMix:u,inviteeRoomId:t},this._logger.info(i.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.SUCCESSED}),a),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(t.prototype,"cancelRequestJoinOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return a=this._logger.createTraceId(),this._logger.info(i.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_T,JSON.stringify({inviteeRoomId:t,inviteeUserId:r,extra:n}),a),e.validate("inviteeRoomId",t,e.notEmptyString,!0)&&e.validate("inviteeUserId",r,e.notEmptyString,!0)?this._PKInfo[t]?(s={inviterRoomId:this._mainRoomId,inviterUserId:this._context.getCurrentId(),inviteeRoomId:t,inviteeUserId:r,extra:n||""},u={roomId:this._mainRoomId,invitedRoomId:t,invitedUserId:r,inviteSessionId:this._PKInfo[t].inviteSessionId,inviteInfo:JSON.stringify(s)},[4,this._context.cancelRoomPK(u)]):(this._logger.error(i.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"The request to connect with ".concat(r," user in room ").concat(t," is not initiated")}),a),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):(this._logger.error(i.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> inviteeRoomId or inviteeUserId"}),a),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return(l=c.sent())!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:l}),a),[2,{code:l}]):(this._logger.info(i.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.SUCCESSED}),a),delete this._PKInfo[t],[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(t.prototype,"responseJoinOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f,h,b,R;return c(this,(function(c){switch(c.label){case 0:return s=this._logger.createTraceId(),this._logger.info(i.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_T,JSON.stringify({inviterRoomId:t,inviterUserId:r,agree:n,options:a}),s),e.validate("inviterRoomId",t,e.notEmptyString,!0)&&e.validate("inviterUserId",r,e.notEmptyString,!0)?this._PKInfo[t]?(u=this._PKInfo[t],l=u.inviteSessionId,d=u.inviterUserAutoMix,_=!e.isBoolean(null==a?void 0:a.autoMix)||(null==a?void 0:a.autoMix),p={inviteSessionId:l,inviterRoomId:t,inviterUserId:r,inviterUserAutoMix:d,inviteeRoomId:this._mainRoomId,inviteeUserId:this._context.getCurrentId(),inviteeUserAutoMix:_},f=Object.assign(p,{inviterUserAutoMix:d}),h=n?Object.assign(p,{MultiRoomKey:"".concat(t,"|").concat(this._mainRoomId),MultiRoomValue:JSON.stringify(f)}):p,!e.isUndefined(null==a?void 0:a.extra)&&Object.assign(h,{extra:a.extra}),b={agree:n,roomId:this._mainRoomId,inviteSessionId:l,inviteRoomId:t,inviteUserId:r,content:JSON.stringify(h),key:"".concat(t,"|").concat(this._mainRoomId),value:JSON.stringify(p)},[4,this._context.responseRoomPK(b)]):(this._logger.error(i.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"User ".concat(r," in room ").concat(t," did not send a request for connection")}),s),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):(this._logger.error(i.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> inviterRoomId or inviterUserId"}),s),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return(R=c.sent())!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:R}),s),[2,{code:R}]):(this._logger.info(i.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.SUCCESSED}),s),this._PKInfo[t].inviteeUserAutoMix=_,[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(t.prototype,"joinOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,a,s,u;return c(this,(function(c){switch(c.label){case 0:return r=this._logger.createTraceId(),this._logger.info(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_T,JSON.stringify({roomId:t}),r),e.validate("roomId",t,e.notEmptyString,!0)?this._context.getConnectionStatus()!==e.RCConnectionStatus.CONNECTED?(this._logger.error(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.SIGNAL_DISCONNECTED,msg:"IM disconnected"}),r),[2,{code:exports.RCRTCCode.SIGNAL_DISCONNECTED}]):this._joinedPKRooms[t]?(this._logger.warn(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly"}),r),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):(n=exports.RCLivingType.VIDEO,a={extra:'{"roomId": "'.concat(this._mainRoomId,'"}')},[4,(s=new Bs(this._context,this._runtime,t,this._service,this._initOptions,n,!1,!1,this._clientSessionId)).__innerInit(exports.RTCMode.LIVE,void 0,n,a)]):(this._logger.error(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> roomId"}),r),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return(u=c.sent().code)!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:u}),r),[2,{code:u}]):(this._joinedPKRooms[t]=s,[4,this._onJoinedPKRoom(t,r)]);case 2:return c.sent(),this._logger.info(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.SUCCESSED}),r),[2,{room:s,code:exports.RCRTCCode.SUCCESS,userIds:s.getRemoteUserIds(),tracks:s.getRemoteTracks()}]}}))}))}}),Object.defineProperty(t.prototype,"leaveOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r;return c(this,(function(n){return r=this._logger.createTraceId(),this._logger.info(i.L_APP_CALL_LEAVE_PK_ROOM_O,void 0,r),[2,this._invoker.push(this.createLeaveOtherRoomCommand(e,t,r))]}))}))}}),Object.defineProperty(t.prototype,"getPKInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._PKInfo[e]}}),Object.defineProperty(t.prototype,"getAllPKInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._PKInfo}}),Object.defineProperty(t.prototype,"getJoinedPKRooms",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._joinedPKRooms}}),t}();!function(e){e[e.OPEN=1]="OPEN",e[e.STOP=2]="STOP"}(Ns||(Ns={}));var ks,Us=function(t){function n(e,r){var n=t.call(this)||this;return Object.defineProperty(n,"cdnValues",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(n,"enable",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.ENABLE_INNER_CDN},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l,d,_,p;return c(this,(function(c){switch(c.label){case 0:return a=t.logger,s=t.context,u=this.enable,a.info(i.L_LIVING_ROOM_ENABLE_INNER_CDN_T,JSON.stringify({roomId:r.roomId,enable:u})),r.isMainRoom?e.isBoolean(u)?(r.setCDNEnabel(u),l={version:2,output:{inCDNModel:u?Ns.OPEN:Ns.STOP}},[4,new Is(l,this.cdnValues).execute(t,r,n)]):(a.error(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> enable"})),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):(a.error(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM,msg:"method not available in PK room"})),[2,{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM}]);case 1:return(d=c.sent().code)!==exports.RCRTCCode.SUCCESS?(a.error(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.FAILED,code:d,msg:"signal error"})),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(_=r.getCDNUris())&&_.broadcast!==Pa.SPREAD?(a.info(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.SUCCESSED,enable:u})),[2,{code:exports.RCRTCCode.SUCCESS}]):[4,za(s,r)];case 2:return(p=c.sent().code)===exports.RCRTCCode.SUCCESS?(a.info(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.SUCCESSED,enable:u})),[2,{code:exports.RCRTCCode.SUCCESS}]):(a.error(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.FAILED,code:p})),[2,{code:p}])}}))}))}}),n}(Ca);!function(e){e[e.AnchorToViewer=1]="AnchorToViewer",e[e.ViewerToAnchor=2]="ViewerToAnchor"}(ks||(ks={}));var Ms,xs,js=function(t){function n(e,r){var n=t.call(this)||this;return Object.defineProperty(n,"livingType",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(n,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.RTC_IDENTITY_CHANGE},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){var i;return s(this,void 0,void 0,(function(){var o,a,s,u;return c(this,(function(c){switch(c.label){case 0:return[4,t.context.rtcIdentityChange(r.roomId,ks.ViewerToAnchor,this.livingType)];case 1:return o=c.sent(),a=o.code,s=o.data,a===e.ErrorCode.SUCCESS&&s?(r.initWithRoomData(s,this.traceId),r.getResourcesByUserId(r.crtUserId).length>0&&n.push(new Ea),(u=null===(i=s.roomInfo.filter((function(e){return"cdn_uris"===e.key}))[0])||void 0===i?void 0:i.value)&&r.setCDNUris(JSON.parse(u)[0]),[2,{code:a,data:s}]):[2,{code:a}]}}))}))}}),n}(Ca),Bs=function(t){function n(e,r,n,i,o,a,s,c,u){var l=t.call(this,e,r,n,exports.RTCMode.LIVE,i,o,s,c,u)||this;return Object.defineProperty(l,"_livingType",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(l,"_mcuConfigBuilder",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(l,"_roomPKHandler",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),l._mcuConfigBuilder=new Ps(l._executeCtx,l._invoker,l._isValidResourceId.bind(l)),l}return r(n,t),Object.defineProperty(n.prototype,"_initRoomPKHandler",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(this._store.isMainRoom){var r=(n=this._roomId,i=e.roomInfo,o={},i.forEach((function(e){var t=JSON.parse(e.value),r=t.inviterRoomId,i=t.inviteeRoomId;o[n===r?i:r]=JSON.parse(e.value)})),o);this._roomPKHandler=new Ds(this._invoker,r,this._context,this._runtime,this._service,this._initOptions,this,t.prototype._registerPKMsgListener.bind(this),this._onJoinedPKRoom.bind(this),this._clientSessionId)}var n,i,o}}),Object.defineProperty(n.prototype,"__innerInit",{enumerable:!1,configurable:!0,writable:!0,value:function(r,n,a,u,l,d){return s(this,void 0,void 0,(function(){var s,_,p;return c(this,(function(c){switch(c.label){case 0:return e.validate("livingType",a,(function(e){return e===exports.RCLivingType.AUDIO||e===exports.RCLivingType.VIDEO}))?[4,t.prototype.__innerInit.call(this,r,n,a,u,l,d)]:(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> livingType"}),d),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return s=c.sent(),_=s.code,p=s.data,_===exports.RCRTCCode.SUCCESS&&p&&this._initRoomPKHandler(p),[2,{code:_,data:p}]}}))}))}}),Object.defineProperty(n.prototype,"__innerInitByIdentityChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,a;return c(this,(function(s){switch(s.label){case 0:return[4,this._invoker.push(new js(this._livingType,t))];case 1:return r=s.sent(),n=r.code,a=r.data,n===e.ErrorCode.SUCCESS&&a?(this._initRoomPKHandler(a),this._initWithRoomData(a.offlineKickTime),this._logger.info(i.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_R,JSON.stringify({status:o.SUCCESSED,roomData:a}),t)):this._logger.error(i.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_R,JSON.stringify({status:o.FAILED,code:n}),t),[2,n]}}))}))}}),Object.defineProperty(n.prototype,"publish",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(r){return this._store.isMainRoom?[2,t.prototype.publish.call(this,e)]:(this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM,msg:"method not available in PK room"})),[2,{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM}])}))}))}}),Object.defineProperty(n.prototype,"unpublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(r){return this._store.isMainRoom?[2,t.prototype.unpublish.call(this,e)]:(this._logger.error(i.L_ABSTRACT_ROOM_UNPUBLISH_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM,msg:"method not available in PK room"})),[2,{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM}])}))}))}}),Object.defineProperty(n.prototype,"_isValidResourceId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r,n=dt(e).userId,i=!!(null===(t=this._store.getResourcesByUserId(n))||void 0===t?void 0:t.find((function(t){return lt(t)===e}))),o=this.getRoomPKHandler(),a=o.code,s=o.roomPKHandler;if(a!==exports.RCRTCCode.SUCCESS||!s)return i;var c=s.getJoinedPKRooms(),u=[];return Object.values(c).forEach((function(e){u.push.apply(u,d([],l(e.getRemoteTracks()),!1))})),r=u.some((function(t){return e===t.getTrackId()})),i||r}}),Object.defineProperty(n.prototype,"getLivingType",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._livingType}}),Object.defineProperty(n.prototype,"getMCUConfigBuilder",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.isMainRoom?this._mcuConfigBuilder:(this._logger.error(i.L_LIVING_ROOM_GET_MCU_CONFIG_BUILDER_O,"the `getMCUConfigBuilder` is disabled in PK room"),{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM})}}),Object.defineProperty(n.prototype,"enableInnerCDN",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return[2,this._invoker.push(new Us(this._mcuConfigBuilder.__innerGetValues(),e))]}))}))}}),Object.defineProperty(n.prototype,"_resourceHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,n,i,o){return s(this,void 0,void 0,(function(){return c(this,(function(a){return t.prototype._resourceHandle.call(this,e,r,n,i,o),[2]}))}))}}),Object.defineProperty(n.prototype,"__getCDNEnable",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return!!(null===(e=this._store.getCDNUris())||void 0===e?void 0:e.enableInnerCDN)}}),Object.defineProperty(n.prototype,"__getCDNPushMode",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return null===(e=this._store.getCDNUris())||void 0===e?void 0:e.push_mode}}),Object.defineProperty(n.prototype,"_onJoinedPKRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){return c(this,(function(r){return this._invoker.push(new As(e,this._roomPKHandler,t)),[2]}))}))}}),Object.defineProperty(n.prototype,"_getPushOtherRoomsParams",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[];if(!this.isMainRoom()||!this._roomPKHandler)return e;var t=this._roomPKHandler.getJoinedPKRooms();for(var r in t){var n=t[r].getSessionId(),i=this._roomPKHandler.getPKInfo(r);if(i){var o=i.inviterUserAutoMix,a=i.inviteeUserAutoMix,s=i.inviterUserId,c=this._context.getCurrentId()===s;e.push({roomId:r,sessionId:n,autoMix:c?!!o:!!a})}}return e}}),Object.defineProperty(n.prototype,"getRoomPKHandler",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.isMainRoom?(this._logger.info(i.L_LIVING_ROOM_GET_ROOM_PK_HANDLER_O,JSON.stringify({status:o.SUCCESSED})),{code:exports.RCRTCCode.SUCCESS,roomPKHandler:this._roomPKHandler}):(this._logger.error(i.L_LIVING_ROOM_GET_ROOM_PK_HANDLER_O,JSON.stringify({status:o.SUCCESSED,code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM,msg:"method not available in PK room"})),{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM})}}),Object.defineProperty(n.prototype,"_quitAllPKRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e,t;return c(this,(function(r){for(t in e=this._roomPKHandler.getJoinedPKRooms())this._roomPKHandler.leaveOtherRoom(e[t]);return this._logger.info(i.L_LIVING_ROOM_QUIT_ALL_PK_ROOM_O,JSON.stringify({status:o.SUCCESSED,roomIds:Object.keys(e)})),[2]}))}))}}),Object.defineProperty(n.prototype,"isMainRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.isMainRoom}}),n}(Ss),Vs=function(e){function t(t,r,n,i,o,a,s){return void 0===a&&(a=exports.RTCMode.RTC),void 0===s&&(s=!1),e.call(this,t,r,n,a,i,o,!1,!1,Zi(),s)||this}return r(t,e),t}(Ss),Fs=function(){function e(){Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"locked",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"taskCount",{enumerable:!0,configurable:!0,writable:!0,value:0})}return Object.defineProperty(e.prototype,"checkToStart",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e,t,r,n,i,o;return c(this,(function(a){switch(a.label){case 0:if(0===this.queue.length||this.locked)return[2];this.locked=!0,e=this.queue.shift(),t=e.resolve,r=e.task,n=e.reject,a.label=1;case 1:return a.trys.push([1,3,,4]),[4,r()];case 2:return i=a.sent(),t(i),[3,4];case 3:return o=a.sent(),n(o),[3,4];case 4:return this.locked=!1,this.checkToStart(),[2]}}))}))}}),Object.defineProperty(e.prototype,"push",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this,n=new Promise((function(t,n){r.queue.push({resolve:t,task:e,reject:n})}));return this.checkToStart(),n}}),e}(),Js=new Fs,Gs=function(e,t){return void 0===t&&(t=""),Js.push(e,t)},Hs=function(){function t(e,t,r){Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_pc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_service",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_rtcToken",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_liveUrl",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_subTracks",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_subscribedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_reportListener",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:Zi()}),Object.defineProperty(this,"_store",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_crtUserId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_livingType",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_mediaType",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_subTiny",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_fromRetry",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_appListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),this._crtUserId=this._context.getCurrentId(),this._service=new to(t,e,r.mediaServer),this._logger=this._context.logger,this._store=new Ta(this._logger,this._clientSessionId,this._context.getAppkey(),this._crtUserId,this._crtUserId,exports.RTCMode.LIVE)}return Object.defineProperty(t.prototype,"_getReqHeaders",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o;return c(this,(function(a){switch(a.label){case 0:return r=this._crtUserId,this._rtcToken?[3,2]:[4,this._context.getRTCToken(r,exports.RTCMode.LIVE,t)];case 1:if(n=a.sent(),i=n.code,o=n.data,i!==e.ErrorCode.SUCCESS)return[2,{code:exports.RCRTCCode.SIGNAL_ERROR}];this._rtcToken=o.rtcToken,a.label=2;case 2:return[2,{code:exports.RCRTCCode.SUCCESS,headers:{"App-Key":this._context.getAppkey(),UserId:this._crtUserId,RoomId:r,RoomType:exports.RTCMode.LIVE,Token:this._rtcToken,"Client-Session-Id":this._clientSessionId}}]}}))}))}}),Object.defineProperty(t.prototype,"_clearSubscribeInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;this._liveUrl="",this._livingType=null,this._mediaType=null,this._subTiny=!1,this._subTracks.length=0,null===(e=this._pc)||void 0===e||e.destroy(),this._pc=null}}),Object.defineProperty(t.prototype,"_reTryExchange",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return this._fromRetry=!0,[4,this.subscribe(this._liveUrl,this._livingType,this._mediaType,this._subTiny)];case 1:return(t=r.sent().code)===exports.RCRTCCode.SUCCESS&&(null===(e=this._pc)||void 0===e||e.clearReTryExchangeTimer()),[2,{code:t}]}}))}))}}),Object.defineProperty(t.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return void 0===n&&(n=!1),s(this,void 0,void 0,(function(){var i=this;return c(this,(function(o){return[2,Gs((function(){return i.__subscribe(e,t,r,n)}),"audience-client-sub")]}))}))}}),Object.defineProperty(t.prototype,"__subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a){var u;return void 0===a&&(a=!1),s(this,void 0,void 0,(function(){var s,l,d,_,p,f,h,b,R,g,m,C,v,O=this;return c(this,(function(c){switch(c.label){case 0:return this._logger.info(i.L_AUDIENCE_CLIENT_SUBSCRIBE_T,JSON.stringify({liveUrl:t,livingType:r,mediaType:n,subTiny:a})),s=[],It(this._context.getNaviInfo())?(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR,msg:"package environment error"})),[2,{code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR,tracks:s}]):(!this._fromRetry&&(null===(u=this._pc)||void 0===u||u.clearReTryExchangeTimer()),this._fromRetry=!1,e.isString(t)?[exports.RCLivingType.AUDIO,exports.RCLivingType.VIDEO].includes(r)?[exports.RCMediaType.AUDIO_ONLY,exports.RCMediaType.VIDEO_ONLY,exports.RCMediaType.AUDIO_VIDEO].includes(n)?this._liveUrl&&this._liveUrl!==t?(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.BROADCAST_SUB_LIST_NOT_EMPTY,msg:"repeat subscribe"})),[2,{code:exports.RCRTCCode.BROADCAST_SUB_LIST_NOT_EMPTY,tracks:s}]):(this._pc||(this._pc=new Ra(this._logger,this._reTryExchange.bind(this),this._crtUserId,this._store,void 0,!1),this._pc.on(Ra.__INNER_EVENT_TRACK_READY__,this._onTrackReady,this),this._pc.registerReportListener(this._reportListener),this._pc.__reportR3R4ToPolaris()),this._liveUrl=t,[4,this._getReqHeaders(r)]):(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> -> mediaType: ".concat(n)})),[2,{code:exports.RCRTCCode.PARAMS_ERROR,tracks:s}]):(this._logger.error("livingType is invalid: ".concat(r)),this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> livingType: ".concat(r)})),[2,{code:exports.RCRTCCode.PARAMS_ERROR,tracks:s}]):(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> liveUrl: ".concat(t)})),[2,{code:exports.RCRTCCode.PARAMS_ERROR,tracks:s}]));case 1:return l=c.sent(),d=l.code,_=l.headers,d!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:d,msg:"getRTCToken failed"})),[2,{code:d,tracks:s}]):(p="rc_mcu_".concat(Date.now()),f="RongCloudRTC",0===this._subTracks.length&&(this._subTracks.push(new rt(this._logger,f,p),new nt(this._logger,f,p)),this._pc.updateSubRemoteTracks(this._subTracks.slice())),[4,this._pc.createOffer(!0)]);case 2:return h=c.sent(),b={sdp:h,liveUrl:t,mediaType:n,simulcast:a?qi.TINY:qi.NORMAL,switchstream:!1},[4,this._service.broadcastSubscribe(_,b)];case 3:return(R=c.sent()).code!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:R.code})),[2,{code:R.code,tracks:s}]):(g=R.data).resultCode!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:g.resultCode,msg:g.message})),[2,{code:g.resultCode,tracks:s}]):(this._livingType=r,this._mediaType=n,this._subTiny=a,m=g.sdp,C=g.subscribedList,this._subscribedList=C,v=[],C.forEach((function(e){var t=e.mediaType,r=O._subTracks[t];v.push(r),r.__innerSetRemoteMuted(!0)})),this._pc.setRemoteAnswer(m.sdp),v&&this._updateTrackIdSSRCMap(m.sdp,v),this._logger.info(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.SUCCESSED,liveUrl:t})),[2,{code:exports.RCRTCCode.SUCCESS,tracks:v}])}}))}))}}),Object.defineProperty(t.prototype,"_updateTrackIdSSRCMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;t.forEach((function(t){var n=t.getTrackId(),i=dt(n).mediaType,o=r._subscribedList.filter((function(e){return e.mediaType===i}))[0].msid,a=$a(e,o,i);r._store.setTrackIdSSRCMap(Number(a),n)}))}}),Object.defineProperty(t.prototype,"unsubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e=this;return c(this,(function(t){return[2,Gs((function(){return e.__unsubscribe()}),"audience-client-unsub")]}))}))}}),Object.defineProperty(t.prototype,"__unsubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return s(this,void 0,void 0,(function(){var t,r;return c(this,(function(n){switch(n.label){case 0:return this._logger.info(i.L_AUDIENCE_CLIENT_UNSUBSCRIBE_T,JSON.stringify({liveUrl:this._liveUrl})),null===(e=this._pc)||void 0===e||e.clearReTryExchangeTimer(),this._rtcToken&&this._liveUrl?[4,this._getReqHeaders()]:(this._logger.warn(i.L_AUDIENCE_CLIENT_UNSUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:"",msg:"Address does not exist, without unsubscribe"})),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return t=n.sent().headers,[4,this._service.broadcastExit(t)];case 2:return(r=n.sent().code)!==exports.RCRTCCode.SUCCESS?this._logger.error(i.L_AUDIENCE_CLIENT_UNSUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:r})):(this._logger.info(i.L_AUDIENCE_CLIENT_UNSUBSCRIBE_R,JSON.stringify({status:o.SUCCESSED,liveUrl:this._liveUrl})),this._subscribedList=[]),this._clearSubscribeInfo(),[2,{code:r}]}}))}))}}),Object.defineProperty(t.prototype,"registerReportListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._reportListener=e}}),Object.defineProperty(t.prototype,"registerTrackEventListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._appListener=e}}),Object.defineProperty(t.prototype,"_onTrackReady",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r,n=e.receiver.track,o="audio"===n.kind?exports.RCMediaType.AUDIO_ONLY:exports.RCMediaType.VIDEO_ONLY,a=this._subTracks[o];a.__innerSetMediaStreamTrack(n);try{this._logger.info(i.L_AUDIENCE_CLIENT_CALL_ONTRACKREADY_O,"trackId: ".concat(a.getTrackId())),null===(r=null===(t=this._appListener)||void 0===t?void 0:t.onTrackReady)||void 0===r||r.call(t,a)}catch(e){this._logger.error(i.L_AUDIENCE_CLIENT_CALL_ONTRACKREADY_O,JSON.stringify(e))}}}),t}();exports.RCInnerCDNPullKind=void 0,(Ms=exports.RCInnerCDNPullKind||(exports.RCInnerCDNPullKind={})).RTMP="rtmp",Ms.FLV="flv",Ms.HLS="hls",exports.RCInnerCDNPullIsHttps=void 0,(xs=exports.RCInnerCDNPullIsHttps||(exports.RCInnerCDNPullIsHttps={}))[xs.NOT_HTTPS=0]="NOT_HTTPS",xs[xs.HTTPS=1]="HTTPS";var Ks,Ws=a(a({},bt(exports.RCResolution.W176_H144)),{frameRate:mt(exports.RCFrameRate.FPS_15)}),Ys=function(){function t(e,t,r,n,i,o,a){void 0===a&&(a=Zi());var u=this;Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_initOptions",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_joinResData",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"livingType",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"_clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"_service",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_roomAnchorList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_roomRes",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_roomAnchorRes",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_remoteTracks",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_appListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_pc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_subscribedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_sessionId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_destroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_polarisReport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_audioLevelReport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_CDNUris",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isPulling",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_pullTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_store",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_crtUserId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_reportMediaActionLogger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_trackMediaMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_reportListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),this._logger=this._context.logger,this._crtUserId=this._context.getCurrentId(),this._polarisReport=new Ts(this._context,this._runtime,this._roomId,this,hs.Audience),this._reportMediaActionLogger=new gs(this._logger,this._roomId,this._clientSessionId,this._crtUserId),this._service=new to(this._runtime,this._context,this._initOptions.mediaServer,this._initOptions.timeout);var l=this._store=new Ta(this._logger,a,e.getAppkey(),n,this._crtUserId,exports.RTCMode.LIVE),d=this._pc=new Ra(this._logger,this._reTryExchange.bind(this),this._crtUserId,l,this._polarisReport,!0);this._audioLevelReport=new ga(this._store,d),d.on(Ra.__INNER_AUDIOLEVEL_CHANGE__,this._audioLevelReport.audioLevelReport,this._audioLevelReport),this._polarisReport.sendR1(),this._context.registerRTCSignalListener((function(e){return s(u,void 0,void 0,(function(){var t,r,n,i;return c(this,(function(o){return t=this._context.decodeRtcNotify(e),r=t.time,n=t.type,i=t.roomId,1===n&&this._startPull(i,r),[2]}))}))})),this._setInitData()}return Object.defineProperty(t.prototype,"_startPull",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return this._isPulling?[2]:(this._isPulling=!0,this._pullTime>r?(this._isPulling=!1,[2]):(n=this._logger.createTraceId(),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_T,"pullTime: ".concat(this._pullTime),n),[4,this._context.pullRTCRoomEntry(t)]));case 1:return a=c.sent(),s=a.code,u=a.data,s===e.ErrorCode.SUCCESS&&(this._isPulling=!1,this._pullTime=(null==u?void 0:u.syncTime)||0,l=(null==u?void 0:u.kvEntries)||[],this._logger.info(i.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_R,"status: ".concat(o.SUCCESSED,", kvEntries: ").concat(JSON.stringify(l)),n),this.singalDataChange(l,t,n)),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_R,"status: ".concat(o.FAILED,", code: ").concat(s),n),[2]}}))}))}}),Object.defineProperty(t.prototype,"_setInitData",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=function(e,t,r){var n=t.filter((function(e){return"RC_RTC_SESSIONID"===e.key}))[0],i=n?n.value:"",o=t.filter((function(e){return"RC_ANCHOR_LIST"===e.key})).map((function(e){return JSON.parse(e.value||"[]")}))[0],a=t.filter((function(e){return e.key.includes("RC_RES_")})).map((function(e){return JSON.parse(e.value||"{}")})),s=a.length?JSON.parse(a[0].mcu_uris||"[]"):[],c=[];s.forEach((function(t){var n=t.mediaType,i=t.tag,o=n===exports.RCMediaType.AUDIO_ONLY?new rt(r,i,"",e):new nt(r,i,"",e);c.push(o)}));var u=[],_=[];a.forEach((function(e){var t=JSON.parse(e.uris||"[]");u.push.apply(u,d([],l(t),!1)),t.forEach((function(e){var t=e.mediaType,n=e.tag,i=e.msid.split("_");i.pop();var o=i.join("_"),a=t===exports.RCMediaType.AUDIO_ONLY?new rt(r,n,o):new nt(r,n,o);_.push(a)}))}));var p=t.filter((function(e){return"RC_CDN"===e.key})).map((function(e){var t=JSON.parse(e.value||"[]");return JSON.parse(t.cdn_uris)[0]}))[0];return{sessionId:i,remoteUserIds:o||[],remoteRTCUris:u,remoteMUCUris:s,remoteRTCTracks:_,remoteMCUTracks:c,remoteTracks:d(d([],l(_),!1),l(c),!1),CDNUris:p||{}}}(this._roomId,this._joinResData.kvEntries,this._logger),r=t.sessionId,n=t.remoteUserIds,i=t.remoteRTCUris,o=t.remoteMUCUris,a=t.remoteTracks,s=t.CDNUris;this._sessionId=r,this._roomAnchorList=n,a.forEach((function(t){e._remoteTracks[t.getTrackId()]=t})),this._CDNUris=s,i.forEach((function(t){var r=t.msid.split("_")[0];e._roomAnchorRes[r]?e._roomAnchorRes[r].push(t):e._roomAnchorRes[r]=[t];var n=JSON.parse(t.uri),i=n.ssrc,o=n.resourceId;e._store.setTrackIdSSRCMap(i,o)})),o.forEach((function(t){var r=t.mediaType,n=t.tag,i=[e._roomId,n,r].join("_");e._roomRes[i]=t;var o=JSON.parse(t.uri).ssrc;e._store.setTrackIdSSRCMap(o,i)})),i.forEach((function(t){var r=lt(t);e._roomRes[r]=t}))}}),Object.defineProperty(t.prototype,"_assertRoomDestroyed",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(this._destroyed)return exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED}}),Object.defineProperty(t.prototype,"singalDataChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,a=this;if(t===this._roomId){var s=[],c=null===(n=e.filter((function(e){return"RC_CDN"===e.key}))[0])||void 0===n?void 0:n.value;c&&this._diffCDNUris(JSON.parse(JSON.parse(c).cdn_uris)[0],r),e.forEach((function(e){var t=e.key,n=e.value,i=e.uid;if(-1!==t.indexOf("RC_RES_")){var o=JSON.parse(n||"{}"),c=JSON.parse(o.mcu_uris||"[]"),u=JSON.parse(o.uris||"[]");return s.push.apply(s,d([],l(c),!1)),void a._diffAnchorResource(u,i,r)}if("RC_ANCHOR_LIST"===t){var _=JSON.parse(n||"[]");a._diffAnchorList(_,r)}})),this._diffRoomResource(s,r)}else this._logger.error(i.L_AUDIENCE_LIVING_ROOM_SINGAL_DATA_CHANGE_P,JSON.stringify({status:o.FAILED,msg:"roomId inconsistency -> params roomId:".concat(t,", current roomId:").concat(this._roomId)}),r)}}),Object.defineProperty(t.prototype,"_diffAnchorList",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this,n=e.filter((function(e){return r._roomAnchorList.indexOf(e)<0})),i=this._roomAnchorList.filter((function(t){return e.indexOf(t)<0}));n.length>0&&this._handleNewJoinedAnchor(n,t),i.length>0&&this._handleLeftedAnchor(i,t)}}),Object.defineProperty(t.prototype,"_handleNewJoinedAnchor",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r;(r=this._roomAnchorList).push.apply(r,d([],l(e),!1)),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onAnchorJoin",list:e}),t),this._callAppListener("onAnchorJoin",e)}}),Object.defineProperty(t.prototype,"_handleLeftedAnchor",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n=this;return c(this,(function(o){switch(o.label){case 0:return this._roomAnchorList=this._roomAnchorList.filter((function(t){return!e.includes(t)})),r=[],e.forEach((function(e){r.push.apply(r,d([],l(n.getRemoteTracksByUserId(e)),!1)),delete n._roomAnchorRes[e]})),r.length?[4,this.unsubscribe(r)]:[3,2];case 1:o.sent(),r.forEach((function(e){return delete n._remoteTracks[e.getTrackId()]})),o.label=2;case 2:return this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onAnchorLeave",list:e}),t),this._callAppListener("onAnchorLeave",e),[2]}}))}))}}),Object.defineProperty(t.prototype,"_diffRoomResource",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,o,a=this;return c(this,(function(s){return r=[],n=[],o=[],e.forEach((function(e){var t=lt(e),n=dt(t),i=n.tag,s=n.mediaType,c=[a._roomId,i,s].join("_"),u=JSON.parse(e.uri).ssrc;if(a._store.setTrackIdSSRCMap(u,c),!a._remoteTracks[c]){var l=s===exports.RCMediaType.AUDIO_ONLY?new rt(a._logger,i,"",a._roomId):new nt(a._logger,i,"",a._roomId);r.push(l),a._remoteTracks[c]=l,a._roomRes[l.getTrackId()]=e}o.push(c)})),Object.keys(this._remoteTracks).forEach((function(e){o.indexOf(e)<0&&a._remoteTracks[e].isMCUTrack()&&n.push(a._remoteTracks[e])})),r.length>0&&(this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onTrackPublish",trackIds:r.map((function(e){return e.getTrackId()}))}),t),this._callAppListener("onTrackPublish",r)),n.length>0&&this._onUserUnpublish(n,"onTrackUnpublish",t),[2]}))}))}}),Object.defineProperty(t.prototype,"_dealPublished",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l,d=this;return c(this,(function(c){switch(c.label){case 0:return n=e.map(lt),a=[],s=[],t.forEach((function(t){var r=lt(t),i=n.indexOf(r),o=dt(r),c=o.userId,u=o.tag,l=o.mediaType,_=JSON.parse(t.uri).ssrc;d._store.setTrackIdSSRCMap(_,r),i>-1?e[i]=t:e.push(t);var p=d._remoteTracks[r];d._roomRes[r]=t,p?p.isSubscribed()&&a.push(p):(p=l===exports.RCMediaType.AUDIO_ONLY?new rt(d._logger,u,c):new nt(d._logger,u,c),d._remoteTracks[r]=p,s.push(p)),p.__innerSetRemoteMuted(0===t.state)})),a.length?(u=a.map((function(e){return e.getTrackId()})),[4,Gs((function(){return d._subscribeHandle(a,!0)}))]):[3,2];case 1:(l=c.sent().code)!==exports.RCRTCCode.SUCCESS&&this._logger.error(i.L_RESUB_REPUB_RES_R,JSON.stringify({status:o.FAILED,trackIds:u,code:l})),c.label=2;case 2:return this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onAnchorTrackPublish",trackIds:s.map((function(e){return e.getTrackId()}))}),r),this._callAppListener("onAnchorTrackPublish",s),[2]}}))}))}}),Object.defineProperty(t.prototype,"_dealUnpublished",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a,s=this;return c(this,(function(c){switch(c.label){case 0:for(n=t.map(lt),i=e.length-1;i>=0;i-=1)o=e[i],n.includes(lt(o))&&e.splice(i,1);return a=t.map((function(e){var t=lt(e);return s._remoteTracks[t]})),[4,this._onUserUnpublish(a,"onAnchorTrackUnpublish",r)];case 1:return c.sent(),[2]}}))}))}}),Object.defineProperty(t.prototype,"_dealModified",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,o,a=e.map(lt);try{for(var s=u(t),c=s.next();!c.done;c=s.next()){var l=c.value,d=lt(l);e[a.indexOf(d)].state=l.state;var _=this._remoteTracks[d];_.__innerSetRemoteMuted(0===l.state);var p=_.isAudioTrack()?"onAudioMuteChange":"onVideoMuteChange";this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:p,trackId:_.getTrackId()}),r),this._callAppListener(p,_)}}catch(e){n={error:e}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}}}),Object.defineProperty(t.prototype,"_diffAnchorResource",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a,s;return c(this,(function(c){switch(c.label){case 0:return n=this._roomAnchorRes[t]||(this._roomAnchorRes[t]=[]),i=ft(n,e),o=i.publishedList,a=i.unpublishedList,s=i.modifiedList,o.length?[4,this._dealPublished(n,o,r)]:[3,2];case 1:c.sent(),c.label=2;case 2:return a.length?[4,this._dealUnpublished(n,a,r)]:[3,4];case 3:c.sent(),c.label=4;case 4:return s.length&&this._dealModified(n,s,r),[2]}}))}))}}),Object.defineProperty(t.prototype,"_onUserUnpublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n=this;return c(this,(function(o){switch(o.label){case 0:return[4,this.unsubscribe(e)];case 1:return o.sent(),e.forEach((function(e){n._subscribedList=n._subscribedList.filter((function(t){return t.track.getTrackId()!==e.getTrackId()})),delete n._roomRes[e.getTrackId()],e.__innerDestroy(),delete n._remoteTracks[e.getTrackId()]})),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:t,trackIds:e.map((function(e){return e.getTrackId()}))}),r),this._callAppListener(t,e),[2]}}))}))}}),Object.defineProperty(t.prototype,"_callAppListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var o=null===(t=this._appListener)||void 0===t?void 0:t[e];if(o)try{o.apply(void 0,d([],l(r),!1))}catch(e){this._logger.error(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify(e))}}}),Object.defineProperty(t.prototype,"_reTryExchange",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e=this;return c(this,(function(t){return[2,Gs((function(){return s(e,void 0,void 0,(function(){var e,t,r,n,i,o,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return[4,this._createSubscribeParams(this._subscribedList,{},!0)];case 1:return e=c.sent().reqBody,[4,this._exchangeHandle(e)];case 2:return(t=c.sent()).code!==exports.RCRTCCode.SUCCESS?[2,{code:t.code}]:(r=t.data,n=r.sdp,(i=r.resultCode)!==exports.RCRTCCode.SUCCESS?[2,{code:i}]:(this._pc.clearReTryExchangeTimer(),(o=this._subscribedList.filter((function(e){return e.track.isMCUTrack()}))).length>0&&(a=o[0].track.getTrackId(),s=null===(l=this._roomRes[a])||void 0===l?void 0:l.msid,u=[this._roomId,"RongCloudRTC"].join("_"),n.sdp=n.sdp.replace(new RegExp(s,"g"),u)),[4,this._pc.setRemoteAnswer(n.sdp)]));case 3:return[2,{code:c.sent()}]}}))}))}),"audience-retry-exchange")]}))}))}}),Object.defineProperty(t.prototype,"_createSubscribeParams",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a=this;return c(this,(function(s){switch(s.label){case 0:return[4,this._pc.createOffer(r)];case 1:return n=s.sent(),i={resolutionInfo:[]},o={min:0,max:0},Object.keys(t).forEach((function(e){var r=t[e];[r.mediaStream,r.tinyStream].forEach((function(t,r){var a,s=1===r?[e,"tiny"].join("_"):e;n.sdp=null===(a=n.sdp)||void 0===a?void 0:a.replace(new RegExp(t.id,"g"),s);var c=t.getVideoTracks()[0];if(c){var u=0===r,l=u?ct(c):Ws,d=l.width,_=l.height,p=l.frameRate;i.resolutionInfo.push({trackId:c.id,simulcast:u?qi.NORMAL:qi.TINY,resolution:"".concat(d,"x").concat(_)});var f=De(d,_),h=Ue(p);o.min+=f.minBitrate*h,o.max+=f.maxBitrate*h}}))})),[2,{reqBody:{sdp:n,switchstream:!1,newVersionFlag:!0,subscribeList:e.map((function(e){return{simulcast:e.subTiny?qi.TINY:qi.NORMAL,resolution:"",uri:a._roomRes[e.track.getTrackId()].uri}}))},dynamicBitrate:o,offer:n}]}}))}))}}),Object.defineProperty(t.prototype,"_subscribeHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(this,void 0,void 0,(function(){var s,u,l,d,_,p;return c(this,(function(c){return s=Date.now(),u=n?Va.SUB:void 0,l=this._logger.createTraceId(),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_SUBSCRIBE_T,JSON.stringify({trackIds:t.map(Lt),forceReq:r}),l),this._assertRoomDestroyed()?(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED,msg:"room destroyed"}),l),this._reportPubOrSubQualityData(s,t,exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED,u),[2,{code:exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED}]):e.validate("tracks",t,(function(){return e.isArray(t)&&t.length>0&&t.every((function(e){return e instanceof tt||e.track instanceof tt}))}),!0)?(this._pc.__reportR3R4ToPolaris(),this._pc.registerReportListener(this._reportListener),this._addPeerCEvent(),d=this._subscribedList.map((function(e){return a({},e)})),_=t.map((function(e){return e instanceof tt?{track:e}:e})),p=[],_.forEach((function(e){var t=e.track.getTrackId();p.push(t);var r=d.find((function(e){return e.track.getTrackId()===t}));r&&r.subTiny===e.subTiny||(r?r.subTiny=e.subTiny:d.push(e))})),this._polarisReport.sendR2(ya.SUBSCRIBE,La.BEGIN,p),[2,this._updateSubListHandle(d,l,s,u,!0)]):(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"}),l),this._reportPubOrSubQualityData(s,t,exports.RCRTCCode.PARAMS_ERROR,u),[2,{code:exports.RCRTCCode.PARAMS_ERROR}])}))}))}}),Object.defineProperty(t.prototype,"_addPeerCEvent",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this._pc.on(Ra.__INNER_EVENT_TRACK_READY__,(function(t){var r=t.streams[0].id,n=t.receiver.track,o=[r,"audio"===n.kind?exports.RCMediaType.AUDIO_ONLY:exports.RCMediaType.VIDEO_ONLY].join("_"),a=e._remoteTracks[o];a?(a.__innerSetMediaStreamTrack(n),e._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onTrackReady",trackId:a.getTrackId()})),e._callAppListener("onTrackReady",a)):e._logger.warn(i.L_AUDIENCE_LIVING_ROOM_ONTRACKREADY_O,"cannot found RCRemoteTrack: ".concat(n.id))})),this._pc.once(Ra.__INNER_ICE_CONNECTED__,(function(){e._reportMediaActionLogger.reportIceFirstConnectData("sub")}),this),this._pc.on(Ra.__INNER_ICE_STATE_CHANGE__,(function(t){var r=t.status,n=t.time,i=t.iceCandidatePair;i&&e._reportMediaActionLogger.recordQualityIceStatusData(i,r,n)}))}}),Object.defineProperty(t.prototype,"_getReqHeaders",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._crtUserId;return{"App-Key":this._context.getAppkey(),RoomId:e,Token:this._joinResData.token,RoomType:exports.RTCMode.LIVE,UserId:e,"Session-Id":this._sessionId,"Client-Session-Id":this._clientSessionId}}}),Object.defineProperty(t.prototype,"_exchangeHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._service.broadcastSubscribe(this._getReqHeaders(),e)}}),Object.defineProperty(t.prototype,"_dealSubscribeResult",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,a=this,s=null==t?void 0:t.map((function(e){return"".concat(e.msid,"_").concat(e.mediaType)})),c=e.filter((function(e){if(e.track.isMCUTrack()){var t=a._roomRes[e.track.getTrackId()],r="".concat(t.msid,"_").concat(t.mediaType);return s.includes(r)}return null==s?void 0:s.includes(e.track.getTrackId())})),u=null==c?void 0:c.map((function(e){return"".concat(e.track.getTrackId())})),_=e.filter((function(e){return!(null==u?void 0:u.includes(e.track.getTrackId()))})),p=function(e){var t=c.some((function(t){return t.track.getTrackId()===e}));f._remoteTracks[e].__innerSetSubscribed(t)},f=this;for(var h in this._remoteTracks)p(h);return(n=this._subscribedList).splice.apply(n,d([0,this._subscribedList.length],l(c),!1)),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R,JSON.stringify({status:o.SUCCESSED,subSuccessTrackIds:s,failedList:_}),r),_}}),Object.defineProperty(t.prototype,"_getParams",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.map((function(e){return e instanceof tt?{track:e}:a({},e)})),r={};return t=t.filter((function(e){var t=e.track.getTrackId();return!r[t]&&(r[t]=!0,!0)})).map((function(e){return a({},e)}))}}),Object.defineProperty(t.prototype,"_reportPubOrSubQualityData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){n&&this._reportMediaActionLogger.reportPubOrSubQualityData(n,e,t,r,this._trackMediaMap)}}),Object.defineProperty(t.prototype,"_updateSubListHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,u){var l;return void 0===u&&(u=!1),s(this,void 0,void 0,(function(){var s,d,_,p,f,h,b,R,g,m,C,v,O=this;return c(this,(function(c){switch(c.label){case 0:return this._logger.info(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_T,JSON.stringify({trackIds:e.map(Lt),forceReq:u}),t),s=this._getParams(e),d=this._subscribedList.map((function(e){return a({},e)})),u||es(s,d)?(this._pc.clearReTryExchangeTimer(),this._pc.updateSubRemoteTracks(s.map((function(e){return e.track}))),[4,this._createSubscribeParams(s,{},!1)]):(this._logger.info(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R,JSON.stringify({status:o.SUCCESSED,msg:"repeat subscribe"}),t),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return _=c.sent().reqBody,[4,this._exchangeHandle(_)];case 2:return p=c.sent(),d.length&&(f=[],d.forEach((function(e){f.push(e.track.getTrackId())})),null===(l=this._pc.reportParser)||void 0===l||l.clearLatestPacketsRecv(f)),e.forEach((function(e){var t=e instanceof tt?e.getTrackId():e.track.getTrackId();O._trackMediaMap[t]=p.qualityMsList||[]})),p.code!==exports.RCRTCCode.SUCCESS?(this._reportPubOrSubQualityData(r,e,p.code,n),this._logger.error(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R,JSON.stringify({status:o.FAILED,code:p.code}),t),[2,{code:p.code}]):(h=p.data,b=h.sdp,R=h.resultCode,g=h.message,m=h.subscribedList,R!==exports.RCRTCCode.SUCCESS?(this._reportPubOrSubQualityData(r,e,R,n),this._logger.error(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R,JSON.stringify({status:o.FAILED,code:R,msg:g}),t),[2,{code:R}]):(s.forEach((function(e){var t=e.track;if(t.isMCUTrack()){var r=O._roomRes[t.getTrackId()].msid,n=dt(t.getTrackId()),i=n.tag,o=[n.userId,i].join("_");b.sdp=b.sdp.replace(new RegExp(r,"g"),o)}})),[4,this._pc.setRemoteAnswer(b.sdp)]));case 3:return C=c.sent(),this._reportPubOrSubQualityData(r,e,C,n),C!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R,JSON.stringify({status:o.FAILED,code:C,msg:"set remote answer error"}),t),[2,{code:C}]):[2,(v=this._dealSubscribeResult(s,m,t)).length?{code:exports.RCRTCCode.SUCCESS,failedList:v}:{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(t.prototype,"_diffCDNUris",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,o;return c(this,(function(a){return this._CDNUris.url&&!e.url?(this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onCDNInfoDisable"}),t),this._callAppListener("onCDNInfoDisable"),this._CDNUris=e,[2]):((!this._CDNUris||!this._CDNUris.url&&e.url)&&(this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onCDNInfoEnable",resolution:"W".concat(e.w,"_H").concat(e.h),fps:"FPS_".concat(e.fps)}),t),this._callAppListener("onCDNInfoEnable",{resolution:"W".concat(e.w,"_H").concat(e.h),fps:"FPS_".concat(e.fps)})),r=this._CDNUris.w&&e.w&&this._CDNUris.w!==e.w,n=this._CDNUris.h&&e.h&&this._CDNUris.h!==e.h,o=this._CDNUris.fps&&e.fps&&this._CDNUris.fps!==e.fps,(r||n||o)&&(this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onCDNInfoChange",resolution:"W".concat(e.w,"_H").concat(e.h),fps:"FPS_".concat(e.fps)}),t),this._callAppListener("onCDNInfoChange",{resolution:"W".concat(e.w,"_H").concat(e.h),fps:"FPS_".concat(e.fps)})),this._CDNUris=e,[2])}))}))}}),Object.defineProperty(t.prototype,"_getCDNPlayUrl",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,a,s,u,l,d,_,p,f,h,b,R,g,m,C;return c(this,(function(c){switch(c.label){case 0:return r=e.w,n=e.h,a=e.fps,s=this._initOptions.pullInnerCDNProtocol||exports.RCInnerCDNPullKind.FLV,u=this._initOptions.pullInnerCDNUseHttps===exports.RCInnerCDNPullIsHttps.NOT_HTTPS?exports.RCInnerCDNPullIsHttps.NOT_HTTPS:exports.RCInnerCDNPullIsHttps.HTTPS,this._CDNUris.url?(l={"App-Key":this._context.getAppkey(),Token:this._joinResData.token,RoomId:this.getRoomId(),UserId:this._crtUserId,SessionId:this.getSessionId()},d=[],_=this._CDNUris,p=_.w,f=void 0===p?0:p,h=_.h,f/(void 0===h?1:h)>1?(r&&d.push("w=".concat(r)),n&&d.push("h=".concat(n))):(r&&d.push("h=".concat(r)),n&&d.push("w=".concat(n))),a&&d.push("fps=".concat(a)),d.push("kind=".concat(s)),d.push("is_https=".concat(u)),b=d.join("&"),R="".concat(this._CDNUris.url,"?"),b&&(R+=b),[4,this._service.getCDNResourceInfo(l,R,t)]):(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.CDN_RESOURCE_IS_EMPTY,msg:"cdn_uris url is empty, the anchor need to open or push CDN"}),t),[2,{code:exports.RCRTCCode.CDN_RESOURCE_IS_EMPTY}]);case 1:return g=c.sent(),m=g.code,C=g.res,m!==exports.RCRTCCode.SUCCESS?[2,{code:m}]:[2,{code:m,CDNPlayUrl:null==C?void 0:C.data.pull_url}]}}))}))}}),Object.defineProperty(t.prototype,"getCDNPlayUrl",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,a,s,u,l;return c(this,(function(c){return r=this._logger.createTraceId(),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_T,JSON.stringify({resolution:e,fps:t}),r),e&&!Rt(e)?(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> resolution"}),r),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):t&&!gt(t)?(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> fps"}),r),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):(n=e?bt(e):{width:null,height:null},a=n.width,s=n.height,u=t?mt(t):null,l={},a&&(l.w=a),s&&(l.h=s),u&&(l.fps=u),[2,this._getCDNPlayUrl(l,r)])}))}))}}),Object.defineProperty(t.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t=this;return c(this,(function(r){return[2,Gs((function(){return t._subscribeHandle(e,!1,!0)}),"audience-sub")]}))}))}}),Object.defineProperty(t.prototype,"__unsubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,s,u;return c(this,(function(c){return r=Date.now(),n=Va.UNSUB,s=this._logger.createTraceId(),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_UNSUBSCRIBE_T,JSON.stringify({trackIds:t.map((function(e){return e.getTrackId()}))}),s),this._assertRoomDestroyed()?(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_UNSUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED,msg:"room destroyed"}),s),[2,{code:exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED}]):e.validate("tracks",t,(function(){return e.isArray(t)&&t.length>0&&t.every((function(e){return e instanceof tt}))}),!0)?(u=this._subscribedList.map((function(e){return a({},e)})).filter((function(e){return t.every((function(t){return t.getTrackId()!==e.track.getTrackId()}))})),this._polarisReport.sendR2(ya.SUBSCRIBE,La.END,t.map((function(e){return e.getTrackId()}))),[2,this._updateSubListHandle(u,s,r,n,!1)]):(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_UNSUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"}),s),[2,{code:exports.RCRTCCode.PARAMS_ERROR}])}))}))}}),Object.defineProperty(t.prototype,"unsubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t=this;return c(this,(function(r){return[2,Gs((function(){return t.__unsubscribe(e)}),"audience-unsub")]}))}))}}),Object.defineProperty(t.prototype,"__destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t;return s(this,void 0,void 0,(function(){return c(this,(function(r){switch(r.label){case 0:return this._destroyed?[2]:(this._destroyed=!0,e?[4,this._context.quitLivingRoomAsAudience(this._roomId)]:[3,2]);case 1:r.sent(),r.label=2;case 2:return[4,this._service.broadcastExit(this._getReqHeaders())];case 3:return r.sent(),null===(t=this._pc)||void 0===t||t.destroy(),this._context.registerRTCSignalListener(),[2]}}))}))}}),Object.defineProperty(t.prototype,"getRemoteTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._remoteTracks[e]}}),Object.defineProperty(t.prototype,"getLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return{}}}),Object.defineProperty(t.prototype,"__onReconnected",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this._logger.createTraceId(),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_IM_RECONNECTED_T,void 0,t),[4,this._context.joinLivingRoomAsAudience(this._roomId,exports.RTCMode.LIVE)];case 1:return r.sent().code!==e.ErrorCode.SUCCESS&&this._logger.error(i.L_AUDIENCE_LIVING_ROOM_IM_RECONNECTED_R,"status: ".concat(o.FAILED),t),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_IM_RECONNECTED_R,"status: ".concat(o.SUCCESSED),t),[2]}}))}))}}),Object.defineProperty(t.prototype,"registerRoomEventListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._appListener=e}}),Object.defineProperty(t.prototype,"onAudioLevelChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O),this._audioLevelReport.onAudioLevelChange(e)}}),Object.defineProperty(t.prototype,"registerReportListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._reportListener=e}}),Object.defineProperty(t.prototype,"getRoomId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._roomId}}),Object.defineProperty(t.prototype,"getCrtUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._crtUserId}}),Object.defineProperty(t.prototype,"getSessionId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._sessionId}}),Object.defineProperty(t.prototype,"getRemoteUserIds",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._roomAnchorList}}),Object.defineProperty(t.prototype,"getRemoteTracksByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=[];for(var r in this._remoteTracks){var n=this._remoteTracks[r];n.getUserId()===e&&t.push(n)}return t}}),Object.defineProperty(t.prototype,"getRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=[],r=[];for(var n in this._remoteTracks){if(2===r.length)break;var i=this._remoteTracks[n];i.isMCUTrack()&&r.push(i)}return this._roomAnchorList.forEach((function(r){t.push.apply(t,d([],l(e.getRemoteTracksByUserId(r)),!1))})),d(d([],l(r),!1),l(t),!1)}}),Object.defineProperty(t.prototype,"getRemoteRTCTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[];for(var t in this._remoteTracks){var r=this._remoteTracks[t];r.isMCUTrack()||e.push(r)}return e}}),Object.defineProperty(t.prototype,"getRemoteMCUTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[];for(var t in this._remoteTracks){var r=this._remoteTracks[t];r.isMCUTrack()&&e.push(r)}return e}}),Object.defineProperty(t.prototype,"getCDNInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._CDNUris.w?{resolution:"W".concat(this._CDNUris.w,"_H").concat(this._CDNUris.h),fps:"FPS_".concat(this._CDNUris.fps),CDNEnable:this._CDNUris.enableInnerCDN}:{CDNEnable:!1}}}),Object.defineProperty(t.prototype,"getClientSessionId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._clientSessionId}}),t}();!function(e){e[e.AUTOMATIC=0]="AUTOMATIC",e[e.MANUAL=1]="MANUAL"}(Ks||(Ks={}));var zs,qs,Qs=function(){function t(e){Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isElectron",{enumerable:!0,configurable:!0,writable:!0,value:/Electron/.test(navigator.userAgent)}),this._logger=e.logger}return Object.defineProperty(t.prototype,"_getMediaStream",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===t&&(t="getUserMedia"),s(this,void 0,void 0,(function(){var r,n,o;return c(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),r=this.setConstraintsConfig(e),[4,navigator.mediaDevices[t](r)];case 1:return n=a.sent(),[2,{code:exports.RCRTCCode.SUCCESS,stream:n}];case 2:return o=a.sent(),this._logger.error(i.L_GET_MEDIA_STREAM_E,JSON.stringify({name:o.name,message:o.message})),"Permission denied"===o.message?[2,{code:exports.RCRTCCode.BROWSER_PERMISSION_DENIED}]:"Permission denied by system"===o.message?[2,{code:exports.RCRTCCode.SYSTEM_PERMISSION_DENIED}]:[3,3];case 3:return[2,{code:"getUserMedia"===t?exports.RCRTCCode.GET_USER_MEDIA_FAILED:exports.RCRTCCode.GET_DISPLAY_MEDIA_FAILED}]}}))}))}}),Object.defineProperty(t.prototype,"_getMediaStreamErrorReason",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t="";return e===exports.RCRTCCode.BROWSER_PERMISSION_DENIED&&(t="Permission denied"),e===exports.RCRTCCode.SYSTEM_PERMISSION_DENIED&&(t="Permission denied by system"),t}}),Object.defineProperty(t.prototype,"setConstraintsConfig",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r;if((null==e?void 0:e.audio)&&!this._isElectron){"boolean"==typeof e.audio&&(e.audio={});var n=null===(r=(t=navigator.mediaDevices).getSupportedConstraints)||void 0===r?void 0:r.call(t);(null==n?void 0:n.noiseSuppression)&&(e.audio.noiseSuppression=!!n.noiseSuppression),(null==n?void 0:n.autoGainControl)&&(e.audio.autoGainControl=!!n.autoGainControl),(null==n?void 0:n.echoCancellation)&&(e.audio.echoCancellation=!!n.echoCancellation),this._logger.info(i.L_SET_AUDIO_CONSTRAINTS_O,"browser supported -> ".concat(JSON.stringify(n)))}return e}}),Object.defineProperty(t.prototype,"createMicrophoneAudioTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===e&&(e="RongCloudRTC"),s(this,void 0,void 0,(function(){var r,n,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return at(e)?(r=this._context.getCurrentId())?[4,this._getMediaStream({audio:{deviceId:null==t?void 0:t.micphoneId,sampleRate:null==t?void 0:t.sampleRate,noiseSuppression:null==t?void 0:t.noiseSuppression,echoCancellation:null==t?void 0:t.echoCancellation,autoGainControl:null==t?void 0:t.autoGainControl}})]:(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS}]);case 1:return n=c.sent(),a=n.stream,(s=n.code)!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:s,msg:this._getMediaStreamErrorReason(s)})),[2,{code:s}]):(u=a.getAudioTracks()[0],l=new Ze(this._logger,e,r,u),this._logger.info(i.L_RTC_CLIENT_CREATE_MICROPHONE_AUDIO_TRACK_O,JSON.stringify({status:o.SUCCESSED,trackId:l.getTrackId()})),[2,{code:s,track:l}])}}))}))}}),Object.defineProperty(t.prototype,"createCameraVideoTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===e&&(e="RongCloudRTC"),s(this,void 0,void 0,(function(){var r,n,a,s,u,l,d,_,p,f;return c(this,(function(c){switch(c.label){case 0:return at(e)?(r=this._context.getCurrentId())?(n=Rt(null==t?void 0:t.resolution)?t.resolution:exports.RCResolution.W640_H480,a=bt(n),s=a.width,u=a.height,[4,this._getMediaStream({video:{deviceId:null==t?void 0:t.cameraId,frameRate:mt((null==t?void 0:t.frameRate)||exports.RCFrameRate.FPS_15),width:s,height:u,facingMode:null==t?void 0:t.faceMode}})]):(this._logger.error(i.L_RTC_CLIENT_CREATE_CAMERA_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_CAMERA_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS}]);case 1:return l=c.sent(),d=l.stream,(_=l.code)!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_CREATE_CAMERA_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:_,msg:this._getMediaStreamErrorReason(_)})),[2,{code:_}]):(p=d.getVideoTracks()[0],f=new Xe(this._logger,e,r,p),this._logger.info(i.L_RTC_CLIENT_CREATE_CAMERA_VIDEO_TRACK_O,JSON.stringify({status:o.SUCCESSED,trackId:f.getTrackId()})),[2,{code:_,track:f}])}}))}))}}),Object.defineProperty(t.prototype,"createMicrophoneAndCameraTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n,a,u;return void 0===e&&(e="RongCloudRTC"),s(this,void 0,void 0,(function(){var s,l,d,_,p,f,h,b,R,g,m=this;return c(this,(function(c){switch(c.label){case 0:return s=[],at(e)?(l=this._context.getCurrentId())?(d=Rt(null===(r=null==t?void 0:t.video)||void 0===r?void 0:r.resolution)?t.video.resolution:exports.RCResolution.W640_H480,_=bt(d),p=_.width,f=_.height,h=null==t?void 0:t.audio,[4,this._getMediaStream({video:{deviceId:null===(n=null==t?void 0:t.video)||void 0===n?void 0:n.cameraId,frameRate:mt((null===(a=null==t?void 0:t.video)||void 0===a?void 0:a.frameRate)||exports.RCFrameRate.FPS_15),width:p,height:f,facingMode:null===(u=null==t?void 0:t.video)||void 0===u?void 0:u.faceMode},audio:{deviceId:null==h?void 0:h.micphoneId,sampleRate:null==h?void 0:h.sampleRate,noiseSuppression:null==h?void 0:h.noiseSuppression,echoCancellation:null==h?void 0:h.echoCancellation,autoGainControl:null==h?void 0:h.autoGainControl}})]):(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AND_CAMERA_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID,tracks:s}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AND_CAMERA_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS,tracks:s}]);case 1:return b=c.sent(),R=b.stream,(g=b.code)!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AND_CAMERA_TRACKS_O,JSON.stringify({status:o.FAILED,code:g,msg:this._getMediaStreamErrorReason(g)})),[2,{code:g,tracks:s}]):(R.getTracks().forEach((function(t){"video"===t.kind?s.push(new Xe(m._logger,e,l,t)):s.unshift(new Ze(m._logger,e,l,t))})),this._logger.info(i.L_RTC_CLIENT_CREATE_MICROPHONE_AND_CAMERA_TRACKS_O,JSON.stringify({status:o.SUCCESSED,trackIds:s.map((function(e){return e.getTrackId()}))})),[2,{code:g,tracks:s}])}}))}))}}),Object.defineProperty(t.prototype,"createScreenVideoTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===e&&(e="screenshare"),s(this,void 0,void 0,(function(){var r;return c(this,(function(n){switch(n.label){case 0:return[4,this._createScreenTracks(e,!1,i.L_RTC_CLIENT_CREATE_SCREEN_VIDEO_TRACK_O,t)];case 1:return(r=n.sent()).code===exports.RCRTCCode.SUCCESS?[2,{code:r.code,track:r.tracks[0]}]:[2,r]}}))}))}}),Object.defineProperty(t.prototype,"createScreenWithAudioTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===e&&(e="screenshare"),s(this,void 0,void 0,(function(){return c(this,(function(r){return[2,this._createScreenTracks(e,!0,i.L_RTC_CLIENT_CREATE_SCREEN_VIDEO_AND_AUDIO_TRACKS_O,t)]}))}))}}),Object.defineProperty(t.prototype,"_createScreenTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l,d,_,p,f,h,b,R,g;return c(this,(function(c){switch(c.label){case 0:return at(e)?(a=this._context.getCurrentId())?Ot()?(s=/macintosh|mac os x/i.test(navigator.userAgent),u=(!this._isElectron||!s)&&t,l=Rt(null==n?void 0:n.resolution)?n.resolution:exports.RCResolution.W1280_H720,this._isElectron?[4,this._createElectronScreenStream(t,r,l,null==n?void 0:n.chromeMediaSourceId)]:[3,2]):(this._logger.error(i.L_RTC_CLIENT_CREATE_SCREEN_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.BROWSER_NOT_SUPPORT,msg:"browser not support"})),[2,{code:exports.RCRTCCode.BROWSER_NOT_SUPPORT}]):(this._logger.error(r,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID}]):(this._logger.error(r,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS}]);case 1:return f=c.sent(),[3,4];case 2:return[4,this._createWebScreenStream(t,l,null==n?void 0:n.frameRate)];case 3:f=c.sent(),c.label=4;case 4:return _=(d=f).stream,(p=d.code)!==exports.RCRTCCode.SUCCESS?(this._logger.error(r,JSON.stringify({status:o.FAILED,code:p,msg:this._getMediaStreamErrorReason(p)})),[2,{code:p}]):(h=_.getVideoTracks()[0],b=new $e(this._logger,e,a,h),R=[b],u&&(g=_.getAudioTracks()[0])&&R.push(new et(this._logger,e,a,g)),this._logger.info(r,JSON.stringify({status:o.SUCCESSED,trackIds:R.map((function(e){return e.getTrackId()}))})),[2,{code:p,tracks:R}])}}))}))}}),Object.defineProperty(t.prototype,"_createElectronScreenStream",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,i){var a,u;return s(this,void 0,void 0,(function(){var s,l,d,_,p,f,h;return c(this,(function(c){return s=/macintosh|mac os x/i.test(navigator.userAgent),this._isElectron&&s&&t&&this._logger.warn(r,JSON.stringify({status:o.INFO,code:exports.RCRTCCode.MAC_IN_ELECTRON_NOT_SUPPORT_SCREEN_SHARE_WITH_AUDIO,msg:"mac in electron not support screen share with audio"})),l=(!this._isElectron||!s)&&t,!this._isElectron||e.isUndefined(i)||e.isString(i)?(d=bt(n),_=d.width,p=d.height,f={mandatory:{chromeMediaSourceId:i,chromeMediaSource:"desktop",minWidth:_,maxWidth:_,minHeight:p,maxHeight:p}},!i&&this._isElectron&&(null===(a=f.mandatory)||void 0===a||delete a.chromeMediaSourceId),h=null,l&&this._isElectron&&(null===(u=f.mandatory)||void 0===u||delete u.chromeMediaSourceId,h={mandatory:{chromeMediaSource:"desktop"}}),[2,this._getMediaStream({video:f,audio:h||l},"getUserMedia")]):(this._logger.error(r,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> options.chromeMediaSourceId type is string"})),[2,{code:exports.RCRTCCode.PARAMS_ERROR}])}))}))}}),Object.defineProperty(t.prototype,"_createWebScreenStream",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a;return c(this,(function(s){return n=bt(t),i=n.width,o=n.height,a={frameRate:mt(r||exports.RCFrameRate.FPS_15),width:i,height:o},[2,this._getMediaStream({video:a,audio:e},"getDisplayMedia")]}))}))}}),Object.defineProperty(t.prototype,"createLocalAudioTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n;return c(this,(function(a){return at(e)?t&&"[object MediaStreamTrack]"===t.toString()&&"audio"===t.kind?(r=this._context.getCurrentId())?(n=new We(this._logger,e,r,t),this._logger.info(i.L_RTC_CLIENT_CREATE_LOCAL_AUDIO_TRACK_O,JSON.stringify({status:o.SUCCESSED,trackId:n.getTrackId()})),[2,{code:exports.RCRTCCode.SUCCESS,track:n}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.CREATE_CUSTOM_TRACK_FAILED,msg:"params track is not MediaStreamTrack or kind is not audio"})),[2,{code:exports.RCRTCCode.CREATE_CUSTOM_TRACK_FAILED}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS}])}))}))}}),Object.defineProperty(t.prototype,"createLocalVideoTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n;return c(this,(function(a){return at(e)?t&&t instanceof MediaStreamTrack&&"video"===t.kind?(r=this._context.getCurrentId())?(n=new Ye(this._logger,e,r,t),this._logger.info(i.L_RTC_CLIENT_CREATE_LOCAL_VIDEO_TRACK_O,JSON.stringify({status:o.SUCCESSED,trackId:n.getTrackId()})),[2,{code:exports.RCRTCCode.SUCCESS,track:n}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.CREATE_CUSTOM_TRACK_FAILED,msg:"params track is not MediaStreamTrack or kind is not video"})),[2,{code:exports.RCRTCCode.CREATE_CUSTOM_TRACK_FAILED}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS}])}))}))}}),Object.defineProperty(t.prototype,"_validateCreateLocalFileTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){if(!at(t))return this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),{code:exports.RCRTCCode.INVALID_TAGS,tracks:[]};if(!vt())return this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.BROWSER_NOT_SUPPORT,msg:"browser not support"})),{code:exports.RCRTCCode.BROWSER_NOT_SUPPORT,tracks:[]};var n=r instanceof File?URL.createObjectURL(r):r;return e.isHttpUrl(n)||/^blob:/.test(n)?this._context.getCurrentId()?{code:exports.RCRTCCode.SUCCESS,tracks:[],url:n}:(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),{code:exports.RCRTCCode.INVALID_USER_ID,tracks:[]}):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> file"})),{code:exports.RCRTCCode.PARAMS_ERROR,tracks:[]})}}),Object.defineProperty(t.prototype,"createLocalFileTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,n){return s(this,void 0,void 0,(function(){var a,s,u=this;return c(this,(function(c){return(a=this._validateCreateLocalFileTracks(e,r)).code!==exports.RCRTCCode.SUCCESS?[2,a]:(s=this._context.getCurrentId(),[2,new Promise((function(r){var c=document.createElement("video");(null==n?void 0:n.withoutAudio)&&(c.muted=!0),c.onloadedmetadata=function(){var a,d=[];try{var _=c.mozCaptureStream?"mozCaptureStream":"captureStream";a=c[_]()}catch(e){u._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.CREATE_FILE_TRACK_FAILED,msg:"captureSteam error -> ".concat(JSON.stringify(e))})),r({code:exports.RCRTCCode.CREATE_FILE_TRACK_FAILED,tracks:d})}var p=l(t.getTracksWithOptions(a,n),2),f=p[0],h=p[1];f&&d.push(new Qe(u._logger,e,s,f,c)),h&&d.push(new qe(u._logger,e,s,h,c)),0===d.length&&(c.pause(),c.src=""),c.onerror=null,u._logger.info(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.SUCCESSED,trackIds:d.map((function(e){return e.getTrackId()}))})),r({code:exports.RCRTCCode.SUCCESS,tracks:d})},c.onerror=function(){u._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.CREATE_FILE_TRACK_FAILED,msg:"Failed to create file stream, video onerror"})),r({code:exports.RCRTCCode.CREATE_FILE_TRACK_FAILED,tracks:[]})},c.src=a.url,c.loop=!0,c.play()}))])}))}))}}),Object.defineProperty(t.prototype,"createLocalTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,n){return s(this,void 0,void 0,(function(){var a,s,u,d,_;return c(this,(function(c){return a=[],at(e)?r instanceof MediaStream?(s=this._context.getCurrentId())?(u=l(t.getTracksWithOptions(r,n),2),d=u[0],_=u[1],d&&a.push(new We(this._logger,e,s,d)),_&&a.push(new Ye(this._logger,e,s,_)),this._logger.info(i.L_RTC_CLIENT_CREATE_LOCAL_TRACKS_O,JSON.stringify({status:o.SUCCESSED,trackIds:a.map((function(e){return e.getTrackId()}))})),[2,{code:exports.RCRTCCode.SUCCESS,tracks:a}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID,tracks:a}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> stream"})),[2,{code:exports.RCRTCCode.PARAMS_ERROR,tracks:a}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS,tracks:a}])}))}))}}),Object.defineProperty(t,"getTracksWithOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=[];return r[0]=(null==t?void 0:t.withoutAudio)?void 0:e.getAudioTracks()[0],r[1]=(null==t?void 0:t.withoutVideo)?void 0:e.getVideoTracks()[0],r}}),t}(),Zs=function(t){function n(e,r,n){var i=t.call(this,e)||this;return Object.defineProperty(i,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(i,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"_options",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(i,"_service",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(i,"_crtRoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(i,"_audience",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(i,"_crtAudienceLivingRoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Oo.setSdpSemantics(n.sdpSemantics||"unified-plan",i._logger),i._service=new to(i._runtime,i._context,i._options.mediaServer,i._options.timeout),i._context.registerConnectionStateChangeListener(i._onIMStatusChange.bind(i)),i._context.registerDestroyListener(i._onIMUninit.bind(i)),i._context.registerMessageListener(i._handleMessage.bind(i)),i._context.getPluginContext().onnavidatachange=i.naviDataChange.bind(i),i}return r(n,t),Object.defineProperty(n.prototype,"_handleMessage",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(t.conversationType!==e.ConversationType.RTC_ROOM)return!1;var r=this._logger.createTraceId();this._crtRoom instanceof Bs&&this._getJoinedPKRoomList().forEach((function(e){e.__parseInnerMessage(t,r)}));return this._logger.info(i.L_RTC_CLIENT_MESSAGE_O,JSON.stringify({status:o.SUCCESSED,message:t}),r),this._crtRoom?(this._crtRoom.__parseInnerMessage(t,r),!0):(this._logger.warn(i.L_RTC_CLIENT_MESSAGE_O,JSON.stringify({status:o.FAILED,message:"the crtRoom is empty"}),r),!0)}}),Object.defineProperty(n.prototype,"naviDataChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_RTC_CLIENT_NAVI_CHANGE_O,"on navi change data => ".concat(JSON.stringify(e))),this._service.detectorMediaSever()}}),Object.defineProperty(n.prototype,"_getJoinedPKRoomList",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._crtRoom.getRoomPKHandler(),t=e.code,r=e.roomPKHandler;if(t===exports.RCRTCCode.SUCCESS&&r){var n=r.getJoinedPKRooms()||{};return Object.values(n)}return[]}}),Object.defineProperty(n.prototype,"getCurrentId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._context.getCurrentId()}}),Object.defineProperty(n.prototype,"joinCrossRTCRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){return void 0===i&&(i=exports.RTCMode.CROSS_MUTI),s(this,void 0,void 0,(function(){return c(this,(function(n){return console.warn("joinCrossRTCRoom is deprecated, use joinRTCRoomWithOptions instead"),[2,this.joinRTCRoomWithOptions(e,{joinType:t,userData:r,mode:exports.RTCMode.CROSS_MUTI})]}))}))}}),Object.defineProperty(n.prototype,"joinRTCRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){return void 0===i&&(i=exports.RTCMode.RTC),s(this,void 0,void 0,(function(){return c(this,(function(n){return console.warn("joinRTCRoom is deprecated, use joinRTCRoomWithOptions instead"),[2,this.joinRTCRoomWithOptions(e,{mode:i,joinType:t,userData:r})]}))}))}}),Object.defineProperty(n.prototype,"joinRTCRoomWithOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,a,s=this;return c(this,(function(c){switch(c.label){case 0:return r=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_JOIN_RTC_ROOM_T,JSON.stringify({roomId:e,options:t}),r),this._crtRoom?(this._logger.error(i.L_RTC_CLIENT_JOIN_RTC_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly"}),r),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):[4,(n=this._crtRoom=new Vs(this._context,this._runtime,e,this._service,this._options,null==t?void 0:t.mode,null==t?void 0:t.encrypt)).__innerInit((null==t?void 0:t.mode)||exports.RTCMode.RTC,null==t?void 0:t.joinType,void 0,void 0,null==t?void 0:t.userData,r)];case 1:return(a=c.sent().code)!==exports.RCRTCCode.SUCCESS?(this._crtRoom=null,[2,{code:a}]):(n.once(Es,(function(){s._crtRoom=null})),[2,{code:a,room:n,userIds:n.getRemoteUserIds(),tracks:n.getRemoteTracks()}])}}))}))}}),Object.defineProperty(n.prototype,"joinLivingRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,a){return s(this,void 0,void 0,(function(){var a,s,u,l,d=this;return c(this,(function(c){switch(c.label){case 0:return a=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_T,JSON.stringify({roomId:e,livingType:t,joinType:r,outerUserDatas:n}),a),this._crtRoom?(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly -> roomId: ".concat(e)}),a),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):[4,(s=this._crtRoom=new Bs(this._context,this._runtime,e,this._service,this._options,t,!1,!0)).__innerInit(exports.RTCMode.LIVE,r,t,void 0,n,a)];case 1:return(u=c.sent().code)!==exports.RCRTCCode.SUCCESS?(this._crtRoom=null,[2,{code:u}]):(s.once(Es,(function(){d._crtRoom=null})),l={code:u,room:s,userIds:s.getRemoteUserIds(),tracks:s.getRemoteTracks()},s.__getCDNPushMode()===Ks.MANUAL&&Object.assign(l,{CDNEnable:s.__getCDNEnable()}),[2,l])}}))}))}}),Object.defineProperty(n.prototype,"getAudienceClient",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._audience||(this._audience=new Hs(this._context,this._runtime,this._options)),this._logger.info(i.L_RTC_CLIENT_GET_AUDIENCE_CLIENT_O),this._audience}}),Object.defineProperty(n.prototype,"_onIMStatusChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){if(this._logger.info(i.L_RTC_CLIENT_IM_CONNECTION_STATE_S,JSON.stringify({status:t,code:r,desc:e.RCConnectionStatus[t]})),t===e.RCConnectionStatus.DISCONNECTED){if(this._crtRoom){var n=exports.RCKickReason.IM_DISCONNECTED;r===e.ErrorCode.RC_DISCONN_KICK?n=exports.RCKickReason.OTHER_CLIENT_IM_CONNECTED:2===r&&(n=exports.RCKickReason.IM_LOGOUT),this._crtRoom.__kickoff(!0,{users:[{userId:this._context.getCurrentId(),type:n}]})}}else if(t===e.RCConnectionStatus.CONNECTED){if(this._service.detectorMediaSever(),this._crtRoom instanceof Bs)this._getJoinedPKRoomList().forEach((function(e){e.__onReconnected()}));this._crtRoom&&this._crtRoom.__onReconnected()}}}),Object.defineProperty(n.prototype,"_onIMUninit",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;this._logger.info(i.L_RTC_CLIENT_DESTROY_S,JSON.stringify({msg:"TODO -> on IM client ondestroy"})),null===(e=this._crtRoom)||void 0===e||e.__destroy(!0)}}),Object.defineProperty(n.prototype,"leaveRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t;return s(this,void 0,void 0,(function(){var r;return c(this,(function(n){switch(n.label){case 0:return r=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_LEAVE_ROOM_T,JSON.stringify({roomId:e.getRoomId()}),r),this._crtRoom?[4,this._crtRoom.__destroy(!0)]:(this._logger.warn(i.L_RTC_CLIENT_LEAVE_ROOM_R,JSON.stringify({status:o.FAILED,msg:"Room does not exist, without leave"}),r),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return n.sent(),this._service.detectorMediaSever(),this._logger.info(i.L_RTC_CLIENT_LEAVE_ROOM_R,JSON.stringify({status:o.SUCCESSED,roomId:null===(t=this._crtRoom)||void 0===t?void 0:t.getRoomId()}),r),this._crtRoom=null,[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"joinLivingRoomAsAudience",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var n,a,s,u,l,d;return c(this,(function(c){switch(c.label){case 0:return n=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_T,JSON.stringify({roomId:t,livingType:r}),n),this._service.detectorMediaSever(),It(this._context.getNaviInfo())?(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR,msg:"package environment error"}),n),[2,{code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR}]):e.validate("roomId",t,e.notEmptyString,!0)&&e.validate("livingType",r,(function(e){return e===exports.RCLivingType.AUDIO||e===exports.RCLivingType.VIDEO}))?this._crtAudienceLivingRoom?(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly"}),n),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):this._service.getNaviMS().length?[4,this._context.joinLivingRoomAsAudience(t,exports.RTCMode.LIVE,r)]:(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER,msg:"No audio / video server address available"}),n),[2,{code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER}]):(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> roomId or livingType"}),n),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return a=c.sent(),s=a.code,u=a.data,s!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:s,msg:"signal error -> audience join room"}),n),[2,{code:exports.RCRTCCode.SIGNAL_AUDIENCE_JOIN_ROOM_FAILED}]):(l=Zi(),d=new Ys(this._context,this._runtime,this._options,t,u,r,l),this._crtAudienceLivingRoom=d,this._logger.info(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.SUCCESSED,roomData:u}),n),[2,{room:d,code:exports.RCRTCCode.SUCCESS,userIds:d.getRemoteUserIds(),RTCTracks:d.getRemoteRTCTracks(),MCUTracks:d.getRemoteMCUTracks(),CDNUris:d.getCDNInfo()}])}}))}))}}),Object.defineProperty(n.prototype,"leaveLivingRoomAsAudience",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_T,JSON.stringify({roomId:e.getRoomId(),userId:this._context.getCurrentId()}),t),this._crtAudienceLivingRoom?this._crtAudienceLivingRoom!==e?(this._logger.error(i.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> room"}),t),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):[4,this._crtAudienceLivingRoom.__destroy(!0)]:(this._logger.warn(i.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,msg:"Room does not exist, without leave"}),t),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return r.sent(),this._crtAudienceLivingRoom=null,this._logger.info(i.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.SUCCESSED}),t),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"upgradeToAnchorRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,a,s,u,l=this;return c(this,(function(c){switch(c.label){case 0:return r=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_T,void 0,r),e.validate("room",t,(function(){return t instanceof Ys}),!0)?(n=t.getRoomId(),this._crtRoom?(this._logger.error(i.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly",roomId:n}),r),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):[4,(a=this._crtRoom=new Bs(this._context,this._runtime,n,this._service,this._options,t.livingType,!0,!0,t.getClientSessionId())).__innerInitByIdentityChange(r)]):(this._logger.error(i.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> room"}),r),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return(s=c.sent())!==e.ErrorCode.SUCCESS?(this._crtRoom=null,[2,{code:s}]):(a.once(Es,(function(){l._crtRoom=null})),[4,this._crtAudienceLivingRoom.__destroy(!1)]);case 2:return c.sent(),this._crtAudienceLivingRoom=null,u={room:a,code:exports.RCRTCCode.SUCCESS,userIds:a.getRemoteUserIds(),tracks:a.getRemoteTracks()},a.__getCDNPushMode()===Ks.MANUAL&&Object.assign(u,{CDNEnable:a.__getCDNEnable()}),[2,u]}}))}))}}),Object.defineProperty(n.prototype,"downgradeToAudienceRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return r=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_T,JSON.stringify({roomId:t._roomId,userId:this._context.getCurrentId()}),r),t.isMainRoom()?e.validate("room",t,(function(){return t instanceof Bs}),!0)?this._crtAudienceLivingRoom?(this._logger.error(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly"}),r),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):[4,this._context.rtcIdentityChange(t._roomId,ks.AnchorToViewer,t.getLivingType())]:(this._logger.error(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> room"}),r),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):(this._logger.error(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM,msg:"the `downgradeToAudienceRoom` is disabled in PK room"}),r),[2,{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM}]);case 1:return n=c.sent(),a=n.code,s=n.data,a!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.SIGNAL_ROOM_CHANGE_IDENTITY_FAILED}),r),[2,{code:exports.RCRTCCode.SIGNAL_ROOM_CHANGE_IDENTITY_FAILED}]):(this._logger.info(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R,JSON.stringify({status:o.SUCCESSED,roomData:s}),r),u=t.getClientSessionId(),l=new Ys(this._context,this._runtime,this._options,t._roomId,s,t.getLivingType(),u),this._crtAudienceLivingRoom=l,this._crtRoom.__destroy(!1),this._crtRoom=null,[2,{room:l,code:exports.RCRTCCode.SUCCESS,userIds:l.getRemoteUserIds(),RTCTracks:l.getRemoteRTCTracks(),MCUTracks:l.getRemoteMCUTracks(),CDNUris:l.getCDNInfo()}])}}))}))}}),Object.defineProperty(n.prototype,"getJoinedRoomInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var t,r,n,a,s;return c(this,(function(c){switch(c.label){case 0:return t=this._logger.createTraceId(),r=this._context.getCurrentId(),this._logger.error(i.L_RTC_CLIENT_GET_JOINED_ROOM_INFO_T,JSON.stringify({userId:r}),t),[4,this._context.getRTCJoinedUserInfo(r)];case 1:return n=c.sent(),a=n.code,s=n.data,a!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_GET_JOINED_ROOM_INFO_R,JSON.stringify({status:o.FAILED,code:a}),t),[2,{code:a}]):(this._logger.info(i.L_RTC_CLIENT_GET_JOINED_ROOM_INFO_R,JSON.stringify({status:o.SUCCESSED,roomInfo:s}),t),[2,{code:exports.RCRTCCode.SUCCESS,data:s}])}}))}))}}),n}(Qs);exports.RTCJoinType=void 0,(zs=exports.RTCJoinType||(exports.RTCJoinType={}))[zs.KICK=0]="KICK",zs[zs.REFUSE=1]="REFUSE",zs[zs.COEXIST=2]="COEXIST";var Xs,$s="rtcRJoin_data",ec="rtcRExit",tc="rtcRInfo",rc="rtcUData",nc="rtcUDel",ic="rtcSetData",oc="userSetData",ac="rtcQryData",sc="rtcDelData",cc="rtcToken",uc="rtcUserState",lc="rtcUList",dc="viewerJoinR",_c="viewerExitR",pc="rtcPullKv",fc="rtcIdentityChange",hc="rtcInvite",bc="rtcCancelInvite",Rc="rtcInviteAnswer",gc="rtcEndInvite",mc="rtcQueryJoined",Cc="rtcPullRoomStatus",vc="reportsdk",Oc="rtcPing";!function(e){e.RtcInput="RtcInput",e.RtcOutput="RtcOutput",e.RtcUserListOutput="RtcUserListOutput",e.SetUserStatusInput="SetUserStatusInput",e.RtcSetDataInput="RtcSetDataInput",e.RtcUserSetDataInput="RtcUserSetDataInput",e.RtcDataInput="RtcDataInput",e.RtcSetOutDataInput="RtcSetOutDataInput",e.MCFollowInput="MCFollowInput",e.RtcTokenOutput="RtcTokenOutput",e.RtcQryOutput="RtcQryOutput",e.RtcQryUserOutDataInput="RtcQryUserOutDataInput",e.RtcUserOutDataOutput="RtcUserOutDataOutput",e.RtcQueryListInput="RtcQueryListInput",e.RtcRoomInfoOutput="RtcRoomInfoOutput",e.RtcValueInfo="RtcValueInfo",e.RtcKeyDeleteInput="RtcKeyDeleteInput",e.RtcNotifyMsg="RtcNotifyMsg",e.RtcPullKV="RtcPullKV",e.RtcKVOutput="RtcKVOutput",e.RtcQueryUserJoinedInput="RtcQueryUserJoinedInput",e.RtcQueryUserJoinedOutput="RtcQueryUserJoinedOutput",e.RtcViewerJoinedOutput="RtcViewerJoinedOutput",e.RtcInviteInput="RtcInviteInput",e.RtcCancelInviteInput="RtcCancelInviteInput",e.RtcInviteAnswerInput="RtcInviteAnswerInput",e.RtcEndInviteInput="RtcEndInviteInput",e.RtcRoomStatusInput="RtcRoomStatusInput",e.RtcRoomStatusOutput="RtcRoomStatusOutput",e.RtcReportSDKInput="RtcReportSDKInput",e.RtcPBPolaris="RCRTCPBPolaris",e.RtcPBR1Info="RCRTCPBR1Info",e.RtcPBR2Info="RCRTCPBR2Info",e.RtcPBR3Info="RCRTCPBR3Info",e.RtcPBR4Info="RCRTCPBR4Info",e.RtcPBStatusInfo="RCRTCPBStatusInfo",e.RtcPBStreamInfo="RCRTCPBStreamInfo"}(Xs||(Xs={}));var Tc,Ec=((qs={})[Xs.RtcInput]=["roomType","broadcastType","extraInnerData","needSysChatroom","identityChangeType","joinType","innerDatas","outerDatas","supportNtf"],qs[Xs.RtcOutput]=["version"],qs[Xs.RtcUserListOutput]=["users","token","sessionId","roomInfo","version"],qs[Xs.SetUserStatusInput]=["status"],qs[Xs.RtcSetDataInput]=["interior","target","key","value","objectName","content"],qs[Xs.RtcUserSetDataInput]=["valueInfo","objectName","content"],qs[Xs.RtcDataInput]=["interior","target","key","objectName","content"],qs[Xs.RtcSetOutDataInput]=["target","valueInfo","objectName","content"],qs[Xs.MCFollowInput]=["state"],qs[Xs.RtcTokenOutput]=["rtcToken"],qs[Xs.RtcQryOutput]=["outInfo"],qs[Xs.RtcQryUserOutDataInput]=["userId"],qs[Xs.RtcUserOutDataOutput]=["user"],qs[Xs.RtcQueryListInput]=["order"],qs[Xs.RtcRoomInfoOutput]=["roomId","roomData","userCount","list"],qs[Xs.RtcValueInfo]=["key","value"],qs[Xs.RtcKeyDeleteInput]=["key"],qs[Xs.RtcNotifyMsg]=["type","time","roomId"],qs[Xs.RtcPullKV]=["timestamp","roomId"],qs[Xs.RtcKVOutput]=["entries","bFullUpdate","syncTime"],qs[Xs.RtcQueryUserJoinedInput]=["userId"],qs[Xs.RtcQueryUserJoinedOutput]=["info"],qs[Xs.RtcInviteInput]=["invitedUserId","timeoutTime","invitedRoomId","inviteInfo","inviteSessionId"],qs[Xs.RtcCancelInviteInput]=["invitedUserId","invitedRoomId","inviteInfo","inviteSessionId"],qs[Xs.RtcInviteAnswerInput]=["inviteUserId","answerCode","inviteRoomId","inviteSessionId","content","key","value"],qs[Xs.RtcEndInviteInput]=["inviteRoomId","inviteSessionId","inviteContent","inviteRoomKeys"],qs[Xs.RtcRoomStatusInput]=["version"],qs[Xs.RtcRoomStatusOutput]=["bFullStatus","version","usersData","roomStatus"],qs[Xs.RtcReportSDKInput]=["sdkInfo"],qs[Xs.RtcPBPolaris]=["type","appKey","sessionId","roomId","roomCreateTime","userId","userRole","joinTime","signalDataCenter","r1Info","r2Info","r3Info","r4Info"],qs[Xs.RtcPBR1Info]=["joinTime","rtcVersion","imVersion","platform","device","os","browserName","browserVersion"],qs[Xs.RtcPBR2Info]=["joinTime","sendTime","rtcActionType","rtcActionStatus","trackId"],qs[Xs.RtcPBR3Info]=["info"],qs[Xs.RtcPBR4Info]=["info"],qs[Xs.RtcPBStatusInfo]=["joinTime","receiveTime","totalBitRate","appCPUUsage","systemCPUUsage","systemCPUFrequency","networkStatus","googleRTTNetwork","ipAddress","useReceiveBroadBand","useSendBroadBand","packetLossCount","streams"],qs[Xs.RtcPBStreamInfo]=["trackId","codeName","volume","samplingRate","bitRate","packetLossRate","frameRate","resolution","blockTime","jitterData","nAckCount","pliCount","googleRTTTotalTime","isReceiveFirstFrameRate","codeType","isEnabled"],qs),Sc="\npackage Modules;\nmessage probuf {\n enum JoinType {\n KICK = 0; //踢前一个设备\n REFUSE = 1; //当前加入拒绝\n COEXIST = 2; //两个设备共存\n }\n enum targetType {\n ROOM =1 ;\n PERSON = 2;\n }\n message ".concat(Xs.SetUserStatusInput,"\n {\n optional int32 status=1;\n }\n message ").concat(Xs.MCFollowInput,"\n {\n required string state = 1;\n }\n message ").concat(Xs.RtcQueryListInput,"{\n optional int32 order=1;\n }\n message ").concat(Xs.RtcKeyDeleteInput,"{\n repeated string key=1;\n }\n message ").concat(Xs.RtcValueInfo,"{\n required string key=1;\n required string value=2;\n }\n message RtcUserInfo{\n required string userId=1;\n repeated ").concat(Xs.RtcValueInfo," userData=2; //用户资源信息\n }\n message ").concat(Xs.RtcRoomStatusInput,"{ // rtc 和 living room 拉房间资源状态使用的参数\n required int64 version =1; //当前客户端最大的房间状态的version\n }\n message ").concat(Xs.RtcRoomStatusOutput,"{ // rtc 和 living room 拉房间资源状态返回的数据\n required bool bFullStatus =1; //标识此次给的数据是否是全量数据\n required int64 version =2; //当前获取后房间的最大版本号\n repeated RtcUserInfo usersData=3;//如果是全量数据,这个不为空,给的是房间全部的人以及发布的资源\n repeated RtcRoomStatus roomStatus=4;//房间增量数据\n }\n message RtcRoomStatus{ //房间状态变动\n required string userId = 1;//用户ID\n required int32 event = 2;//房间状态变更的event(人员加入/退出/离线/发布资源) (0:加入;1:离开;2:离线;3:资源变动) \n required int64 time = 3;//本次变更的版本号\n repeated RtcValueInfo userData = 4;//用户变更的资源(event为0或者3时可能有值)\n optional int32 switchRoleType = 5;//如果是切换角色导致的加入房间或退出房间的类型\n optional string extra = 6;\n }\n message ").concat(Xs.RtcUserListOutput,"{\n repeated RtcUserInfo users=1;\n optional string token=2;\n optional string sessionId=3;\n repeated RtcValueInfo roomInfo = 4; //房间key value\n repeated RtcKVEntity entries = 5;//直播KV属性对象集合\n optional int64 syncTime = 6;//所有属性的最大时间戳(下次拉取KV时用)。\n optional int32 offlineKickTime = 7;//server超时踢人时间,默认60s\n repeated string codeFormat = 8; //当前房间用户支持的编码交集\n optional int64 roomCreateTime = 9;//房间创建时间\n optional int64 userJoinTime = 10;//用户加入房间\n optional int64 version = 11;//当前房间的版本号\n }\n message RtcRoomInfoOutput{\n optional string roomId = 1;\n repeated ").concat(Xs.RtcValueInfo," roomData = 2;\n optional int32 userCount = 3;\n repeated RtcUserInfo list=4;\n }\n message ").concat(Xs.RtcInput,"{\n required int32 roomType=1;\n optional int32 broadcastType=2;\n optional RtcValueInfo extraInnerData = 3;\n optional bool needSysChatroom = 4; //是否需要同步聊天室\n optional IdentityChangeType identityChangeType = 5; //身份变更类型\n optional JoinType joinType = 6; // 加入房间类型\n repeated ").concat(Xs.RtcValueInfo," innerDatas = 7; //用户内部inner数据,角色或者连麦信息等\n repeated ").concat(Xs.RtcValueInfo," outerDatas = 8; //用户内部outer数据,自定义数据结构RtcInput。\n optional bool supportNtf = 9; //是否支持房间状态的变更通过通知拉取的方式获取\n }\n message ").concat(Xs.RtcQryOutput,"{\n repeated ").concat(Xs.RtcValueInfo," outInfo=1;\n }\n message ").concat(Xs.RtcDataInput,"{\n required bool interior=1;\n required targetType target=2;\n repeated string key=3;\n optional string objectName=4;\n optional string content=5;\n }\n message ").concat(Xs.RtcSetDataInput,"{\n required bool interior=1;\n required targetType target=2;\n required string key=3;\n required string value=4;\n optional string objectName=5;\n optional string content=6;\n }\n message ").concat(Xs.RtcUserSetDataInput," {\n repeated ").concat(Xs.RtcValueInfo," valueInfo = 1;\n required string objectName = 2;\n repeated ").concat(Xs.RtcValueInfo," content = 3;\n }\n message RtcQryInput{\n required bool isInterior=1;\n required targetType target=2;\n repeated string key=3;\n }\n message RtcDelDataInput{\n repeated string key=1;\n required bool isInterior=2;\n required targetType target=3;\n }\n message RtcOutput\n {\n optional int32 nothing=1;\n optional int64 version=2;\n }\n message ").concat(Xs.RtcTokenOutput,"{\n required string rtcToken=1;\n }\n message ").concat(Xs.RtcSetOutDataInput,"{\n required targetType target=1;\n repeated ").concat(Xs.RtcValueInfo," valueInfo=2;\n optional string objectName=3;\n optional string content=4;\n }\n message ").concat(Xs.RtcQryUserOutDataInput,"{\n repeated string userId = 1;\n }\n message ").concat(Xs.RtcUserOutDataOutput,"{\n repeated RtcUserInfo user = 1;\n }\n message ").concat(Xs.RtcNotifyMsg," \n {\n required int32 type= 1; //(通知类型 1:rtc房间状态KV变更通知)\n optional int64 time= 2; //消息产生时间\n optional string roomId=3; //主播房间id\n }\n message ").concat(Xs.RtcPullKV,"\n {\n required int64 timestamp = 1;\n required string roomId = 2;\n }\n message RtcKVEntity \n {\n required string key = 1;\n required string value = 2;\n optional int32 status = 3;\n optional int64 timestamp = 4;\n optional string uid = 5;\n }\n message ").concat(Xs.RtcKVOutput,"\n {\n repeated RtcKVEntity entries = 1;\n optional bool bFullUpdate = 2;\n optional int64 syncTime = 3; \n }\n enum IdentityChangeType \n {\n AnchorToViewer = 1; //1为主播变观众\n ViewerToAnchor = 2; //2为观众变主播\n }\n message ").concat(Xs.RtcQueryUserJoinedInput,"\n {\n required string userId = 1;\n }\n message RtcJoinedInfo\n {\n required string deviceId = 1; //设备ID\n required string roomId = 2; //加入的房间ID\n optional int64 joinTime = 3; //加入的时间\n }\n message ").concat(Xs.RtcQueryUserJoinedOutput,"\n {\n repeated RtcJoinedInfo info = 1;\n }\n message ").concat(Xs.RtcViewerJoinedOutput,"\n {\n required string rtcToken=1;\n repeated RtcKVEntity entries = 2;//KV属性对象集合\n optional int64 syncTime = 3;//所有属性的最大时间戳(下次拉取KV时用)。\n optional string sessionId=4;\n optional int64 roomCreateTime = 5;//房间创建时间\n optional int64 userJoinTime = 6;//用户加入房间\n }\n message ").concat(Xs.RtcInviteInput,"\n {\n required string invitedUserId=1; //被邀请的人的uid\n optional int32 timeoutTime=2; //邀请超时时间(秒),默认三十秒\n required string invitedRoomId=3; //被邀请的房间\n required string inviteInfo=4; //邀请的信息(包含邀请人,被邀请人,各自userid)客户端定义好.协议栈和server透传\n required string inviteSessionId= 5; //客户端保证唯一性(建议roomid_userid_时间戳_随机数)\n }\n message ").concat(Xs.RtcCancelInviteInput,"\n {\n required string invitedUserId=1; //被邀请的人的uid\n required string invitedRoomId=2; //被邀请的房间\n required string inviteInfo=3; //取消邀请的信息(包含邀请人,被邀请人,各自userid)客户端定义好.协议栈和server透传\n required string inviteSessionId=4; //邀请的sessionId,客户端发起邀请时产生\n }\n message ").concat(Xs.RtcInviteAnswerInput,"\n {\n required string inviteUserId=1; //邀请的人的uid\n required int32 answerCode=2; //是否接受连麦邀请.0为拒绝,1为接受\n required string inviteRoomId=3; //邀请的房间\n required string inviteSessionId=4; //邀请的sessionId\n required string content=5; //需要转发的content\n optional string key=6; //如果接受的话,需要加这个字段,放在room级别的k和v,新加入房间的能拉取到\n optional string value=7; //如果接受的话,需要加这个字段,放在room级别的k和v,新加入房间的能拉取到\n }\n message ").concat(Xs.RtcEndInviteInput,"\n {\n required string inviteRoomId=1; //邀请的房间\n required string inviteSessionId=2; //邀请的sessionId\n required string inviteContent=3; //结束连麦的信息(需要透传给房间内其他人)\n repeated string inviteRoomKeys=4; //需要删除连麦的信息的key\n }\n message ").concat(Xs.RtcReportSDKInput,' {\n required string sdkInfo=1; // 用户集成的 sdk 信息,json 格式 {"web-rtc": "4.0.3.7"}\n }\n // ---- 北极星数据上报 -------\n message ').concat(Xs.RtcPBPolaris," {\n required string type = 1;//上报数据类型 R1-R4\n required string appKey = 2;\n required string sessionId = 3;//房间通话id\n required string roomId = 4;\n required int64 roomCreateTime = 5;//房间创建时间\n required string userId = 6;\n required int32 userRole = 7;\n required int64 joinTime = 8;\n required string signalDataCenter = 9;//signal数据中心\n optional ").concat(Xs.RtcPBR1Info," r1Info = 10;\n optional ").concat(Xs.RtcPBR2Info," r2Info = 11;\n optional ").concat(Xs.RtcPBR3Info," r3Info = 12;\n optional ").concat(Xs.RtcPBR4Info," r4Info = 13;\n }\n message ").concat(Xs.RtcPBR1Info," {\n required int64 joinTime = 1;//用户加入房间的时间\n required string rtcVersion = 2;//Rtc版本号\n required string imVersion = 3;//IM SDK 版本\n required string platform = 4;//平台(如:Android、iOS、Web)\n required string device = 5; //设备信息(手机名称+型号)\n required string os = 6;//系统版本(手机系统版本)\n optional string browserName = 7; //浏览器名称, 没有用 -1 表示\n optional string browserVersion = 8;//浏览器版本, 没有用 -1 表示\n optional int64 receiveTime = 9; // 发送数据的时间\n }\n message ").concat(Xs.RtcPBR2Info," {\n required int64 joinTime = 1;\n required int64 sendTime = 2;\n required string rtcActionType = 3;//发布类型 subscribe : 订阅 publish : 发布\n required string rtcActionStatus = 4;//发布状态 begin : 开始 tend : 结束\n repeated string trackId = 5;\n optional int64 receiveTime = 6; // 发送数据的时间\n }\n message ").concat(Xs.RtcPBR3Info," {\n required ").concat(Xs.RtcPBStatusInfo," info = 1;\n }\n message ").concat(Xs.RtcPBR4Info," {\n required ").concat(Xs.RtcPBStatusInfo," info = 1;\n }\n message ").concat(Xs.RtcPBStatusInfo," {\n optional int64 joinTime = 1;//用户加入房间的时间\n optional int64 receiveTime = 2;//用户发布数据流的时间(毫秒),暂时由客户端生成,后期如果有问题服务端做兜底处理\n optional int64 totalBitRate = 3;//总码率\n optional float appCPUUsage = 4;//APP CPU占用率\n optional float systemCPUUsage = 5;////系统 CPU占用率\n optional float systemCPUFrequency = 6;//系统CPU频率 (安卓8.0以上)\n optional string networkStatus = 7;//实时网络状态(2g、3g、4g、wifi)\n optional int32 googleRTTNetwork = 8;//Goog rtt 网络延迟\n optional string ipAddress = 9;//ip地址\n optional string useReceiveBroadBand = 10; //可接收带宽(单位: bit)\n optional string useSendBroadBand = 11;//可用发送带宽(单位: bit)\n optional string packetLossCount = 12;//丢包数\n repeated ").concat(Xs.RtcPBStreamInfo," streams = 13;\n }\n message ").concat(Xs.RtcPBStreamInfo," {\n required string trackId = 1;\n optional string codeName = 2;//编解码名称\n optional string volume = 3;//音频播放音量\n optional int32 samplingRate = 4; //音频采样率\n optional float bitRate = 5;//下行码率\n optional float packetLossRate = 6;\n optional int32 frameRate = 7;//视频接收帧率(单位:fps)\n optional string resolution = 8;//视频分辨率(格式:640*480)\n optional int64 blockTime = 9;//接收卡顿(间隔时间, 单位: ms)\n optional int32 jitterData = 10;//jitter数据抖动\n optional string nAckCount = 11;//nack数量\n optional string pliCount = 12; //PLI请求数\n optional int64 googleRTTTotalTime = 13; //googRtt往返时长\n optional int32 isReceiveFirstFrameRate = 14;//第一个关键帧是否正常收到\n optional string codeType = 15;//编码方式\n optional int32 isEnabled = 16; //当前流的状态是否可用\n }\n // ---- 北极星数据上报 -------\n}\n"),Ic=function(e,t,r,n,i,o,a){var s=i?Object.keys(i).map((function(t){return e.encode(Xs.RtcValueInfo,{key:t,value:i[t]},!0)})):void 0,c=o?Object.keys(o).map((function(t){return e.encode(Xs.RtcValueInfo,{key:t,value:o[t]},!0)})):void 0;return e.encode(Xs.RtcInput,{roomType:t,broadcastType:r,joinType:n,innerDatas:s,outerDatas:c,supportNtf:a})},yc=function(t,r){var n=t.decode(Xs.RtcUserListOutput,r),i=n.users,o=n.token,a=n.sessionId,s=n.roomInfo,c=n.entries,u=n.offlineKickTime,l=void 0===u?60:u,d=n.codeFormat,_=n.roomCreateTime,p=n.userJoinTime,f=n.version,h={};return e.forEach(i,(function(t){var r=t.userId,n=t.userData,i={};e.forEach(n,(function(e){var t=e.key,r=e.value;i[t]=r})),h[r]=i})),{users:h,token:o,sessionId:a,roomInfo:s,kvEntries:c,offlineKickTime:l,codeFormat:d,roomCreateTime:Pt(_),userJoinTime:Pt(p),version:f}},Lc=function(){function t(e,t,r){Object.defineProperty(this,"context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"logger",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"codec",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"roomCreateTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"userJoinTime",{enumerable:!0,configurable:!0,writable:!0,value:0})}return Object.defineProperty(t.prototype,"joinRTCRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,i,o,a,u){return s(this,void 0,void 0,(function(){var s,l,d,_,p,f,h,b,R,g,m,C,v,O;return c(this,(function(c){switch(c.label){case 0:return s=Ic(this.codec,r,n,i,o,a,u),[4,this.context.rtcSignaling(t,$s,!0,s)];case 1:return l=c.sent(),d=l.code,_=l.buffer,d===e.ErrorCode.SUCCESS&&_?(p=yc(this.codec,_),f=p.users,h=p.token,b=p.sessionId,R=p.roomInfo,g=p.kvEntries,m=p.offlineKickTime,C=p.roomCreateTime,v=p.userJoinTime,O=p.version,this.roomCreateTime=C,this.userJoinTime=v,[2,{code:d,data:{users:f,token:h,sessionId:b,roomInfo:R,kvEntries:g,offlineKickTime:m,version:O}}]):[2,{code:d,data:p}]}}))}))}}),Object.defineProperty(t.prototype,"quitRTCRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this.codec.encode(Xs.SetUserStatusInput,{status:0}),[4,this.context.rtcSignaling(e,ec,!0,t)];case 1:return[2,r.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"getRTCRoomInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,a;return c(this,(function(s){switch(s.label){case 0:return r=this.codec.encode(Xs.RtcQueryListInput,{order:2}),[4,this.context.rtcSignaling(t,tc,!0,r)];case 1:return n=s.sent(),i=n.code,o=n.buffer,i===e.ErrorCode.SUCCESS&&o&&(a=this.codec.decode(Xs.RtcRoomInfoOutput,o)),[2,{code:i,data:a}]}}))}))}}),Object.defineProperty(t.prototype,"getRTCUserInfoList",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,a,s;return c(this,(function(c){switch(c.label){case 0:return r=this.codec.encode(Xs.RtcQueryListInput,{order:2}),[4,this.context.rtcSignaling(t,rc,!0,r)];case 1:return n=c.sent(),i=n.code,o=n.buffer,i===e.ErrorCode.SUCCESS&&o&&(s=yc(this.codec,o),a={users:s.users}),[2,{code:i,data:a}]}}))}))}}),Object.defineProperty(t.prototype,"getRTCUserInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(e){throw new Error("Method not implemented.")}}),Object.defineProperty(t.prototype,"removeRTCUserInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r;return c(this,(function(n){switch(n.label){case 0:return r=this.codec.encode(Xs.RtcKeyDeleteInput,{key:t}),[4,this.context.rtcSignaling(e,nc,!1,r)];case 1:return[2,n.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"setRTCData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i,o){return s(this,void 0,void 0,(function(){var a;return c(this,(function(s){switch(s.label){case 0:return a=this.codec.encode(Xs.RtcSetDataInput,{interior:n,target:i,key:t,value:r,objectName:null==o?void 0:o.name,content:null==o?void 0:o.content}),[4,this.context.rtcSignaling(e,ic,!1,a)];case 1:return[2,s.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"setRTCTotalRes",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i,o){return s(this,void 0,void 0,(function(){var a,s,u=this;return c(this,(function(c){switch(c.label){case 0:return a={objectName:n,content:[],valueInfo:[this.codec.encode(Xs.RtcValueInfo,{key:"uris",value:r},!0)]},t.forEach((function(e){var t=u.codec.encode(Xs.RtcValueInfo,{key:e.name,value:e.content},!0);a.content.push(t)})),i&&a.valueInfo.push(this.codec.encode(Xs.RtcValueInfo,{key:"mcu_uris",value:i},!0)),o&&a.valueInfo.push(this.codec.encode(Xs.RtcValueInfo,{key:"cdn_uris",value:o},!0)),s=this.codec.encode(Xs.RtcUserSetDataInput,a),[4,this.context.rtcSignaling(e,oc,!0,s)];case 1:return[2,c.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"setRTCCDNUris",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n;return c(this,(function(i){switch(i.label){case 0:return n=this.codec.encode(Xs.RtcUserSetDataInput,{objectName:t,valueInfo:this.codec.encode(Xs.RtcValueInfo,{key:"cdn_uris",value:r},!0)}),[4,this.context.rtcSignaling(e,oc,!0,n)];case 1:return[2,i.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"getRTCData",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,i){return s(this,void 0,void 0,(function(){var o,a,s,u,l,d;return c(this,(function(c){switch(c.label){case 0:return o=this.codec.encode(Xs.RtcDataInput,{interior:n,target:i,key:r}),[4,this.context.rtcSignaling(t,ac,!0,o)];case 1:return a=c.sent(),s=a.code,u=a.buffer,s===e.ErrorCode.SUCCESS&&u?(l=this.codec.decode(Xs.RtcQryOutput,u).outInfo,d={},l.forEach((function(e){d[e.key]=e.value})),[2,{code:s,data:d}]):[2,{code:s}]}}))}))}}),Object.defineProperty(t.prototype,"removeRTCData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){return s(this,void 0,void 0,(function(){var o;return c(this,(function(a){switch(a.label){case 0:return o=this.codec.encode(Xs.RtcDataInput,{interior:r,target:n,key:t,objectName:(null==i?void 0:i.name)||"",content:(null==i?void 0:i.content)||""}),[4,this.context.rtcSignaling(e,sc,!1,o)];case 1:return[2,a.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"setRTCOutData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return s(this,void 0,void 0,(function(){return c(this,(function(e){throw new Error("JSEngine's method not implemented.")}))}))}}),Object.defineProperty(t.prototype,"getRTCOutData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){return c(this,(function(e){throw new Error("JSEngine's method not implemented.")}))}))}}),Object.defineProperty(t.prototype,"getRTCToken",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var i,o,a,s,u;return c(this,(function(c){switch(c.label){case 0:return i=Ic(this.codec,r,n),[4,this.context.rtcSignaling(t,cc,!0,i)];case 1:return o=c.sent(),a=o.code,s=o.buffer,a===e.ErrorCode.SUCCESS&&s?(u=this.codec.decode(Xs.RtcTokenOutput,s).rtcToken,[2,{code:a,data:{rtcToken:u}}]):[2,{code:a}]}}))}))}}),Object.defineProperty(t.prototype,"setRTCState",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r;return c(this,(function(n){switch(n.label){case 0:return r=this.codec.encode(Xs.MCFollowInput,{state:t}),[4,this.context.rtcSignaling(e,uc,!0,r)];case 1:return[2,n.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"setRTCStateByHttp",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,i){return s(this,void 0,void 0,(function(){var o,s,u;return c(this,(function(c){switch(c.label){case 0:o=function(e,t,r){var n=t.type,i=t.appKey,o=t.sessionId,s=t.roomId,c=t.roomCreateTime,u=t.userId,l=t.userRole,d=t.joinTime,_=t.signalDataCenter,p=t.r1Info,f=t.r2Info,h=t.r3Info,b=t.r4Info,R={type:n,appKey:i,sessionId:o,roomId:s,roomCreateTime:c,userId:u,userRole:l,joinTime:d,signalDataCenter:_};if(r===Rs.R1&&p){var g=e.encode(Xs.RtcPBR1Info,p,!0);return e.encode(Xs.RtcPBPolaris,a(a({},R),{r1Info:g}))}if(r===Rs.R2&&f){var m=e.encode(Xs.RtcPBR2Info,f,!0);return e.encode(Xs.RtcPBPolaris,a(a({},R),{r2Info:m}))}if(r===Rs.R3&&h){var C=(E=h.info).streams,v=Array.isArray(C)&&C.map((function(t){return t&&e.encode(Xs.RtcPBStreamInfo,t,!0)})),O=e.encode(Xs.RtcPBStatusInfo,a(a({},E),{streams:v}),!0),T=e.encode(Xs.RtcPBR3Info,{info:O},!0);return e.encode(Xs.RtcPBPolaris,a(a({},R),{r3Info:T}))}if(r===Rs.R4&&b){C=(E=b.info).streams,v=Array.isArray(C)&&C.map((function(t){return t&&e.encode(Xs.RtcPBStreamInfo,t,!0)})),O=e.encode(Xs.RtcPBStatusInfo,a(a({},E),{streams:v}),!0);var E,S=e.encode(Xs.RtcPBR4Info,{info:O},!0);return e.encode(Xs.RtcPBPolaris,a(a({},R),{r4Info:S}))}return{}}(this.codec,n,i),s=t,/^https:\/\//.test(t)||(s="https://".concat(t)),c.label=1;case 1:return c.trys.push([1,3,,4]),[4,r.httpReq({url:"".concat(s,"/rtc/logserver/polaris"),body:o,method:e.HttpMethod.POST,headers:{jwt:to.jwtToken},timeout:2e3})];case 2:if(!(u=c.sent()).data)throw new Error("http request fail");return[2,JSON.parse(u.data).resultCode];case 3:return c.sent(),[2,bs.REPORT_FAIL];case 4:return[2]}}))}))}}),Object.defineProperty(t.prototype,"getRTCUserList",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,a;return c(this,(function(s){switch(s.label){case 0:return r=this.codec.encode(Xs.RtcQueryListInput,{order:2}),[4,this.context.rtcSignaling(t,lc,!0,r)];case 1:return n=s.sent(),i=n.code,o=n.buffer,i===e.ErrorCode.SUCCESS&&o?(a=yc(this.codec,o),[2,{code:i,data:a}]):[2,{code:i}]}}))}))}}),Object.defineProperty(t.prototype,"joinLivingRoomAsAudience",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var i,o,a,s,u,l,d,_,p;return c(this,(function(c){switch(c.label){case 0:return i=Ic(this.codec,r,n),[4,this.context.rtcSignaling(t,dc,!0,i)];case 1:return o=c.sent(),a=o.code,s=o.buffer,a===e.ErrorCode.SUCCESS&&s?(u=this.codec.decode(Xs.RtcViewerJoinedOutput,s),l=u.rtcToken,d=u.entries,_=u.roomCreateTime,p=u.userJoinTime,this.roomCreateTime=Pt(_),this.userJoinTime=Pt(p),[2,{code:a,data:{token:l,kvEntries:d}}]):[2,{code:a}]}}))}))}}),Object.defineProperty(t.prototype,"quitLivingRoomAsAudience",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this.codec.encode(Xs.SetUserStatusInput,{status:0}),[4,this.context.rtcSignaling(e,_c,!0,t)];case 1:return[2,r.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"rtcIdentityChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var i,o,a,s,u;return c(this,(function(c){switch(c.label){case 0:return i=this.codec.encode(Xs.RtcInput,{roomType:exports.RTCMode.LIVE,broadcastType:n,identityChangeType:r,needSysChatroom:!1}),[4,this.context.rtcSignaling(t,fc,!0,i)];case 1:return o=c.sent(),a=o.code,s=o.buffer,a===e.ErrorCode.SUCCESS&&s?(u=yc(this.codec,s),[2,{code:a,data:u}]):[2,{code:a}]}}))}))}}),Object.defineProperty(t.prototype,"requestRoomPK",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a,s;return c(this,(function(c){switch(c.label){case 0:return t=e.invitedRoomId,r=e.invitedUserId,n=e.inviteSessionId,i=e.inviteTimeout,o=e.inviteInfo,a=e.roomId,s=this.codec.encode(Xs.RtcInviteInput,{invitedRoomId:t,invitedUserId:r,inviteSessionId:n,timeoutTime:i,inviteInfo:o}),[4,this.context.rtcSignaling(a,hc,!0,s)];case 1:return[2,c.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"cancelRoomPK",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a;return c(this,(function(s){switch(s.label){case 0:return t=e.invitedRoomId,r=e.invitedUserId,n=e.inviteSessionId,i=e.inviteInfo,o=e.roomId,a=this.codec.encode(Xs.RtcCancelInviteInput,{invitedRoomId:t,invitedUserId:r,inviteSessionId:n,inviteInfo:i}),[4,this.context.rtcSignaling(o,bc,!0,a)];case 1:return[2,s.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"responseRoomPK",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return t=e.inviteUserId,r=e.inviteRoomId,n=e.inviteSessionId,i=e.content,o=e.key,a=e.value,s=e.agree,u=e.roomId,l=this.codec.encode(Xs.RtcInviteAnswerInput,{inviteUserId:t,inviteRoomId:r,inviteSessionId:n,content:i,key:o,value:a,answerCode:s?1:0}),[4,this.context.rtcSignaling(u,Rc,!0,l)];case 1:return[2,c.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"endRoomPK",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a;return c(this,(function(s){switch(s.label){case 0:return t=e.endRoomId,r=e.sessionId,n=e.content,i=e.keys,o=e.roomId,a=this.codec.encode(Xs.RtcEndInviteInput,{inviteRoomId:t,inviteSessionId:r,inviteContent:n,inviteRoomKeys:i}),[4,this.context.rtcSignaling(o,gc,!0,a)];case 1:return[2,s.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"getRTCJoinedUserInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,a;return c(this,(function(s){switch(s.label){case 0:return r=this.codec.encode(Xs.RtcQueryUserJoinedInput,{userId:t}),[4,this.context.rtcSignaling("",mc,!0,r)];case 1:return n=s.sent(),i=n.code,o=n.buffer,i===e.ErrorCode.SUCCESS&&o?(a=this.codec.decode(Xs.RtcQueryUserJoinedOutput,o).info||[],[2,{code:i,data:a.map((function(e){return{deviceId:e.deviceId,roomId:e.roomId,joinTime:Pt(e.joinTime)}}))}]):[2,{code:i}]}}))}))}}),Object.defineProperty(t.prototype,"pullRTCRoomEntry",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,s,u,l;return c(this,(function(c){switch(c.label){case 0:return r=this.codec.encode(Xs.RtcPullKV,{timestamp:0,roomId:t}),[4,this.context.rtcSignaling(t,pc,!0,r)];case 1:return n=c.sent(),i=n.code,o=n.buffer,i!==e.ErrorCode.SUCCESS?[2,{code:i}]:(s=this.codec.decode(Xs.RtcKVOutput,o),u=s.entries,l=s.syncTime,u=(u||[]).map((function(e){return a(a({},e),{timestamp:Pt(e.timestamp)})})),[2,{code:i,data:{kvEntries:u,syncTime:Pt(l)}}])}}))}))}}),Object.defineProperty(t.prototype,"pullRTCRoomStatus",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return s(this,void 0,void 0,(function(){var n,i,o,a,s;return c(this,(function(c){switch(c.label){case 0:return n=this.codec.encode(Xs.RtcRoomStatusInput,{version:r}),[4,this.context.rtcSignaling(t,Cc,!0,n)];case 1:return i=c.sent(),o=i.code,a=i.buffer,o!==e.ErrorCode.SUCCESS?[2,{code:o}]:(s=this.codec.decode(Xs.RtcRoomStatusOutput,a),[2,{code:o,data:s}])}}))}))}}),Object.defineProperty(t.prototype,"decodeRtcNotify",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.codec.decode(Xs.RtcNotifyMsg,e),r=t.time,n=t.type,i=t.roomId;return{time:Pt(r),type:n,roomId:i}}}),Object.defineProperty(t.prototype,"getCurrentId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context.getCurrentId()}}),Object.defineProperty(t.prototype,"getNaviInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context.getNaviInfo()}}),Object.defineProperty(t.prototype,"getConnectionStatus",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context.getConnectionStatus()}}),Object.defineProperty(t.prototype,"getAppkey",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context.getAppkey()}}),Object.defineProperty(t.prototype,"webRtcPing",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var i,o,a,s,u;return c(this,(function(c){switch(c.label){case 0:return i=this.codec.encode(Xs.RtcInput,{roomType:r,broadcastType:n}),[4,this.context.rtcSignaling(t,Oc,!0,i)];case 1:return o=c.sent(),a=o.code,s=o.buffer,a!==e.ErrorCode.SUCCESS?[2,{code:a}]:((u=this.codec.decode(Xs.RtcOutput,s)).version=Pt(u.version),[2,{code:a,data:u}])}}))}))}}),Object.defineProperty(t.prototype,"rtcPing",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return/Electron/.test(navigator.userAgent)?this.context.rtcPingResVersion(e,t,r):this.webRtcPing(e,t,r)}}),Object.defineProperty(t.prototype,"sendMessage",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return this.context.sendMessage(e,t,r)}}),Object.defineProperty(t.prototype,"registerRTCSignalListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.context.registerRTCSignalListener(e)}}),Object.defineProperty(t.prototype,"registerConnectionStateChangeListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.context.onconnectionstatechange=e}}),Object.defineProperty(t.prototype,"registerDisconnectListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.context.ondisconnect=e}}),Object.defineProperty(t.prototype,"registerDestroyListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.context.ondestroy=e}}),Object.defineProperty(t.prototype,"registerMessageListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.context.onmessage=e}}),Object.defineProperty(t.prototype,"getCoreVersion",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context.getCoreVersion()}}),Object.defineProperty(t.prototype,"getPluginContext",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context}}),Object.defineProperty(t.prototype,"reportSDKInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.codec.encode(Xs.RtcReportSDKInput,{sdkInfo:JSON.stringify(e)});this.context.rtcSignaling("",vc,!0,t)}}),t}();!function(e){e.RTC="RTC"}(Tc||(Tc={})),e.VersionManage.add("rtclib","5.7.5-alpha.3");var Pc={tag:"RCRTC",verify:function(t){return"undefined"==typeof isSecureContext||isSecureContext?!!e.VersionManage.validEngine("5.7.2")||(console.error("The current engine version '".concat(e.VersionManage.getInfo().engine,"' error, plugin-rtc required engine version at least '").concat("5.7.2","'.")),!1):(console.error("Please use the https protocol or use `http://localhost` to open the page!"),!1)},setup:function(t,r,n){void 0===n&&(n={});var o=t.createLogger("RCRTC",Tc.RTC);if(n.logLevel&&o.setOutputLevel(n.logLevel),o.warn(i.L_INDEX_INSTALL_RTC_PLUGIN_O,JSON.stringify({"RCRTC Version":"5.7.5-alpha.3",Commit:"64602b91651e7639070ae9d7363f05b62e0c570d","browserInfo.browser":Ct.browser,"browserInfo.supportsUnifiedPlan":Ct.supportsUnifiedPlan,"browserInfo.version":Ct.version})),e.assert("options",n,e.AssertRules.OBJECT,!0),e.assert("options.mediaServer",n.mediaServer,(function(t){return!(!e.isHttpUrl(t)||"https:"===location.protocol&&!/^https/.test(t))})),e.assert("options.timeout",n.timeout,(function(t){return e.isNumber(t)&&t>=5e3&&t<=3e4})),e.assert("options.pingGap",n.pingGap,(function(t){return e.isNumber(t)&&t>=3e3&&t<=1e4})),n.AAAWorklet){e.assert("options.AAAWorklet",n.AAAWorklet,e.AssertRules.OBJECT,!0);var a=n.AAAWorklet,s=a.scriptUrl,c=a.wasmUrl;e.assert("AAAWorklet.scriptUrl",s,e.AssertRules.STRING,!0),e.assert("AAAWorklet.wasmUrl",c,e.AssertRules.STRING,!0),He.SCRIPT_URL=s,He.WASM_URL=c}return n.encryptor&&(e.assert("options.encrypt",n.encryptor,e.AssertRules.OBJECT,!0),e.assert("options.encrypt.encode",n.encryptor.encode,(function(e){return"function"==typeof e}),!0),e.assert("options.encrypt.encode",n.encryptor.encode,(function(e){return"function"==typeof e}),!0),bo.init(n.encryptor,o)),new Zs(new Lc(t,o,t.createCodec(Ec,Sc)),r,n)}},Nc={transResolution:bt,transFrameRate:mt,parseTrackId:dt,ifSupportLocalFileTrack:vt,ifSupportScreenShare:Ot};exports.RCAbstractRoom=Ss,exports.RCAudienceClient=Hs,exports.RCAudienceLivingRoom=Ys,exports.RCCameraVideoTrack=Xe,exports.RCLivingRoom=Bs,exports.RCLocalAudioTrack=We,exports.RCLocalFileAudioTrack=Qe,exports.RCLocalFileTrack=ze,exports.RCLocalFileVideoTrack=qe,exports.RCLocalTrack=Ke,exports.RCLocalVideoTrack=Ye,exports.RCMCUConfigBuilder=Ps,exports.RCMediaStreamCapture=Qs,exports.RCMicphoneAudioTrack=Ze,exports.RCRTCClient=Zs,exports.RCRTCRoom=Vs,exports.RCRemoteAudioTrack=rt,exports.RCRemoteTrack=tt,exports.RCRemoteVideoTrack=nt,exports.RCScreenAudioTrack=et,exports.RCScreenVideoTrack=$e,exports.RCTag={DEFAULT:"RongCloudRTC"},exports.RCTrack=Ve,exports.device=Me,exports.helper=Nc,exports.installer=Pc;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@rongcloud/engine"),t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)};function r(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}var n,i,o,a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},a.apply(this,arguments)};function s(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))}function c(e,t){var r,n,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(c){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(o=0)),o;)try{if(r=1,n&&(i=2&s[0]?n.return:s[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;switch(n=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],n=0}finally{r=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}function u(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.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 l(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}function d(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError,exports.RCRTCCode=void 0,(n=exports.RCRTCCode||(exports.RCRTCCode={}))[n.SUCCESS=1e4]="SUCCESS",n[n.PB_ERROR=40001]="PB_ERROR",n[n.SIGNAL_DISCONNECTED=5e4]="SIGNAL_DISCONNECTED",n[n.PARAMS_ERROR=50001]="PARAMS_ERROR",n[n.REPERT_JOIN_ROOM=50002]="REPERT_JOIN_ROOM",n[n.NOT_IN_ROOM=50003]="NOT_IN_ROOM",n[n.SERVICE_INVALID=50004]="SERVICE_INVALID",n[n.RTC_TOKEN_INVALID=50006]="RTC_TOKEN_INVALID",n[n.SIGNAL_ERROR=53001]="SIGNAL_ERROR",n[n.CREATE_OFFER_FAILED=53003]="CREATE_OFFER_FAILED",n[n.REQUEST_FAILED=53004]="REQUEST_FAILED",n[n.MCU_SERVER_NOT_FOUND=53005]="MCU_SERVER_NOT_FOUND",n[n.BROADCAST_SUB_LIST_NOT_EMPTY=53007]="BROADCAST_SUB_LIST_NOT_EMPTY",n[n.ROOM_HAS_BEEN_DESTROYED=53008]="ROOM_HAS_BEEN_DESTROYED",n[n.NOT_OPEN_VIDEO_AUDIO_SERVER=53009]="NOT_OPEN_VIDEO_AUDIO_SERVER",n[n.GET_USER_MEDIA_FAILED=53010]="GET_USER_MEDIA_FAILED",n[n.GET_DISPLAY_MEDIA_FAILED=53011]="GET_DISPLAY_MEDIA_FAILED",n[n.BROWSER_PERMISSION_DENIED=53012]="BROWSER_PERMISSION_DENIED",n[n.CREATE_CUSTOM_TRACK_FAILED=53013]="CREATE_CUSTOM_TRACK_FAILED",n[n.INVALID_TAGS=53014]="INVALID_TAGS",n[n.INVALID_USER_ID=53015]="INVALID_USER_ID",n[n.CREATE_FILE_TRACK_FAILED=53016]="CREATE_FILE_TRACK_FAILED",n[n.INVALID_FILE_INSTANCE=53017]="INVALID_FILE_INSTANCE",n[n.SET_REMOTE_DESCRIPTION_FAILED=53018]="SET_REMOTE_DESCRIPTION_FAILED",n[n.BROWSER_NOT_SUPPORT=53019]="BROWSER_NOT_SUPPORT",n[n.TRACK_NOT_READY=53020]="TRACK_NOT_READY",n[n.VIDEO_TRACK_MISS_MEDIA_ELEMENT=53021]="VIDEO_TRACK_MISS_MEDIA_ELEMENT",n[n.TRACK_PLAY_ERROR=53022]="TRACK_PLAY_ERROR",n[n.SIGNAL_AUDIENCE_JOIN_ROOM_FAILED=53023]="SIGNAL_AUDIENCE_JOIN_ROOM_FAILED",n[n.SIGNAL_ROOM_CHANGE_IDENTITY_FAILED=53024]="SIGNAL_ROOM_CHANGE_IDENTITY_FAILED",n[n.PACKAGE_ENVIRONMENT_ERROR=53025]="PACKAGE_ENVIRONMENT_ERROR",n[n.PUBLISH_TRACK_LIMIT_EXCEEDED=53026]="PUBLISH_TRACK_LIMIT_EXCEEDED",n[n.CDN_RESOURCE_IS_EMPTY=53027]="CDN_RESOURCE_IS_EMPTY",n[n.SIGNAL_JOIN_RTC_ROOM_REFUSED=53028]="SIGNAL_JOIN_RTC_ROOM_REFUSED",n[n.NO_PERMISSION_TO_USE_REQUESTED_DEVICE=53029]="NO_PERMISSION_TO_USE_REQUESTED_DEVICE",n[n.THE_FUNCTION_IS_DISABLED_IN_PKROOM=53030]="THE_FUNCTION_IS_DISABLED_IN_PKROOM",n[n.SOME_TRACKS_PUBLISH_FAILED=53031]="SOME_TRACKS_PUBLISH_FAILED",n[n.MAC_IN_ELECTRON_NOT_SUPPORT_SCREEN_SHARE_WITH_AUDIO=53032]="MAC_IN_ELECTRON_NOT_SUPPORT_SCREEN_SHARE_WITH_AUDIO",n[n.JWT_TIME_OUT=1004]="JWT_TIME_OUT",n[n.SYSTEM_PERMISSION_DENIED=53033]="SYSTEM_PERMISSION_DENIED",n[n.PUBLISH_TRACKS_IS_INVALID=53034]="PUBLISH_TRACKS_IS_INVALID",n[n.TRACK_READYSTATE_IS_ENDED=53035]="TRACK_READYSTATE_IS_ENDED",n[n.APPLY_3A_NOISE_WORKLET_BEFORE_PUBLISH=53036]="APPLY_3A_NOISE_WORKLET_BEFORE_PUBLISH",n[n.LOAD_3A_MODULE_FAILED=53037]="LOAD_3A_MODULE_FAILED",function(e){e.L_INDEX_INSTALL_RTC_PLUGIN_O="L-index_install_rtc_plugin-O",e.L_RTC_CLIENT_IM_CONNECTION_STATE_S="L-rtc_client_im_connection_state-S",e.L_RTC_CLIENT_MESSAGE_O="L-rtc_client_message-O",e.L_RTC_CLIENT_DESTROY_S="L-rtc_client_destroy-S",e.L_RTC_CLIENT_JOIN_RTC_ROOM_T="L-rtc_client_join_rtc_room-T",e.L_RTC_CLIENT_JOIN_RTC_ROOM_O="L-rtc_client_join_rtc_room-O",e.L_RTC_CLIENT_JOIN_RTC_ROOM_R="L-rtc_client_join_rtc_room-R",e.L_RTC_CLIENT_JOIN_LIVING_ROOM_T="L-rtc_client_join_living_room-T",e.L_RTC_CLIENT_JOIN_LIVING_ROOM_R="L-rtc_client_join_living_room-R",e.L_RTC_CLIENT_GET_AUDIENCE_CLIENT_O="L-rtc_client_get_audience_client-O",e.L_RTC_CLIENT_LEAVE_ROOM_T="L-rtc_client_leave_room-T",e.L_RTC_CLIENT_LEAVE_ROOM_R="L-rtc_client_leave_room-R",e.L_RTC_CLIENT_CREATE_MICROPHONE_AUDIO_TRACK_O="L-rtc_client_create_microphone_audio_track-O",e.L_RTC_CLIENT_CREATE_CAMERA_VIDEO_TRACK_O="L-rtc_client_create_camera_video_track-O",e.L_RTC_CLIENT_CREATE_MICROPHONE_AND_CAMERA_TRACKS_O="L-rtc_client_create_microphone_and_camera_tracks-O",e.L_RTC_CLIENT_CREATE_SCREEN_VIDEO_TRACK_O="L-rtc_client_create_screen_video_track-O",e.L_RTC_CLIENT_CREATE_SCREEN_VIDEO_AND_AUDIO_TRACKS_O="L-rtc_client_create_screen_video_and_audio_tracks-O",e.L_RTC_CLIENT_CREATE_LOCAL_AUDIO_TRACK_O="L-rtc_client_create_local_audio_track-O",e.L_RTC_CLIENT_CREATE_LOCAL_VIDEO_TRACK_O="L-rtc_client_create_local_video_track-O",e.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O="L-rtc_client_create_local_file_tracks-O",e.L_RTC_CLIENT_CREATE_LOCAL_TRACKS_O="L-rtc_client_create_local_tracks-O",e.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_T="L-rtc_client_join_living_room_as_audience-T",e.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R="L-rtc_client_join_living_room_as_audience_R",e.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_T="L-rtc_client_leave_living_room_as_audience-T",e.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_R="L-rtc_client_leave_living_room_as_audience-R",e.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_T="L-rtc_client_upgrade_to_anchor_room-T",e.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_R="L-rtc_client_upgrade_to_anchor_room-R",e.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_T="L-rtc_client_downgrade_to_audience_room-T",e.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R="L-rtc_client_downgrade_to_audience_room-R",e.L_RTC_CLIENT_GET_JOINED_ROOM_INFO_T="L-rtc_client_get_joined_room_info-T",e.L_RTC_CLIENT_GET_JOINED_ROOM_INFO_R="L-rtc_client_get_joined_room_info-R",e.L_AUDIENCE_CLIENT_CALL_ONTRACKREADY_O="L-audinence_client_call_onTrackReady-O",e.L_AUDIENCE_CLIENT_SUBSCRIBE_T="L-audinence_client_subscribe-T",e.L_AUDIENCE_CLIENT_SUBSCRIBE_R="L-audinence_client_subscribe-R",e.L_AUDIENCE_CLIENT_UNSUBSCRIBE_T="L-audinence_client_unsubscribe-T",e.L_AUDIENCE_CLIENT_UNSUBSCRIBE_R="L-audinence_client_unsubscribe-R",e.L_PINGER_START_O="L-pinger_start-O",e.L_PINGER_STOP_O="L-pinger_stop-O",e.L_PINGER_SEND_RTCPING_E="L-pinger_send_rtcping-E",e.L_ABSTRACT_ROOM_SEND_MESSAGE_T="L-abstract_room_send_message-T",e.L_ABSTRACT_ROOM_SEND_MESSAGE_R="L-abstract_room_send_message-R",e.L_ABSTRACT_ROOM_SET_ROOM_ATTRIBUTE_T="L-abstract_room_set_room_attribute-T",e.L_ABSTRACT_ROOM_SET_ROOM_ATTRIBUTE_R="L-abstract_room_set_room_attribute_R",e.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_T="L-abstract_room_delete_room_attribute_T",e.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_R="L-abstract_room_delete_room_attribute_R",e.L_ABSTRACT_ROOM_GET_ROOM_ATTRIBUTE_T="L-abstract_room_get_room_attribute_T",e.L_ABSTRACT_ROOM_GET_ROOM_ATTRIBUTE_R="L-abstract_room_get_room_attribute_R",e.L_ABSTRACT_ROOM_PUBLISH_T="L-abstract_room_publish-T",e.L_ABSTRACT_ROOM_PUBLISH_R="L-abstract_room_publish-R",e.L_ABSTRACT_ROOM_PUBLISH_E="L-abstract_room_publish-E",e.L_ABSTRACT_ROOM_UNPUBLISH_T="L-abstract_room_unpublish-T",e.L_ABSTRACT_ROOM_UNPUBLISH_R="L-abstract_room_unpublish-R",e.L_ABSTRACT_ROOM_UNPUBLISH_E="L-abstract_room_unpublish-E",e.L_ABSTRACT_ROOM_UNPUBLISH_P="L-abstract_room_unpublish-P",e.L_ABSTRACT_ROOM_SUBSCRIBE_T="L-abstract_room_subscribe-T",e.L_ABSTRACT_ROOM_SUBSCRIBE_R="L-abstract_room_subscribe-R",e.L_ABSTRACT_ROOM_SUBSCRIBE_E="L-abstract_room_subscribe-E",e.L_ABSTRACT_ROOM_UNSUBSCRIBE_T="L-abstract_room_unsubscribe-T",e.L_ABSTRACT_ROOM_UNSUBSCRIBE_R="L-abstract_room_unsubscribe-R",e.L_ABSTRACT_ROOM_UNSUBSCRIBE_E="L-abstract_room_unsubscribe-E",e.L_APP_CALL_UNSUBSCRIBE_O="L-app_call_unsubscribe-O",e.L_USER_LEFT_UNSUBSCRIBE_O="L-user_left_unsubscribe-O",e.L_RES_UNPUB_UNSUBSCRIBE_O="L-res_unpub_unsubscribe-O",e.L_ABSTRACT_ROOM_REGISTER_ROOM_EVENT_LISTENER_O="L-abstract_room_register_room_event_listener-O",e.L_ABSTRACT_ROOM_REGISTER_REPORT_LISTENER_O="L-abstract_room_register_report_listener-O",e.L_ABSTRACT_ROOM_AUDIO_LEVEL_O="L-abstract_room_audio_level-O",e.L_ABSTRACT_ROOM_IM_RECONNECTED_T="L-abstract_room_im_reconnected-T",e.L_ABSTRACT_ROOM_IM_RECONNECTED_R="L-abstract_room_im_reconnected-R",e.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O="L-abstract_room_call_app_listener-O",e.L_ABSTRACT_ROOM_SETBITRATE_O="L-abstract_room_setBitrate-O",e.L_ABSTRACT_ROOM_ONTRACKREADY_O="L-abstract_room_onTrackReady-O",e.L_ABSTRACT_ROOM_RECEIVE_MESSAGE_O="L-abstract_room_receive_message-O",e.L_ABSTRACT_ROOM_ONKICKOFF_O="L-abstract_room_onKickoff-O",e.L_LIVING_ROOM_RECONNECTED_T="L-living_room_reconnected-T",e.L_LIVING_ROOM_RECONNECTED_R="L-living_room_reconnected-R",e.L_LIVING_ROOM_ENABLE_INNER_CDN_T="L-living_room_enable_inner_cdn-T",e.L_LIVING_ROOM_ENABLE_INNER_CDN_R="L-living_room_enable_inner_cdn-R",e.L_LIVING_ROOM_SPREAD_CDN_INFO_T="L-living_room_spread_cdn_info-T",e.L_LIVING_ROOM_SPREAD_CDN_INFO_R="L-living_room_spread_cdn_info-R",e.L_LIVING_ROOM_SET_ROOM_CDN_INFO_T="L-living_room_set_room_cdn_info-T",e.L_LIVING_ROOM_SET_ROOM_CDN_INFO_R="L-living_room_set_room_cdn_info-R",e.L_LIVING_ROOM_JOINED_PK_ROOM_T="L-living_room_joined_pk_room-T",e.L_LIVING_ROOM_JOINED_PK_ROOM_R="L-living_room_joined_pk_room-R",e.L_LIVING_ROOM_LEAVE_PK_ROOM_T="L-living_room_leave_pk_room-T",e.L_LIVING_ROOM_LEAVE_PK_ROOM_R="L-living_room_leave_pk_room-R",e.L_APP_CALL_LEAVE_PK_ROOM_O="L-app_call_leave_pk_room-O",e.L_QUIT_PK_LEAVE_PK_ROOM_O="L-quit_pk_leave_pk_room-O",e.L_LIVING_ROOM_GET_ROOM_PK_HANDLER_O="L-living_room_get_room_pk_handler-O",e.L_LIVING_ROOM_GET_MCU_CONFIG_BUILDER_O="L-living_room_get_mcu_config_builder-O",e.L_LIVING_ROOM_QUIT_ALL_PK_ROOM_O="L-living_room_quit_all_pk_room-O",e.L_LIVING_PK_HANDLER_REGISTER_ROOM_PK_EVENT_LISTENER_O="L-living_pk_handler_register_room_pk_event_listener-O",e.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O="L-living_pk_handler_call_app_listener-O",e.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_T="L-living_pk_handler_request_join_other_room-T",e.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_R="L-living_pk_handler_request_join_other_room-R",e.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_T="L-living_pk_handler_cancel_request_join_other_room-T",e.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_R="L-living_pk_handler_cancel_request_join_other_room-R",e.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_T="L-living_pk_handler_response_join_other_room-T",e.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_R="L-living_pk_handler_response_join_other_room-R",e.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_T="L-living_pk_handler_join_other_room-T",e.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R="L-living_pk_handler_join_other_room-R",e.L_LIVING_PK_HANDLER_LEAVE_OTHER_ROOM_T="L-living_pk_handler_leave_other_room-T",e.L_LIVING_PK_HANDLER_LEAVE_OTHER_ROOM_R="L-living_pk_handler_leave_other_room-R",e.L_QUIT_PK_T="L-quit_pk-T",e.L_QUIT_PK_R="L-quit_pk-R",e.L_EXCHANGE_WITH_PUSHOTHERROOM_T="L-exchange_with_pushotherroom-T",e.L_EXCHANGE_WITH_PUSHOTHERROOM_R="L-exchange_with_pushotherroom-R",e.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O="L-audience_living_room_call_app_listener-O",e.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_O="L-audience_living_room_pull_kvEntries-O",e.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_T="L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_T",e.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_R="L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_R",e.L_AUDIENCE_LIVING_ROOM_SINGAL_DATA_CHANGE_P="L-audience_living_room_singal_data_change-P",e.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_T="L-audience_living_room_get_cdn_play_url-T",e.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_R="L-audience_living_room_get_cdn_play_url-R",e.L_AUDIENCE_LIVING_ROOM_SUBSCRIBE_T="L-audience_living_room_subscribe-T",e.L_AUDIENCE_LIVING_ROOM_SUBSCRIBE_R="L-audience_living_room_subscribe-R",e.L_AUDIENCE_LIVING_ROOM_UNSUBSCRIBE_T="L-audience_living_room_unsubscribe-T",e.L_AUDIENCE_LIVING_ROOM_UNSUBSCRIBE_R="L-audience_living_room_unsubscribe-R",e.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_T="L-audience_living_room_update_subscribeList-T",e.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R="L-audience_living_room_update_subscribeList-R",e.L_AUDIENCE_LIVING_ROOM_ONTRACKREADY_O="L-audience_living_room_onTrackReady-O",e.L_AUDIENCE_LIVING_ROOM_IM_RECONNECTED_R="L-audience_living_room_im_reconnected-R",e.L_AUDIENCE_LIVING_ROOM_IM_RECONNECTED_T="L-audience_living_room_im_reconnected-T",e.L_MCU_CONFIG_BUILDER_SET_HOST_VIDEO_TRACK_O="L-mcu_config_builder_set_host_video_track-O",e.L_MCU_CONFIG_BUILDER_SET_MIX_LAYOUT_MODE_O="L-mcu_config_builder_set_mix_layout_mode-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RESOLUTION_O="L-mcu_config_builder_set_output_video_resolution-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_FPS_O="L-mcu_config_builder_set_output_video_fps-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_BITRATE_O="L-mcu_config_builder_set_output_video_bitrate-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_RESOLUTION_O="L-mcu_config_builder_set_output_tiny_video_resolution-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_FPS_O="L-mcu_config_builder_set_output_tiny_video_fps-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_BITRATE_O="L-mcu_config_builder_set_output_tiny_video_bitrate-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RENDER_MODE_O="L-mcu_config_builder_set_output_video_render_mode-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_AUDIO_BITRATE_O="L-mcu_config_builder_set_output_audio_bitrate-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_COLOR_O="L-mcu_config_builder_set_output_background_color-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_O="L-mcu_config_builder_add_output_background_picture-O",e.L_MCU_CONFIG_BUILDER_REMOVE_OUTPUT_BACKGROUND_PICTURE_O="L-mcu_config_builder_remove_output_background_picture-O",e.L_MCU_CONFIG_BUILDER_CLEAR_OUTPUT_BACKGROUND_PICTURE_O="L-mcu_config_builder_clear_output_background_picture-O",e.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_FILL_MODE_O="L-mcu_config_builder_set_output_background_picture-fill-mode-O",e.L_MCU_CONFIG_BUILDER_ADD_PUBLISH_STREAM_URLS_O="L-mcu_config_builder_add_publish_stream_urls-O",e.L_MCU_CONFIG_BUILDER_REMOVE_PUBLISH_STREAM_URLS_O="L-mcu_config_builder_remove_publish_stream_urls-O",e.L_MCU_CONFIG_BUILDER_CLEAR_PUBLISH_STREAM_URLS_O="L-mcu_config_builder_clear_publish_stream_urls-O",e.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O="L-mcu_config_builder_add_customize_layout_video-O",e.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_LAYOUT_VIDEO_O="L-mcu_config_builder_remove_customize_layout_video-O",e.L_MCU_CONFIG_BUILDER_CLEAR_CUSTOMIZE_LAYOUT_VIDEO_O="L-mcu_config_builder_clear_customize_layout_video-O",e.L_MCU_CONFIG_BUILDER_SET_CUSTOMIZE_INPUT_AUDIO_O="L-mcu_config_builder_set_customize_input_audio-O",e.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_INPUT_AUDIO_O="L-mcu_config_builder_add_customize_input_audio-O",e.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_INPUT_AUDIO_O="L-mcu_config_builder_remove_customize_input_audio-O",e.L_MCU_CONFIG_BUILDER_CLEAR_CUSTOMIZE_INPUT_AUDIO_O="L-mcu_config_builder_clear_customize_input_audio-O",e.L_MCU_CONFIG_BUILDER_RESET_O="L-mcu_config_builder_reset-O",e.L_MCU_CONFIG_BUILDER_ADD_SINGLE_WATER_MARK_O="L-mcu_config_builder_add_single_water_mark-O",e.L_MCU_CONFIG_BUILDER_REMOVE_SINGLE_WATER_MARK_O="L-mcu_config_builder_remove_single_water_mark-O",e.L_MCU_CONFIG_BUILDER_CLEAR_SINGLE_WATER_MARK_O="L-mcu_config_builder_clear_single_water_mark-O",e.L_MEDIA_SERVICE_SET_MCU_CONFIG_T="L-media_service_set_mcu_config-T",e.L_MEDIA_SERVICE_SET_MCU_CONFIG_R="L-media_service_set_mcu_config-R",e.L_MEDIA_SERVICE_GET_CDN_RESOURCE_INFO_T="L-media_service_get_cnd_resource_info-T",e.L_MEDIA_SERVICE_GET_CDN_RESOURCE_INFO_R="L-media_service_get_cnd_resource_info-R",e.L_MEDIA_SERVICE_MSLIST_CHANGE_O="L-media_service_msList_change-O",e.L_MEDIA_SERVICE_PARSE_NAVI_CALLVOIP_INFO_O="L-media_service_parse_navi_callvoip_info-O",e.L_MEDIA_SERVICE_REQUEST_T="L-media_service_request-T",e.L_MEDIA_SERVICE_REQUEST_R="L-media_service_request-R",e.L_LOCAL_TRACK_DESTROY_O="L-loacl_track_destroy-O",e.L_LOCAL_TRACK_SET_BITRATE_O="L-loacl_track_set_bitrate-O",e.L_LOCAL_TRACK_SET_LOCAL_MUTED_O="L-loacl_track_set_local_muted-O",e.L_LOCAL_TRACK_SET_LOCAL_MUTED_SPREAD_T="L-loacl_track_set_local_muted_spread-T",e.L_LOCAL_TRACK_SET_LOCAL_MUTED_SPREAD_R="L-loacl_track_set_local_muted_spread-R",e.L_TRACK_PLAY_O="L-track_play-O",e.L_TRACK_PLAY_E="L-track_play-E",e.L_TRACK_LOAD_START_O="L-track_load_start-O",e.L_TRACK_DURATION_CHANGE_O="L-track_duration_change-O",e.L_TRACK_LOADED_META_DATA_O="L-track_loaded_meta_data-O",e.L_TRACK_LOADED_DATA_O="L-track_loaded_data-O",e.L_TRACK_ABORT_O="L-track_abort-O",e.L_TRACK_VOLUME_CHANGE_O="L-track_volume_change-O",e.L_TRACK_CANPLAY_O="L-track_canplay-O",e.L_ABSTRACT_STAT_PARSER_FORMAT_RTC_STATE_REPORT_O="L-abstract_stat_parser_format_rtc_state_report-O",e.L_A_SDP_STRATEGY_SET_SDP_SEMANTICS_O="L-a_sdp_strategy_set_sdp_semantics-O",e.L_A_SDP_STRATEGY_SET_REMOTE_ANSWER_O="L-a_sdp_strategy_set_remote_answer-O",e.L_RTC_PEER_CONNECTION_ADD_LOCAL_TRACK_O="L-rtc_peer_connection_add_local_track-O",e.L_RTC_PEER_CONNECTION_ICE_CONNECTION_STATE_S="L-rtc_peer_connection_ice_connection_state-S",e.L_RTC_PEER_CONNECTION_ICE_CONNECTION_STATE_REPORT_R="L-rtc_peer_connection_ice_connection_state_report-R",e.L_RTC_PEER_CONNECTION_CONNECTION_STATE_S="L-rtc_peer_connection_connection_state-S",e.L_RTC_PEER_CONNECTION_SET_BITRATE_O="L-rtc_peer_connection_set_bitrate-O",e.L_RTC_PEER_CONNECTION_CREATE_OFFER_O="L-rtc_peer_connection_create_offer-O",e.L_RTC_PEER_CONNECTION_REMOVE_LOCAL_TRACK_BY_ID_O="L-rtc_peer_connection_remove_local_track_by_id-O",e.L_RTC_PEER_CONNECTION_REMOVE_ALL_LOCAL_TRACK_O="L-rtc_peer_connection_remove_all_local_track-O",e.L_RTC_PEER_CONNECTION_REMOVE_LOCAL_TRACK_O="L-rtc_peer_connection_remove_local_track-O",e.L_RTC_PEER_CONNECTION_DESTROY_O="L-rtc_peer_connection_destroy-O",e.L_RTC_PEER_CONNECTION_ICECANDIDATEPAIR_DATA_O="L-rtc_peer_connection_ice_candidate_pair_data-O",e.L_RTC_PEER_CONNECTION_VIDEO_SENDER_DATA_O="L-rtc_peer_connection_video_sender_data-O",e.L_WEBRTC_ISSUE_DETECTOR_OPEN_O="L-webrtc_issue_detector_open-O",e.L_WEBRTC_ISSUE_DETECTOR_ISSUE_O="L-webrtc_issue_detector_issue-O",e.L_RTC_SET_RECOMMEND_BITRATE_O="L_rtc_set_recommend_bitrate_O",e.L_RTC_3ANOISE_NODE_O="L_RTC_AAAnoiseNode_O",e.L_RTC_3ANOISE_NODE_E="L_RTC_AAAnoiseNode_E",e.L_RTC_3ANOISE_NODE_STOP_O="L_RTC_AAAnoiseNode_Stop_O",e.L_QS_JOIN_ROOM_S="RTC-joinRoomRtc-S",e.L_QS_SUBSCRIBE_S="RTC-subscribe-S",e.L_QS_UNSUBSCRIBE_S="RTC-unsubscribe-S",e.L_QS_PUBLISH_S="RTC-publishRtc-S",e.L_QS_UNPUBLISH_S="RTC-unpublishRtc-S",e.L_QS_ICE_STATUS_S="RTC-iceStatus-S",e.L_QS_KICKED_S="RTC-forcedOffline-S",e.L_QS_PUB_ICE_STATUS_S="RTC-pubIceConnected-S",e.L_QS_SUB_ICE_STATUS_S="RTC-subIceConnected-S",e.L_QS_RECV_PUB_MSG_S="RTC-recvPubMsg-S",e.L_SET_ENCODER_PREFERENCES_S="RTC-set_Encoder_Preferences-S",e.L_RTCNTF_PULL_ROOM_STATUS_O="L-rtcntf_pull_room_status-O",e.L_RTCPING_PULL_ROOM_STATUS_O="L-rtcping_pull_room_status-O",e.L_PULL_ROOM_STATUS_T="L-pull_room_status-T",e.L_PULL_ROOM_STATUS_R="L-pull_room_status-R",e.L_OLD_DAILY_RECORD_O="L-old_daily_record-O",e.L_REMOTE_USER_JOINED_RESOURCES_O="L-remote_user_joined_resources-O",e.L_REMOTE_USER_STATE_HANDLE_O="L-remote_user_state_handle-O",e.L_UPDATE_SUBSCRIBELIST_COMMAND_T="L-update_subscribeList_command-T",e.L_UPDATE_SUBSCRIBELIST_COMMAND_P="L-update_subscribeList_command-P",e.L_UPDATE_SUBSCRIBELIST_COMMAND_R="L-update_subscribeList_command-R",e.L_RTC_CLIENT_NAVI_CHANGE_O="L-rtc_client_navi_change-O",e.L_UNPUBLISH_PREV_COMMAND_T="L-unpublish_prev_command-T",e.L_UNPUBLISH_PREV_COMMAND_R="L-unpublish_prev_command-R",e.L_RETRY_EXCHANGE_COMMAND_T="L-retry_exchange_command-T",e.L_RETRY_EXCHANGE_SPREAD_T="L-retry_exchange_spread-T",e.L_RETRY_EXCHANGE_SPREAD_R="L-retry_exchange_spread-R",e.L_PARSE_USERSTATE_COMMAND_R="L-parse_userstate_command-R",e.L_RESUB_REPUB_RES_R="L-resub_repub_res-R",e.L_PARSE_ROOMDATA_URIS_R="L-parse_roomdata_uris-R",e.L_SET_AUDIO_CONSTRAINTS_O="L-set_audio_constraints-O",e.L_FUNCTION_IS_UNAVAILABLE="L-function_is_unavailable",e.L_CLEAR_UNSUBSCRIBE_LIST_O="L-clear_unsubscribe_list-O",e.L_INVOKER_PUSH_O="L-invoker_push-O",e.L_INVOKER_EXECUTE_T="L-invoker_execute-T",e.L_INVOKER_EXECUTE_R="L-invoker_execute-R",e.L_INVOKER_DESTROY_O="L-invoker_destroy-R",e.L_PARSE_VOIP_SERVER_CONF_E="L_PARSE_VOIP_SERVER_CONF_E",e.L_GET_MEDIA_STREAM_E="L_GET_MEDIA_STREAM_E",e.L_INNER_SET_TRACK_O="L_INNER_SET_TRACK_O",e.A_APPLY_3A_NOISE_WORKLET_T="A-apply_3a_noise_worklet-T",e.A_APPLY_3A_NOISE_WORKLET_R="A-apply_3a_noise_worklet-R",e.L_ENCRYPTOR_ENCODE_E="L-encryptor_encode-E",e.L_ENCRYPTOR_DECODE_E="L-encryptor_decode-E"}(i||(i={})),function(e){e.FAILED="fail",e.SUCCESSED="success",e.TIMEOUT="timeout",e.INFO="info"}(o||(o={}));let _=!0,p=!0;function f(e,t,r){const n=e.match(t);return n&&n.length>=r&&parseInt(n[r],10)}function h(e,t,r){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,i=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return i.apply(this,arguments);const o=e=>{const t=r(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,o),i.apply(this,[e,o])};const o=n.removeEventListener;n.removeEventListener=function(e,r){if(e!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(r))return o.apply(this,arguments);const n=this._eventMap[t].get(r);return this._eventMap[t].delete(r),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,o.apply(this,[e,n])},Object.defineProperty(n,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}function b(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(_=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function R(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(p=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function g(){if("object"==typeof window){if(_)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}}function m(e,t){p&&console.warn(e+" is deprecated, please use "+t+" instead.")}function C(e){return"[object Object]"===Object.prototype.toString.call(e)}function v(e){return C(e)?Object.keys(e).reduce((function(t,r){const n=C(e[r]),i=n?v(e[r]):e[r],o=n&&!Object.keys(i).length;return void 0===i||o?t:Object.assign(t,{[r]:i})}),{}):e}function O(e,t,r){t&&!r.has(t.id)&&(r.set(t.id,t),Object.keys(t).forEach((n=>{n.endsWith("Id")?O(e,e.get(t[n]),r):n.endsWith("Ids")&&t[n].forEach((t=>{O(e,e.get(t),r)}))})))}function T(e,t,r){const n=r?"outbound-rtp":"inbound-rtp",i=new Map;if(null===t)return i;const o=[];return e.forEach((e=>{"track"===e.type&&e.trackIdentifier===t.id&&o.push(e)})),o.forEach((t=>{e.forEach((r=>{r.type===n&&r.trackId===t.id&&O(e,r,i)}))})),i}const E=g;function S(e,t){const r=e&&e.navigator;if(!r.mediaDevices)return;const n=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach((r=>{if("require"===r||"advanced"===r||"mediaSource"===r)return;const n="object"==typeof e[r]?e[r]:{ideal:e[r]};void 0!==n.exact&&"number"==typeof n.exact&&(n.min=n.max=n.exact);const i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};"number"==typeof n.ideal?(e[i("min",r)]=n.ideal,t.optional.push(e),e={},e[i("max",r)]=n.ideal,t.optional.push(e)):(e[i("",r)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&"number"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[i("",r)]=n.exact):["min","max"].forEach((e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,r)]=n[e])}))})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=n(e.audio)}if(e&&"object"==typeof e.video){let o=e.video.facingMode;o=o&&("object"==typeof o?o:{ideal:o});const a=t.version<66;if(o&&("user"===o.exact||"environment"===o.exact||"user"===o.ideal||"environment"===o.ideal)&&(!r.mediaDevices.getSupportedConstraints||!r.mediaDevices.getSupportedConstraints().facingMode||a)){let t;if(delete e.video.facingMode,"environment"===o.exact||"environment"===o.ideal?t=["back","rear"]:"user"!==o.exact&&"user"!==o.ideal||(t=["front"]),t)return r.mediaDevices.enumerateDevices().then((r=>{r=r.filter((e=>"videoinput"===e.kind));let a=r.find((e=>t.some((t=>e.label.toLowerCase().includes(t)))));return!a&&r.length&&t.includes("back")&&(a=r[r.length-1]),a&&(e.video.deviceId=o.exact?{exact:a.deviceId}:{ideal:a.deviceId}),e.video=n(e.video),E("chrome: "+JSON.stringify(e)),i(e)}))}e.video=n(e.video)}return E("chrome: "+JSON.stringify(e)),i(e)},o=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(r.getUserMedia=function(e,t,n){i(e,(e=>{r.webkitGetUserMedia(e,t,(e=>{n&&n(o(e))}))}))}.bind(r),r.mediaDevices.getUserMedia){const e=r.mediaDevices.getUserMedia.bind(r.mediaDevices);r.mediaDevices.getUserMedia=function(t){return i(t,(t=>e(t).then((e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach((e=>{e.stop()})),new DOMException("","NotFoundError");return e}),(e=>Promise.reject(o(e))))))}}}function I(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function y(e){if("object"==typeof e&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",(r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===r.track.id)):{track:r.track};const i=new Event("track");i.track=r.track,i.receiver=n,i.transceiver={receiver:n},i.streams=[t.stream],this.dispatchEvent(i)})),t.stream.getTracks().forEach((r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===r.id)):{track:r};const i=new Event("track");i.track=r,i.receiver=n,i.transceiver={receiver:n},i.streams=[t.stream],this.dispatchEvent(i)}))},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else h(e,"track",(e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e)))}function L(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const r=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let i=r.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach((e=>{this._senders.push(t(this,e))}))};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach((e=>{const t=this._senders.find((t=>t.track===e));t&&this._senders.splice(this._senders.indexOf(t),1)}))}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function P(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,n]=arguments;if(arguments.length>0&&"function"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||"function"!=typeof e))return t.apply(this,[]);const i=function(e){const t={};return e.result().forEach((e=>{const r={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach((t=>{r[t]=e.stat(t)})),t[r.id]=r})),t},o=function(e){return new Map(Object.keys(e).map((t=>[t,e[t]])))};if(arguments.length>=2){const n=function(e){r(o(i(e)))};return t.apply(this,[n,e])}return new Promise(((e,r)=>{t.apply(this,[function(t){e(o(i(t)))},r])})).then(r,n)}}function N(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>T(t,e.track,!0)))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),h(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>T(t,e.track,!1)))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,r,n;return this.getSenders().forEach((r=>{r.track===e&&(t?n=!0:t=r)})),this.getReceivers().forEach((t=>(t.track===e&&(r?n=!0:r=t),t.track===e))),n||t&&r?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():r?r.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function A(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((e=>this._shimmedLocalStreams[e][0]))};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){if(!r)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[r.id]?-1===this._shimmedLocalStreams[r.id].indexOf(n)&&this._shimmedLocalStreams[r.id].push(n):this._shimmedLocalStreams[r.id]=[r,n],n};const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach((e=>{const t=this.getSenders().find((t=>t.track===e));if(t)throw new DOMException("Track already exists.","InvalidAccessError")}));const t=this.getSenders();r.apply(this,arguments);const n=this.getSenders().filter((e=>-1===t.indexOf(e)));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach((t=>{const r=this._shimmedLocalStreams[t].indexOf(e);-1!==r&&this._shimmedLocalStreams[t].splice(r,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]})),i.apply(this,arguments)}}function w(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return A(e);const r=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=r.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map((e=>this._reverseStreams[e.id]))};const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach((e=>{const t=this.getSenders().find((t=>t.track===e));if(t)throw new DOMException("Track already exists.","InvalidAccessError")})),!this._reverseStreams[t.id]){const r=new e.MediaStream(t.getTracks());this._streams[t.id]=r,this._reverseStreams[r.id]=t,t=r}n.apply(this,[t])};const i=e.RTCPeerConnection.prototype.removeStream;function o(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],i=e._streams[n.id];r=r.replace(new RegExp(i.id,"g"),n.id)})),new RTCSessionDescription({type:t.type,sdp:r})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,r){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const n=[].slice.call(arguments,1);if(1!==n.length||!n[0].getTracks().find((e=>e===t)))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");const i=this.getSenders().find((e=>e.track===t));if(i)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const o=this._streams[r.id];if(o)o.addTrack(t),Promise.resolve().then((()=>{this.dispatchEvent(new Event("negotiationneeded"))}));else{const n=new e.MediaStream([t]);this._streams[r.id]=n,this._reverseStreams[n.id]=r,this.addStream(n)}return this.getSenders().find((e=>e.track===t))},["createOffer","createAnswer"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?r.apply(this,[t=>{const r=o(this,t);e[0].apply(null,[r])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):r.apply(this,arguments).then((e=>o(this,e)))}};e.RTCPeerConnection.prototype[t]=n[t]}));const a=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],i=e._streams[n.id];r=r.replace(new RegExp(n.id,"g"),i.id)})),new RTCSessionDescription({type:t.type,sdp:r})}(this,arguments[0]),a.apply(this,arguments)):a.apply(this,arguments)};const s=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){const e=s.get.apply(this);return""===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(e._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach((r=>{this._streams[r].getTracks().find((t=>e.track===t))&&(t=this._streams[r])})),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function D(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}))}function k(e,t){h(e,"negotiationneeded",(e=>{const r=e.target;if(!(t.version<72||r.getConfiguration&&"plan-b"===r.getConfiguration().sdpSemantics)||"stable"===r.signalingState)return e}))}var U=Object.freeze({__proto__:null,shimMediaStream:I,shimOnTrack:y,shimGetSendersWithDtmf:L,shimGetStats:P,shimSenderReceiverGetStats:N,shimAddTrackRemoveTrackWithNative:A,shimAddTrackRemoveTrack:w,shimPeerConnection:D,fixNegotiationNeeded:k,shimGetUserMedia:S,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&("function"==typeof t?e.navigator.mediaDevices.getDisplayMedia=function(r){return t(r).then((t=>{const n=r.video&&r.video.width,i=r.video&&r.video.height,o=r.video&&r.video.frameRate;return r.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t,maxFrameRate:o||3}},n&&(r.video.mandatory.maxWidth=n),i&&(r.video.mandatory.maxHeight=i),e.navigator.mediaDevices.getUserMedia(r)}))}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))}});var M,x,j=(M=function(e){var t={generateIdentifier:function(){return Math.random().toString(36).substr(2,10)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split("\n").map((function(e){return e.trim()}))},t.splitSections=function(e){return e.split("\nm=").map((function(e,t){return(t>0?"m="+e:e).trim()+"\r\n"}))},t.getDescription=function(e){var r=t.splitSections(e);return r&&r[0]},t.getMediaSections=function(e){var r=t.splitSections(e);return r.shift(),r},t.matchPrefix=function(e,r){return t.splitLines(e).filter((function(e){return 0===e.indexOf(r)}))},t.parseCandidate=function(e){for(var t,r={foundation:(t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" "))[0],component:parseInt(t[1],10),protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]},n=8;n<t.length;n+=2)switch(t[n]){case"raddr":r.relatedAddress=t[n+1];break;case"rport":r.relatedPort=parseInt(t[n+1],10);break;case"tcptype":r.tcpType=t[n+1];break;case"ufrag":r.ufrag=t[n+1],r.usernameFragment=t[n+1];break;default:r[t[n]]=t[n+1]}return r},t.writeCandidate=function(e){var t=[];t.push(e.foundation),t.push(e.component),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);var r=e.type;return t.push("typ"),t.push(r),"host"!==r&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&"tcp"===e.protocol.toLowerCase()&&(t.push("tcptype"),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push("ufrag"),t.push(e.usernameFragment||e.ufrag)),"candidate:"+t.join(" ")},t.parseIceOptions=function(e){return e.substr(14).split(" ")},t.parseRtpMap=function(e){var t=e.substr(9).split(" "),r={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),r.name=t[0],r.clockRate=parseInt(t[1],10),r.channels=3===t.length?parseInt(t[2],10):1,r.numChannels=r.channels,r},t.writeRtpMap=function(e){var t=e.payloadType;void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType);var r=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==r?"/"+r:"")+"\r\n"},t.parseExtmap=function(e){var t=e.substr(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1]}},t.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+"\r\n"},t.parseFmtp=function(e){for(var t,r={},n=e.substr(e.indexOf(" ")+1).split(";"),i=0;i<n.length;i++)r[(t=n[i].trim().split("="))[0].trim()]=t[1];return r},t.writeFmtp=function(e){var t="",r=e.payloadType;if(void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){var n=[];Object.keys(e.parameters).forEach((function(t){e.parameters[t]?n.push(t+"="+e.parameters[t]):n.push(t)})),t+="a=fmtp:"+r+" "+n.join(";")+"\r\n"}return t},t.parseRtcpFb=function(e){var t=e.substr(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},t.writeRtcpFb=function(e){var t="",r=e.payloadType;return void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach((function(e){t+="a=rtcp-fb:"+r+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"})),t},t.parseSsrcMedia=function(e){var t=e.indexOf(" "),r={ssrc:parseInt(e.substr(7,t-7),10)},n=e.indexOf(":",t);return n>-1?(r.attribute=e.substr(t+1,n-t-1),r.value=e.substr(n+1)):r.attribute=e.substr(t+1),r},t.parseSsrcGroup=function(e){var t=e.substr(13).split(" ");return{semantics:t.shift(),ssrcs:t.map((function(e){return parseInt(e,10)}))}},t.getMid=function(e){var r=t.matchPrefix(e,"a=mid:")[0];if(r)return r.substr(6)},t.parseFingerprint=function(e){var t=e.substr(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1]}},t.getDtlsParameters=function(e,r){return{role:"auto",fingerprints:t.matchPrefix(e+r,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){var r="a=setup:"+t+"\r\n";return e.fingerprints.forEach((function(e){r+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"})),r},t.parseCryptoLine=function(e){var t=e.substr(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"==typeof e.keyParams?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;var t=e.substr(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},t.getCryptoParameters=function(e,r){return t.matchPrefix(e+r,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,r){var n=t.matchPrefix(e+r,"a=ice-ufrag:")[0],i=t.matchPrefix(e+r,"a=ice-pwd:")[0];return n&&i?{usernameFragment:n.substr(12),password:i.substr(10)}:null},t.writeIceParameters=function(e){return"a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n"},t.parseRtpParameters=function(e){for(var r={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=t.splitLines(e)[0].split(" "),i=3;i<n.length;i++){var o=n[i],a=t.matchPrefix(e,"a=rtpmap:"+o+" ")[0];if(a){var s=t.parseRtpMap(a),c=t.matchPrefix(e,"a=fmtp:"+o+" ");switch(s.parameters=c.length?t.parseFmtp(c[0]):{},s.rtcpFeedback=t.matchPrefix(e,"a=rtcp-fb:"+o+" ").map(t.parseRtcpFb),r.codecs.push(s),s.name.toUpperCase()){case"RED":case"ULPFEC":r.fecMechanisms.push(s.name.toUpperCase())}}}return t.matchPrefix(e,"a=extmap:").forEach((function(e){r.headerExtensions.push(t.parseExtmap(e))})),r},t.writeRtpDescription=function(e,r){var n="";n+="m="+e+" ",n+=r.codecs.length>0?"9":"0",n+=" UDP/TLS/RTP/SAVPF ",n+=r.codecs.map((function(e){return void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType})).join(" ")+"\r\n",n+="c=IN IP4 0.0.0.0\r\n",n+="a=rtcp:9 IN IP4 0.0.0.0\r\n",r.codecs.forEach((function(e){n+=t.writeRtpMap(e),n+=t.writeFmtp(e),n+=t.writeRtcpFb(e)}));var i=0;return r.codecs.forEach((function(e){e.maxptime>i&&(i=e.maxptime)})),i>0&&(n+="a=maxptime:"+i+"\r\n"),n+="a=rtcp-mux\r\n",r.headerExtensions&&r.headerExtensions.forEach((function(e){n+=t.writeExtmap(e)})),n},t.parseRtpEncodingParameters=function(e){var r,n=[],i=t.parseRtpParameters(e),o=-1!==i.fecMechanisms.indexOf("RED"),a=-1!==i.fecMechanisms.indexOf("ULPFEC"),s=t.matchPrefix(e,"a=ssrc:").map((function(e){return t.parseSsrcMedia(e)})).filter((function(e){return"cname"===e.attribute})),c=s.length>0&&s[0].ssrc,u=t.matchPrefix(e,"a=ssrc-group:FID").map((function(e){return e.substr(17).split(" ").map((function(e){return parseInt(e,10)}))}));u.length>0&&u[0].length>1&&u[0][0]===c&&(r=u[0][1]),i.codecs.forEach((function(e){if("RTX"===e.name.toUpperCase()&&e.parameters.apt){var t={ssrc:c,codecPayloadType:parseInt(e.parameters.apt,10)};c&&r&&(t.rtx={ssrc:r}),n.push(t),o&&((t=JSON.parse(JSON.stringify(t))).fec={ssrc:c,mechanism:a?"red+ulpfec":"red"},n.push(t))}})),0===n.length&&c&&n.push({ssrc:c});var l=t.matchPrefix(e,"b=");return l.length&&(l=0===l[0].indexOf("b=TIAS:")?parseInt(l[0].substr(7),10):0===l[0].indexOf("b=AS:")?1e3*parseInt(l[0].substr(5),10)*.95-16e3:void 0,n.forEach((function(e){e.maxBitrate=l}))),n},t.parseRtcpParameters=function(e){var r={},n=t.matchPrefix(e,"a=ssrc:").map((function(e){return t.parseSsrcMedia(e)})).filter((function(e){return"cname"===e.attribute}))[0];n&&(r.cname=n.value,r.ssrc=n.ssrc);var i=t.matchPrefix(e,"a=rtcp-rsize");r.reducedSize=i.length>0,r.compound=0===i.length;var o=t.matchPrefix(e,"a=rtcp-mux");return r.mux=o.length>0,r},t.parseMsid=function(e){var r,n=t.matchPrefix(e,"a=msid:");if(1===n.length)return{stream:(r=n[0].substr(7).split(" "))[0],track:r[1]};var i=t.matchPrefix(e,"a=ssrc:").map((function(e){return t.parseSsrcMedia(e)})).filter((function(e){return"msid"===e.attribute}));return i.length>0?{stream:(r=i[0].value.split(" "))[0],track:r[1]}:void 0},t.parseSctpDescription=function(e){var r,n=t.parseMLine(e),i=t.matchPrefix(e,"a=max-message-size:");i.length>0&&(r=parseInt(i[0].substr(19),10)),isNaN(r)&&(r=65536);var o=t.matchPrefix(e,"a=sctp-port:");if(o.length>0)return{port:parseInt(o[0].substr(12),10),protocol:n.fmt,maxMessageSize:r};if(t.matchPrefix(e,"a=sctpmap:").length>0){var a=t.matchPrefix(e,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(a[0],10),protocol:a[1],maxMessageSize:r}}},t.writeSctpDescription=function(e,t){var r=[];return r="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&r.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),r.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,21)},t.writeSessionBoilerplate=function(e,r,n){var i=void 0!==r?r:2;return"v=0\r\no="+(n||"thisisadapterortc")+" "+(e||t.generateSessionId())+" "+i+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.writeMediaSection=function(e,r,n,i){var o=t.writeRtpDescription(e.kind,r);if(o+=t.writeIceParameters(e.iceGatherer.getLocalParameters()),o+=t.writeDtlsParameters(e.dtlsTransport.getLocalParameters(),"offer"===n?"actpass":"active"),o+="a=mid:"+e.mid+"\r\n",e.direction?o+="a="+e.direction+"\r\n":e.rtpSender&&e.rtpReceiver?o+="a=sendrecv\r\n":e.rtpSender?o+="a=sendonly\r\n":e.rtpReceiver?o+="a=recvonly\r\n":o+="a=inactive\r\n",e.rtpSender){var a="msid:"+i.id+" "+e.rtpSender.track.id+"\r\n";o+="a="+a,o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" "+a,e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" "+a,o+="a=ssrc-group:FID "+e.sendEncodingParameters[0].ssrc+" "+e.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" cname:"+t.localCName+"\r\n",e.rtpSender&&e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" cname:"+t.localCName+"\r\n"),o},t.getDirection=function(e,r){for(var n=t.splitLines(e),i=0;i<n.length;i++)switch(n[i]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return n[i].substr(2)}return r?t.getDirection(r):"sendrecv"},t.getKind=function(e){return t.splitLines(e)[0].split(" ")[0].substr(2)},t.isRejected=function(e){return"0"===e.split(" ",2)[1]},t.parseMLine=function(e){var r=t.splitLines(e)[0].substr(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}},t.parseOLine=function(e){var r=t.matchPrefix(e,"o=")[0].substr(2).split(" ");return{username:r[0],sessionId:r[1],sessionVersion:parseInt(r[2],10),netType:r[3],addressType:r[4],address:r[5]}},t.isValidSDP=function(e){if("string"!=typeof e||0===e.length)return!1;for(var r=t.splitLines(e),n=0;n<r.length;n++)if(r[n].length<2||"="!==r[n].charAt(1))return!1;return!0},e.exports=t},M(x={exports:{}},x.exports),x.exports);function B(e,t,r,n,i){var o=j.writeRtpDescription(e.kind,t);if(o+=j.writeIceParameters(e.iceGatherer.getLocalParameters()),o+=j.writeDtlsParameters(e.dtlsTransport.getLocalParameters(),"offer"===r?"actpass":i||"active"),o+="a=mid:"+e.mid+"\r\n",e.rtpSender&&e.rtpReceiver?o+="a=sendrecv\r\n":e.rtpSender?o+="a=sendonly\r\n":e.rtpReceiver?o+="a=recvonly\r\n":o+="a=inactive\r\n",e.rtpSender){var a=e.rtpSender._initialTrackId||e.rtpSender.track.id;e.rtpSender._initialTrackId=a;var s="msid:"+(n?n.id:"-")+" "+a+"\r\n";o+="a="+s,o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" "+s,e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" "+s,o+="a=ssrc-group:FID "+e.sendEncodingParameters[0].ssrc+" "+e.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" cname:"+j.localCName+"\r\n",e.rtpSender&&e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" cname:"+j.localCName+"\r\n"),o}function V(e,t){var r={codecs:[],headerExtensions:[],fecMechanisms:[]},n=function(e,t){e=parseInt(e,10);for(var r=0;r<t.length;r++)if(t[r].payloadType===e||t[r].preferredPayloadType===e)return t[r]},i=function(e,t,r,i){var o=n(e.parameters.apt,r),a=n(t.parameters.apt,i);return o&&a&&o.name.toLowerCase()===a.name.toLowerCase()};return e.codecs.forEach((function(n){for(var o=0;o<t.codecs.length;o++){var a=t.codecs[o];if(n.name.toLowerCase()===a.name.toLowerCase()&&n.clockRate===a.clockRate){if("rtx"===n.name.toLowerCase()&&n.parameters&&a.parameters.apt&&!i(n,a,e.codecs,t.codecs))continue;(a=JSON.parse(JSON.stringify(a))).numChannels=Math.min(n.numChannels,a.numChannels),r.codecs.push(a),a.rtcpFeedback=a.rtcpFeedback.filter((function(e){for(var t=0;t<n.rtcpFeedback.length;t++)if(n.rtcpFeedback[t].type===e.type&&n.rtcpFeedback[t].parameter===e.parameter)return!0;return!1}));break}}})),e.headerExtensions.forEach((function(e){for(var n=0;n<t.headerExtensions.length;n++){var i=t.headerExtensions[n];if(e.uri===i.uri){r.headerExtensions.push(i);break}}})),r}function F(e,t,r){return-1!=={offer:{setLocalDescription:["stable","have-local-offer"],setRemoteDescription:["stable","have-remote-offer"]},answer:{setLocalDescription:["have-remote-offer","have-local-pranswer"],setRemoteDescription:["have-local-offer","have-remote-pranswer"]}}[t][e].indexOf(r)}function J(e,t){var r=e.getRemoteCandidates().find((function(e){return t.foundation===e.foundation&&t.ip===e.ip&&t.port===e.port&&t.priority===e.priority&&t.protocol===e.protocol&&t.type===e.type}));return r||e.addRemoteCandidate(t),!r}function G(e,t){var r=new Error(t);return r.name=e,r.code={NotSupportedError:9,InvalidStateError:11,InvalidAccessError:15,TypeError:void 0,OperationError:void 0}[e],r}var H=function(e,t){function r(t,r){r.addTrack(t),r.dispatchEvent(new e.MediaStreamTrackEvent("addtrack",{track:t}))}function n(t,r,n,i){var o=new Event("track");o.track=r,o.receiver=n,o.transceiver={receiver:n},o.streams=i,e.setTimeout((function(){t._dispatchEvent("track",o)}))}var i=function(r){var n=this,i=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach((function(e){n[e]=i[e].bind(i)})),this.canTrickleIceCandidates=null,this.needNegotiation=!1,this.localStreams=[],this.remoteStreams=[],this._localDescription=null,this._remoteDescription=null,this.signalingState="stable",this.iceConnectionState="new",this.connectionState="new",this.iceGatheringState="new",r=JSON.parse(JSON.stringify(r||{})),this.usingBundle="max-bundle"===r.bundlePolicy,"negotiate"===r.rtcpMuxPolicy)throw G("NotSupportedError","rtcpMuxPolicy 'negotiate' is not supported");switch(r.rtcpMuxPolicy||(r.rtcpMuxPolicy="require"),r.iceTransportPolicy){case"all":case"relay":break;default:r.iceTransportPolicy="all"}switch(r.bundlePolicy){case"balanced":case"max-compat":case"max-bundle":break;default:r.bundlePolicy="balanced"}if(r.iceServers=function(e,t){var r=!1;return(e=JSON.parse(JSON.stringify(e))).filter((function(e){if(e&&(e.urls||e.url)){var n=e.urls||e.url;e.url&&!e.urls&&console.warn("RTCIceServer.url is deprecated! Use urls instead.");var i="string"==typeof n;return i&&(n=[n]),n=n.filter((function(e){return 0!==e.indexOf("turn:")||-1===e.indexOf("transport=udp")||-1!==e.indexOf("turn:[")||r?0===e.indexOf("stun:")&&t>=14393&&-1===e.indexOf("?transport=udp"):(r=!0,!0)})),delete e.url,e.urls=i?n[0]:n,!!n.length}}))}(r.iceServers||[],t),this._iceGatherers=[],r.iceCandidatePoolSize)for(var o=r.iceCandidatePoolSize;o>0;o--)this._iceGatherers.push(new e.RTCIceGatherer({iceServers:r.iceServers,gatherPolicy:r.iceTransportPolicy}));else r.iceCandidatePoolSize=0;this._config=r,this.transceivers=[],this._sdpSessionId=j.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(i.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(i.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),i.prototype.onicecandidate=null,i.prototype.onaddstream=null,i.prototype.ontrack=null,i.prototype.onremovestream=null,i.prototype.onsignalingstatechange=null,i.prototype.oniceconnectionstatechange=null,i.prototype.onconnectionstatechange=null,i.prototype.onicegatheringstatechange=null,i.prototype.onnegotiationneeded=null,i.prototype.ondatachannel=null,i.prototype._dispatchEvent=function(e,t){this._isClosed||(this.dispatchEvent(t),"function"==typeof this["on"+e]&&this["on"+e](t))},i.prototype._emitGatheringStateChange=function(){var e=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",e)},i.prototype.getConfiguration=function(){return this._config},i.prototype.getLocalStreams=function(){return this.localStreams},i.prototype.getRemoteStreams=function(){return this.remoteStreams},i.prototype._createTransceiver=function(e,t){var r=this.transceivers.length>0,n={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:e,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&r)n.iceTransport=this.transceivers[0].iceTransport,n.dtlsTransport=this.transceivers[0].dtlsTransport;else{var i=this._createIceAndDtlsTransports();n.iceTransport=i.iceTransport,n.dtlsTransport=i.dtlsTransport}return t||this.transceivers.push(n),n},i.prototype.addTrack=function(t,r){if(this._isClosed)throw G("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var n,i=this.transceivers.find((function(e){return e.track===t}));if(i)throw G("InvalidAccessError","Track already exists.");for(var o=0;o<this.transceivers.length;o++)this.transceivers[o].track||this.transceivers[o].kind!==t.kind||(n=this.transceivers[o]);return n||(n=this._createTransceiver(t.kind)),this._maybeFireNegotiationNeeded(),-1===this.localStreams.indexOf(r)&&this.localStreams.push(r),n.track=t,n.stream=r,n.rtpSender=new e.RTCRtpSender(t,n.dtlsTransport),n.rtpSender},i.prototype.addStream=function(e){var r=this;if(t>=15025)e.getTracks().forEach((function(t){r.addTrack(t,e)}));else{var n=e.clone();e.getTracks().forEach((function(e,t){var r=n.getTracks()[t];e.addEventListener("enabled",(function(e){r.enabled=e.enabled}))})),n.getTracks().forEach((function(e){r.addTrack(e,n)}))}},i.prototype.removeTrack=function(t){if(this._isClosed)throw G("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(t instanceof e.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var r=this.transceivers.find((function(e){return e.rtpSender===t}));if(!r)throw G("InvalidAccessError","Sender was not created by this connection.");var n=r.stream;r.rtpSender.stop(),r.rtpSender=null,r.track=null,r.stream=null;var i=this.transceivers.map((function(e){return e.stream}));-1===i.indexOf(n)&&this.localStreams.indexOf(n)>-1&&this.localStreams.splice(this.localStreams.indexOf(n),1),this._maybeFireNegotiationNeeded()},i.prototype.removeStream=function(e){var t=this;e.getTracks().forEach((function(e){var r=t.getSenders().find((function(t){return t.track===e}));r&&t.removeTrack(r)}))},i.prototype.getSenders=function(){return this.transceivers.filter((function(e){return!!e.rtpSender})).map((function(e){return e.rtpSender}))},i.prototype.getReceivers=function(){return this.transceivers.filter((function(e){return!!e.rtpReceiver})).map((function(e){return e.rtpReceiver}))},i.prototype._createIceGatherer=function(t,r){var n=this;if(r&&t>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var i=new e.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(i,"state",{value:"new",writable:!0}),this.transceivers[t].bufferedCandidateEvents=[],this.transceivers[t].bufferCandidates=function(e){var r=!e.candidate||0===Object.keys(e.candidate).length;i.state=r?"completed":"gathering",null!==n.transceivers[t].bufferedCandidateEvents&&n.transceivers[t].bufferedCandidateEvents.push(e)},i.addEventListener("localcandidate",this.transceivers[t].bufferCandidates),i},i.prototype._gather=function(t,r){var n=this,i=this.transceivers[r].iceGatherer;if(!i.onlocalcandidate){var o=this.transceivers[r].bufferedCandidateEvents;this.transceivers[r].bufferedCandidateEvents=null,i.removeEventListener("localcandidate",this.transceivers[r].bufferCandidates),i.onlocalcandidate=function(e){if(!(n.usingBundle&&r>0)){var o=new Event("icecandidate");o.candidate={sdpMid:t,sdpMLineIndex:r};var a=e.candidate,s=!a||0===Object.keys(a).length;if(s)"new"!==i.state&&"gathering"!==i.state||(i.state="completed");else{"new"===i.state&&(i.state="gathering"),a.component=1,a.ufrag=i.getLocalParameters().usernameFragment;var c=j.writeCandidate(a);o.candidate=Object.assign(o.candidate,j.parseCandidate(c)),o.candidate.candidate=c,o.candidate.toJSON=function(){return{candidate:o.candidate.candidate,sdpMid:o.candidate.sdpMid,sdpMLineIndex:o.candidate.sdpMLineIndex,usernameFragment:o.candidate.usernameFragment}}}var u=j.getMediaSections(n._localDescription.sdp);u[o.candidate.sdpMLineIndex]+=s?"a=end-of-candidates\r\n":"a="+o.candidate.candidate+"\r\n",n._localDescription.sdp=j.getDescription(n._localDescription.sdp)+u.join("");var l=n.transceivers.every((function(e){return e.iceGatherer&&"completed"===e.iceGatherer.state}));"gathering"!==n.iceGatheringState&&(n.iceGatheringState="gathering",n._emitGatheringStateChange()),s||n._dispatchEvent("icecandidate",o),l&&(n._dispatchEvent("icecandidate",new Event("icecandidate")),n.iceGatheringState="complete",n._emitGatheringStateChange())}},e.setTimeout((function(){o.forEach((function(e){i.onlocalcandidate(e)}))}),0)}},i.prototype._createIceAndDtlsTransports=function(){var t=this,r=new e.RTCIceTransport(null);r.onicestatechange=function(){t._updateIceConnectionState(),t._updateConnectionState()};var n=new e.RTCDtlsTransport(r);return n.ondtlsstatechange=function(){t._updateConnectionState()},n.onerror=function(){Object.defineProperty(n,"state",{value:"failed",writable:!0}),t._updateConnectionState()},{iceTransport:r,dtlsTransport:n}},i.prototype._disposeIceAndDtlsTransports=function(e){var t=this.transceivers[e].iceGatherer;t&&(delete t.onlocalcandidate,delete this.transceivers[e].iceGatherer);var r=this.transceivers[e].iceTransport;r&&(delete r.onicestatechange,delete this.transceivers[e].iceTransport);var n=this.transceivers[e].dtlsTransport;n&&(delete n.ondtlsstatechange,delete n.onerror,delete this.transceivers[e].dtlsTransport)},i.prototype._transceive=function(e,r,n){var i=V(e.localCapabilities,e.remoteCapabilities);r&&e.rtpSender&&(i.encodings=e.sendEncodingParameters,i.rtcp={cname:j.localCName,compound:e.rtcpParameters.compound},e.recvEncodingParameters.length&&(i.rtcp.ssrc=e.recvEncodingParameters[0].ssrc),e.rtpSender.send(i)),n&&e.rtpReceiver&&i.codecs.length>0&&("video"===e.kind&&e.recvEncodingParameters&&t<15019&&e.recvEncodingParameters.forEach((function(e){delete e.rtx})),e.recvEncodingParameters.length?i.encodings=e.recvEncodingParameters:i.encodings=[{}],i.rtcp={compound:e.rtcpParameters.compound},e.rtcpParameters.cname&&(i.rtcp.cname=e.rtcpParameters.cname),e.sendEncodingParameters.length&&(i.rtcp.ssrc=e.sendEncodingParameters[0].ssrc),e.rtpReceiver.receive(i))},i.prototype.setLocalDescription=function(e){var t,r,n=this;if(-1===["offer","answer"].indexOf(e.type))return Promise.reject(G("TypeError",'Unsupported type "'+e.type+'"'));if(!F("setLocalDescription",e.type,n.signalingState)||n._isClosed)return Promise.reject(G("InvalidStateError","Can not set local "+e.type+" in state "+n.signalingState));if("offer"===e.type)t=j.splitSections(e.sdp),r=t.shift(),t.forEach((function(e,t){var r=j.parseRtpParameters(e);n.transceivers[t].localCapabilities=r})),n.transceivers.forEach((function(e,t){n._gather(e.mid,t)}));else if("answer"===e.type){t=j.splitSections(n._remoteDescription.sdp),r=t.shift();var i=j.matchPrefix(r,"a=ice-lite").length>0;t.forEach((function(e,t){var o=n.transceivers[t],a=o.iceGatherer,s=o.iceTransport,c=o.dtlsTransport,u=o.localCapabilities,l=o.remoteCapabilities;if(!(j.isRejected(e)&&0===j.matchPrefix(e,"a=bundle-only").length)&&!o.rejected){var d=j.getIceParameters(e,r),_=j.getDtlsParameters(e,r);i&&(_.role="server"),n.usingBundle&&0!==t||(n._gather(o.mid,t),"new"===s.state&&s.start(a,d,i?"controlling":"controlled"),"new"===c.state&&c.start(_));var p=V(u,l);n._transceive(o,p.codecs.length>0,!1)}}))}return n._localDescription={type:e.type,sdp:e.sdp},"offer"===e.type?n._updateSignalingState("have-local-offer"):n._updateSignalingState("stable"),Promise.resolve()},i.prototype.setRemoteDescription=function(i){var o=this;if(-1===["offer","answer"].indexOf(i.type))return Promise.reject(G("TypeError",'Unsupported type "'+i.type+'"'));if(!F("setRemoteDescription",i.type,o.signalingState)||o._isClosed)return Promise.reject(G("InvalidStateError","Can not set remote "+i.type+" in state "+o.signalingState));var a={};o.remoteStreams.forEach((function(e){a[e.id]=e}));var s=[],c=j.splitSections(i.sdp),u=c.shift(),l=j.matchPrefix(u,"a=ice-lite").length>0,d=j.matchPrefix(u,"a=group:BUNDLE ").length>0;o.usingBundle=d;var _=j.matchPrefix(u,"a=ice-options:")[0];return o.canTrickleIceCandidates=!!_&&_.substr(14).split(" ").indexOf("trickle")>=0,c.forEach((function(n,c){var _=j.splitLines(n),p=j.getKind(n),f=j.isRejected(n)&&0===j.matchPrefix(n,"a=bundle-only").length,h=_[0].substr(2).split(" ")[2],b=j.getDirection(n,u),R=j.parseMsid(n),g=j.getMid(n)||j.generateIdentifier();if(f||"application"===p&&("DTLS/SCTP"===h||"UDP/DTLS/SCTP"===h))o.transceivers[c]={mid:g,kind:p,protocol:h,rejected:!0};else{var m,C,v,O,T,E,S,I,y;!f&&o.transceivers[c]&&o.transceivers[c].rejected&&(o.transceivers[c]=o._createTransceiver(p,!0));var L,P,N=j.parseRtpParameters(n);f||(L=j.getIceParameters(n,u),(P=j.getDtlsParameters(n,u)).role="client"),S=j.parseRtpEncodingParameters(n);var A=j.parseRtcpParameters(n),w=j.matchPrefix(n,"a=end-of-candidates",u).length>0,D=j.matchPrefix(n,"a=candidate:").map((function(e){return j.parseCandidate(e)})).filter((function(e){return 1===e.component}));if(("offer"===i.type||"answer"===i.type)&&!f&&d&&c>0&&o.transceivers[c]&&(o._disposeIceAndDtlsTransports(c),o.transceivers[c].iceGatherer=o.transceivers[0].iceGatherer,o.transceivers[c].iceTransport=o.transceivers[0].iceTransport,o.transceivers[c].dtlsTransport=o.transceivers[0].dtlsTransport,o.transceivers[c].rtpSender&&o.transceivers[c].rtpSender.setTransport(o.transceivers[0].dtlsTransport),o.transceivers[c].rtpReceiver&&o.transceivers[c].rtpReceiver.setTransport(o.transceivers[0].dtlsTransport)),"offer"!==i.type||f){if("answer"===i.type&&!f){C=(m=o.transceivers[c]).iceGatherer,v=m.iceTransport,O=m.dtlsTransport,T=m.rtpReceiver,E=m.sendEncodingParameters,I=m.localCapabilities,o.transceivers[c].recvEncodingParameters=S,o.transceivers[c].remoteCapabilities=N,o.transceivers[c].rtcpParameters=A,D.length&&"new"===v.state&&(!l&&!w||d&&0!==c?D.forEach((function(e){J(m.iceTransport,e)})):v.setRemoteCandidates(D)),d&&0!==c||("new"===v.state&&v.start(C,L,"controlling"),"new"===O.state&&O.start(P));var k=V(m.localCapabilities,m.remoteCapabilities).codecs.filter((function(e){return"rtx"===e.name.toLowerCase()})).length;!k&&m.sendEncodingParameters[0].rtx&&delete m.sendEncodingParameters[0].rtx,o._transceive(m,"sendrecv"===b||"recvonly"===b,"sendrecv"===b||"sendonly"===b),!T||"sendrecv"!==b&&"sendonly"!==b?delete m.rtpReceiver:(y=T.track,R?(a[R.stream]||(a[R.stream]=new e.MediaStream),r(y,a[R.stream]),s.push([y,T,a[R.stream]])):(a.default||(a.default=new e.MediaStream),r(y,a.default),s.push([y,T,a.default])))}}else{(m=o.transceivers[c]||o._createTransceiver(p)).mid=g,m.iceGatherer||(m.iceGatherer=o._createIceGatherer(c,d)),D.length&&"new"===m.iceTransport.state&&(!w||d&&0!==c?D.forEach((function(e){J(m.iceTransport,e)})):m.iceTransport.setRemoteCandidates(D)),I=e.RTCRtpReceiver.getCapabilities(p),t<15019&&(I.codecs=I.codecs.filter((function(e){return"rtx"!==e.name}))),E=m.sendEncodingParameters||[{ssrc:1001*(2*c+2)}];var U,M=!1;if("sendrecv"===b||"sendonly"===b){if(M=!m.rtpReceiver,T=m.rtpReceiver||new e.RTCRtpReceiver(m.dtlsTransport,p),M)y=T.track,R&&"-"===R.stream||(R?(a[R.stream]||(a[R.stream]=new e.MediaStream,Object.defineProperty(a[R.stream],"id",{get:function(){return R.stream}})),Object.defineProperty(y,"id",{get:function(){return R.track}}),U=a[R.stream]):(a.default||(a.default=new e.MediaStream),U=a.default)),U&&(r(y,U),m.associatedRemoteMediaStreams.push(U)),s.push([y,T,U])}else m.rtpReceiver&&m.rtpReceiver.track&&(m.associatedRemoteMediaStreams.forEach((function(t){var r=t.getTracks().find((function(e){return e.id===m.rtpReceiver.track.id}));r&&function(t,r){r.removeTrack(t),r.dispatchEvent(new e.MediaStreamTrackEvent("removetrack",{track:t}))}(r,t)})),m.associatedRemoteMediaStreams=[]);m.localCapabilities=I,m.remoteCapabilities=N,m.rtpReceiver=T,m.rtcpParameters=A,m.sendEncodingParameters=E,m.recvEncodingParameters=S,o._transceive(o.transceivers[c],!1,M)}}})),void 0===o._dtlsRole&&(o._dtlsRole="offer"===i.type?"active":"passive"),o._remoteDescription={type:i.type,sdp:i.sdp},"offer"===i.type?o._updateSignalingState("have-remote-offer"):o._updateSignalingState("stable"),Object.keys(a).forEach((function(t){var r=a[t];if(r.getTracks().length){if(-1===o.remoteStreams.indexOf(r)){o.remoteStreams.push(r);var i=new Event("addstream");i.stream=r,e.setTimeout((function(){o._dispatchEvent("addstream",i)}))}s.forEach((function(e){var t=e[0],i=e[1];r.id===e[2].id&&n(o,t,i,[r])}))}})),s.forEach((function(e){e[2]||n(o,e[0],e[1],[])})),e.setTimeout((function(){o&&o.transceivers&&o.transceivers.forEach((function(e){e.iceTransport&&"new"===e.iceTransport.state&&e.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),e.iceTransport.addRemoteCandidate({}))}))}),4e3),Promise.resolve()},i.prototype.close=function(){this.transceivers.forEach((function(e){e.iceTransport&&e.iceTransport.stop(),e.dtlsTransport&&e.dtlsTransport.stop(),e.rtpSender&&e.rtpSender.stop(),e.rtpReceiver&&e.rtpReceiver.stop()})),this._isClosed=!0,this._updateSignalingState("closed")},i.prototype._updateSignalingState=function(e){this.signalingState=e;var t=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",t)},i.prototype._maybeFireNegotiationNeeded=function(){var t=this;"stable"===this.signalingState&&!0!==this.needNegotiation&&(this.needNegotiation=!0,e.setTimeout((function(){if(t.needNegotiation){t.needNegotiation=!1;var e=new Event("negotiationneeded");t._dispatchEvent("negotiationneeded",e)}}),0))},i.prototype._updateIceConnectionState=function(){var e,t={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach((function(e){e.iceTransport&&!e.rejected&&t[e.iceTransport.state]++})),e="new",t.failed>0?e="failed":t.checking>0?e="checking":t.disconnected>0?e="disconnected":t.new>0?e="new":t.connected>0?e="connected":t.completed>0&&(e="completed"),e!==this.iceConnectionState){this.iceConnectionState=e;var r=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",r)}},i.prototype._updateConnectionState=function(){var e,t={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach((function(e){e.iceTransport&&e.dtlsTransport&&!e.rejected&&(t[e.iceTransport.state]++,t[e.dtlsTransport.state]++)})),t.connected+=t.completed,e="new",t.failed>0?e="failed":t.connecting>0?e="connecting":t.disconnected>0?e="disconnected":t.new>0?e="new":t.connected>0&&(e="connected"),e!==this.connectionState){this.connectionState=e;var r=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",r)}},i.prototype.createOffer=function(){var r=this;if(r._isClosed)return Promise.reject(G("InvalidStateError","Can not call createOffer after close"));var n=r.transceivers.filter((function(e){return"audio"===e.kind})).length,i=r.transceivers.filter((function(e){return"video"===e.kind})).length,o=arguments[0];if(o){if(o.mandatory||o.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==o.offerToReceiveAudio&&(n=!0===o.offerToReceiveAudio?1:!1===o.offerToReceiveAudio?0:o.offerToReceiveAudio),void 0!==o.offerToReceiveVideo&&(i=!0===o.offerToReceiveVideo?1:!1===o.offerToReceiveVideo?0:o.offerToReceiveVideo)}for(r.transceivers.forEach((function(e){"audio"===e.kind?--n<0&&(e.wantReceive=!1):"video"===e.kind&&--i<0&&(e.wantReceive=!1)}));n>0||i>0;)n>0&&(r._createTransceiver("audio"),n--),i>0&&(r._createTransceiver("video"),i--);var a=j.writeSessionBoilerplate(r._sdpSessionId,r._sdpSessionVersion++);r.transceivers.forEach((function(n,i){var o=n.track,a=n.kind,s=n.mid||j.generateIdentifier();n.mid=s,n.iceGatherer||(n.iceGatherer=r._createIceGatherer(i,r.usingBundle));var c=e.RTCRtpSender.getCapabilities(a);t<15019&&(c.codecs=c.codecs.filter((function(e){return"rtx"!==e.name}))),c.codecs.forEach((function(e){"H264"===e.name&&void 0===e.parameters["level-asymmetry-allowed"]&&(e.parameters["level-asymmetry-allowed"]="1"),n.remoteCapabilities&&n.remoteCapabilities.codecs&&n.remoteCapabilities.codecs.forEach((function(t){e.name.toLowerCase()===t.name.toLowerCase()&&e.clockRate===t.clockRate&&(e.preferredPayloadType=t.payloadType)}))})),c.headerExtensions.forEach((function(e){(n.remoteCapabilities&&n.remoteCapabilities.headerExtensions||[]).forEach((function(t){e.uri===t.uri&&(e.id=t.id)}))}));var u=n.sendEncodingParameters||[{ssrc:1001*(2*i+1)}];o&&t>=15019&&"video"===a&&!u[0].rtx&&(u[0].rtx={ssrc:u[0].ssrc+1}),n.wantReceive&&(n.rtpReceiver=new e.RTCRtpReceiver(n.dtlsTransport,a)),n.localCapabilities=c,n.sendEncodingParameters=u})),"max-compat"!==r._config.bundlePolicy&&(a+="a=group:BUNDLE "+r.transceivers.map((function(e){return e.mid})).join(" ")+"\r\n"),a+="a=ice-options:trickle\r\n",r.transceivers.forEach((function(e,t){a+=B(e,e.localCapabilities,"offer",e.stream,r._dtlsRole),a+="a=rtcp-rsize\r\n",!e.iceGatherer||"new"===r.iceGatheringState||0!==t&&r.usingBundle||(e.iceGatherer.getLocalCandidates().forEach((function(e){e.component=1,a+="a="+j.writeCandidate(e)+"\r\n"})),"completed"===e.iceGatherer.state&&(a+="a=end-of-candidates\r\n"))}));var s=new e.RTCSessionDescription({type:"offer",sdp:a});return Promise.resolve(s)},i.prototype.createAnswer=function(){var r=this;if(r._isClosed)return Promise.reject(G("InvalidStateError","Can not call createAnswer after close"));if("have-remote-offer"!==r.signalingState&&"have-local-pranswer"!==r.signalingState)return Promise.reject(G("InvalidStateError","Can not call createAnswer in signalingState "+r.signalingState));var n=j.writeSessionBoilerplate(r._sdpSessionId,r._sdpSessionVersion++);r.usingBundle&&(n+="a=group:BUNDLE "+r.transceivers.map((function(e){return e.mid})).join(" ")+"\r\n"),n+="a=ice-options:trickle\r\n";var i=j.getMediaSections(r._remoteDescription.sdp).length;r.transceivers.forEach((function(e,o){if(!(o+1>i)){if(e.rejected)return"application"===e.kind?"DTLS/SCTP"===e.protocol?n+="m=application 0 DTLS/SCTP 5000\r\n":n+="m=application 0 "+e.protocol+" webrtc-datachannel\r\n":"audio"===e.kind?n+="m=audio 0 UDP/TLS/RTP/SAVPF 0\r\na=rtpmap:0 PCMU/8000\r\n":"video"===e.kind&&(n+="m=video 0 UDP/TLS/RTP/SAVPF 120\r\na=rtpmap:120 VP8/90000\r\n"),void(n+="c=IN IP4 0.0.0.0\r\na=inactive\r\na=mid:"+e.mid+"\r\n");var a;if(e.stream)"audio"===e.kind?a=e.stream.getAudioTracks()[0]:"video"===e.kind&&(a=e.stream.getVideoTracks()[0]),a&&t>=15019&&"video"===e.kind&&!e.sendEncodingParameters[0].rtx&&(e.sendEncodingParameters[0].rtx={ssrc:e.sendEncodingParameters[0].ssrc+1});var s=V(e.localCapabilities,e.remoteCapabilities),c=s.codecs.filter((function(e){return"rtx"===e.name.toLowerCase()})).length;!c&&e.sendEncodingParameters[0].rtx&&delete e.sendEncodingParameters[0].rtx,n+=B(e,s,"answer",e.stream,r._dtlsRole),e.rtcpParameters&&e.rtcpParameters.reducedSize&&(n+="a=rtcp-rsize\r\n")}}));var o=new e.RTCSessionDescription({type:"answer",sdp:n});return Promise.resolve(o)},i.prototype.addIceCandidate=function(e){var t,r=this;return e&&void 0===e.sdpMLineIndex&&!e.sdpMid?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise((function(n,i){if(!r._remoteDescription)return i(G("InvalidStateError","Can not add ICE candidate without a remote description"));if(e&&""!==e.candidate){var o=e.sdpMLineIndex;if(e.sdpMid)for(var a=0;a<r.transceivers.length;a++)if(r.transceivers[a].mid===e.sdpMid){o=a;break}var s=r.transceivers[o];if(!s)return i(G("OperationError","Can not add ICE candidate"));if(s.rejected)return n();var c=Object.keys(e.candidate).length>0?j.parseCandidate(e.candidate):{};if("tcp"===c.protocol&&(0===c.port||9===c.port))return n();if(c.component&&1!==c.component)return n();if((0===o||o>0&&s.iceTransport!==r.transceivers[0].iceTransport)&&!J(s.iceTransport,c))return i(G("OperationError","Can not add ICE candidate"));var u=e.candidate.trim();0===u.indexOf("a=")&&(u=u.substr(2)),(t=j.getMediaSections(r._remoteDescription.sdp))[o]+="a="+(c.type?u:"end-of-candidates")+"\r\n",r._remoteDescription.sdp=j.getDescription(r._remoteDescription.sdp)+t.join("")}else for(var l=0;l<r.transceivers.length&&(r.transceivers[l].rejected||(r.transceivers[l].iceTransport.addRemoteCandidate({}),(t=j.getMediaSections(r._remoteDescription.sdp))[l]+="a=end-of-candidates\r\n",r._remoteDescription.sdp=j.getDescription(r._remoteDescription.sdp)+t.join(""),!r.usingBundle));l++);n()}))},i.prototype.getStats=function(t){if(t&&t instanceof e.MediaStreamTrack){var r=null;if(this.transceivers.forEach((function(e){e.rtpSender&&e.rtpSender.track===t?r=e.rtpSender:e.rtpReceiver&&e.rtpReceiver.track===t&&(r=e.rtpReceiver)})),!r)throw G("InvalidAccessError","Invalid selector.");return r.getStats()}var n=[];return this.transceivers.forEach((function(e){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach((function(t){e[t]&&n.push(e[t].getStats())}))})),Promise.all(n).then((function(e){var t=new Map;return e.forEach((function(e){e.forEach((function(e){t.set(e.id,e)}))})),t}))};["RTCRtpSender","RTCRtpReceiver","RTCIceGatherer","RTCIceTransport","RTCDtlsTransport"].forEach((function(t){var r=e[t];if(r&&r.prototype&&r.prototype.getStats){var n=r.prototype.getStats;r.prototype.getStats=function(){return n.apply(this).then((function(e){var t=new Map;return Object.keys(e).forEach((function(r){var n;e[r].type={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[(n=e[r]).type]||n.type,t.set(r,e[r])})),t}))}}}));var o=["createOffer","createAnswer"];return o.forEach((function(e){var t=i.prototype[e];i.prototype[e]=function(){var e=arguments;return"function"==typeof e[0]||"function"==typeof e[1]?t.apply(this,[arguments[2]]).then((function(t){"function"==typeof e[0]&&e[0].apply(null,[t])}),(function(t){"function"==typeof e[1]&&e[1].apply(null,[t])})):t.apply(this,arguments)}})),(o=["setLocalDescription","setRemoteDescription","addIceCandidate"]).forEach((function(e){var t=i.prototype[e];i.prototype[e]=function(){var e=arguments;return"function"==typeof e[1]||"function"==typeof e[2]?t.apply(this,arguments).then((function(){"function"==typeof e[1]&&e[1].apply(null)}),(function(t){"function"==typeof e[2]&&e[2].apply(null,[t])})):t.apply(this,arguments)}})),["getStats"].forEach((function(e){var t=i.prototype[e];i.prototype[e]=function(){var e=arguments;return"function"==typeof e[1]?t.apply(this,arguments).then((function(){"function"==typeof e[1]&&e[1].apply(null)})):t.apply(this,arguments)}})),i};function K(e){const t=e&&e.navigator,r=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(e){return r(e).catch((e=>Promise.reject(function(e){return{name:{PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:e.message,constraint:e.constraint,toString(){return this.name}}}(e))))}}function W(e){"getDisplayMedia"in e.navigator&&e.navigator.mediaDevices&&(e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=e.navigator.getDisplayMedia.bind(e.navigator)))}function Y(e,t){if(e.RTCIceGatherer&&(e.RTCIceCandidate||(e.RTCIceCandidate=function(e){return e}),e.RTCSessionDescription||(e.RTCSessionDescription=function(e){return e}),t.version<15025)){const t=Object.getOwnPropertyDescriptor(e.MediaStreamTrack.prototype,"enabled");Object.defineProperty(e.MediaStreamTrack.prototype,"enabled",{set(e){t.set.call(this,e);const r=new Event("enabled");r.enabled=e,this.dispatchEvent(r)}})}e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)&&Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=new e.RTCDtmfSender(this):"video"===this.track.kind&&(this._dtmf=null)),this._dtmf}}),e.RTCDtmfSender&&!e.RTCDTMFSender&&(e.RTCDTMFSender=e.RTCDtmfSender);const r=H(e,t.version);e.RTCPeerConnection=function(e){return e&&e.iceServers&&(e.iceServers=function(e){let t=!1;return(e=JSON.parse(JSON.stringify(e))).filter((e=>{if(e&&(e.urls||e.url)){let r=e.urls||e.url;e.url&&!e.urls&&m("RTCIceServer.url","RTCIceServer.urls");const n="string"==typeof r;return n&&(r=[r]),r=r.filter((e=>{if(0===e.indexOf("stun:"))return!1;const r=e.startsWith("turn")&&!e.startsWith("turn:[")&&e.includes("transport=udp");return r&&!t?(t=!0,!0):r&&!t})),delete e.url,e.urls=n?r[0]:r,!!r.length}}))}(e.iceServers,t.version),g("ICE servers after filtering:",e.iceServers)),new r(e)},e.RTCPeerConnection.prototype=r.prototype}function z(e){e.RTCRtpSender&&!("replaceTrack"in e.RTCRtpSender.prototype)&&(e.RTCRtpSender.prototype.replaceTrack=e.RTCRtpSender.prototype.setTrack)}var q=Object.freeze({__proto__:null,shimPeerConnection:Y,shimReplaceTrack:z,shimGetUserMedia:K,shimGetDisplayMedia:W});function Q(e,t){const r=e&&e.navigator,n=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,t,n){m("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),r.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){const e=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])},t=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(r){return"object"==typeof r&&"object"==typeof r.audio&&(r=JSON.parse(JSON.stringify(r)),e(r.audio,"autoGainControl","mozAutoGainControl"),e(r.audio,"noiseSuppression","mozNoiseSuppression")),t(r)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const r=t.apply(this,arguments);return e(r,"mozAutoGainControl","autoGainControl"),e(r,"mozNoiseSuppression","noiseSuppression"),r}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(r){return"audio"===this.kind&&"object"==typeof r&&(r=JSON.parse(JSON.stringify(r)),e(r,"autoGainControl","mozAutoGainControl"),e(r,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[r])}}}}function Z(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function X(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}));const r={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,i,o]=arguments;return n.apply(this,[e||null]).then((e=>{if(t.version<53&&!i)try{e.forEach((e=>{e.type=r[e.type]||e.type}))}catch(t){if("TypeError"!==t.name)throw t;e.forEach(((t,n)=>{e.set(n,Object.assign({},t,{type:r[t.type]||t.type}))}))}return e})).then(i,o)}}function $(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function ee(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),h(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function te(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){m("removeStream","removeTrack"),this.getSenders().forEach((t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)}))})}function re(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function ne(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];const e=arguments[1],r=e&&"sendEncodings"in e;r&&e.sendEncodings.forEach((e=>{if("rid"in e){if(!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")}));const n=t.apply(this,arguments);if(r){const{sender:t}=n,r=t.getParameters();(!("encodings"in r)||1===r.encodings.length&&0===Object.keys(r.encodings[0]).length)&&(r.encodings=e.sendEncodings,t.sendEncodings=e.sendEncodings,this.setParametersPromises.push(t.setParameters(r).then((()=>{delete t.sendEncodings})).catch((()=>{delete t.sendEncodings}))))}return n})}function ie(e){if("object"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function oe(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function ae(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}var se=Object.freeze({__proto__:null,shimOnTrack:Z,shimPeerConnection:X,shimSenderGetStats:$,shimReceiverGetStats:ee,shimRemoveStream:te,shimRTCDataChannel:re,shimAddTransceiver:ne,shimGetParameters:ie,shimCreateOffer:oe,shimCreateAnswer:ae,shimGetUserMedia:Q,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!r||!r.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===r.video?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})}});function ce(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((r=>t.call(this,r,e))),e.getVideoTracks().forEach((r=>t.call(this,r,e)))},e.RTCPeerConnection.prototype.addTrack=function(e,...r){return r&&r.forEach((e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]})),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const r=e.getTracks();this.getSenders().forEach((e=>{r.includes(e.track)&&this.removeTrack(e)}))})}}function ue(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach((e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event("addstream");t.stream=e,this.dispatchEvent(t)}))})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach((t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const r=new Event("addstream");r.stream=t,e.dispatchEvent(r)}))}),t.apply(e,arguments)}}}function le(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,r=t.createOffer,n=t.createAnswer,i=t.setLocalDescription,o=t.setRemoteDescription,a=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){const r=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i};let s=function(e,t,r){const n=i.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n};t.setLocalDescription=s,s=function(e,t,r){const n=o.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.setRemoteDescription=s,s=function(e,t,r){const n=a.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.addIceCandidate=s}function de(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,r=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>r(_e(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,r,n){t.mediaDevices.getUserMedia(e).then(r,n)}.bind(t))}function _e(e){return e&&void 0!==e.video?Object.assign({},e,{video:v(e.video)}):e}function pe(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,r){if(e&&e.iceServers){const t=[];for(let r=0;r<e.iceServers.length;r++){let n=e.iceServers[r];!n.hasOwnProperty("urls")&&n.hasOwnProperty("url")?(m("RTCIceServer.url","RTCIceServer.urls"),n=JSON.parse(JSON.stringify(n)),n.urls=n.url,delete n.url,t.push(n)):t.push(e.iceServers[r])}e.iceServers=t}return new t(e,r)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function fe(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function he(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find((e=>"audio"===e.receiver.track.kind));!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio"),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const r=this.getTransceivers().find((e=>"video"===e.receiver.track.kind));!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video")}return t.apply(this,arguments)}}function be(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Re=Object.freeze({__proto__:null,shimLocalStreamsAPI:ce,shimRemoteStreamsAPI:ue,shimCallbacksAPI:le,shimGetUserMedia:de,shimConstraints:_e,shimRTCIceServerUrls:pe,shimTrackEventTransceiver:fe,shimCreateOfferLegacy:he,shimAudioContext:be});function ge(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;const t=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"==typeof e&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substr(2)),e.candidate&&e.candidate.length){const r=new t(e),n=j.parseCandidate(e.candidate),i=Object.assign(r,n);return i.toJSON=function(){return{candidate:i.candidate,sdpMid:i.sdpMid,sdpMLineIndex:i.sdpMLineIndex,usernameFragment:i.usernameFragment}},i}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,h(e,"icecandidate",(t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t)))}function me(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(function(e){if(!e||!e.sdp)return!1;const t=j.splitSections(e.sdp);return t.shift(),t.some((e=>{const t=j.parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")}))}(arguments[0])){const e=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return-1;const r=parseInt(t[1],10);return r!=r?-1:r}(arguments[0]),r=function(e){let r=65536;return"firefox"===t.browser&&(r=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),r}(e),n=function(e,r){let n=65536;"firefox"===t.browser&&57===t.version&&(n=65535);const i=j.matchPrefix(e.sdp,"a=max-message-size:");return i.length>0?n=parseInt(i[0].substr(19),10):"firefox"===t.browser&&-1!==r&&(n=2147483637),n}(arguments[0],e);let i;i=0===r&&0===n?Number.POSITIVE_INFINITY:0===r||0===n?Math.max(r,n):Math.min(r,n);const o={};Object.defineProperty(o,"maxMessageSize",{get:()=>i}),this._sctp=o}return r.apply(this,arguments)}}function Ce(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const r=e.send;e.send=function(){const n=arguments[0],i=n.length||n.size||n.byteLength;if("open"===e.readyState&&t.sctp&&i>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return r.apply(e,arguments)}}const r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=r.apply(this,arguments);return t(e,this),e},h(e,"datachannel",(e=>(t(e.channel,e.target),e)))}function ve(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach((e=>{const r=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const r=new Event("connectionstatechange",e);t.dispatchEvent(r)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}}))}function Oe(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t.version>=605)return;const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const r=t.sdp.split("\n").filter((e=>"a=extmap-allow-mixed"!==e.trim())).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:r}):t.sdp=r}return r.apply(this,arguments)}}function Te(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.addIceCandidate;r&&0!==r.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}var Ee=Object.freeze({__proto__:null,shimRTCIceCandidate:ge,shimMaxMessageSize:me,shimSendThrowTypeError:Ce,shimConnectionState:ve,removeExtmapAllowMixed:Oe,shimAddIceCandidateNullOrEmpty:Te});const Se=function({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0}){const r=g,n=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator)return t.browser="Not a browser.",t;const{navigator:r}=e;if(r.mozGetUserMedia)t.browser="firefox",t.version=f(r.userAgent,/Firefox\/(\d+)\./,1);else if(r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection&&!e.RTCIceGatherer)t.browser="chrome",t.version=f(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(r.mediaDevices&&r.userAgent.match(/Edge\/(\d+).(\d+)$/))t.browser="edge",t.version=f(r.userAgent,/Edge\/(\d+).(\d+)$/,2);else{if(!e.RTCPeerConnection||!r.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=f(r.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t}(e),i={browserDetails:n,commonShim:Ee,extractVersion:f,disableLog:b,disableWarnings:R};switch(n.browser){case"chrome":if(!U||!D||!t.shimChrome)return r("Chrome shim is not included in this adapter release."),i;if(null===n.version)return r("Chrome shim can not determine version, not shimming."),i;r("adapter.js shimming chrome."),i.browserShim=U,Te(e,n),S(e,n),I(e),D(e,n),y(e),w(e,n),L(e),P(e),N(e),k(e,n),ge(e),ve(e),me(e,n),Ce(e),Oe(e,n);break;case"firefox":if(!se||!X||!t.shimFirefox)return r("Firefox shim is not included in this adapter release."),i;r("adapter.js shimming firefox."),i.browserShim=se,Te(e,n),Q(e,n),X(e,n),Z(e),te(e),$(e),ee(e),re(e),ne(e),ie(e),oe(e),ae(e),ge(e),ve(e),me(e,n),Ce(e);break;case"edge":if(!q||!Y||!t.shimEdge)return r("MS edge shim is not included in this adapter release."),i;r("adapter.js shimming edge."),i.browserShim=q,K(e),W(e),Y(e,n),z(e),me(e,n),Ce(e);break;case"safari":if(!Re||!t.shimSafari)return r("Safari shim is not included in this adapter release."),i;r("adapter.js shimming safari."),i.browserShim=Re,Te(e,n),pe(e),he(e),le(e),ce(e),ue(e),fe(e),de(e),be(e),ge(e),me(e,n),Ce(e),Oe(e,n);break;default:r("Unsupported browser!")}return i}({window:"undefined"==typeof window?void 0:window});var Ie,ye,Le,Pe;exports.RCFrameRate=void 0,(Ie=exports.RCFrameRate||(exports.RCFrameRate={})).FPS_10="FPS_10",Ie.FPS_15="FPS_15",Ie.FPS_24="FPS_24",Ie.FPS_30="FPS_30",exports.RCResolution=void 0,(ye=exports.RCResolution||(exports.RCResolution={})).W176_H132="W176_H132",ye.W176_H144="W176_H144",ye.W180_H180="W180_H180",ye.W240_H180="W240_H180",ye.W240_H240="W240_H240",ye.W256_H144="W256_H144",ye.W320_H180="W320_H180",ye.W320_H240="W320_H240",ye.W360_H360="W360_H360",ye.W480_H360="W480_H360",ye.W480_H480="W480_H480",ye.W640_H360="W640_H360",ye.W640_H480="W640_H480",ye.W720_H480="W720_H480",ye.W848_H480="W848_H480",ye.W960_H720="W960_H720",ye.W1280_H720="W1280_H720",ye.W1920_H1080="W1920_H1080",ye.W144_H176="W144_H176",ye.W144_H256="W144_H256",ye.W180_H240="W180_H240",ye.W180_H320="W180_H320",ye.W240_H320="W240_H320",ye.W360_H480="W360_H480",ye.W360_H640="W360_H640",ye.W480_H640="W480_H640",ye.W480_H720="W480_H720",ye.W480_H848="W480_H848",ye.W720_H1280="W720_H1280",ye.W720_H960="W720_H960",ye.W1080_H1920="W1080_H1920",exports.RCMediaType=void 0,(Le=exports.RCMediaType||(exports.RCMediaType={}))[Le.AUDIO_ONLY=0]="AUDIO_ONLY",Le[Le.VIDEO_ONLY=1]="VIDEO_ONLY",Le[Le.AUDIO_VIDEO=2]="AUDIO_VIDEO";var Ne,Ae=((Pe={})[exports.RCResolution.W176_H132]={width:176,height:132,maxBitrate:150,minBitrate:80},Pe[exports.RCResolution.W176_H144]={width:176,height:144,maxBitrate:150,minBitrate:80},Pe[exports.RCResolution.W180_H180]={width:180,height:180,maxBitrate:200,minBitrate:100},Pe[exports.RCResolution.W240_H180]={width:240,height:180,maxBitrate:240,minBitrate:120},Pe[exports.RCResolution.W240_H240]={width:240,height:240,maxBitrate:280,minBitrate:120},Pe[exports.RCResolution.W256_H144]={width:256,height:144,maxBitrate:240,minBitrate:120},Pe[exports.RCResolution.W320_H180]={width:320,height:180,maxBitrate:280,minBitrate:120},Pe[exports.RCResolution.W320_H240]={width:320,height:240,maxBitrate:400,minBitrate:120},Pe[exports.RCResolution.W360_H360]={width:360,height:360,maxBitrate:520,minBitrate:140},Pe[exports.RCResolution.W480_H360]={width:480,height:360,maxBitrate:650,minBitrate:150},Pe[exports.RCResolution.W480_H480]={width:480,height:480,maxBitrate:800,minBitrate:180},Pe[exports.RCResolution.W640_H360]={width:640,height:360,maxBitrate:800,minBitrate:180},Pe[exports.RCResolution.W640_H480]={width:640,height:480,maxBitrate:900,minBitrate:200},Pe[exports.RCResolution.W720_H480]={width:720,height:480,maxBitrate:1e3,minBitrate:200},Pe[exports.RCResolution.W848_H480]={width:848,height:480,maxBitrate:1860,minBitrate:200},Pe[exports.RCResolution.W960_H720]={width:960,height:720,maxBitrate:2e3,minBitrate:250},Pe[exports.RCResolution.W1280_H720]={width:1280,height:720,maxBitrate:2200,minBitrate:250},Pe[exports.RCResolution.W1920_H1080]={width:1920,height:1080,maxBitrate:4e3,minBitrate:400},Pe[exports.RCResolution.W144_H176]={width:144,height:176,maxBitrate:150,minBitrate:80},Pe[exports.RCResolution.W144_H256]={width:144,height:256,maxBitrate:240,minBitrate:120},Pe[exports.RCResolution.W180_H240]={width:180,height:240,maxBitrate:240,minBitrate:120},Pe[exports.RCResolution.W180_H320]={width:180,height:320,maxBitrate:280,minBitrate:120},Pe[exports.RCResolution.W240_H320]={width:240,height:320,maxBitrate:400,minBitrate:120},Pe[exports.RCResolution.W360_H480]={width:360,height:480,maxBitrate:650,minBitrate:150},Pe[exports.RCResolution.W360_H640]={width:360,height:640,maxBitrate:800,minBitrate:180},Pe[exports.RCResolution.W480_H640]={width:480,height:640,maxBitrate:900,minBitrate:200},Pe[exports.RCResolution.W480_H720]={width:480,height:720,maxBitrate:1e3,minBitrate:200},Pe[exports.RCResolution.W480_H848]={width:480,height:848,maxBitrate:1860,minBitrate:930},Pe[exports.RCResolution.W720_H1280]={width:720,height:1280,maxBitrate:2200,minBitrate:250},Pe[exports.RCResolution.W720_H960]={width:720,height:960,maxBitrate:2760,minBitrate:910},Pe[exports.RCResolution.W1080_H1920]={width:1080,height:1920,maxBitrate:4e3,minBitrate:400},Pe),we=function(e){var t={192:180,368:360,1088:1080};return t[e]?t[e]:e},De=function(e,t){e=we(e),t=we(t);var r=Ae["W".concat(e,"_H").concat(t)];if(r)return r;var n=e*t;return Object.keys(Ae).map((function(e){return Ae[e]})).sort((function(e,t){return e.height*e.width-t.width*t.height})).filter((function(e){return e.height*e.width>=n}))[0]||Ae.W1920_H1080},ke={10:1,15:1,24:1.5,30:1.5},Ue=function(e){var t=Number.MAX_VALUE,r=1;for(var n in ke){var i=Math.abs(e-parseInt(n));i<t&&(t=i,r=ke[n])}return r},Me={getCameras:function(){return s(void 0,void 0,void 0,(function(){return c(this,(function(e){switch(e.label){case 0:return[4,navigator.mediaDevices.enumerateDevices()];case 1:return[2,e.sent().filter((function(e){return"videoinput"===e.kind}))]}}))}))},getMicrophones:function(){return s(void 0,void 0,void 0,(function(){return c(this,(function(e){switch(e.label){case 0:return[4,navigator.mediaDevices.enumerateDevices()];case 1:return[2,e.sent().filter((function(e){return"audioinput"===e.kind}))]}}))}))},getSpeakers:function(){return s(void 0,void 0,void 0,(function(){return c(this,(function(e){switch(e.label){case 0:return[4,navigator.mediaDevices.enumerateDevices()];case 1:return[2,e.sent().filter((function(e){return"audiooutput"===e.kind}))]}}))}))}};!function(e){e.AUDIO="audio",e.VIDEO="video"}(Ne||(Ne={}));var xe,je,Be,Ve=function(t){function n(e,r,n,i,o,a){var s=t.call(this)||this;return Object.defineProperty(s,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(s,"_tag",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(s,"_userId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(s,"_kind",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(s,"_isLocalTrack",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(s,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(s,"_localMuted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(s,"_remoteMuted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(s,"_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(s,"_streamId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(s,"_msTrack",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(s,"_msStream",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(s,"DataTrackId",{enumerable:!0,configurable:!0,writable:!0,value:"data-track-id"}),Object.defineProperty(s,"_element",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),s._streamId=[s._userId||s._roomId,s._tag].join("_"),s._id=[s._streamId,s.isAudioTrack()?0:1].join("_"),s}return r(n,t),Object.defineProperty(n.prototype,"getStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._streamId}}),Object.defineProperty(n.prototype,"getTrackId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._id}}),Object.defineProperty(n.prototype,"getUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._userId}}),Object.defineProperty(n.prototype,"__innerGetMediaStreamTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._msTrack}}),Object.defineProperty(n.prototype,"streamTrack",{get:function(){return this._msTrack},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"getTag",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._tag}}),Object.defineProperty(n.prototype,"isLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isLocalTrack}}),Object.defineProperty(n.prototype,"isVideoTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"video"===this._kind}}),Object.defineProperty(n.prototype,"isAudioTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"audio"===this._kind}}),Object.defineProperty(n.prototype,"isReady",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return"live"===(null===(e=this._msTrack)||void 0===e?void 0:e.readyState)}}),Object.defineProperty(n.prototype,"__innerSetMediaStreamTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._msTrack=e,this._setLocalMuted(this._localMuted);var t=this._msStream=this._msStream||new MediaStream,r=t.getTracks()[0];r&&t.removeTrack(r),this._isLocalTrack||this._logger.warn(i.L_INNER_SET_TRACK_O,"trackId: ".concat(this._id,", track: ").concat(e?e.id:"undefined")),e?t.addTrack(e):this._element&&this._element.getAttribute(this.DataTrackId)===this.getTrackId()&&(this._element.pause(),this._element.srcObject=null)}}),Object.defineProperty(n.prototype,"_setLocalMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return this._msTrack&&(this._msTrack.enabled=!e),this._localMuted=e,[2,exports.RCRTCCode.SUCCESS]}))}))}}),Object.defineProperty(n.prototype,"mute",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){return c(this,(function(e){return[2,this._setLocalMuted(!0)]}))}))}}),Object.defineProperty(n.prototype,"unmute",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){return c(this,(function(e){return[2,this._setLocalMuted(!1)]}))}))}}),Object.defineProperty(n.prototype,"isLocalMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._localMuted}}),Object.defineProperty(n.prototype,"isMCUTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){return Boolean(this._roomId)}}),Object.defineProperty(n.prototype,"isOwnerMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._remoteMuted}}),Object.defineProperty(n.prototype,"_validateVolume",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(null==t?void 0:t.volume){if(!e.isNumber(null==t?void 0:t.volume))return this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> options.volume not a number"})),{code:exports.RCRTCCode.PARAMS_ERROR};(null==t?void 0:t.volume)<0&&(t.volume=0,this._logger.warn(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,msg:"params error -> options.volume < 0",tips:"the valid range of options.volume is 0-100, the value of volume has been set 0"}))),(null==t?void 0:t.volume)>100&&(t.volume=100,this._logger.warn(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,msg:"params error -> options.volume > 100",tips:"the valid range of options.volume is 0-100, the value of volume has been set 100"})))}}}),Object.defineProperty(n.prototype,"_validatePlayOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n;return c(this,(function(a){switch(a.label){case 0:return this._msTrack?("ended"===this._msTrack.readyState&&this._logger.warn(i.L_TRACK_PLAY_E,"track readyState is ended -> id: ".concat(this._id)),(r=this._validateVolume(t))?[2,r]:(null==t?void 0:t.audioDeviceId)?[4,Me.getSpeakers()]:[3,2]):(this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.TRACK_NOT_READY,kind:this._kind,msg:"the track is not ready to play -> id: ".concat(this._id)})),[2,{code:exports.RCRTCCode.TRACK_NOT_READY}]);case 1:if(n=a.sent().map((function(e){return e.deviceId})),!n.includes(t.audioDeviceId))return this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> options.audioDeviceId"})),[2,{code:exports.RCRTCCode.PARAMS_ERROR}];a.label=2;case 2:return!this.isVideoTrack()||e&&(e instanceof HTMLVideoElement||this._validateVideoNodeName(e))?[2]:(this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.VIDEO_TRACK_MISS_MEDIA_ELEMENT,kind:this._kind,msg:"params element is not a HTMLVideoElement"})),[2,{code:exports.RCRTCCode.VIDEO_TRACK_MISS_MEDIA_ELEMENT}])}}))}))}}),Object.defineProperty(n.prototype,"_setPlayAttrs",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r;return s(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return e&&(this._element.playsInline=!0,this._element.x5PlaysInline=!0,this._element.webkitPlaysInline=!0),!(null==t?void 0:t.audioDeviceId)||e?[3,2]:[4,this._element.setSinkId(t.audioDeviceId)];case 1:n.sent(),n.label=2;case 2:return e||!(null==t?void 0:t.volume)&&0!==(null==t?void 0:t.volume)||(this._element.volume=t.volume/100),null===(r=this._element)||void 0===r||r.setAttribute(this.DataTrackId,this.getTrackId()),[2]}}))}))}}),Object.defineProperty(n.prototype,"play",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,a=this;return c(this,(function(u){switch(u.label){case 0:return this._logger.info(i.L_TRACK_PLAY_O,JSON.stringify({elementId:null==e?void 0:e.id,trackId:this._id,kind:this._kind,options:t?{volume:null==t?void 0:t.volume,audioDeviceId:t.audioDeviceId}:void 0})),[4,this._validatePlayOptions(e,t)];case 1:return(r=u.sent())?[2,r]:(n=this.isVideoTrack(),this._element=n?e:this._element||new Audio,this._localMuted&&this._setLocalMuted(!1),this._element.srcObject&&this._element.srcObject===this._msStream||this._element.pause(),this._element.onloadstart=function(e){var t;a._logger.info(i.L_TRACK_LOAD_START_O,JSON.stringify({status:o.INFO,kind:a._kind,msg:"HTMLMediaElement onloadstart -> id: ".concat(null===(t=e.target)||void 0===t?void 0:t.id,", trackId: ").concat(a._id)}))},this._element.ondurationchange=function(e){var t;a._logger.info(i.L_TRACK_DURATION_CHANGE_O,JSON.stringify({status:o.INFO,kind:a._kind,msg:"HTMLMediaElement ondurationchange -> id: ".concat(null===(t=e.target)||void 0===t?void 0:t.id,", trackId: ").concat(a._id)}))},this._element.onloadedmetadata=function(e){var t;a._logger.info(i.L_TRACK_LOADED_META_DATA_O,JSON.stringify({status:o.INFO,kind:a._kind,msg:"HTMLMediaElement onloadedmetadata -> id: ".concat(null===(t=e.target)||void 0===t?void 0:t.id,", trackId: ").concat(a._id)}))},this._element.onloadeddata=function(e){var t;a._logger.info(i.L_TRACK_LOADED_DATA_O,JSON.stringify({status:o.INFO,kind:a._kind,msg:"HTMLMediaElement onloadeddata -> id: ".concat(null===(t=e.target)||void 0===t?void 0:t.id,", trackId: ").concat(a._id)}))},this._element.onabort=function(e){var t;a._logger.info(i.L_TRACK_ABORT_O,JSON.stringify({status:o.INFO,kind:a._kind,msg:"HTMLMediaElement onabort -> id: ".concat(null===(t=e.target)||void 0===t?void 0:t.id,", trackId: ").concat(a._id)}))},this._element.oncanplay=function(e){return s(a,void 0,void 0,(function(){var r,a,s;return c(this,(function(c){switch(c.label){case 0:this._logger.info(i.L_TRACK_CANPLAY_O,JSON.stringify({status:o.INFO,kind:this._kind,msg:"HTMLMediaElement oncanplay -> id: ".concat(null===(a=e.target)||void 0===a?void 0:a.id,", trackId: ").concat(this._id)})),c.label=1;case 1:return c.trys.push([1,5,,6]),!(null==t?void 0:t.audioDeviceId)||n?[3,3]:[4,this._element.setSinkId(t.audioDeviceId)];case 2:c.sent(),c.label=3;case 3:return[4,null===(s=this._element)||void 0===s?void 0:s.play()];case 4:return c.sent(),[3,6];case 5:return"No permission to use requested device"===(r=c.sent()).message?(this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,kind:this._kind,code:exports.RCRTCCode.NO_PERMISSION_TO_USE_REQUESTED_DEVICE,msg:"setSinkId failed, error msg: ".concat(r.message)})),[2]):(this._logger.error(i.L_TRACK_PLAY_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.TRACK_PLAY_ERROR,kind:this._kind,msg:"play error, error msg: ".concat(r.message)})),[3,6]);case 6:return[2]}}))}))},this._element.onvolumechange=function(e){var t,r,n=Math.floor(100*(null===(t=e.target)||void 0===t?void 0:t.volume));a._logger.info(i.L_TRACK_VOLUME_CHANGE_O,JSON.stringify({status:o.INFO,msg:"HTMLMediaElement onvolumechange -> id: ".concat(null===(r=e.target)||void 0===r?void 0:r.id,", volume: ").concat(n,", trackId: ").concat(a._id)}))},this._element.srcObject=this._msStream,this._element.autoplay=!0,[4,this._setPlayAttrs(n,t)]);case 2:return u.sent(),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"__innerDestroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.__innerSetMediaStreamTrack(void 0)}}),Object.defineProperty(n.prototype,"__releaseMediaElement",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._element&&this._element.getAttribute(this.DataTrackId)===this.getTrackId()&&(this._element.remove(),this._element.srcObject=null)}}),Object.defineProperty(n.prototype,"_validateVideoNodeName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e&&e.nodeName&&"VIDEO"===e.nodeName.toUpperCase()}}),n}(e.EventEmitter);exports.RCAudioBitrate=void 0,(Be=exports.RCAudioBitrate||(exports.RCAudioBitrate={})).Speech="Speech",Be.Music="Music",Be.MusicHigh="MusicHigh";var Fe,Je=((xe={})[exports.RCAudioBitrate.Music]={max:64,min:64},xe[exports.RCAudioBitrate.MusicHigh]={max:128,min:128},xe[exports.RCAudioBitrate.Speech]={max:32,min:32},xe);exports.RCVideoBitrate=void 0,(Fe=exports.RCVideoBitrate||(exports.RCVideoBitrate={})).LEVEL0="LEVEL0",Fe.LEVEL1="LEVEL1",Fe.LEVEL2="LEVEL2",Fe.LEVEL3="LEVEL3",Fe.LEVEL4="LEVEL4",Fe.LEVEL5="LEVEL5";var Ge=((je={})[exports.RCVideoBitrate.LEVEL0]={max:150,min:80},je[exports.RCVideoBitrate.LEVEL1]={max:280,min:120},je[exports.RCVideoBitrate.LEVEL2]={max:650,min:150},je[exports.RCVideoBitrate.LEVEL3]={max:1e3,min:200},je[exports.RCVideoBitrate.LEVEL4]={max:2200,min:250},je[exports.RCVideoBitrate.LEVEL5]={max:4e3,min:400},je),He=function(){function e(){}return Object.defineProperty(e,"apply3ANoiseWorklet",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,a,s;return c(this,(function(c){switch(c.label){case 0:r=new AudioContext({sampleRate:44100}),c.label=1;case 1:return c.trys.push([1,5,,6]),[4,r.audioWorklet.addModule(e.SCRIPT_URL)];case 2:return c.sent(),[4,fetch(e.WASM_URL,{cache:"force-cache",credentials:"same-origin"})];case 3:return[4,c.sent().arrayBuffer()];case 4:return n=c.sent(),[3,6];case 5:return c.sent(),[2,{code:exports.RCRTCCode.LOAD_3A_MODULE_FAILED}];case 6:return i=r.createMediaStreamSource(new MediaStream([t])),o=new AudioWorkletNode(r,"process-worklet",{numberOfInputs:1,numberOfOutputs:1,outputChannelCount:[1],processorOptions:{binary:n}}),a=r.createMediaStreamDestination(),i.connect(o).connect(a),s=a.stream.getAudioTracks()[0],e._maps.set(t.id,r),[2,{code:exports.RCRTCCode.SUCCESS,track:s}]}}))}))}}),Object.defineProperty(e,"release3ANoiseWorklet",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r=e._maps.get(t.id);r&&(r.close(),e._maps.delete(t.id))}}),Object.defineProperty(e,"WASM_URL",{enumerable:!0,configurable:!0,writable:!0,value:"https://cdn.ronghub.com/plugin-rtc/wasm/5.0.0-alpha.2/AudioProcessing.wasm"}),Object.defineProperty(e,"SCRIPT_URL",{enumerable:!0,configurable:!0,writable:!0,value:"https://cdn.ronghub.com/plugin-rtc/wasm/5.0.0-alpha.2/process-worklet.js"}),Object.defineProperty(e,"_maps",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),e}(),Ke=function(t){function n(e,r,n,i,o){var a=t.call(this,e,r,n,i,!0)||this;return Object.defineProperty(a,"_isDestroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(a,"_isPublished",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(a,"_bitrateInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),a.__innerSetMediaStreamTrack(o),o.onended=function(){o.onended=null,a._onTrackEnded()},a}return r(n,t),Object.defineProperty(n.prototype,"_onTrackEnded",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.emit(n.EVENT_LOCAL_TRACK_END,this),this.removeAll(n.EVENT_LOCAL_TRACK_END)}}),Object.defineProperty(n.prototype,"_setLocalMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r=this;return new Promise((function(o){var a=r._localMuted!==e;t.prototype._setLocalMuted.call(r,e),r._remoteMuted=r._localMuted,a&&r._isPublished?r.emit(n.__INNER_EVENT_MUTED_CHANGE__,r,o):o(exports.RCRTCCode.SUCCESS),r._logger.info(i.L_LOCAL_TRACK_SET_LOCAL_MUTED_O,JSON.stringify({enable:e,trackId:r._id}))}))}}),Object.defineProperty(n.prototype,"__innerSetPublished",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._isPublished=e}}),Object.defineProperty(n.prototype,"isPublished",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isPublished}}),Object.defineProperty(n.prototype,"destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;this._isDestroyed||(this._logger.info(i.L_LOCAL_TRACK_DESTROY_O,this._id),this._isDestroyed=!0,null===(e=this._msTrack)||void 0===e||e.stop(),t.prototype.__innerDestroy.call(this),this.isAudioTrack()&&t.prototype.__releaseMediaElement.call(this),this._isPublished&&this.emit(n.__INNER_EVENT_DESTROY__,this))}}),Object.defineProperty(n.prototype,"isDestroyed",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isDestroyed}}),Object.defineProperty(n.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){void 0===t&&(t=0),void 0===r&&(r=0),void 0===n&&(n=0),!e.isNumber(t)||!e.isNumber(r)||!e.isNumber(n)||t<=0||r<=0||t<r?this._logger.error(i.L_LOCAL_TRACK_SET_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> max: ".concat(t,",min: ").concat(r,", start: ").concat(n),trackId:this._id})):(this._logger.info(i.L_LOCAL_TRACK_SET_BITRATE_O,JSON.stringify({status:o.SUCCESSED,max:t,min:r,start:n,trackId:this._id})),this._bitrateInfo={max:t,min:r,start:n})}}),Object.defineProperty(n.prototype,"getBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t,r,n,i,o,a,s,c,u=0,l=0,d=0;return(null===(r=this._msTrack)||void 0===r?void 0:r.kind)===Ne.VIDEO?(u=(e=ut(this._msTrack)).min,l=e.max):(null===(n=this._msTrack)||void 0===n?void 0:n.kind)===Ne.AUDIO&&(u=(t={min:32,max:32}).min,l=t.max),(null===(i=this._bitrateInfo)||void 0===i?void 0:i.max)&&(d=.7*(null===(o=this._bitrateInfo)||void 0===o?void 0:o.max)),{min:(null===(a=this._bitrateInfo)||void 0===a?void 0:a.min)||u,max:(null===(s=this._bitrateInfo)||void 0===s?void 0:s.max)||l,start:(null===(c=this._bitrateInfo)||void 0===c?void 0:c.start)||d}}}),Object.defineProperty(n,"EVENT_LOCAL_TRACK_END",{enumerable:!0,configurable:!0,writable:!0,value:"local-track-end"}),Object.defineProperty(n,"__INNER_EVENT_MUTED_CHANGE__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-muted-change"}),Object.defineProperty(n,"__INNER_EVENT_DESTROY__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-destroy"}),Object.defineProperty(n,"__INNER_SEND_TWO_SECONDS_VIDEO__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-send-two-seconds-video"}),n}(Ve),We=function(t){function n(e,r,n,i){return t.call(this,e,r,n,"audio",i)||this}return r(n,t),Object.defineProperty(n.prototype,"setRecommendBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(e.validate("audioBitrate",t,(function(e){return e in exports.RCAudioBitrate}))){var r=Je[t];this.setBitrate(r.max,r.min,r.start||.7*r.max)}else this._logger.warn(i.L_RTC_SET_RECOMMEND_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> params type is RCAudioBitrate"}))}}),Object.defineProperty(n.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var i=l(r,2),o=i[0],a=void 0===o?1:o,s=i[1],c=void 0===s?.7*e||1:s;t.prototype.setBitrate.call(this,e,a,c)}}),n}(Ke),Ye=function(t){function n(e,r,n,i,o){void 0===o&&(o=!1);var a=t.call(this,e,r,n,"video",i)||this;return Object.defineProperty(a,"_isTiny",{enumerable:!0,configurable:!0,writable:!0,value:o}),a}return r(n,t),Object.defineProperty(n.prototype,"__isTiny",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isTiny}}),Object.defineProperty(n.prototype,"getStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=t.prototype.getStreamId.call(this);return this._isTiny?"".concat(e,"_tiny"):e}}),Object.defineProperty(n.prototype,"getTrackId",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=t.prototype.getTrackId.call(this);return this._isTiny?"".concat(e,"_tiny"):e}}),Object.defineProperty(n.prototype,"setRecommendBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(e.validate("videoBitrate",t,(function(e){return e in exports.RCVideoBitrate}))){var r=Ge[t];this.setBitrate(r.max,r.min,r.start||.7*r.max)}else this._logger.warn(i.L_RTC_SET_RECOMMEND_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> params type is RCVideoBitrate"}))}}),Object.defineProperty(n.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var i=l(r,2),o=i[0],a=void 0===o?1:o,s=i[1],c=void 0===s?.7*e||1:s;t.prototype.setBitrate.call(this,e,a,c)}}),n}(Ke),ze=function(e){function t(r,n,i,o,a,s){var c=e.call(this,r,n,i,o,a)||this;return Object.defineProperty(c,"_resource",{enumerable:!0,configurable:!0,writable:!0,value:s}),t._innerSetMapping(c.getTrackId(),s),c}return r(t,e),Object.defineProperty(t,"_innerSetMapping",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this._mapping.get(t)||[];r.push(e),this._mapping.set(t,r)}}),Object.defineProperty(t,"_innerRemoveMapping",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n,i=null===(r=this._mapping.get(t))||void 0===r?void 0:r.filter((function(t){return t!==e}));i&&i.length>0?this._mapping.set(t,i):(this._mapping.delete(t),t.pause(),t.src="",null===(n=t.parentNode)||void 0===n||n.removeChild(t))}}),Object.defineProperty(t.prototype,"destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.isAudioTrack()&&this.mute(),t._innerRemoveMapping(this.getTrackId(),this._resource),e.prototype.destroy.call(this)}}),Object.defineProperty(t,"_mapping",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),t}(Ke),qe=function(e){function t(t,r,n,i,o){return e.call(this,t,r,n,"video",i,o)||this}return r(t,e),t}(ze),Qe=function(e){function t(t,r,n,i,o){return e.call(this,t,r,n,"audio",i,o)||this}return r(t,e),Object.defineProperty(t.prototype,"_setLocalMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){return c(this,(function(r){return this._resource&&(this._resource.muted=t),[2,e.prototype._setLocalMuted.call(this,t)]}))}))}}),Object.defineProperty(t.prototype,"play",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){return c(this,(function(e){switch(e.label){case 0:return[4,this._setLocalMuted(!1)];case 1:return[2,{code:e.sent()}]}}))}))}}),t}(ze),Ze=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"_originTrack",{enumerable:!0,configurable:!0,writable:!0,value:null}),t}return r(t,e),Object.defineProperty(t.prototype,"apply3ANoiseWorklet",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e,t,r;return c(this,(function(n){switch(n.label){case 0:return this._logger.info(i.A_APPLY_3A_NOISE_WORKLET_T),this._originTrack?(this._logger.warn(i.A_APPLY_3A_NOISE_WORKLET_R,JSON.stringify({status:o.FAILED,msg:"3A noise module already applied"})),[2,{code:exports.RCRTCCode.SUCCESS}]):!this._msTrack||this.isDestroyed()?(this._logger.warn(i.A_APPLY_3A_NOISE_WORKLET_R,JSON.stringify({status:o.FAILED,msg:"track not ready"})),[2,{code:exports.RCRTCCode.TRACK_NOT_READY}]):this.isPublished()?(this._logger.warn(i.A_APPLY_3A_NOISE_WORKLET_R,JSON.stringify({status:o.FAILED,msg:"track already published"})),[2,{code:exports.RCRTCCode.APPLY_3A_NOISE_WORKLET_BEFORE_PUBLISH}]):[4,He.apply3ANoiseWorklet(this._msTrack)];case 1:return e=n.sent(),t=e.code,r=e.track,t===exports.RCRTCCode.SUCCESS&&r?(this._originTrack=this._msTrack,this._msTrack=r,this._logger.info(i.A_APPLY_3A_NOISE_WORKLET_R,JSON.stringify({status:o.SUCCESSED})),[2,{code:exports.RCRTCCode.SUCCESS}]):(this._logger.warn(i.A_APPLY_3A_NOISE_WORKLET_R,JSON.stringify({status:o.FAILED,msg:"apply 3A noise module failed: ".concat(t)})),[2,{code:t}])}}))}))}}),Object.defineProperty(t.prototype,"__innerSetMediaStreamTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(t){!t&&this._originTrack&&(He.release3ANoiseWorklet(this._originTrack),this._originTrack.stop(),this._originTrack=null),e.prototype.__innerSetMediaStreamTrack.call(this,t)}}),t}(We),Xe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(Ye),$e=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,"_onTrackEnded",{enumerable:!1,configurable:!0,writable:!0,value:function(){e.prototype._onTrackEnded.call(this),this.isPublished()&&this.emit(Ke.__INNER_EVENT_DESTROY__,this)}}),t}(Ye),et=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,"_onTrackEnded",{enumerable:!1,configurable:!0,writable:!0,value:function(){e.prototype._onTrackEnded.call(this),this.isPublished()&&this.emit(Ke.__INNER_EVENT_DESTROY__,this)}}),t}(We),tt=function(e){function t(t,r,n,i,o){var a=e.call(this,t,r,n,i,!1,o)||this;return Object.defineProperty(a,"_isSubscribed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),a}return r(t,e),Object.defineProperty(t.prototype,"__innerSetRemoteMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._remoteMuted=e}}),Object.defineProperty(t.prototype,"__innerSetSubscribed",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._isSubscribed=e}}),Object.defineProperty(t.prototype,"isSubscribed",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isSubscribed}}),t}(Ve),rt=function(e){function t(t,r,n,i){return e.call(this,t,r,n,"audio",i)||this}return r(t,e),Object.defineProperty(t.prototype,"getVolume",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return 100*((null===(e=this._element)||void 0===e?void 0:e.volume)||0)}}),t}(tt),nt=function(e){function t(t,r,n,i){var o=e.call(this,t,r,n,"video",i)||this;return Object.defineProperty(o,"_isSubTiny",{enumerable:!0,configurable:!0,writable:!0,value:!1}),o}return r(t,e),Object.defineProperty(t.prototype,"__innerSetIsTinyTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._isSubTiny=e}}),Object.defineProperty(t.prototype,"isSubTiny",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isSubTiny}}),t}(tt),it=function(e,t){return{name:e,content:JSON.stringify({uris:t,ignore:!0})}},ot=function(e){return JSON.stringify(e)},at=function(e){return/^[a-zA-Z\d-=]+$/g.test(e)},st=function(t){if(void 0===t)return 0;if(e.isNumber(t))return t;var r=t;return r.exact||r.ideal||r.max||0},ct=function(e){var t=e.getSettings(),r=e.getConstraints();return{width:st(r.width)||t.width||0,height:st(r.height)||t.height||0,frameRate:t.frameRate||st(r.frameRate)}},ut=function(e){var t=ct(e),r=t.width,n=t.height,i=t.frameRate,o=De(r||1920,n||1080),a=Ue(i);return{min:o.minBitrate*a,max:o.maxBitrate*a}},lt=function(e){return[e.msid,e.mediaType].join("_")},dt=function(e){var t=e.split("_");return{mediaType:parseInt(t.pop()),tag:t.pop(),userId:t.join("_")}},_t=function(e,t){return[e,t].join("_")},pt=function(e){return e.map((function(e){return a({},e)}))},ft=function(e,t,r){void 0===r&&(r=!1),e=e.slice();var n=[],i=[],o=[];return t.forEach((function(t){var i=lt(t),a=e.findIndex((function(e){return lt(e)===i}));if(r&&(a=e.findIndex((function(e){return e.uri===t.uri}))),-1!==a){var s=e[a];s.uri!==t.uri?n.push(t):s.state!==t.state&&o.push(t),e.splice(a,1)}else n.push(t)})),i.push.apply(i,d([],l(e),!1)),{publishedList:n,unpublishedList:i,modifiedList:o}},ht=function(){var e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}));return e="".concat(e.replace(/-/g,""),"0"),(e=function(e){var t="0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ+/".split(""),r=t.length+1,n=+e,i=[];do{var o=n%r;n=(n-o)/r,i.unshift(t[o])}while(n);return i.join("")}(e=parseInt(e,16))).length>22&&(e=e.slice(0,22)),e},bt=function(e){if(Ae[e]){var t=Ae[e];return{width:t.width,height:t.height}}var r=l(e.split("_").map((function(e){return parseInt(e.replace(/[^\d]/g,""))})),2);return{width:r[0],height:r[1]}},Rt=function(e){return!!exports.RCResolution[e]},gt=function(e){return!!exports.RCFrameRate[e]},mt=function(e){return parseInt(e.replace("FPS_",""))},Ct=function(){var e=Se.browserDetails;return{browser:e.browser,version:e.version,supportsUnifiedPlan:!1!==e.supportsUnifiedPlan}}();function vt(){return"captureStream"in HTMLMediaElement.prototype||"mozCaptureStream"in HTMLMediaElement.prototype}function Ot(){return"mediaDevices"in navigator&&"getDisplayMedia"in navigator.mediaDevices}var Tt,Et,St=function(e){return"[object Null]"===Object.prototype.toString.call(e)},It=function(e){return 1===e.type},yt=function(e,t,r,n){var o={},a=Object.keys(e.users);return a.length&&a.forEach((function(a){var s=[],c=e.users[a];if(c.extra){var u=JSON.parse(c.extra).roomId;if(t!==u)return}if(c.uris)try{s.push.apply(s,d([],l(JSON.parse(c.uris)),!1))}catch(e){r.warn(i.L_PARSE_ROOMDATA_URIS_R,"invalid user data -> userId: ".concat(a,", userData: ").concat(c),n)}o[a]=s})),o},Lt=function(e){return e instanceof Ve?e.getTrackId():e.track.getTrackId()},Pt=function(t){if(!e.isObject(t)||void 0===t.low||void 0===t.high)return t;var r=t.low;return r<0&&(r+=4294967296),r=r.toString(16),parseInt(t.high.toString(16)+"00000000".replace(new RegExp("0{".concat(r.length,"}$")),r),16)};!function(e){e.PUBLISH="RCRTC:PublishResource",e.UNPUBLISH="RCRTC:UnpublishResource",e.MODIFY="RCRTC:ModifyResource",e.TOTAL_CONTENT_RESOURCE="RCRTC:TotalContentResources",e.STATE="RCRTC:state",e.ROOM_NOTIFY="RCRTC:RoomNtf",e.USER_NOTIFY="RCRTC:UserNtf",e.KICK="RCRTC:kick",e.PK_INVITE="RCRTC:invite",e.PK_INVITE_TIMEOUT="RCRTC:inviteTimeout",e.PK_CANCEL_INVITE="RCRTC:cancelInvite",e.PK_INVITE_ANSWER="RCRTC:answerInvite",e.PK_END="RCRTC:endInvite",e.OTHER_ROOM_OFFLINE="RCRTC:otherRoomOffline",e.ROOM_TASK_FINISH="RCRTC:roomTaskFinish"}(Tt||(Tt={})),exports.RCRTCPingResult=void 0,(Et=exports.RCRTCPingResult||(exports.RCRTCPingResult={})).SUCCESS="Success",Et.FAIL="Fail";var Nt=function(){function t(e,t,r,n){void 0===n&&(n=5e3),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_roomMode",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_gap",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_latestTimestamp",{enumerable:!0,configurable:!0,writable:!0,value:Date.now()}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onFailed",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onPingResult",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_started",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_timer",{enumerable:!0,configurable:!0,writable:!0,value:null}),this._logger=this._context.logger}return Object.defineProperty(t.prototype,"start",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._started||(e<15e3&&(e=15e3),this._logger.info(i.L_PINGER_START_O,JSON.stringify({interval:this._gap,offlineKickTime:e})),this._started=!0,this._checkAlive(e))}}),Object.defineProperty(t.prototype,"_sendPing",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=this;return new Promise((function(r){t._context.rtcPing(t._roomId,t._roomMode).then(r),setTimeout(r,5e3,{code:e.ErrorCode.TIMEOUT})}))}}),Object.defineProperty(t.prototype,"_checkAlive",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,o,a,s,u,l=this;return c(this,(function(c){switch(c.label){case 0:return r=this._context.logger,n=r.createTraceId(),[4,this._sendPing()];case 1:return o=c.sent(),a=o.code,s=o.data,this._started?(u=Date.now(),a===e.ErrorCode.SUCCESS?(this._latestTimestamp=u,this.onPingResult(exports.RCRTCPingResult.SUCCESS,s.version),this._timer=setTimeout((function(){return l._checkAlive(t)}),this._gap),[2]):(r.error(i.L_PINGER_SEND_RTCPING_E,JSON.stringify({roomId:this._roomId,code:a}),n),this.onPingResult(exports.RCRTCPingResult.FAIL),40003===a||u-this._latestTimestamp>t?(this.stop(),this.onFailed(40003===a),[2]):(this._timer=setTimeout((function(){return l._checkAlive(t)}),this._gap),[2]))):[2]}}))}))}}),Object.defineProperty(t.prototype,"stop",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._started&&(this._logger.info(i.L_PINGER_STOP_O),this._started=!1,this._timer&&(clearTimeout(this._timer),this._timer=null))}}),t}();function At(e){let t=e.length;for(;--t>=0;)e[t]=0}const wt=256,Dt=286,kt=30,Ut=15,Mt=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]),xt=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]),jt=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Bt=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Vt=new Array(576);At(Vt);const Ft=new Array(60);At(Ft);const Jt=new Array(512);At(Jt);const Gt=new Array(256);At(Gt);const Ht=new Array(29);At(Ht);const Kt=new Array(kt);function Wt(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}let Yt,zt,qt;function Qt(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}At(Kt);const Zt=e=>e<256?Jt[e]:Jt[256+(e>>>7)],Xt=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},$t=(e,t,r)=>{e.bi_valid>16-r?(e.bi_buf|=t<<e.bi_valid&65535,Xt(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=r-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)},er=(e,t,r)=>{$t(e,r[2*t],r[2*t+1])},tr=(e,t)=>{let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1},rr=(e,t,r)=>{const n=new Array(16);let i,o,a=0;for(i=1;i<=Ut;i++)a=a+r[i-1]<<1,n[i]=a;for(o=0;o<=t;o++){let t=e[2*o+1];0!==t&&(e[2*o]=tr(n[t]++,t))}},nr=e=>{let t;for(t=0;t<Dt;t++)e.dyn_ltree[2*t]=0;for(t=0;t<kt;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},ir=e=>{e.bi_valid>8?Xt(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},or=(e,t,r,n)=>{const i=2*t,o=2*r;return e[i]<e[o]||e[i]===e[o]&&n[t]<=n[r]},ar=(e,t,r)=>{const n=e.heap[r];let i=r<<1;for(;i<=e.heap_len&&(i<e.heap_len&&or(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!or(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n},sr=(e,t,r)=>{let n,i,o,a,s=0;if(0!==e.sym_next)do{n=255&e.pending_buf[e.sym_buf+s++],n+=(255&e.pending_buf[e.sym_buf+s++])<<8,i=e.pending_buf[e.sym_buf+s++],0===n?er(e,i,t):(o=Gt[i],er(e,o+wt+1,t),a=Mt[o],0!==a&&(i-=Ht[o],$t(e,i,a)),n--,o=Zt(n),er(e,o,r),a=xt[o],0!==a&&(n-=Kt[o],$t(e,n,a)))}while(s<e.sym_next);er(e,256,t)},cr=(e,t)=>{const r=t.dyn_tree,n=t.stat_desc.static_tree,i=t.stat_desc.has_stree,o=t.stat_desc.elems;let a,s,c,u=-1;for(e.heap_len=0,e.heap_max=573,a=0;a<o;a++)0!==r[2*a]?(e.heap[++e.heap_len]=u=a,e.depth[a]=0):r[2*a+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=u<2?++u:0,r[2*c]=1,e.depth[c]=0,e.opt_len--,i&&(e.static_len-=n[2*c+1]);for(t.max_code=u,a=e.heap_len>>1;a>=1;a--)ar(e,r,a);c=o;do{a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ar(e,r,1),s=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=s,r[2*c]=r[2*a]+r[2*s],e.depth[c]=(e.depth[a]>=e.depth[s]?e.depth[a]:e.depth[s])+1,r[2*a+1]=r[2*s+1]=c,e.heap[1]=c++,ar(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((e,t)=>{const r=t.dyn_tree,n=t.max_code,i=t.stat_desc.static_tree,o=t.stat_desc.has_stree,a=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length;let u,l,d,_,p,f,h=0;for(_=0;_<=Ut;_++)e.bl_count[_]=0;for(r[2*e.heap[e.heap_max]+1]=0,u=e.heap_max+1;u<573;u++)l=e.heap[u],_=r[2*r[2*l+1]+1]+1,_>c&&(_=c,h++),r[2*l+1]=_,l>n||(e.bl_count[_]++,p=0,l>=s&&(p=a[l-s]),f=r[2*l],e.opt_len+=f*(_+p),o&&(e.static_len+=f*(i[2*l+1]+p)));if(0!==h){do{for(_=c-1;0===e.bl_count[_];)_--;e.bl_count[_]--,e.bl_count[_+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(_=c;0!==_;_--)for(l=e.bl_count[_];0!==l;)d=e.heap[--u],d>n||(r[2*d+1]!==_&&(e.opt_len+=(_-r[2*d+1])*r[2*d],r[2*d+1]=_),l--)}})(e,t),rr(r,u,e.bl_count)},ur=(e,t,r)=>{let n,i,o=-1,a=t[1],s=0,c=7,u=4;for(0===a&&(c=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++s<c&&i===a||(s<u?e.bl_tree[2*i]+=s:0!==i?(i!==o&&e.bl_tree[2*i]++,e.bl_tree[32]++):s<=10?e.bl_tree[34]++:e.bl_tree[36]++,s=0,o=i,0===a?(c=138,u=3):i===a?(c=6,u=3):(c=7,u=4))},lr=(e,t,r)=>{let n,i,o=-1,a=t[1],s=0,c=7,u=4;for(0===a&&(c=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++s<c&&i===a)){if(s<u)do{er(e,i,e.bl_tree)}while(0!=--s);else 0!==i?(i!==o&&(er(e,i,e.bl_tree),s--),er(e,16,e.bl_tree),$t(e,s-3,2)):s<=10?(er(e,17,e.bl_tree),$t(e,s-3,3)):(er(e,18,e.bl_tree),$t(e,s-11,7));s=0,o=i,0===a?(c=138,u=3):i===a?(c=6,u=3):(c=7,u=4)}};let dr=!1;const _r=(e,t,r,n)=>{$t(e,0+(n?1:0),3),ir(e),Xt(e,r),Xt(e,~r),r&&e.pending_buf.set(e.window.subarray(t,t+r),e.pending),e.pending+=r};var pr=e=>{dr||((()=>{let e,t,r,n,i;const o=new Array(16);for(r=0,n=0;n<28;n++)for(Ht[n]=r,e=0;e<1<<Mt[n];e++)Gt[r++]=n;for(Gt[r-1]=n,i=0,n=0;n<16;n++)for(Kt[n]=i,e=0;e<1<<xt[n];e++)Jt[i++]=n;for(i>>=7;n<kt;n++)for(Kt[n]=i<<7,e=0;e<1<<xt[n]-7;e++)Jt[256+i++]=n;for(t=0;t<=Ut;t++)o[t]=0;for(e=0;e<=143;)Vt[2*e+1]=8,e++,o[8]++;for(;e<=255;)Vt[2*e+1]=9,e++,o[9]++;for(;e<=279;)Vt[2*e+1]=7,e++,o[7]++;for(;e<=287;)Vt[2*e+1]=8,e++,o[8]++;for(rr(Vt,287,o),e=0;e<kt;e++)Ft[2*e+1]=5,Ft[2*e]=tr(e,5);Yt=new Wt(Vt,Mt,257,Dt,Ut),zt=new Wt(Ft,xt,0,kt,Ut),qt=new Wt(new Array(0),jt,0,19,7)})(),dr=!0),e.l_desc=new Qt(e.dyn_ltree,Yt),e.d_desc=new Qt(e.dyn_dtree,zt),e.bl_desc=new Qt(e.bl_tree,qt),e.bi_buf=0,e.bi_valid=0,nr(e)},fr=(e,t,r,n)=>{let i,o,a=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&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<wt;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),cr(e,e.l_desc),cr(e,e.d_desc),a=(e=>{let t;for(ur(e,e.dyn_ltree,e.l_desc.max_code),ur(e,e.dyn_dtree,e.d_desc.max_code),cr(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*Bt[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),i=e.opt_len+3+7>>>3,o=e.static_len+3+7>>>3,o<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==t?_r(e,t,r,n):4===e.strategy||o===i?($t(e,2+(n?1:0),3),sr(e,Vt,Ft)):($t(e,4+(n?1:0),3),((e,t,r,n)=>{let i;for($t(e,t-257,5),$t(e,r-1,5),$t(e,n-4,4),i=0;i<n;i++)$t(e,e.bl_tree[2*Bt[i]+1],3);lr(e,e.dyn_ltree,t-1),lr(e,e.dyn_dtree,r-1)})(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),sr(e,e.dyn_ltree,e.dyn_dtree)),nr(e),n&&ir(e)},hr=(e,t,r)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=r,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(Gt[r]+wt+1)]++,e.dyn_dtree[2*Zt(t)]++),e.sym_next===e.sym_end),br=e=>{$t(e,2,3),er(e,256,Vt),(e=>{16===e.bi_valid?(Xt(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)},Rr={_tr_init:pr,_tr_stored_block:_r,_tr_flush_block:fr,_tr_tally:hr,_tr_align:br};var gr=(e,t,r,n)=>{let i=65535&e,o=e>>>16&65535,a=0;for(;0!==r;){a=r>2e3?2e3:r,r-=a;do{i=i+t[n++]|0,o=o+i|0}while(--a);i%=65521,o%=65521}return i|o<<16};const mr=new Uint32Array((()=>{let e,t=[];for(var r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t})());var Cr=(e,t,r,n)=>{const i=mr,o=n+r;e^=-1;for(let r=n;r<o;r++)e=e>>>8^i[255&(e^t[r])];return~e},vr={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"},Or={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};const{_tr_init:Tr,_tr_stored_block:Er,_tr_flush_block:Sr,_tr_tally:Ir,_tr_align:yr}=Rr,{Z_NO_FLUSH:Lr,Z_PARTIAL_FLUSH:Pr,Z_FULL_FLUSH:Nr,Z_FINISH:Ar,Z_BLOCK:wr,Z_OK:Dr,Z_STREAM_END:kr,Z_STREAM_ERROR:Ur,Z_DATA_ERROR:Mr,Z_BUF_ERROR:xr,Z_DEFAULT_COMPRESSION:jr,Z_FILTERED:Br,Z_HUFFMAN_ONLY:Vr,Z_RLE:Fr,Z_FIXED:Jr,Z_DEFAULT_STRATEGY:Gr,Z_UNKNOWN:Hr,Z_DEFLATED:Kr}=Or,Wr=258,Yr=262,zr=42,qr=113,Qr=666,Zr=(e,t)=>(e.msg=vr[t],t),Xr=e=>2*e-(e>4?9:0),$r=e=>{let t=e.length;for(;--t>=0;)e[t]=0},en=e=>{let t,r,n,i=e.w_size;t=e.hash_size,n=t;do{r=e.head[--n],e.head[n]=r>=i?r-i:0}while(--t);t=i,n=t;do{r=e.prev[--n],e.prev[n]=r>=i?r-i:0}while(--t)};let tn=(e,t,r)=>(t<<e.hash_shift^r)&e.hash_mask;const rn=e=>{const t=e.state;let r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+r),e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))},nn=(e,t)=>{Sr(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,rn(e.strm)},on=(e,t)=>{e.pending_buf[e.pending++]=t},an=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},sn=(e,t,r,n)=>{let i=e.avail_in;return i>n&&(i=n),0===i?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),r),1===e.state.wrap?e.adler=gr(e.adler,t,i,r):2===e.state.wrap&&(e.adler=Cr(e.adler,t,i,r)),e.next_in+=i,e.total_in+=i,i)},cn=(e,t)=>{let r,n,i=e.max_chain_length,o=e.strstart,a=e.prev_length,s=e.nice_match;const c=e.strstart>e.w_size-Yr?e.strstart-(e.w_size-Yr):0,u=e.window,l=e.w_mask,d=e.prev,_=e.strstart+Wr;let p=u[o+a-1],f=u[o+a];e.prev_length>=e.good_match&&(i>>=2),s>e.lookahead&&(s=e.lookahead);do{if(r=t,u[r+a]===f&&u[r+a-1]===p&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&o<_);if(n=Wr-(_-o),o=_-Wr,n>a){if(e.match_start=t,a=n,n>=s)break;p=u[o+a-1],f=u[o+a]}}}while((t=d[t&l])>c&&0!=--i);return a<=e.lookahead?a:e.lookahead},un=e=>{const t=e.w_size;let r,n,i;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Yr)&&(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),en(e),n+=t),0===e.strm.avail_in)break;if(r=sn(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=r,e.lookahead+e.insert>=3)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=tn(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=tn(e,e.ins_h,e.window[i+3-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<Yr&&0!==e.strm.avail_in)},ln=(e,t)=>{let r,n,i,o=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,a=0,s=e.strm.avail_in;do{if(r=65535,i=e.bi_valid+42>>3,e.strm.avail_out<i)break;if(i=e.strm.avail_out-i,n=e.strstart-e.block_start,r>n+e.strm.avail_in&&(r=n+e.strm.avail_in),r>i&&(r=i),r<o&&(0===r&&t!==Ar||t===Lr||r!==n+e.strm.avail_in))break;a=t===Ar&&r===n+e.strm.avail_in?1:0,Er(e,0,0,a),e.pending_buf[e.pending-4]=r,e.pending_buf[e.pending-3]=r>>8,e.pending_buf[e.pending-2]=~r,e.pending_buf[e.pending-1]=~r>>8,rn(e.strm),n&&(n>r&&(n=r),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,r-=n),r&&(sn(e.strm,e.strm.output,e.strm.next_out,r),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r)}while(0===a);return s-=e.strm.avail_in,s&&(s>=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<=s&&(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-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),a?4:t!==Lr&&t!==Ar&&0===e.strm.avail_in&&e.strstart===e.block_start?2:(i=e.window_size-e.strstart,e.strm.avail_in>i&&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++,i+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),i>e.strm.avail_in&&(i=e.strm.avail_in),i&&(sn(e.strm,e.window,e.strstart,i),e.strstart+=i,e.insert+=i>e.w_size-e.insert?e.w_size-e.insert:i),e.high_water<e.strstart&&(e.high_water=e.strstart),i=e.bi_valid+42>>3,i=e.pending_buf_size-i>65535?65535:e.pending_buf_size-i,o=i>e.w_size?e.w_size:i,n=e.strstart-e.block_start,(n>=o||(n||t===Ar)&&t!==Lr&&0===e.strm.avail_in&&n<=i)&&(r=n>i?i:n,a=t===Ar&&0===e.strm.avail_in&&r===n?1:0,Er(e,e.block_start,r,a),e.block_start+=r,rn(e.strm)),a?3:1)},dn=(e,t)=>{let r,n;for(;;){if(e.lookahead<Yr){if(un(e),e.lookahead<Yr&&t===Lr)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=3&&(e.ins_h=tn(e,e.ins_h,e.window[e.strstart+3-1]),r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-Yr&&(e.match_length=cn(e,r)),e.match_length>=3)if(n=Ir(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=tn(e,e.ins_h,e.window[e.strstart+3-1]),r=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=tn(e,e.ins_h,e.window[e.strstart+1]);else n=Ir(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(nn(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===Ar?(nn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(nn(e,!1),0===e.strm.avail_out)?1:2},_n=(e,t)=>{let r,n,i;for(;;){if(e.lookahead<Yr){if(un(e),e.lookahead<Yr&&t===Lr)return 1;if(0===e.lookahead)break}if(r=0,e.lookahead>=3&&(e.ins_h=tn(e,e.ins_h,e.window[e.strstart+3-1]),r=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!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-Yr&&(e.match_length=cn(e,r),e.match_length<=5&&(e.strategy===Br||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,n=Ir(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=tn(e,e.ins_h,e.window[e.strstart+3-1]),r=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&&(nn(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if(n=Ir(e,0,e.window[e.strstart-1]),n&&nn(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=Ir(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===Ar?(nn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(nn(e,!1),0===e.strm.avail_out)?1:2};function pn(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}const fn=[new pn(0,0,0,0,ln),new pn(4,4,8,4,dn),new pn(4,5,16,8,dn),new pn(4,6,32,32,dn),new pn(4,4,16,16,_n),new pn(8,16,32,32,_n),new pn(8,16,128,128,_n),new pn(8,32,128,256,_n),new pn(32,128,258,1024,_n),new pn(32,258,258,4096,_n)];function hn(){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=Kr,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),$r(this.dyn_ltree),$r(this.dyn_dtree),$r(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),$r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),$r(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 bn=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==zr&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==qr&&t.status!==Qr?1:0},Rn=e=>{if(bn(e))return Zr(e,Ur);e.total_in=e.total_out=0,e.data_type=Hr;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?zr:qr,e.adler=2===t.wrap?0:1,t.last_flush=-2,Tr(t),Dr},gn=e=>{const t=Rn(e);return t===Dr&&(e=>{e.window_size=2*e.w_size,$r(e.head),e.max_lazy_match=fn[e.level].max_lazy,e.good_match=fn[e.level].good_length,e.nice_match=fn[e.level].nice_length,e.max_chain_length=fn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=2,e.match_available=0,e.ins_h=0})(e.state),t},mn=(e,t,r,n,i,o)=>{if(!e)return Ur;let a=1;if(t===jr&&(t=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),i<1||i>9||r!==Kr||n<8||n>15||t<0||t>9||o<0||o>Jr||8===n&&1!==a)return Zr(e,Ur);8===n&&(n=9);const s=new hn;return e.state=s,s.strm=e,s.status=zr,s.wrap=a,s.gzhead=null,s.w_bits=n,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=i+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+3-1)/3),s.window=new Uint8Array(2*s.w_size),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=3*(s.lit_bufsize-1),s.level=t,s.strategy=o,s.method=r,gn(e)};var Cn=(e,t)=>{if(bn(e)||t>wr||t<0)return e?Zr(e,Ur):Ur;const r=e.state;if(!e.output||0!==e.avail_in&&!e.input||r.status===Qr&&t!==Ar)return Zr(e,0===e.avail_out?xr:Ur);const n=r.last_flush;if(r.last_flush=t,0!==r.pending){if(rn(e),0===e.avail_out)return r.last_flush=-1,Dr}else if(0===e.avail_in&&Xr(t)<=Xr(n)&&t!==Ar)return Zr(e,xr);if(r.status===Qr&&0!==e.avail_in)return Zr(e,xr);if(r.status===zr&&0===r.wrap&&(r.status=qr),r.status===zr){let t=Kr+(r.w_bits-8<<4)<<8,n=-1;if(n=r.strategy>=Vr||r.level<2?0:r.level<6?1:6===r.level?2:3,t|=n<<6,0!==r.strstart&&(t|=32),t+=31-t%31,an(r,t),0!==r.strstart&&(an(r,e.adler>>>16),an(r,65535&e.adler)),e.adler=1,r.status=qr,rn(e),0!==r.pending)return r.last_flush=-1,Dr}if(57===r.status)if(e.adler=0,on(r,31),on(r,139),on(r,8),r.gzhead)on(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),on(r,255&r.gzhead.time),on(r,r.gzhead.time>>8&255),on(r,r.gzhead.time>>16&255),on(r,r.gzhead.time>>24&255),on(r,9===r.level?2:r.strategy>=Vr||r.level<2?4:0),on(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(on(r,255&r.gzhead.extra.length),on(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=Cr(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(on(r,0),on(r,0),on(r,0),on(r,0),on(r,0),on(r,9===r.level?2:r.strategy>=Vr||r.level<2?4:0),on(r,3),r.status=qr,rn(e),0!==r.pending)return r.last_flush=-1,Dr;if(69===r.status){if(r.gzhead.extra){let t=r.pending,n=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+n>r.pending_buf_size;){let i=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>t&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-t,t)),r.gzindex+=i,rn(e),0!==r.pending)return r.last_flush=-1,Dr;t=0,n-=i}let i=new Uint8Array(r.gzhead.extra);r.pending_buf.set(i.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending+=n,r.gzhead.hcrc&&r.pending>t&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-t,t)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let t,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-n,n)),rn(e),0!==r.pending)return r.last_flush=-1,Dr;n=0}t=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,on(r,t)}while(0!==t);r.gzhead.hcrc&&r.pending>n&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-n,n)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let t,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-n,n)),rn(e),0!==r.pending)return r.last_flush=-1,Dr;n=0}t=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,on(r,t)}while(0!==t);r.gzhead.hcrc&&r.pending>n&&(e.adler=Cr(e.adler,r.pending_buf,r.pending-n,n))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(rn(e),0!==r.pending))return r.last_flush=-1,Dr;on(r,255&e.adler),on(r,e.adler>>8&255),e.adler=0}if(r.status=qr,rn(e),0!==r.pending)return r.last_flush=-1,Dr}if(0!==e.avail_in||0!==r.lookahead||t!==Lr&&r.status!==Qr){let n=0===r.level?ln(r,t):r.strategy===Vr?((e,t)=>{let r;for(;;){if(0===e.lookahead&&(un(e),0===e.lookahead)){if(t===Lr)return 1;break}if(e.match_length=0,r=Ir(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(nn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Ar?(nn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(nn(e,!1),0===e.strm.avail_out)?1:2})(r,t):r.strategy===Fr?((e,t)=>{let r,n,i,o;const a=e.window;for(;;){if(e.lookahead<=Wr){if(un(e),e.lookahead<=Wr&&t===Lr)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(i=e.strstart-1,n=a[i],n===a[++i]&&n===a[++i]&&n===a[++i])){o=e.strstart+Wr;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<o);e.match_length=Wr-(o-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(r=Ir(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=Ir(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(nn(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Ar?(nn(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(nn(e,!1),0===e.strm.avail_out)?1:2})(r,t):fn[r.level].func(r,t);if(3!==n&&4!==n||(r.status=Qr),1===n||3===n)return 0===e.avail_out&&(r.last_flush=-1),Dr;if(2===n&&(t===Pr?yr(r):t!==wr&&(Er(r,0,0,!1),t===Nr&&($r(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),rn(e),0===e.avail_out))return r.last_flush=-1,Dr}return t!==Ar?Dr:r.wrap<=0?kr:(2===r.wrap?(on(r,255&e.adler),on(r,e.adler>>8&255),on(r,e.adler>>16&255),on(r,e.adler>>24&255),on(r,255&e.total_in),on(r,e.total_in>>8&255),on(r,e.total_in>>16&255),on(r,e.total_in>>24&255)):(an(r,e.adler>>>16),an(r,65535&e.adler)),rn(e),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?Dr:kr)},vn=(e,t)=>{let r=t.length;if(bn(e))return Ur;const n=e.state,i=n.wrap;if(2===i||1===i&&n.status!==zr||n.lookahead)return Ur;if(1===i&&(e.adler=gr(e.adler,t,r,0)),n.wrap=0,r>=n.w_size){0===i&&($r(n.head),n.strstart=0,n.block_start=0,n.insert=0);let e=new Uint8Array(n.w_size);e.set(t.subarray(r-n.w_size,r),0),t=e,r=n.w_size}const o=e.avail_in,a=e.next_in,s=e.input;for(e.avail_in=r,e.next_in=0,e.input=t,un(n);n.lookahead>=3;){let e=n.strstart,t=n.lookahead-2;do{n.ins_h=tn(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,un(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=a,e.input=s,e.avail_in=o,n.wrap=i,Dr},On={deflateInit:(e,t)=>mn(e,t,Kr,15,8,Gr),deflateInit2:mn,deflateReset:gn,deflateResetKeep:Rn,deflateSetHeader:(e,t)=>bn(e)||2!==e.state.wrap?Ur:(e.state.gzhead=t,Dr),deflate:Cn,deflateEnd:e=>{if(bn(e))return Ur;const t=e.state.status;return e.state=null,t===qr?Zr(e,Mr):Dr},deflateSetDictionary:vn,deflateInfo:"pako deflate (from Nodeca project)"};const Tn=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var En=function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const t in r)Tn(r,t)&&(e[t]=r[t])}}return e},Sn=e=>{let t=0;for(let r=0,n=e.length;r<n;r++)t+=e[r].length;const r=new Uint8Array(t);for(let t=0,n=0,i=e.length;t<i;t++){let i=e[t];r.set(i,n),n+=i.length}return r};let In=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){In=!1}const yn=new Uint8Array(256);for(let e=0;e<256;e++)yn[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;yn[254]=yn[254]=1;var Ln=e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,r,n,i,o,a=e.length,s=0;for(i=0;i<a;i++)r=e.charCodeAt(i),55296==(64512&r)&&i+1<a&&(n=e.charCodeAt(i+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),i++)),s+=r<128?1:r<2048?2:r<65536?3:4;for(t=new Uint8Array(s),o=0,i=0;o<s;i++)r=e.charCodeAt(i),55296==(64512&r)&&i+1<a&&(n=e.charCodeAt(i+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),i++)),r<128?t[o++]=r:r<2048?(t[o++]=192|r>>>6,t[o++]=128|63&r):r<65536?(t[o++]=224|r>>>12,t[o++]=128|r>>>6&63,t[o++]=128|63&r):(t[o++]=240|r>>>18,t[o++]=128|r>>>12&63,t[o++]=128|r>>>6&63,t[o++]=128|63&r);return t},Pn=(e,t)=>{const r=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));let n,i;const o=new Array(2*r);for(i=0,n=0;n<r;){let t=e[n++];if(t<128){o[i++]=t;continue}let a=yn[t];if(a>4)o[i++]=65533,n+=a-1;else{for(t&=2===a?31:3===a?15:7;a>1&&n<r;)t=t<<6|63&e[n++],a--;a>1?o[i++]=65533:t<65536?o[i++]=t:(t-=65536,o[i++]=55296|t>>10&1023,o[i++]=56320|1023&t)}}return((e,t)=>{if(t<65534&&e.subarray&&In)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let r="";for(let n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r})(o,i)},Nn=(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let r=t-1;for(;r>=0&&128==(192&e[r]);)r--;return r<0||0===r?t:r+yn[e[r]]>t?r:t};var An=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};const wn=Object.prototype.toString,{Z_NO_FLUSH:Dn,Z_SYNC_FLUSH:kn,Z_FULL_FLUSH:Un,Z_FINISH:Mn,Z_OK:xn,Z_STREAM_END:jn,Z_DEFAULT_COMPRESSION:Bn,Z_DEFAULT_STRATEGY:Vn,Z_DEFLATED:Fn}=Or;function Jn(e){this.options=En({level:Bn,method:Fn,chunkSize:16384,windowBits:15,memLevel:8,strategy:Vn},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 An,this.strm.avail_out=0;let r=On.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==xn)throw new Error(vr[r]);if(t.header&&On.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e="string"==typeof t.dictionary?Ln(t.dictionary):"[object ArrayBuffer]"===wn.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,r=On.deflateSetDictionary(this.strm,e),r!==xn)throw new Error(vr[r]);this._dict_set=!0}}function Gn(e,t){const r=new Jn(t);if(r.push(e,!0),r.err)throw r.msg||vr[r.err];return r.result}Jn.prototype.push=function(e,t){const r=this.strm,n=this.options.chunkSize;let i,o;if(this.ended)return!1;for(o=t===~~t?t:!0===t?Mn:Dn,"string"==typeof e?r.input=Ln(e):"[object ArrayBuffer]"===wn.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),(o===kn||o===Un)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(i=On.deflate(r,o),i===jn)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),i=On.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===xn;if(0!==r.avail_out){if(o>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},Jn.prototype.onData=function(e){this.chunks.push(e)},Jn.prototype.onEnd=function(e){e===xn&&(this.result=Sn(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var Hn={Deflate:Jn,deflate:Gn,deflateRaw:function(e,t){return(t=t||{}).raw=!0,Gn(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,Gn(e,t)},constants:Or};const Kn=16209;var Wn=function(e,t){let r,n,i,o,a,s,c,u,l,d,_,p,f,h,b,R,g,m,C,v,O,T,E,S;const I=e.state;r=e.next_in,E=e.input,n=r+(e.avail_in-5),i=e.next_out,S=e.output,o=i-(t-e.avail_out),a=i+(e.avail_out-257),s=I.dmax,c=I.wsize,u=I.whave,l=I.wnext,d=I.window,_=I.hold,p=I.bits,f=I.lencode,h=I.distcode,b=(1<<I.lenbits)-1,R=(1<<I.distbits)-1;e:do{p<15&&(_+=E[r++]<<p,p+=8,_+=E[r++]<<p,p+=8),g=f[_&b];t:for(;;){if(m=g>>>24,_>>>=m,p-=m,m=g>>>16&255,0===m)S[i++]=65535&g;else{if(!(16&m)){if(64&m){if(32&m){I.mode=16191;break e}e.msg="invalid literal/length code",I.mode=Kn;break e}g=f[(65535&g)+(_&(1<<m)-1)];continue t}for(C=65535&g,m&=15,m&&(p<m&&(_+=E[r++]<<p,p+=8),C+=_&(1<<m)-1,_>>>=m,p-=m),p<15&&(_+=E[r++]<<p,p+=8,_+=E[r++]<<p,p+=8),g=h[_&R];;){if(m=g>>>24,_>>>=m,p-=m,m=g>>>16&255,16&m){if(v=65535&g,m&=15,p<m&&(_+=E[r++]<<p,p+=8,p<m&&(_+=E[r++]<<p,p+=8)),v+=_&(1<<m)-1,v>s){e.msg="invalid distance too far back",I.mode=Kn;break e}if(_>>>=m,p-=m,m=i-o,v>m){if(m=v-m,m>u&&I.sane){e.msg="invalid distance too far back",I.mode=Kn;break e}if(O=0,T=d,0===l){if(O+=c-m,m<C){C-=m;do{S[i++]=d[O++]}while(--m);O=i-v,T=S}}else if(l<m){if(O+=c+l-m,m-=l,m<C){C-=m;do{S[i++]=d[O++]}while(--m);if(O=0,l<C){m=l,C-=m;do{S[i++]=d[O++]}while(--m);O=i-v,T=S}}}else if(O+=l-m,m<C){C-=m;do{S[i++]=d[O++]}while(--m);O=i-v,T=S}for(;C>2;)S[i++]=T[O++],S[i++]=T[O++],S[i++]=T[O++],C-=3;C&&(S[i++]=T[O++],C>1&&(S[i++]=T[O++]))}else{O=i-v;do{S[i++]=S[O++],S[i++]=S[O++],S[i++]=S[O++],C-=3}while(C>2);C&&(S[i++]=S[O++],C>1&&(S[i++]=S[O++]))}break}if(64&m){e.msg="invalid distance code",I.mode=Kn;break e}g=h[(65535&g)+(_&(1<<m)-1)]}}break}}while(r<n&&i<a);C=p>>3,r-=C,p-=C<<3,_&=(1<<p)-1,e.next_in=r,e.next_out=i,e.avail_in=r<n?n-r+5:5-(r-n),e.avail_out=i<a?a-i+257:257-(i-a),I.hold=_,I.bits=p};const Yn=15,zn=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]),qn=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]),Qn=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]),Zn=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]);var Xn=(e,t,r,n,i,o,a,s)=>{const c=s.bits;let u,l,d,_,p,f,h=0,b=0,R=0,g=0,m=0,C=0,v=0,O=0,T=0,E=0,S=null;const I=new Uint16Array(16),y=new Uint16Array(16);let L,P,N,A=null;for(h=0;h<=Yn;h++)I[h]=0;for(b=0;b<n;b++)I[t[r+b]]++;for(m=c,g=Yn;g>=1&&0===I[g];g--);if(m>g&&(m=g),0===g)return i[o++]=20971520,i[o++]=20971520,s.bits=1,0;for(R=1;R<g&&0===I[R];R++);for(m<R&&(m=R),O=1,h=1;h<=Yn;h++)if(O<<=1,O-=I[h],O<0)return-1;if(O>0&&(0===e||1!==g))return-1;for(y[1]=0,h=1;h<Yn;h++)y[h+1]=y[h]+I[h];for(b=0;b<n;b++)0!==t[r+b]&&(a[y[t[r+b]]++]=b);if(0===e?(S=A=a,f=20):1===e?(S=zn,A=qn,f=257):(S=Qn,A=Zn,f=0),E=0,b=0,h=R,p=o,C=m,v=0,d=-1,T=1<<m,_=T-1,1===e&&T>852||2===e&&T>592)return 1;for(;;){L=h-v,a[b]+1<f?(P=0,N=a[b]):a[b]>=f?(P=A[a[b]-f],N=S[a[b]-f]):(P=96,N=0),u=1<<h-v,l=1<<C,R=l;do{l-=u,i[p+(E>>v)+l]=L<<24|P<<16|N}while(0!==l);for(u=1<<h-1;E&u;)u>>=1;if(0!==u?(E&=u-1,E+=u):E=0,b++,0==--I[h]){if(h===g)break;h=t[r+a[b]]}if(h>m&&(E&_)!==d){for(0===v&&(v=m),p+=R,C=h-v,O=1<<C;C+v<g&&(O-=I[C+v],!(O<=0));)C++,O<<=1;if(T+=1<<C,1===e&&T>852||2===e&&T>592)return 1;d=E&_,i[d]=m<<24|C<<16|p-o}}return 0!==E&&(i[p+E]=h-v<<24|64<<16),s.bits=m,0};const{Z_FINISH:$n,Z_BLOCK:ei,Z_TREES:ti,Z_OK:ri,Z_STREAM_END:ni,Z_NEED_DICT:ii,Z_STREAM_ERROR:oi,Z_DATA_ERROR:ai,Z_MEM_ERROR:si,Z_BUF_ERROR:ci,Z_DEFLATED:ui}=Or,li=16180,di=16190,_i=16191,pi=16192,fi=16194,hi=16199,bi=16200,Ri=16206,gi=16209,mi=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function Ci(){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 vi=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<li||t.mode>16211?1:0},Oi=e=>{if(vi(e))return oi;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=li,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,ri},Ti=e=>{if(vi(e))return oi;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Oi(e)},Ei=(e,t)=>{let r;if(vi(e))return oi;const n=e.state;return t<0?(r=0,t=-t):(r=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?oi:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,Ti(e))},Si=(e,t)=>{if(!e)return oi;const r=new Ci;e.state=r,r.strm=e,r.window=null,r.mode=li;const n=Ei(e,t);return n!==ri&&(e.state=null),n};let Ii,yi,Li=!0;const Pi=e=>{if(Li){Ii=new Int32Array(512),yi=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(Xn(1,e.lens,0,288,Ii,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Xn(2,e.lens,0,32,yi,0,e.work,{bits:5}),Li=!1}e.lencode=Ii,e.lenbits=9,e.distcode=yi,e.distbits=5},Ni=(e,t,r,n)=>{let i;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(r-o.wsize,r),0),o.wnext=0,o.whave=o.wsize):(i=o.wsize-o.wnext,i>n&&(i=n),o.window.set(t.subarray(r-n,r-n+i),o.wnext),(n-=i)?(o.window.set(t.subarray(r-n,r),0),o.wnext=n,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=i))),0};var Ai=(e,t)=>{let r,n,i,o,a,s,c,u,l,d,_,p,f,h,b,R,g,m,C,v,O,T,E=0;const S=new Uint8Array(4);let I,y;const L=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(vi(e)||!e.output||!e.input&&0!==e.avail_in)return oi;r=e.state,r.mode===_i&&(r.mode=pi),a=e.next_out,i=e.output,c=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,u=r.hold,l=r.bits,d=s,_=c,T=ri;e:for(;;)switch(r.mode){case li:if(0===r.wrap){r.mode=pi;break}for(;l<16;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(2&r.wrap&&35615===u){0===r.wbits&&(r.wbits=15),r.check=0,S[0]=255&u,S[1]=u>>>8&255,r.check=Cr(r.check,S,2,0),u=0,l=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=gi;break}if((15&u)!==ui){e.msg="unknown compression method",r.mode=gi;break}if(u>>>=4,l-=4,O=8+(15&u),0===r.wbits&&(r.wbits=O),O>15||O>r.wbits){e.msg="invalid window size",r.mode=gi;break}r.dmax=1<<r.wbits,r.flags=0,e.adler=r.check=1,r.mode=512&u?16189:_i,u=0,l=0;break;case 16181:for(;l<16;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(r.flags=u,(255&r.flags)!==ui){e.msg="unknown compression method",r.mode=gi;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=gi;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&4&r.wrap&&(S[0]=255&u,S[1]=u>>>8&255,r.check=Cr(r.check,S,2,0)),u=0,l=0,r.mode=16182;case 16182:for(;l<32;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&4&r.wrap&&(S[0]=255&u,S[1]=u>>>8&255,S[2]=u>>>16&255,S[3]=u>>>24&255,r.check=Cr(r.check,S,4,0)),u=0,l=0,r.mode=16183;case 16183:for(;l<16;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&4&r.wrap&&(S[0]=255&u,S[1]=u>>>8&255,r.check=Cr(r.check,S,2,0)),u=0,l=0,r.mode=16184;case 16184:if(1024&r.flags){for(;l<16;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&4&r.wrap&&(S[0]=255&u,S[1]=u>>>8&255,r.check=Cr(r.check,S,2,0)),u=0,l=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(p=r.length,p>s&&(p=s),p&&(r.head&&(O=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(n.subarray(o,o+p),O)),512&r.flags&&4&r.wrap&&(r.check=Cr(r.check,n,p,o)),s-=p,o+=p,r.length-=p),r.length))break e;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===s)break e;p=0;do{O=n[o+p++],r.head&&O&&r.length<65536&&(r.head.name+=String.fromCharCode(O))}while(O&&p<s);if(512&r.flags&&4&r.wrap&&(r.check=Cr(r.check,n,p,o)),s-=p,o+=p,O)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=16187;case 16187:if(4096&r.flags){if(0===s)break e;p=0;do{O=n[o+p++],r.head&&O&&r.length<65536&&(r.head.comment+=String.fromCharCode(O))}while(O&&p<s);if(512&r.flags&&4&r.wrap&&(r.check=Cr(r.check,n,p,o)),s-=p,o+=p,O)break e}else r.head&&(r.head.comment=null);r.mode=16188;case 16188:if(512&r.flags){for(;l<16;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(4&r.wrap&&u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=gi;break}u=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=_i;break;case 16189:for(;l<32;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}e.adler=r.check=mi(u),u=0,l=0,r.mode=di;case di:if(0===r.havedict)return e.next_out=a,e.avail_out=c,e.next_in=o,e.avail_in=s,r.hold=u,r.bits=l,ii;e.adler=r.check=1,r.mode=_i;case _i:if(t===ei||t===ti)break e;case pi:if(r.last){u>>>=7&l,l-=7&l,r.mode=Ri;break}for(;l<3;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}switch(r.last=1&u,u>>>=1,l-=1,3&u){case 0:r.mode=16193;break;case 1:if(Pi(r),r.mode=hi,t===ti){u>>>=2,l-=2;break e}break;case 2:r.mode=16196;break;case 3:e.msg="invalid block type",r.mode=gi}u>>>=2,l-=2;break;case 16193:for(u>>>=7&l,l-=7&l;l<32;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=gi;break}if(r.length=65535&u,u=0,l=0,r.mode=fi,t===ti)break e;case fi:r.mode=16195;case 16195:if(p=r.length,p){if(p>s&&(p=s),p>c&&(p=c),0===p)break e;i.set(n.subarray(o,o+p),a),s-=p,o+=p,c-=p,a+=p,r.length-=p;break}r.mode=_i;break;case 16196:for(;l<14;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=gi;break}r.have=0,r.mode=16197;case 16197:for(;r.have<r.ncode;){for(;l<3;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.lens[L[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[L[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,I={bits:r.lenbits},T=Xn(0,r.lens,0,19,r.lencode,0,r.work,I),r.lenbits=I.bits,T){e.msg="invalid code lengths set",r.mode=gi;break}r.have=0,r.mode=16198;case 16198:for(;r.have<r.nlen+r.ndist;){for(;E=r.lencode[u&(1<<r.lenbits)-1],b=E>>>24,R=E>>>16&255,g=65535&E,!(b<=l);){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(g<16)u>>>=b,l-=b,r.lens[r.have++]=g;else{if(16===g){for(y=b+2;l<y;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(u>>>=b,l-=b,0===r.have){e.msg="invalid bit length repeat",r.mode=gi;break}O=r.lens[r.have-1],p=3+(3&u),u>>>=2,l-=2}else if(17===g){for(y=b+3;l<y;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}u>>>=b,l-=b,O=0,p=3+(7&u),u>>>=3,l-=3}else{for(y=b+7;l<y;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}u>>>=b,l-=b,O=0,p=11+(127&u),u>>>=7,l-=7}if(r.have+p>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=gi;break}for(;p--;)r.lens[r.have++]=O}}if(r.mode===gi)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=gi;break}if(r.lenbits=9,I={bits:r.lenbits},T=Xn(1,r.lens,0,r.nlen,r.lencode,0,r.work,I),r.lenbits=I.bits,T){e.msg="invalid literal/lengths set",r.mode=gi;break}if(r.distbits=6,r.distcode=r.distdyn,I={bits:r.distbits},T=Xn(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,I),r.distbits=I.bits,T){e.msg="invalid distances set",r.mode=gi;break}if(r.mode=hi,t===ti)break e;case hi:r.mode=bi;case bi:if(s>=6&&c>=258){e.next_out=a,e.avail_out=c,e.next_in=o,e.avail_in=s,r.hold=u,r.bits=l,Wn(e,_),a=e.next_out,i=e.output,c=e.avail_out,o=e.next_in,n=e.input,s=e.avail_in,u=r.hold,l=r.bits,r.mode===_i&&(r.back=-1);break}for(r.back=0;E=r.lencode[u&(1<<r.lenbits)-1],b=E>>>24,R=E>>>16&255,g=65535&E,!(b<=l);){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(R&&!(240&R)){for(m=b,C=R,v=g;E=r.lencode[v+((u&(1<<m+C)-1)>>m)],b=E>>>24,R=E>>>16&255,g=65535&E,!(m+b<=l);){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}u>>>=m,l-=m,r.back+=m}if(u>>>=b,l-=b,r.back+=b,r.length=g,0===R){r.mode=16205;break}if(32&R){r.back=-1,r.mode=_i;break}if(64&R){e.msg="invalid literal/length code",r.mode=gi;break}r.extra=15&R,r.mode=16201;case 16201:if(r.extra){for(y=r.extra;l<y;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;E=r.distcode[u&(1<<r.distbits)-1],b=E>>>24,R=E>>>16&255,g=65535&E,!(b<=l);){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(!(240&R)){for(m=b,C=R,v=g;E=r.distcode[v+((u&(1<<m+C)-1)>>m)],b=E>>>24,R=E>>>16&255,g=65535&E,!(m+b<=l);){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}u>>>=m,l-=m,r.back+=m}if(u>>>=b,l-=b,r.back+=b,64&R){e.msg="invalid distance code",r.mode=gi;break}r.offset=g,r.extra=15&R,r.mode=16203;case 16203:if(r.extra){for(y=r.extra;l<y;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=gi;break}r.mode=16204;case 16204:if(0===c)break e;if(p=_-c,r.offset>p){if(p=r.offset-p,p>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=gi;break}p>r.wnext?(p-=r.wnext,f=r.wsize-p):f=r.wnext-p,p>r.length&&(p=r.length),h=r.window}else h=i,f=a-r.offset,p=r.length;p>c&&(p=c),c-=p,r.length-=p;do{i[a++]=h[f++]}while(--p);0===r.length&&(r.mode=bi);break;case 16205:if(0===c)break e;i[a++]=r.length,c--,r.mode=bi;break;case Ri:if(r.wrap){for(;l<32;){if(0===s)break e;s--,u|=n[o++]<<l,l+=8}if(_-=c,e.total_out+=_,r.total+=_,4&r.wrap&&_&&(e.adler=r.check=r.flags?Cr(r.check,i,_,a-_):gr(r.check,i,_,a-_)),_=c,4&r.wrap&&(r.flags?u:mi(u))!==r.check){e.msg="incorrect data check",r.mode=gi;break}u=0,l=0}r.mode=16207;case 16207:if(r.wrap&&r.flags){for(;l<32;){if(0===s)break e;s--,u+=n[o++]<<l,l+=8}if(4&r.wrap&&u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=gi;break}u=0,l=0}r.mode=16208;case 16208:T=ni;break e;case gi:T=ai;break e;case 16210:return si;default:return oi}return e.next_out=a,e.avail_out=c,e.next_in=o,e.avail_in=s,r.hold=u,r.bits=l,(r.wsize||_!==e.avail_out&&r.mode<gi&&(r.mode<Ri||t!==$n))&&Ni(e,e.output,e.next_out,_-e.avail_out),d-=e.avail_in,_-=e.avail_out,e.total_in+=d,e.total_out+=_,r.total+=_,4&r.wrap&&_&&(e.adler=r.check=r.flags?Cr(r.check,i,_,e.next_out-_):gr(r.check,i,_,e.next_out-_)),e.data_type=r.bits+(r.last?64:0)+(r.mode===_i?128:0)+(r.mode===hi||r.mode===fi?256:0),(0===d&&0===_||t===$n)&&T===ri&&(T=ci),T},wi={inflateReset:Ti,inflateReset2:Ei,inflateResetKeep:Oi,inflateInit:e=>Si(e,15),inflateInit2:Si,inflate:Ai,inflateEnd:e=>{if(vi(e))return oi;let t=e.state;return t.window&&(t.window=null),e.state=null,ri},inflateGetHeader:(e,t)=>{if(vi(e))return oi;const r=e.state;return 2&r.wrap?(r.head=t,t.done=!1,ri):oi},inflateSetDictionary:(e,t)=>{const r=t.length;let n,i,o;return vi(e)?oi:(n=e.state,0!==n.wrap&&n.mode!==di?oi:n.mode===di&&(i=1,i=gr(i,t,r,0),i!==n.check)?ai:(o=Ni(e,t,r,r),o?(n.mode=16210,si):(n.havedict=1,ri)))},inflateInfo:"pako inflate (from Nodeca project)"};var Di=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};const ki=Object.prototype.toString,{Z_NO_FLUSH:Ui,Z_FINISH:Mi,Z_OK:xi,Z_STREAM_END:ji,Z_NEED_DICT:Bi,Z_STREAM_ERROR:Vi,Z_DATA_ERROR:Fi,Z_MEM_ERROR:Ji}=Or;function Gi(e){this.options=En({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 An,this.strm.avail_out=0;let r=wi.inflateInit2(this.strm,t.windowBits);if(r!==xi)throw new Error(vr[r]);if(this.header=new Di,wi.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=Ln(t.dictionary):"[object ArrayBuffer]"===ki.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=wi.inflateSetDictionary(this.strm,t.dictionary),r!==xi)))throw new Error(vr[r])}Gi.prototype.push=function(e,t){const r=this.strm,n=this.options.chunkSize,i=this.options.dictionary;let o,a,s;if(this.ended)return!1;for(a=t===~~t?t:!0===t?Mi:Ui,"[object ArrayBuffer]"===ki.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),o=wi.inflate(r,a),o===Bi&&i&&(o=wi.inflateSetDictionary(r,i),o===xi?o=wi.inflate(r,a):o===Fi&&(o=Bi));r.avail_in>0&&o===ji&&r.state.wrap>0&&0!==e[r.next_in];)wi.inflateReset(r),o=wi.inflate(r,a);switch(o){case Vi:case Fi:case Bi:case Ji:return this.onEnd(o),this.ended=!0,!1}if(s=r.avail_out,r.next_out&&(0===r.avail_out||o===ji))if("string"===this.options.to){let e=Nn(r.output,r.next_out),t=r.next_out-e,i=Pn(r.output,e);r.next_out=t,r.avail_out=n-t,t&&r.output.set(r.output.subarray(e,e+t),0),this.onData(i)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(o!==xi||0!==s){if(o===ji)return o=wi.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},Gi.prototype.onData=function(e){this.chunks.push(e)},Gi.prototype.onEnd=function(e){e===xi&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Sn(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};const{Deflate:Hi,deflate:Ki,deflateRaw:Wi,gzip:Yi}=Hn;var zi=Yi;var qi,Qi=-1,Zi=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))},Xi=function(t,r,n){return s(void 0,void 0,void 0,(function(){var i;return c(this,(function(o){return i=[],[2,new Promise((function(o,a){t.forEach((function(t){return s(void 0,void 0,void 0,(function(){var a,s,u;return c(this,(function(c){switch(c.label){case 0:return a=t.detectorAddr.replace(/^(https?:\/\/)?/,"https://"),s="".concat(a,"/rtc/detector/ping?t=").concat((d=9999,(l=1e3)+Math.floor(Math.random()*(d-l)))),u={jwt:n},[4,r.httpReq({url:s,body:JSON.stringify(u),timeout:5e3,method:e.HttpMethod.POST})];case 1:return 200===c.sent().status&&i.push(t.clusterId),o(i),[2]}var l,d}))}))}))}))]}))}))},$i=function(t,r,n){return s(void 0,void 0,void 0,(function(){var o,a,s,u,l,d,_,p;return c(this,(function(c){switch(c.label){case 0:return o=function(e,t){var r,n;if(!t)return"";try{n=JSON.parse(t.voipCallInfo||'{ "strategy": 0 }')}catch(r){return e.warn(i.L_MEDIA_SERVICE_PARSE_NAVI_CALLVOIP_INFO_O,"parse `voipCallInfo` of navi failed: ".concat(t.voipCallInfo)),""}if(0===n.strategy)return"";var o=null===(r=n.callEngine)||void 0===r?void 0:r.filter((function(e){return 4===e.engineType}));if(!o||0===o.length)return"";var a=o[0];return a.detectorManager?a.detectorManager:""}(r,n),a=(f=n)&&f.jwt||"",s=null,u=120,l=0,d={jwt:a},o&&a?[4,t.httpReq({url:"".concat(o,"/rtc/detector/servers"),body:JSON.stringify(d),headers:{"Content-Type":"application/json;charset=UTF-8","Cache-Control":"no-cache",ClientType:"web|".concat(Ct.browser,"|").concat(Ct.version),ClientVersion:"5.7.5-alpha.5","Client-Session-Id":Zi(),"Request-Id":Date.now().toString()},method:e.HttpMethod.POST})]:[3,3];case 1:return _=c.sent(),p=_.data&&JSON.parse(_.data).detectorAddrs,u=_.data&&JSON.parse(_.data).clientDetectMinute,l=_.data&&JSON.parse(_.data).resultCode,p&&e.isArray(p)?[4,Xi(p,t,a)]:[3,3];case 2:s=c.sent(),c.label=3;case 3:return[2,{fastMediaUrl:s,clientDetectMinute:u,status:l}]}var f}))}))},eo=function(){return{"Content-Type":"application/json;charset=UTF-8","Cache-Control":"no-cache",ClientType:"web|".concat(Ct.browser,"|").concat(Ct.version),ClientVersion:"5.7.5-alpha.5","Client-Session-Id":Zi(),"Request-Id":Date.now().toString()}},to=function(){function t(r,n,i,o){void 0===o&&(o=5e3),Object.defineProperty(this,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_msUrl",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_timeout",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"_msInNavi",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_failedMs",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_rtcFinger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_clusterId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_configUrl",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_msList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_qualityMsList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._logger=this._context.logger,t.isDetector||n.getConnectionStatus()!==e.RCConnectionStatus.CONNECTED||this.detectorMediaSever()}return Object.defineProperty(t.prototype,"detectorMediaSever",{enumerable:!1,configurable:!0,writable:!0,value:function(){var r=this._context.getNaviInfo();if(t.jwtToken=(null==r?void 0:r.jwt)||"",!this._msUrl){var n=Date.now(),i=t.detectValidMinute+t.detectorTime>n;t.isDetector=i,!i&&r&&e.notEmptyObject(r)&&(this._msList=[],this._getDetectorUrls(r))}}}),Object.defineProperty(t.prototype,"_getDetectorUrls",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var r,n,i;return c(this,(function(o){switch(o.label){case 0:return t.isDetector?[2]:(t.isDetector=!0,[4,$i(this._runtime,this._logger,e)]);case 1:return r=o.sent(),n=r.fastMediaUrl,i=r.clientDetectMinute,r.status!==exports.RCRTCCode.JWT_TIME_OUT?[3,3]:[4,this._context.getPluginContext().refetchNaviInfo()];case 2:o.sent(),this.detectorMediaSever(),o.label=3;case 3:return t.msInDetector=n||[],t.detectorTime=Date.now(),t.detectValidMinute=60*i*1e3,[2]}}))}))}}),Object.defineProperty(t.prototype,"getNaviMS",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._msUrl?[this._msUrl]:(e.notEmptyArray(this._msList)&&!this._clusterId||(this._msList=this.setMediaServiceList()),this._msList)}}),Object.defineProperty(t.prototype,"setMediaServiceList",{enumerable:!1,configurable:!0,writable:!0,value:function(){var r,n,o,a=[];return this._clusterId&&(this._clusterId=this._clusterId.replace(/^(https?:\/\/)?/,"https://"),this._msList.unshift(this._clusterId)),e.notEmptyArray(t.msInDetector)&&(t.msInDetector=t.msInDetector.map((function(e){return e.replace(/^(https?:\/\/)?/,"https://")})),this._msList.push(t.msInDetector[0]),a=t.msInDetector.concat().splice(1,t.msInDetector.length-1)),0===this._msInNavi.length&&(0===this._failedMs.length?(r=this._msInNavi).push.apply(r,d([],l(function(e,t){var r,n;if(!e)return[];try{n=JSON.parse(e.voipCallInfo||'{ "strategy": 0 }')}catch(r){return t.warn(i.L_PARSE_VOIP_SERVER_CONF_E,e.voipCallInfo),[]}if(0===n.strategy)return[];var o=null===(r=n.callEngine)||void 0===r?void 0:r.filter((function(e){return 4===e.engineType}));if(!o||0===o.length)return[];var a=o[0],s=[];return a.mediaServer&&s.push(a.mediaServer.replace(/^(https?:\/\/)?/,"https://")),a.backupMediaServer&&a.backupMediaServer.forEach((function(e){s.push(e.replace(/^(https?:\/\/)?/,"https://"))})),s}(this._context.getNaviInfo(),this._logger)),!1)):((n=this._msInNavi).push.apply(n,d([],l(this._failedMs),!1)),this._failedMs.length=0)),o=this._msInNavi.concat().splice(1,this._msInNavi.length-1),this._msList.push(this._msInNavi[0]),this._msList=d(d(d([],l(this._msList),!1),l(a),!1),l(o),!1),this._msList=d([],l(new Set(this._msList)),!1),this._logger.info(i.L_MEDIA_SERVICE_MSLIST_CHANGE_O,"MediaServiceList msList -> ".concat(JSON.stringify(this._msList))),this._msList}}),Object.defineProperty(t.prototype,"_openGzip",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){for(var r=JSON.stringify(t),n=r.length,i=new Uint8Array(n),o=0;o<n;o++)i[o]=r.charCodeAt(o);var s;return{headers:e=a(a({},e),{"Content-Encoding":"gzip","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}),body:t=zi(i,s)}}}),Object.defineProperty(t.prototype,"_dealRequestSuccessResult",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=JSON.parse(e);return n.rtcFinger&&(this._rtcFinger=n.rtcFinger),n.clusterId&&(this._clusterId=n.clusterId),this._logger.info(i.L_MEDIA_SERVICE_REQUEST_R,JSON.stringify({status:o.SUCCESSED,url:t}),r),{code:exports.RCRTCCode.SUCCESS,data:n,qualityMsList:this._qualityMsList}}}),Object.defineProperty(t.prototype,"_request",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,u,_){var p;return s(this,void 0,void 0,(function(){var s,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L;return c(this,(function(c){switch(c.label){case 0:if(this._qualityMsList=[],s=(null===(p=this._context.getNaviInfo())||void 0===p?void 0:p.openGzip)||!1,f=s?this._openGzip(r,n):{headers:r,body:n},h=f.headers,b=f.body,0===(R=this.getNaviMS()).length)return this._logger.error(i.L_MEDIA_SERVICE_REQUEST_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER,msg:"have no valid service address"}),u),[2,{code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER}];this._rtcFinger&&(b.rtcFinger=this._rtcFinger),g=0,c.label=1;case 1:return g<R.length?(m=Date.now(),C="".concat(R[g]).concat(t),v=eo(),O=a(a({},v),h),T=/x-www-form-urlencoded/.test(O["Content-Type"])?b:JSON.stringify(b),E=v["Request-Id"],this._logger.info(i.L_MEDIA_SERVICE_REQUEST_T,JSON.stringify({url:C,"Request-Id":E}),u),[4,this._runtime.httpReq({url:C,body:T,headers:O,method:e.HttpMethod.POST,timeout:this._timeout})]):[3,4];case 2:if(S=c.sent(),I=S.status,y=S.data,_&&this._qualityMsList.push({rsdur:Date.now()-m,rsid:E,rscod:200===I?exports.RCRTCCode.SUCCESS:exports.RCRTCCode.REQUEST_FAILED,msa:C}),200===I)return[2,this._dealRequestSuccessResult(y,C,u)];(L=this._failedMs).push.apply(L,d([],l(this._msInNavi.splice(g,1)),!1)),this._logger.error(i.L_MEDIA_SERVICE_REQUEST_R,JSON.stringify({status:o.FAILED,msg:"request error -> Request-Id: ".concat(E,", status: ").concat(I,", url: ").concat(C),timeout:this._timeout}),u),c.label=3;case 3:return g+=1,[3,1];case 4:return[2,{code:exports.RCRTCCode.REQUEST_FAILED,qualityMsList:this._qualityMsList}]}}))}))}}),Object.defineProperty(t.prototype,"exchange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){var i;return s(this,void 0,void 0,(function(){var o,a;return c(this,(function(s){switch(s.label){case 0:return[4,this._request("/exchange",e,t,r,n)];case 1:return(o=s.sent()).code===exports.RCRTCCode.SUCCESS&&(null===(i=o.data)||void 0===i?void 0:i.resultCode)===exports.RCRTCCode.SUCCESS&&(a=o.data.urls)&&(this._configUrl=a.configUrl),[2,o]}}))}))}}),Object.defineProperty(t.prototype,"exit",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this._logger.createTraceId(),[4,this._request("/exit",e,{},t)];case 1:return[2,r.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"broadcastSubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this._logger.createTraceId();return this._request("/broadcast/subscribe",e,t,r,!0)}}),Object.defineProperty(t.prototype,"broadcastExit",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this._logger.createTraceId(),[4,this._request("/broadcast/exit",e,{},t,!0)];case 1:return[2,{code:r.sent().code}]}}))}))}}),Object.defineProperty(t.prototype,"setMcuConfig",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return s(this,void 0,void 0,(function(){var n,s,u,l,d,_,p,f,h,b,R;return c(this,(function(c){switch(c.label){case 0:return n=this._logger.createTraceId(),this._logger.info(i.L_MEDIA_SERVICE_SET_MCU_CONFIG_T,JSON.stringify({body:r}),n),this._configUrl?(s="".concat(this._configUrl.replace(/^(https?:\/\/)?/,"https://"),"/server/mcu/config"),u=eo(),l=a(a({},u),t),d=JSON.stringify(r),_=u["Request-Id"],[4,this._runtime.httpReq({url:s,headers:l,body:d,method:e.HttpMethod.POST})]):(this._logger.error(i.L_MEDIA_SERVICE_SET_MCU_CONFIG_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.MCU_SERVER_NOT_FOUND,msg:"MCU server not found"}),n),[2,{code:exports.RCRTCCode.MCU_SERVER_NOT_FOUND}]);case 1:return p=c.sent(),f=p.status,h=p.data,200===f?(b=JSON.parse(h),(R=b.resultCode)===exports.RCRTCCode.SUCCESS?this._logger.info(i.L_MEDIA_SERVICE_SET_MCU_CONFIG_R,JSON.stringify({status:o.SUCCESSED,"Request-Id":_}),n):this._logger.warn(i.L_MEDIA_SERVICE_SET_MCU_CONFIG_R,JSON.stringify({code:R,"Request-Id":_}),n),[2,{code:R,res:b}]):(this._logger.error(i.L_MEDIA_SERVICE_SET_MCU_CONFIG_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REQUEST_FAILED,msg:"request error -> Request-Id: ".concat(_,", status: ").concat(f,", url: ").concat(s)}),n),[2,{code:exports.RCRTCCode.REQUEST_FAILED}])}}))}))}}),Object.defineProperty(t.prototype,"getCDNResourceInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f;return c(this,(function(c){switch(c.label){case 0:return s=eo(),u=a(a({},s),t),l=s["Request-Id"],this._logger.info(i.L_MEDIA_SERVICE_GET_CDN_RESOURCE_INFO_T,"Request-Id: ".concat(l,", url: ").concat(r),n),[4,this._runtime.httpReq({url:r,headers:u,method:e.HttpMethod.GET})];case 1:return d=c.sent(),_=d.status,p=d.data,200===_?(f=JSON.parse(p),this._logger.info(i.L_MEDIA_SERVICE_GET_CDN_RESOURCE_INFO_R,JSON.stringify({status:o.SUCCESSED,cdnPlayerUrl:null==f?void 0:f.data.pull_url}),n),[2,{code:f.resultCode,res:f}]):(this._logger.info(i.L_MEDIA_SERVICE_GET_CDN_RESOURCE_INFO_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REQUEST_FAILED}),n),[2,{code:exports.RCRTCCode.REQUEST_FAILED}])}}))}))}}),Object.defineProperty(t,"isDetector",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(t,"msInDetector",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(t,"detectorTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(t,"detectValidMinute",{enumerable:!0,configurable:!0,writable:!0,value:72e5}),Object.defineProperty(t,"jwtToken",{enumerable:!0,configurable:!0,writable:!0,value:""}),t}();!function(e){e[e.NORMAL=1]="NORMAL",e[e.TINY=2]="TINY"}(qi||(qi={}));var ro,no=function(e,t){return Math.round(8*t/e)},io=function(e,t){void 0===t&&(t=2);var r=Math.pow(10,t);return Math.round(e*r)/r},oo=function(e,t){void 0===t&&(t=2),e>1&&(e=1);var r=Math.pow(10,t);return Math.round(e*r)},ao=function(e,t,r,n){if(0===t)return 0;if(!r||!n)return io(e/t,3);var i=t-n;if(0===i)return 0;var o=e-r;return o<0||i<0?0:io(o/i,3)},so=function(e){var t=e.jitter,r=e.rtt,n=e.packetsLostRate;return!St(t)||!St(r)||0!==n};!function(e){e.TRACK="track",e.STREAM="stream",e.MEDIASOURCE="media-source",e.INBOUNDRTP="inbound-rtp",e.OUTBOUNDRTP="outbound-rtp",e.REMOTEINBOUNDRTP="remote-inbound-rtp",e.PEERCONNECTION="peer-connection",e.TRANSPORT="transport",e.CERTIFICATE="certificate",e.CANDIDATEPAIR="candidate-pair",e.REMOTECANDIDATE="remote-candidate",e.LOCALCANDIDATE="local-candidate"}(ro||(ro={}));var co,uo,lo=function(){function e(e,t,r,n,i,o){Object.defineProperty(this,"_sdpStrategy",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_rtcPeerConn",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_sdpSemantics",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_currentUserId",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_store",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"_latestPacketsSent",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_latestBytesSent",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_latestBytesRecv",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_latestPacketsRecv",{enumerable:!0,configurable:!0,writable:!0,value:{}})}return Object.defineProperty(e.prototype,"getTrackIdByMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._sdpStrategy.getTrackIdByMid(e)}}),Object.defineProperty(e.prototype,"updateBytesSent",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,i;if(this._latestBytesSent[e]&&t<this._latestBytesSent[e].bytesSent&&this.clearLatestpacketsSent([e]),this._latestBytesSent[e]){var o=this._latestBytesSent[e];n=t-o.bytesSent,i=r-o.timestamp,this._latestBytesSent[e]={bytesSent:t,timestamp:r}}else n=t,i=1e3,this._latestBytesSent[e]={bytesSent:t,timestamp:r};return no(i,n)}}),Object.defineProperty(e.prototype,"updateBytesRecv",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,i;if(this._latestBytesRecv[e]&&t<this._latestBytesRecv[e].bytesRecv&&this.clearLatestPacketsRecv([e]),this._latestBytesRecv[e]){var o=this._latestBytesRecv[e];n=t-o.bytesRecv,i=r-o.timestamp,this._latestBytesRecv[e]={bytesRecv:t,timestamp:r}}else n=t,i=1e3,this._latestBytesRecv[e]={bytesRecv:t,timestamp:r};return no(i,n)}}),Object.defineProperty(e.prototype,"updateSenderPacketsLost",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n;if(Object.prototype.hasOwnProperty.call(this._latestPacketsSent[e],"packetsSent")){var i=this._latestPacketsSent[e],o=i.packetsLost,a=i.packetsSent;n=ao(t,r,o,a),this._latestPacketsSent[e].packetsLost=t,this._latestPacketsSent[e].packetsSent=o===t?a:r}else n=ao(t,r),this._latestPacketsSent[e].packetsLost=t,this._latestPacketsSent[e].packetsSent=r;return n}}),Object.defineProperty(e.prototype,"updateReceiverPacketsLost",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n;if(this._latestPacketsRecv[e]){var i=this._latestPacketsRecv[e],o=i.packetsLost,a=i.packetsRecv;n=ao(t,r+t,o,a+o)}else n=ao(t,r);return this._latestPacketsRecv[e]={packetsLost:t,packetsRecv:r},n}}),Object.defineProperty(e.prototype,"clearLatestpacketsSent",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e.forEach((function(e){if(parseInt(e.split("_").pop())===exports.RCMediaType.VIDEO_ONLY){var r="".concat(e,"_tiny");delete t._latestPacketsSent[r],delete t._latestBytesSent[r]}delete t._latestPacketsSent[e],delete t._latestBytesSent[e]}))}}),Object.defineProperty(e.prototype,"clearLatestPacketsRecv",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;e.forEach((function(e){delete t._latestPacketsRecv[e],delete t._latestBytesRecv[e]}))}}),Object.defineProperty(e.prototype,"parseRTCStatsReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r,n={};try{for(var i=u(e.entries()),o=i.next();!o.done;o=i.next()){var a=l(o.value,2),s=a[0],c=a[1];/codec/gi.test(c)&&s.includes("RTCCodec_")||(n[s]=c)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n}}),Object.defineProperty(e.prototype,"formatRCRTCStateReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t={senders:[],receivers:[]};return this._logger.info(i.L_ABSTRACT_STAT_PARSER_FORMAT_RTC_STATE_REPORT_O,JSON.stringify({status:o.SUCCESSED,stats:e,reports:t})),t}}),Object.defineProperty(e.prototype,"isValidTranceiver",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n,i="outbound-rtp"===t?null===(r=this._rtcPeerConn.currentLocalDescription)||void 0===r?void 0:r.sdp:null===(n=this._rtcPeerConn.currentRemoteDescription)||void 0===n?void 0:n.sdp,o=e.ssrc;return!(null==i?void 0:i.split("\r\nm=").some((function(e){return e.includes(o)&&e.includes("a=inactive")})))}}),Object.defineProperty(e.prototype,"formatStateData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return Object.values(e).reduce((function(e,t){return t.type===ro.REMOTEINBOUNDRTP?(e.remoteInbound.push(t),e):t.type===ro.INBOUNDRTP?(e.inbound.push(t),e):t.type===ro.OUTBOUNDRTP?(e.outbound.push(t),e):t.type===ro.TRANSPORT?(e.transport.push(t),e):t.type===ro.PEERCONNECTION?(e.connection.push(t),e):e}),{outbound:[],remoteInbound:[],inbound:[],transport:[],connection:[]})}}),e}(),_o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,"formatRCRTCStateReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r,n=this.formatStateData(e),i=n.outbound,o=n.remoteInbound,a=n.inbound,s=n.transport,c=n.connection,u={senders:[],receivers:[]},l=Math.floor(c[0].timestamp);u.timestamp=l;var d=0,_=0;d=(t=this.pickOutbound(i,e,d,l,_)).totalPacketsLost,_=t.bitrateSend,u.senders=t.senders,o.length>0&&u.senders.length>0&&this.pickRemoteInbound(o,u.senders,e);var p=0;if(d=(r=this.pickInbound(a,e,d,l,p)).totalPacketsLost,p=r.bitrateRecv,u.receivers=r.receivers,s.length>0){var f=s[0];this.pickRtcTransport(f,e,u,p,_,d)}return u}}),Object.defineProperty(t.prototype,"pickRtcTransport",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i,o){var a=e.selectedCandidatePairId;if(a){var s=t[a],c=s.availableOutgoingBitrate,u=s.availableIncomingBitrate,l=s.currentRoundTripTime,d=s.localCandidateId,_=s.remoteCandidateId,p=t[d],f=p.ip,h=p.port,b=p.networkType,R=t[_],g=R.ip,m=R.port,C=R.protocol;r.iceCandidatePair={IP:f,port:h,networkType:b,remoteIP:g,remotePort:m,protocol:C,bitrateRecv:n,bitrateSend:i,rtt:1e3*l,availableOutgoingBitrate:c,availableIncomingBitrate:u,totalPacketsLost:o},r.receivers.forEach((function(e){e.rtt=1e3*l}))}}}),Object.defineProperty(t.prototype,"pickRemoteInbound",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=this;e.forEach((function(e){var i,o=e.localId,a=e.jitter,s=e.roundTripTime,c=e.packetsLost,u=t.filter((function(e){return e.id===o}))[0];if(u&&!so(u)){var l=null===(i=n._store)||void 0===i?void 0:i.getTrackIdBySSRC(r[u.id].ssrc);u.jitter=Math.round(1e3*a),u.rtt=s;var d=n._latestPacketsSent[l].crtPacketsSent;u.packetsLostRate=n.updateSenderPacketsLost(l,c,d)}}))}}),Object.defineProperty(t.prototype,"_getOutboundVideoAttrs",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){var o,a,s,c=e.framesPerSecond,u=e.frameWidth,l=e.frameHeight;return"video"!==r||u||l||c||(u=(null===(o=t[n])||void 0===o?void 0:o.frameWidth)||t[i].width,l=(null===(a=t[n])||void 0===a?void 0:a.frameHeight)||t[i].height,c=(null===(s=t[i])||void 0===s?void 0:s.framesPerSecond)||null),{frameRate:c,frameWidth:u,frameHeight:l}}}),Object.defineProperty(t.prototype,"pickOutbound",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,o){var a=this,s=[];return e.forEach((function(e){var c;if("unified-plan"!==a._sdpSemantics||a.isValidTranceiver(e,"outbound-rtp")){var u=e.id,l=e.kind,d=e.mediaSourceId,_=e.remoteId,p=e.packetsSent,f=e.bytesSent,h=e.encoderImplementation,b=e.pliCount,R=e.nackCount,g=e.mid,m=e.framesEncoded,C=e.framesSent,v=e.keyFramesEncoded,O=e.qualityLimitationReason,T=e.trackId;if(void 0!==g&&(T=a.getTrackIdByMid(g)),T){var E=a._getOutboundVideoAttrs(e,t,l,T,d),S=E.frameRate,I=E.frameWidth,y=E.frameHeight;"video"===l&&a._logger.info(i.L_RTC_PEER_CONNECTION_VIDEO_SENDER_DATA_O,"bytesSent: ".concat(f,", framesEncoded: ").concat(m,", framesSent: ").concat(C,", keyFramesEncoded: ").concat(v,", framesPerSecond: ").concat(S,", qualityLimitationReason: ").concat(O));var L=t[_],P=null,N=null,A=0;L&&(P=L.jitter,N=L.roundTripTime,A=L.packetsLost),r+=A;var w=null===(c=a._store)||void 0===c?void 0:c.getTrackIdBySSRC(e.ssrc);if(w){var D=d?t[d].audioLevel:t[T].audioLevel,k=0;!a._latestPacketsSent[w]&&(a._latestPacketsSent[w]={}),L?k=a.updateSenderPacketsLost(w,A,p):a._latestPacketsSent[w].crtPacketsSent=p;var U=a.updateBytesSent(w,f,n);U<0&&(U=0),o+=U,s.push({id:u,trackId:w,kind:l,packetsLostRate:k,remoteResource:!1,audioLevel:D||0===D?oo(D):null,frameWidth:I,frameHeight:y,frameRate:S,bitrate:U,jitter:P?Math.round(1e3*P):P,rtt:N?Math.round(1e3*N):N,encoderImplementation:h,pliCount:b,nackCount:R,googFirsSent:Qi,samplingRate:Qi,googRenderDelayMs:Qi,trackState:Qi,framesSent:C})}}}})),{totalPacketsLost:r,bitrateSend:o,senders:s}}}),Object.defineProperty(t.prototype,"_getInboundMediaAttrs",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){var o,a,s,c=e.frameWidth,u=e.frameHeight,l=e.audioLevel;return"video"===i?c||u||(c=(null===(o=t[r])||void 0===o?void 0:o.frameWidth)||t[n].width,u=(null===(a=t[r])||void 0===a?void 0:a.frameHeight)||t[n].height):l||(l=(null===(s=t[r])||void 0===s?void 0:s.audioLevel)||t[n].audioLevel),{frameWidth:c,frameHeight:u,audioLevel:l}}}),Object.defineProperty(t.prototype,"pickInbound",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){var o=this,a=[];return e.forEach((function(e){var s;if("unified-plan"!==o._sdpSemantics||o.isValidTranceiver(e,"inbound-rtp")){var c=e.packetsLost,u=e.packetsReceived,l=e.jitter,d=e.bytesReceived,_=e.framesPerSecond,p=e.kind,f=e.codecImplementationName,h=e.nackCount,b=e.pliCount,R=e.mid,g=e.id,m=e.trackId;if(void 0!==R&&(m=o.getTrackIdByMid(R)),m){var C=o._getInboundMediaAttrs(e,t,m,g,p),v=C.frameWidth,O=C.frameHeight,T=C.audioLevel;r+=c;var E=null===(s=o._store)||void 0===s?void 0:s.getTrackIdBySSRC(e.ssrc),S=o.updateReceiverPacketsLost(E,c,u),I=o.updateBytesRecv(E,d,n);I<0&&(I=0),i+=I,a.push({trackId:E,kind:p,packetsLostRate:S,remoteResource:!0,audioLevel:T||0===T?oo(T):null,frameWidth:v,frameHeight:O,frameRate:_,bitrate:I,jitter:l?Math.round(1e3*l):0,codecImplementationName:f,nackCount:h,pliCount:b,rtt:null,samplingRate:Qi,googFirsReceived:Qi,googRenderDelayMs:Qi,trackState:Qi})}}})),{totalPacketsLost:r,bitrateRecv:i,receivers:a}}}),t}(lo),po=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"_reportsData",{enumerable:!0,configurable:!0,writable:!0,value:{senders:[],receivers:[],timestamp:+new Date}}),Object.defineProperty(t,"_totalPacketsLost",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(t,"_bitrateSend",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(t,"_bitrateRecv",{enumerable:!0,configurable:!0,writable:!0,value:0}),t}return r(t,e),Object.defineProperty(t.prototype,"_pickSenderData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n;if("unified-plan"!==this._sdpSemantics||this.isValidTranceiver(e,r)){var i=e.kind,o=e.bytesSent,a=e.packetsSent,s=e.bitrateMean,c=e.framerateMean,u=e.nackCount,l=e.pliCount,d=e.remoteId,_=d?t[d]:{jitter:null,roundTripTime:null,packetsLost:0},p=_.jitter,f=_.roundTripTime,h=_.packetsLost,b=null===(n=this._store)||void 0===n?void 0:n.getTrackIdBySSRC(e.ssrc);this._totalPacketsLost+=h;var R=0;!this._latestPacketsSent[b]&&(this._latestPacketsSent[b]={}),d?R=this.updateSenderPacketsLost(b,h,a):this._latestPacketsSent[b].crtPacketsSent=a;var g=0;"video"===i?s&&(g=Math.floor(s/1e3)):g=this.updateBytesSent(b,o,this._reportsData.timestamp),g<0&&(g=0),this._bitrateSend+=g,this._reportsData.senders.push({trackId:b,kind:i,packetsLostRate:R,remoteResource:!1,audioLevel:null,frameWidth:null,frameHeight:null,frameRate:Math.floor(c),bitrate:g,jitter:p?Math.round(1e3*p):null,rtt:f,encoderImplementation:null,pliCount:l,nackCount:u,googFirsSent:Qi,samplingRate:Qi,googRenderDelayMs:Qi,trackState:Qi})}}}),Object.defineProperty(t.prototype,"_addSenderData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n=t.localId,i=null===(r=this._store)||void 0===r?void 0:r.getTrackIdBySSRC(e[n].ssrc),o=this._reportsData.senders.filter((function(e){return e.trackId===i}))[0];o&&so(o)&&(o.jitter=Math.round(1e3*t.jitter),o.rtt=t.rtt,o.packetsLostRate=this.updateSenderPacketsLost(i,t.packetsLost,this._latestPacketsSent[i].crtPacketsSent))}}),Object.defineProperty(t.prototype,"_pickReceiverData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r;if("unified-plan"!==this._sdpSemantics||this.isValidTranceiver(e,t)){var n=e.packetsLost,i=e.bytesReceived,o=e.packetsReceived,a=e.jitter,s=e.framerateMean,c=e.kind,u=e.bitrateMean,l=e.nackCount,d=e.pliCount,_=null===(r=this._store)||void 0===r?void 0:r.getTrackIdBySSRC(e.ssrc);this._totalPacketsLost+=n;var p=this.updateReceiverPacketsLost(_,n,o),f=0;"video"===c?u&&(f=Math.floor(u/1e3)):f=this.updateBytesRecv(_,i,this._reportsData.timestamp),f<0&&(f=0),this._bitrateRecv+=f,this._reportsData.receivers.push({trackId:_,kind:c,packetsLostRate:p,remoteResource:!0,audioLevel:null,frameWidth:null,frameHeight:null,frameRate:Math.floor(s),bitrate:f,jitter:a?Math.round(1e3*a):null,codecImplementationName:null,nackCount:l,pliCount:d,rtt:null,samplingRate:Qi,googFirsReceived:Qi,googRenderDelayMs:Qi,trackState:Qi})}}}),Object.defineProperty(t.prototype,"_pickIceCandidatePair",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=e[t.localCandidateId],n=r.address,i=r.port,o=e[t.remoteCandidateId],a=o.address,s=o.port,c=o.protocol;this._reportsData.iceCandidatePair={IP:n,port:i,networkType:null,remoteIP:a,remotePort:s,protocol:c,bitrateRecv:this._bitrateRecv,bitrateSend:this._bitrateSend,rtt:null,availableOutgoingBitrate:null,availableIncomingBitrate:null,totalPacketsLost:this._totalPacketsLost}}}),Object.defineProperty(t.prototype,"formatRCRTCStateReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=+new Date;for(var r in this._reportsData={senders:[],receivers:[],timestamp:t},this._totalPacketsLost=0,this._bitrateRecv=0,this._bitrateSend=0,e){var n=e[r],i=n.type;"outbound-rtp"===i&&this._pickSenderData(n,e,i),"remote-inbound-rtp"===i&&this._addSenderData(e,n),"inbound-rtp"===i&&this._pickReceiverData(n,i),"candidate-pair"===i&&"succeeded"===n.state&&this._pickIceCandidatePair(e,n)}return this._reportsData}}),t}(lo),fo=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"_reportsData",{enumerable:!0,configurable:!0,writable:!0,value:{senders:[],receivers:[],timestamp:+new Date}}),Object.defineProperty(t,"_totalPacketsLost",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(t,"_bitrateSend",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(t,"_bitrateRecv",{enumerable:!0,configurable:!0,writable:!0,value:0}),t}return r(t,e),Object.defineProperty(t.prototype,"_pickReceiverData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;e.forEach((function(e){var t;if("unified-plan"!==r._sdpSemantics||r.isValidTranceiver(e,"inbound-rtp")){var n=e.packetsLost,i=e.packetsReceived,o=e.jitter,a=e.bytesReceived,s=e.kind,c=e.nackCount,u=e.pliCount,l=e.audioLevel,d=e.frameHeight,_=e.frameWidth,p=null===(t=r._store)||void 0===t?void 0:t.getTrackIdBySSRC(e.ssrc);if(p){r._totalPacketsLost+=n;var f=r.updateReceiverPacketsLost(p,n,i),h=r.updateBytesRecv(p,a,r._reportsData.timestamp);h<0&&(h=0),r._bitrateRecv+=h,r._reportsData.receivers.push({trackId:p,kind:s,packetsLostRate:f,remoteResource:!0,audioLevel:l||0===l?oo(l):null,frameWidth:_,frameHeight:d,frameRate:null,bitrate:h,jitter:o?Math.round(1e3*o):o,codecImplementationName:null,nackCount:c,pliCount:u,rtt:null,samplingRate:Qi,googFirsReceived:Qi,googRenderDelayMs:Qi,trackState:Qi})}}}))}}),Object.defineProperty(t.prototype,"_pickSenderData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;e.forEach((function(e){var n;if("unified-plan"!==r._sdpSemantics||r.isValidTranceiver(e,"outbound-rtp")){var i=null===(n=r._store)||void 0===n?void 0:n.getTrackIdBySSRC(e.ssrc),o=e.kind,a=e.bytesSent,s=e.pliCount,c=e.nackCount,u=e.audioLevel,l=e.frameHeight,d=e.frameWidth,_=e.codecId,p=e.remoteId,f=e.packetsSent;if(i){var h=t[p],b=null,R=null,g=0;h&&(b=h.jitter,R=h.roundTripTime,g=h.packetsLost),r._totalPacketsLost+=g;var m=0;!r._latestPacketsSent[i]&&(r._latestPacketsSent[i]={}),h?m=r.updateSenderPacketsLost(i,g,f):r._latestPacketsSent[i].crtPacketsSent=f;var C=r.updateBytesSent(i,a,r._reportsData.timestamp);C<0&&(C=0),r._bitrateSend+=C,r._reportsData.senders.push({trackId:i,kind:o,packetsLostRate:m,remoteResource:!1,audioLevel:u||0===u?oo(u):null,frameWidth:d,frameHeight:l,frameRate:null,bitrate:C,jitter:b?Math.round(1e3*b):b,rtt:R?Math.round(1e3*R):R,encoderImplementation:t[_].mimeType,pliCount:s,nackCount:c,googFirsSent:Qi,samplingRate:Qi,googRenderDelayMs:Qi,trackState:Qi})}}}))}}),Object.defineProperty(t.prototype,"_pickIceCandidatePair",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=e.selectedCandidatePairId;if(r){var n=t[r],i=n.availableOutgoingBitrate,o=n.availableIncomingBitrate,a=n.currentRoundTripTime,s=n.localCandidateId,c=n.remoteCandidateId,u=t[s],l=u.address,d=u.port,_=t[c],p=_.address,f=_.port,h=_.protocol;this._reportsData.iceCandidatePair={IP:l||null,port:d,networkType:null,remoteIP:p,remotePort:f,protocol:h,bitrateRecv:this._bitrateRecv,bitrateSend:this._bitrateSend,rtt:1e3*a,availableOutgoingBitrate:i,availableIncomingBitrate:o,totalPacketsLost:this._totalPacketsLost},this._reportsData.receivers.forEach((function(e){e.rtt=1e3*a}))}}}),Object.defineProperty(t.prototype,"formatRCRTCStateReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.formatStateData(e),r=t.outbound,n=t.inbound,i=t.transport,o=t.connection;this._reportsData={senders:[],receivers:[]};var a=Math.floor(o[0].timestamp);if(this._reportsData.timestamp=a,this._totalPacketsLost=0,this._bitrateSend=0,this._bitrateRecv=0,this._pickSenderData(r,e),this._pickReceiverData(n,e),i.length>0){var s=i[0];this._pickIceCandidatePair(s,e)}return this._reportsData}}),t}(lo),ho=function(){function e(e,t,r){Object.defineProperty(this,"SDP",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"SDPHeader",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"videoStreams",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"audioStreams",{enumerable:!0,configurable:!0,writable:!0,value:[]});var n=this.getStreamIndex();this.spliteStreams(n)}return Object.defineProperty(e.prototype,"videoSdps",{get:function(){return this.videoStreams.slice()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"audioSdps",{get:function(){return this.audioStreams.slice()},enumerable:!1,configurable:!0}),Object.defineProperty(e,"trimBlankLine",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e.replace(/\n\r\s*\r\n/g,"\r\n").replace(/\s+\r\n/g,"\r\n")}}),Object.defineProperty(e.prototype,"getStreamIndex",{enumerable:!1,configurable:!0,writable:!0,value:function(){for(var e=/m=(?:video|audio)/gim,t=new Set([0]),r=e.exec(this.SDP);null!==r;)t.add(null==r?void 0:r.index),r=e.exec(this.SDP);return t.add(this.SDP.length),d([],l(t),!1)}}),Object.defineProperty(e.prototype,"spliteStreams",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.SDPHeader=this.SDP.substring(e[0],e[1]).replace(/\r\ns=-/g,"\r\ns=".concat((new Date).valueOf()));for(var t=1;t<e.length;t++){var r=this.SDP.substring(e[t],e[t+1]);/^\bm=video\b/.test(r)?this.videoStreams.push(r):this.audioStreams.push(r)}}}),Object.defineProperty(e,"clearInactiveOrRecvonly",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return/\ba=(recvonly|inactive)\b/.test(e)?e.replace(/\r\na=(ssrc|msid)[^\r\n]+/gi,""):e}}),Object.defineProperty(e.prototype,"setHeaderBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this.SDPHeader=this.SDPHeader.replace(/(\r\ns=[^\r\n]+)/gi,"$1\r\nc=IN IP4 0.0.0.0\r\nb=AS:".concat(t*e.KBitrate,"\r\nb=TIAS:").concat(t*e.KBitrate*850))}}),Object.defineProperty(e.prototype,"setAudiosBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;return this.audioStreams=this.audioStreams.map((function(r){return t.setAudioItemBitrate(r,e)})),this}}),Object.defineProperty(e.prototype,"setAudioBitrateWithStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;return this.audioStreams=this.audioStreams.map((function(n){return new RegExp("\\bmsid:".concat(t,"\\b"),"ig").test(n)?r.setAudioItemBitrate(n,e):n})),this}}),Object.defineProperty(e.prototype,"setAudioBitrateWithMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;return this.audioStreams=this.audioStreams.map((function(n){return new RegExp("\\bmid:".concat(t,"\\b"),"ig").test(n)?r.setAudioItemBitrate(n,e):n})),this}}),Object.defineProperty(e.prototype,"setAudioItemBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){if(0===r.max&&/\ba=inactive\b/gi.test(t))return t;if(!/\bmaxaveragebitrate\b/gi.test(t)){var n=["$1","maxaveragebitrate=".concat(r.max*e.KBitrate*1e3)];t=t.replace(/(\buseinbandfec=[^\r\n]+)/gi,n.join(";"))}return this.addAudioBlineAS(t,r)}}),Object.defineProperty(e.prototype,"addAudioBlineAS",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return/\bb=AS:\d+\b/gi.test(t)?t:t.replace(/(\bc=IN[^\r\n]+)/gi,"$1\r\nb=AS:".concat(r.max*e.KBitrate,"\r\nb=TIAS:").concat(r.max*e.KBitrate*850))}}),Object.defineProperty(e.prototype,"setVideosBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;return this.videoStreams=this.videoStreams.map((function(r){return t.setVideoItemBitrate(r,e)})),this}}),Object.defineProperty(e.prototype,"setVideoBitrateWithStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;return this.videoStreams=this.videoStreams.map((function(n){return new RegExp("\\bmsid:".concat(t,"\\b"),"ig").test(n)?r.setVideoItemBitrate(n,e):n})),this}}),Object.defineProperty(e.prototype,"setVideoBitrateWithMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;return this.videoStreams=this.videoStreams.map((function(n){return new RegExp("\\bmid:".concat(t,"\\b"),"ig").test(n)?r.setVideoItemBitrate(n,e):n})),this}}),Object.defineProperty(e.prototype,"setVideoItemBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){if(0===r.max&&/\ba=inactive\b/gi.test(t))return t;if(!/\bx-google-max-bitrate\b/.test(t)){var n=["$1","x-google-max-bitrate=".concat(r.max*e.KBitrate),"x-google-min-bitrate=".concat(r.min*e.KBitrate),"x-google-start-bitrate=".concat(r.start||r.max*e.KBitrate*.7)];t=t.replace(/(\bprofile-level-id=42[e0]01f\b)/gi,n.join(";"))}return this.addVideoBlineAS(t,r)}}),Object.defineProperty(e.prototype,"addVideoBlineAS",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return/\bb=AS:\d+\b/gi.test(t)?t:t.replace(/(\bc=IN[^\r\n]+)/gi,"$1\r\nb=AS:".concat(r.max*e.KBitrate,"\r\nb=TIAS:").concat(r.max*e.KBitrate*850))}}),Object.defineProperty(e.prototype,"clearnSsrcWithMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;return this.audioStreams=this.audioStreams.map((function(n){return new RegExp("\\bmid:".concat(e,"\\b"),"ig").test(n)?r.clearSSRC(n,t):n})),this.videoStreams=this.videoStreams.map((function(n){return new RegExp("\\bmid:".concat(e,"\\b"),"ig").test(n)?r.clearSSRC(n,t):n})),this}}),Object.defineProperty(e.prototype,"clearSSRC",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(t===uo.SENDONLY&&/\ba=sendonly\b/.test(e))return e.replace(/\r\na=(ssrc|msid)[^\r\n]+/gi,"");if(t===uo.RECVONLY&&/\ba=recvonly\b/.test(e))return e.replace(/\r\na=(ssrc|msid)[^\r\n]+/gi,"");if(t===uo.INACTIVE&&/\ba=inactive\b/.test(e))return e.replace(/\r\na=(ssrc|msid)[^\r\n]+/gi,"");return e}}),Object.defineProperty(e,"KBitrate",{enumerable:!0,configurable:!0,writable:!0,value:1}),e}(),bo=function(){function e(){}return Object.defineProperty(e,"init",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._encoder=e.encode,this._decoder=e.decode,this._logger=t}}),Object.defineProperty(e,"isInit",{enumerable:!1,configurable:!0,writable:!0,value:function(){return!!this._encoder&&!!this._decoder}}),Object.defineProperty(e,"decode",{enumerable:!1,configurable:!0,writable:!0,value:function(e){try{return this._decoder(e)}catch(e){throw this._logger.error(i.L_ENCRYPTOR_DECODE_E,null==e?void 0:e.message),e}}}),Object.defineProperty(e,"encode",{enumerable:!1,configurable:!0,writable:!0,value:function(e){try{return this._encoder(e)}catch(e){throw this._logger.error(i.L_ENCRYPTOR_ENCODE_E,null==e?void 0:e.message),e}}}),e}();!function(e){e.PLANB="plan-b",e.UNIFIEDPLAN="unified-plan"}(co||(co={})),function(e){e.SENDONLY="sendonly",e.RECVONLY="recvonly",e.INACTIVE="inactive"}(uo||(uo={}));var Ro,go,mo,Co,vo,Oo=function(){function e(e,t,r){Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_peer",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_useEncrypt",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_outboundStreams",{enumerable:!0,configurable:!0,writable:!0,value:{}})}return Object.defineProperty(e,"setSdpSemantics",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=Ct.browser,n=Ct.version,o=Ct.supportsUnifiedPlan;if(t.info(i.L_A_SDP_STRATEGY_SET_SDP_SEMANTICS_O,JSON.stringify({sdpSemantics:e,supportsUnifiedPlan:o,browser:r,version:n})),o)return/chrome/i.test(r)?n?void(this._sdpSemantics=n>92?"unified-plan":n<72?"plan-b":e):void(this._sdpSemantics="unified-plan"):void(/firefox/i.test(r)?this._sdpSemantics="unified-plan":/safari/i.test(r)?this._sdpSemantics=n<12?"plan-b":"unified-plan":this._sdpSemantics="unified-plan");this._sdpSemantics="plan-b"}}),Object.defineProperty(e,"getSdpSemantics",{enumerable:!1,configurable:!0,writable:!0,value:function(){return e._sdpSemantics}}),Object.defineProperty(e.prototype,"getOutboundVideoInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[];for(var t in this._outboundStreams){var r=this._outboundStreams[t].getVideoTracks()[0];if(r){var n=/_tiny$/.test(t),i=ct(r),o=i.width,a=i.height;e.push({trackId:r.id,simulcast:n?qi.TINY:qi.NORMAL,resolution:"".concat(o,"x").concat(a)})}}return e}}),Object.defineProperty(e.prototype,"setRemoteAnswer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:e=ho.trimBlankLine(e),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this._peer.setRemoteDescription({type:"answer",sdp:e})];case 2:return r.sent(),[3,4];case 3:return t=r.sent(),this._logger.info(i.L_A_SDP_STRATEGY_SET_REMOTE_ANSWER_O,JSON.stringify({status:o.FAILED,msg:t})),[2,exports.RCRTCCode.SET_REMOTE_DESCRIPTION_FAILED];case 4:return this._logger.info(i.L_A_SDP_STRATEGY_SET_REMOTE_ANSWER_O,JSON.stringify({status:o.SUCCESSED,sdp:e})),[2,exports.RCRTCCode.SUCCESS]}}))}))}}),Object.defineProperty(e.prototype,"getStatParsr",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return/chrome/i.test(Ct.browser)?new _o(this,e,this._logger,t,r,n):/Firefox/i.test(Ct.browser)?new po(this,e,this._logger,t,r,n):/Safari/i.test(Ct.browser)?new fo(this,e,this._logger,t,r,n):null}}),Object.defineProperty(e.prototype,"getTrackIdByMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return null}}),Object.defineProperty(e.prototype,"resetSdp",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return ho.trimBlankLine(e)}}),Object.defineProperty(e.prototype,"_setupSenderTransform",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(this._useEncrypt){var t=e.createEncodedStreams(),r=t.readable,n=t.writable,i=new TransformStream({transform:this._encodeRtpChunk.bind(this,e)});r.pipeThrough(i).pipeTo(n)}}}),Object.defineProperty(e.prototype,"_setupReceiverTransform",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(this._useEncrypt){var t=e.createEncodedStreams(),r=t.readable,n=t.writable,i=new TransformStream({transform:this._decodeRtpChunk.bind(this,e)});r.pipeThrough(i).pipeTo(n)}}}),Object.defineProperty(e.prototype,"_encodeRtpChunk",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){r.enqueue(bo.encode(t))}}),Object.defineProperty(e.prototype,"_decodeRtpChunk",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){r.enqueue(bo.decode(t))}}),e}(),To=function(e){function t(t,r){var n=e.call(this,r,co.PLANB,t)||this;return Object.defineProperty(n,"SDP",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(t,e),Object.defineProperty(t.prototype,"stringify",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[this.SDPHeader];d(d([],l(this.audioStreams),!1),l(this.videoStreams),!1).forEach((function(t){var r=t.match(/\ba=mid:(video|audio)\b/),n=ho.clearInactiveOrRecvonly(t);r&&r[1]===Ne.AUDIO&&(e[1]=n),r&&r[1]===Ne.VIDEO&&(e[2]=n)}));var t=e.join("");return ho.trimBlankLine(t)}}),Object.defineProperty(t.prototype,"setAudioBitrateWithStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return this._logger.warn(i.L_FUNCTION_IS_UNAVAILABLE,"plan-b not support set Audio Bitrate With Stream Id"),this}}),Object.defineProperty(t.prototype,"setVideoBitrateWithStreamId",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return this._logger.warn(i.L_FUNCTION_IS_UNAVAILABLE,"plan-b not support set Video Bitrate With Stream Id"),this}}),t}(ho),Eo=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"senders",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(t,"_localTracks",{enumerable:!0,configurable:!0,writable:!0,value:[]}),t}return r(t,e),Object.defineProperty(t.prototype,"addLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._localTracks.every((function(t){return t.getTrackId()!==e.getTrackId()}))&&this._localTracks.push(e);var t=e.getStreamId(),r=e.__innerGetMediaStreamTrack(),n=this._outboundStreams[t]||(this._outboundStreams[t]=new MediaStream);n.getTracks().forEach((function(e){e.kind===r.kind&&n.removeTrack(e)})),n.addTrack(r);var i=e.getTrackId(),o=this.senders[i];o?o.replaceTrack(r):(this.senders[i]=this._peer.addTrack(r,n),Object.defineProperty(r,"trackId",{value:i,writable:!1,enumerable:!1,configurable:!1}))}}),Object.defineProperty(t.prototype,"removeLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this._localTracks.findIndex((function(t){return t===e}));t>=0&&this._localTracks.splice(t,1);var r=e.getTrackId(),n=this.senders[r];n&&(n.replaceTrack(null),this._peer.removeTrack(n),delete this.senders[r])}}),Object.defineProperty(t.prototype,"updateSubRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e){}}),Object.defineProperty(t.prototype,"updateRecvTransceiverMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){}}),Object.defineProperty(t.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){}}),Object.defineProperty(t.prototype,"createOffer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n;return c(this,(function(i){switch(i.label){case 0:return[4,this._peer.createOffer({iceRestart:e,offerToReceiveAudio:!0,offerToReceiveVideo:!0})];case 1:for(r in t=i.sent(),this._outboundStreams)n=this._outboundStreams[r].id,t.sdp=t.sdp.replace(new RegExp(n,"g"),r);return t.sdp&&(t.sdp=this.resetSdp(t.sdp)),[4,this._peer.setLocalDescription(t)];case 2:return i.sent(),[2,{type:"offer",semantics:"plan-b",sdp:t.sdp}]}}))}))}}),Object.defineProperty(t.prototype,"setRemoteAnswer",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return t=this.resetSdp(t),e.prototype.setRemoteAnswer.call(this,t)}}),Object.defineProperty(t.prototype,"_getMaxRangeBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this._localTracks.filter((function(t){return e===exports.RCMediaType.AUDIO_ONLY?t.isAudioTrack():t.isVideoTrack()})),r={max:0,min:0};return t.forEach((function(e){var t=e.getBitrate(),n=t.min,i=t.max,o=t.start;r.max=r.max<i?i:r.max,r.min=r.min>n?n:r.min,r.max===i?r.start=o:r.start=.7*r.max})),r}}),Object.defineProperty(t.prototype,"resetSdp",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=new To(this._logger,e),r=this._getMaxRangeBitrate(exports.RCMediaType.VIDEO_ONLY),n=this._getMaxRangeBitrate(exports.RCMediaType.AUDIO_ONLY);return t.setAudiosBitrate(n),t.setVideosBitrate(r),t.stringify()}}),t}(Oo),So=function(e){function t(t,r){return e.call(this,r,co.UNIFIEDPLAN,t)||this}return r(t,e),Object.defineProperty(t.prototype,"stringify",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[this.SDPHeader];d(d([],l(this.audioStreams),!1),l(this.videoStreams),!1).forEach((function(t){var r=t.match(/\ba=mid:(\d+)\b/);r&&r[1]&&(e[+r[1]+1]=t)})),this.SDPHeader="",this.videoStreams=[],this.audioStreams=[];var t=e.join("");return ho.trimBlankLine(t)}}),t}(ho),Io=function(){function e(){}return Object.defineProperty(e,"splitSections",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e.split("\nm=").map((function(e,t){var r=t>0?"m=".concat(e):e;return"".concat(r.trim(),"\r\n")}))}}),Object.defineProperty(e,"getMediaSections",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r=e.splitSections(t);return r.shift(),r}}),Object.defineProperty(e,"parseExtmap",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.substr(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1]}}}),Object.defineProperty(e,"splitLines",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e.trim().split("\n").map((function(e){return e.trim()}))}}),Object.defineProperty(e,"parseMLine",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r=e.splitLines(t)[0].substr(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}}}),Object.defineProperty(e,"matchPrefix",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return e.splitLines(t).filter((function(e){return 0===e.indexOf(r)}))}}),Object.defineProperty(e,"parseMsid",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r,n=e.matchPrefix(t,"a=msid:");if(1===n.length)return{stream:(r=n[0].substr(7).split(" "))[0],track:r[1]};var i=e.matchPrefix(t,"a=ssrc:").map((function(t){return e.parseSsrcMedia(t)})).filter((function(e){return"msid"===e.attribute}));return i.length>0&&i[0].value?{stream:(r=i[0].value.split(" "))[0],track:r[1]}:{stream:"",track:""}}}),Object.defineProperty(e,"parseSsrcMedia",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.indexOf(" "),r={ssrc:parseInt(e.substr(7,t-7),10)},n=e.indexOf(":",t);return n>-1?(r.attribute=e.substr(t+1,n-t-1),r.value=e.substr(n+1)):r.attribute=e.substr(t+1),r}}),Object.defineProperty(e,"getMid",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r=e.matchPrefix(t,"a=mid:")[0];if(r)return r.substr(6)}}),e}(),yo=function(){function e(){Object.defineProperty(this,"__streams",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}return Object.defineProperty(e,"getInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(){return e.instance||(e.instance=new e),e.instance}}),Object.defineProperty(e.prototype,"push",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return this.__streams.set(e,t),t}}),Object.defineProperty(e.prototype,"pickup",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.__streams.get(e)}}),Object.defineProperty(e.prototype,"delete",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.__streams.delete(e)}}),Object.defineProperty(e.prototype,"streams",{get:function(){var e,t,r=new Map;try{for(var n=u(this.__streams.keys()),i=n.next();!i.done;i=n.next()){var o=i.value;r.set(o,this.pickup(o))}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r},enumerable:!1,configurable:!0}),e}(),Lo=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return Object.defineProperty(t,"_sendTransceiver",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(t,"_localTracks",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(t,"_recvAudio",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(t,"_recvVideo",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(t,"_recvTransceiver",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(t,"_subedTracks",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(t,"midMsid",{enumerable:!0,configurable:!0,writable:!0,value:{}}),t}return r(t,e),Object.defineProperty(t.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){this._logger.warn(i.L_FUNCTION_IS_UNAVAILABLE,"the interface named `setBitrate` is invalid while sdpSemantics value is `unified-plan`")}}),Object.defineProperty(t.prototype,"getTrackIdByMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t in this._sendTransceiver){if(this._sendTransceiver[t].mid===e)return t}for(var t in this._recvTransceiver){if(this._recvTransceiver[t].mid===e)return t}return null}}),Object.defineProperty(t.prototype,"addLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r=e.getTrackId(),n=e.getStreamId(),i=e.__innerGetMediaStreamTrack();this._localTracks[r]=e;var o=this._outboundStreams[n]||(this._outboundStreams[n]=new MediaStream);o.getTracks().forEach((function(e){e.kind===i.kind&&o.removeTrack(e)})),o.addTrack(i);var a=this._sendTransceiver[r];if(a)a.sender.replaceTrack(i),a.direction="sendonly";else{var s=this._sendTransceiver[r]=this._peer.addTransceiver(i,{direction:"sendonly",streams:[o]});this._setupSenderTransform(s.sender)}yo.getInstance().push(r,{msid:n,id:this._outboundStreams[n].id,kind:null===(t=e.streamTrack)||void 0===t?void 0:t.kind})}}),Object.defineProperty(t.prototype,"removeLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.getTrackId(),r=e.getStreamId();delete this._localTracks[t];var n=this._sendTransceiver[t];if(n){"closed"!==this._peer.connectionState&&(n.direction="inactive",this._peer.removeTrack(n.sender),n.sender.replaceTrack(null));var i=this._outboundStreams[r];(e.isAudioTrack()?i.getAudioTracks():i.getVideoTracks()).forEach((function(e){return i.removeTrack(e)}));var o=this._sendTransceiver["".concat(t,"_tiny")];if(o&&"inactive"!==o.direction&&"closed"!==this._peer.connectionState){o.direction="inactive";var a=o.sender,s=a.track;this._peer.removeTrack(a),a.replaceTrack(null),this._outboundStreams["".concat(r,"_tiny")].removeTrack(s),s.stop()}}}}),Object.defineProperty(t.prototype,"updateRecvTransceiverMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=dt(e).mediaType;this._recvTransceiver[e]=t;var n=r===exports.RCMediaType.AUDIO_ONLY?this._recvAudio:this._recvVideo,i=n.findIndex((function(e){return e===t}));i>=0&&n.splice(i,1)}}),Object.defineProperty(t.prototype,"updateSubRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this,r=e.slice(),n=this._subedTracks.slice();this._subedTracks=e.slice();for(var i=function(e){var t=r[e],i=n.findIndex((function(e){return e===t}));i>=0&&(r.splice(e,1),n.splice(i,1))},o=r.length-1;o>=0;o-=1)i(o);n.length&&n.forEach((function(e){var r=e.getTrackId();e.__innerSetMediaStreamTrack(void 0);var n=t._recvTransceiver[r];n&&(n.direction="inactive")}));var a={audio:0,video:0};r.length&&r.forEach((function(e){var r=e.isAudioTrack()?"audio":"video",n=t._recvTransceiver[e.getTrackId()];n?n.direction="recvonly":a[r]+=1}));for(o=this._recvAudio.length;o<a.audio;o+=1){var s=this._peer.addTransceiver("audio",{direction:"recvonly"});this._recvAudio.push(s),this._setupReceiverTransform(s.receiver)}for(o=this._recvVideo.length;o<a.video;o+=1){s=this._peer.addTransceiver("video",{direction:"recvonly"});this._recvVideo.push(s),this._setupReceiverTransform(s.receiver)}}}),Object.defineProperty(t.prototype,"createOffer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i;return c(this,(function(o){switch(o.label){case 0:return[4,this._peer.createOffer({iceRestart:e})];case 1:for(n in t=o.sent(),r=t.sdp,this._outboundStreams)i=this._outboundStreams[n].id,r=r.replace(new RegExp(i,"g"),n);return r=(r=this.resetOfferSdp(r)).replace(/(a=ice-options:trickle)/g,"$1\r\na=ice-options:renomination"),t.sdp=r,[4,this._peer.setLocalDescription(t)];case 2:return o.sent(),[2,{type:"offer",semantics:"unified-plan",sdp:r}]}}))}))}}),Object.defineProperty(t.prototype,"setRemoteAnswer",{enumerable:!1,configurable:!0,writable:!0,value:function(t){t=this.resetAnswerSdp(t);var r=/[\r\n]+\r\n[\r\n]+/g;return r.test(t)&&(t=t.replace(r,"\r\n")),e.prototype.setRemoteAnswer.call(this,t)}}),Object.defineProperty(t.prototype,"_genarateMid",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=null;return Io.getMediaSections(e).forEach((function(e){Io.parseExtmap(e);var i=Io.parseMLine(e).kind,o=Io.parseMsid(e).stream,a=Io.getMid(e);"video"===r?/tiny$/.test(o)?o=o.replace(/tiny$/gi,"1_tiny"):o+="_1":o+="_0",o===t&&r===i&&a&&(n=a)})),n}}),Object.defineProperty(t.prototype,"_setSenderTransceiverBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){var i=this._localTracks[t],o=null==i?void 0:i.getBitrate();n===Ne.AUDIO&&o&&e.setAudioBitrateWithMid(o,r),n===Ne.VIDEO&&o&&e.setVideoBitrateWithMid(o,r)}}),Object.defineProperty(t.prototype,"_resetSenderTransceiver",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r;for(var n in this._sendTransceiver){var i=this._sendTransceiver[n],o=null===(r=i.sender.track)||void 0===r?void 0:r.kind,a=i.direction,s=i.mid;s||(s=this._genarateMid(e,n,o)),s&&(a===uo.SENDONLY&&this._setSenderTransceiverBitrate(t,n,s,o),a===uo.INACTIVE&&t.clearnSsrcWithMid(s,uo.INACTIVE))}}}),Object.defineProperty(t.prototype,"_resetRecvTransceiver",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t in this._recvTransceiver){var r=this._recvTransceiver[t],n=r.direction,i=r.mid;i&&n===uo.INACTIVE&&e.clearnSsrcWithMid(i,uo.RECVONLY)}}}),Object.defineProperty(t.prototype,"resetOfferSdp",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=new So(this._logger,e);return this._resetSenderTransceiver(e,t),this._resetRecvTransceiver(t),t.stringify()}}),Object.defineProperty(t.prototype,"resetAnswerSdp",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r=new So(this._logger,e);for(var n in this._sendTransceiver){var i=this._sendTransceiver[n],o=i.mid;if(o){var a=this._localTracks[n],s=null==a?void 0:a.getBitrate(),c=null===(t=i.sender.track)||void 0===t?void 0:t.kind;c===Ne.AUDIO&&s&&r.setAudioBitrateWithMid(s,o),c===Ne.VIDEO&&s&&r.setVideoBitrateWithMid(s,o)}}return r.stringify()}}),t}(Oo);function Po(){}function No(){No.init.call(this)}function Ao(e){return void 0===e._maxListeners?No.defaultMaxListeners:e._maxListeners}function wo(e,t,r){if(t)e.call(r);else for(var n=e.length,i=Vo(e,n),o=0;o<n;++o)i[o].call(r)}function Do(e,t,r,n){if(t)e.call(r,n);else for(var i=e.length,o=Vo(e,i),a=0;a<i;++a)o[a].call(r,n)}function ko(e,t,r,n,i){if(t)e.call(r,n,i);else for(var o=e.length,a=Vo(e,o),s=0;s<o;++s)a[s].call(r,n,i)}function Uo(e,t,r,n,i,o){if(t)e.call(r,n,i,o);else for(var a=e.length,s=Vo(e,a),c=0;c<a;++c)s[c].call(r,n,i,o)}function Mo(e,t,r,n){if(t)e.apply(r,n);else for(var i=e.length,o=Vo(e,i),a=0;a<i;++a)o[a].apply(r,n)}function xo(e,t,r,n){var i,o,a,s;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((o=e._events)?(o.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),a=o[t]):(o=e._events=new Po,e._eventsCount=0),a){if("function"==typeof a?a=o[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),!a.warned&&(i=Ao(e))&&i>0&&a.length>i){a.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=a.length,s=c,"function"==typeof console.warn?console.warn(s):console.log(s)}}else a=o[t]=r,++e._eventsCount;return e}function jo(e,t,r){var n=!1;function i(){e.removeListener(t,i),n||(n=!0,r.apply(e,arguments))}return i.listener=r,i}function Bo(e){var t=this._events;if(t){var r=t[e];if("function"==typeof r)return 1;if(r)return r.length}return 0}function Vo(e,t){for(var r=new Array(t);t--;)r[t]=e[t];return r}!function(e){e.VP8="VP8",e.VP9="VP9",e.H264="H264"}(Ro||(Ro={})),Po.prototype=Object.create(null),No.EventEmitter=No,No.usingDomains=!1,No.prototype.domain=void 0,No.prototype._events=void 0,No.prototype._maxListeners=void 0,No.defaultMaxListeners=10,No.init=function(){this.domain=null,No.usingDomains&&(void 0).active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Po,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},No.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},No.prototype.getMaxListeners=function(){return Ao(this)},No.prototype.emit=function(e){var t,r,n,i,o,a,s,c="error"===e;if(a=this._events)c=c&&null==a.error;else if(!c)return!1;if(s=this.domain,c){if(t=arguments[1],!s){if(t instanceof Error)throw t;var u=new Error('Uncaught, unspecified "error" event. ('+t+")");throw u.context=t,u}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=s,t.domainThrown=!1,s.emit("error",t),!1}if(!(r=a[e]))return!1;var l="function"==typeof r;switch(n=arguments.length){case 1:wo(r,l,this);break;case 2:Do(r,l,this,arguments[1]);break;case 3:ko(r,l,this,arguments[1],arguments[2]);break;case 4:Uo(r,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),o=1;o<n;o++)i[o-1]=arguments[o];Mo(r,l,this,i)}return!0},No.prototype.addListener=function(e,t){return xo(this,e,t,!1)},No.prototype.on=No.prototype.addListener,No.prototype.prependListener=function(e,t){return xo(this,e,t,!0)},No.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,jo(this,e,t)),this},No.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,jo(this,e,t)),this},No.prototype.removeListener=function(e,t){var r,n,i,o,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(n=this._events))return this;if(!(r=n[e]))return this;if(r===t||r.listener&&r.listener===t)0==--this._eventsCount?this._events=new Po:(delete n[e],n.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(i=-1,o=r.length;o-- >0;)if(r[o]===t||r[o].listener&&r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;if(1===r.length){if(r[0]=void 0,0==--this._eventsCount)return this._events=new Po,this;delete n[e]}else!function(e,t){for(var r=t,n=r+1,i=e.length;n<i;r+=1,n+=1)e[r]=e[n];e.pop()}(r,i);n.removeListener&&this.emit("removeListener",e,a||t)}return this},No.prototype.off=function(e,t){return this.removeListener(e,t)},No.prototype.removeAllListeners=function(e){var t,r;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=new Po,this._eventsCount=0):r[e]&&(0==--this._eventsCount?this._events=new Po:delete r[e]),this;if(0===arguments.length){for(var n,i=Object.keys(r),o=0;o<i.length;++o)"removeListener"!==(n=i[o])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=new Po,this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},No.prototype.listeners=function(e){var t,r=this._events;return r&&(t=r[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(t):[]},No.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):Bo.call(e,t)},No.prototype.listenerCount=Bo,No.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};class Fo extends No{}!function(e){e.Issue="issue",e.NetworkScoresUpdated="network-scores-updated",e.StatsParsingFinished="stats-parsing-finished"}(go||(go={})),function(e){e.Network="network",e.CPU="cpu",e.Server="server",e.Stream="stream"}(mo||(mo={})),function(e){e.OutboundNetworkQuality="outbound-network-quality",e.InboundNetworkQuality="inbound-network-quality",e.OutboundNetworkMediaLatency="outbound-network-media-latency",e.InboundNetworkMediaLatency="inbound-network-media-latency",e.NetworkMediaSyncFailure="network-media-sync-failure",e.OutboundNetworkThroughput="outbound-network-throughput",e.InboundNetworkThroughput="inbound-network-throughput",e.EncoderCPUThrottling="encoder-cpu-throttling",e.DecoderCPUThrottling="decoder-cpu-throttling",e.ServerIssue="server-issue",e.UnknownVideoDecoderIssue="unknown-video-decoder",e.LowInboundMOS="low-inbound-mean-opinion-score",e.LowOutboundMOS="low-outbound-mean-opinion-score",e.FrozenVideoTrack="frozen-video-track",e.MissingVideoStreamData="missing-video-stream-data",e.MissingAudioStreamData="missing-audio-stream-data"}(Co||(Co={})),function(e){e[e.BAD=2.1]="BAD",e[e.POOR=2.6]="POOR",e[e.FAIR=3.1]="FAIR",e[e.GOOD=3.8]="GOOD",e[e.EXCELLENT=4.3]="EXCELLENT"}(vo||(vo={}));class Jo extends No{static STATS_REPORT_READY_EVENT="stats-report-ready";static STATS_REPORTS_PARSED="stats-reports-parsed";isStopped=!1;reportTimer;getStatsInterval;compositeStatsParser;constructor(e){super(),this.compositeStatsParser=e.compositeStatsParser,this.getStatsInterval=e.getStatsInterval??1e4}get isRunning(){return!!this.reportTimer&&!this.isStopped}startReporting(){if(this.reportTimer)return;const e=()=>setTimeout((()=>{this.isStopped?this.reportTimer=void 0:this.parseReports().finally((()=>{this.reportTimer=e()}))}),this.getStatsInterval);this.isStopped=!1,this.reportTimer=e()}stopReporting(){this.isStopped=!0,this.reportTimer&&(clearTimeout(this.reportTimer),this.reportTimer=void 0)}async parseReports(){const e=Date.now(),t=await this.compositeStatsParser.parse(),r=Date.now()-e;this.emit(Jo.STATS_REPORTS_PARSED,{timeTaken:r,reportItems:t}),t.forEach((e=>{this.emit(Jo.STATS_REPORT_READY_EVENT,e)}))}}const Go=(()=>{const e=new Map;return t=>{const{taskId:r,delayMs:n,maxJitterMs:i,callback:o}=t,a=Math.ceil(Math.random()*(i||0)),s=e.get(r);s&&clearTimeout(s);const c=setTimeout((()=>{o(),e.delete(r)}),n+a);e.set(r,c)}})();class Ho{#e={};calculate(e){const{connection:{id:t}}=e,{mos:r,stats:n}=this.calculateOutboundScore(e)||{},{mos:i,stats:o}=this.calculateInboundScore(e)||{};return this.#e[t]=e,Go({taskId:t,delayMs:35e3,callback:()=>delete this.#e[t]}),{outbound:r,inbound:i,connectionId:t,statsSamples:{inboundStatsSample:o,outboundStatsSample:n}}}calculateOutboundScore(e){const t=[...e.remote?.audio.inbound||[],...e.remote?.video.inbound||[]];if(!t.length)return;const r=this.#e[e.connection.id];if(!r)return;const n=[...r.remote?.audio.inbound||[],...r.remote?.video.inbound||[]],{packetsSent:i}=e.connection,o=r.connection.packetsSent,a=t.reduce(((e,t)=>{const r=n.find((e=>e.ssrc===t.ssrc));return{sumJitter:e.sumJitter+t.jitter,packetsLost:e.packetsLost+t.packetsLost,lastPacketsLost:e.lastPacketsLost+(r?.packetsLost||0)}}),{sumJitter:0,packetsLost:0,lastPacketsLost:0}),s=1e3*e.connection.currentRoundTripTime||0,{sumJitter:c}=a,u=c/t.length,l=i-o,d=a.packetsLost-a.lastPacketsLost,_=l&&d?Math.round(100*d/(l+d)):0;return{mos:this.calculateMOS({avgJitter:u,rtt:s,packetsLoss:_}),stats:{avgJitter:u,rtt:s,packetsLoss:_}}}calculateInboundScore(e){const t=[...e.audio?.inbound,...e.video?.inbound];if(!t.length)return;const r=this.#e[e.connection.id];if(!r)return;const n=[...r.video?.inbound,...r.audio?.inbound],{packetsReceived:i}=e.connection,o=r.connection.packetsReceived,a=t.reduce(((e,t)=>{const r=n.find((e=>e.ssrc===t.ssrc));return{sumJitter:e.sumJitter+t.jitter,packetsLost:e.packetsLost+t.packetsLost,lastPacketsLost:e.lastPacketsLost+(r?.packetsLost||0)}}),{sumJitter:0,packetsLost:0,lastPacketsLost:0}),s=1e3*e.connection.currentRoundTripTime||0,{sumJitter:c}=a,u=c/t.length,l=i-o,d=a.packetsLost-a.lastPacketsLost,_=l&&d?Math.round(100*d/(l+d)):0;return{mos:this.calculateMOS({avgJitter:u,rtt:s,packetsLoss:_}),stats:{avgJitter:u,rtt:s,packetsLoss:_}}}calculateMOS({avgJitter:e,rtt:t,packetsLoss:r}){const n=t+2*e+10;let i=n<160?93.2-n/40:93.2-n/120-10;return i-=2.5*r,1+.035*i+7e-6*i*(i-60)*(100-i)}}class Ko{#t=new Map;#r;#n;constructor(e={}){this.#r=e.statsCleanupTtlMs??35e3,this.#n=e.maxParsedStatsStorageSize??5}detect(e,t){const r={...e,networkScores:{...t,statsSamples:t?.statsSamples||{}}},n=this.performDetection(r);return this.setLastProcessedStats(e.connection.id,r),this.performPrevStatsCleanup({connectionId:e.connection.id}),n}performPrevStatsCleanup(e){const{connectionId:t,cleanupCallback:r}=e;this.#t.has(t)&&Go({taskId:t,delayMs:this.#r,callback:()=>{this.deleteLastProcessedStats(t),"function"==typeof r&&r()}})}setLastProcessedStats(e,t){if(!e||t.connection.id!==e)return;const r=this.#t.get(e)??[];r.push(t),r.length>this.#n&&r.shift(),this.#t.set(e,r)}getLastProcessedStats(e){const t=this.#t.get(e);return t?.[t.length-1]}getAllLastProcessedStats(e){return this.#t.get(e)??[]}deleteLastProcessedStats(e){this.#t.delete(e)}}class Wo extends Ko{#i;constructor(e={}){super(e),this.#i=e.availableOutgoingBitrateThreshold??15e4}performDetection(e){const t=[],{availableOutgoingBitrate:r}=e.connection;if(void 0===r)return t;const n=e.audio.outbound.reduce(((e,t)=>e+t.targetBitrate),0),i=e.video.outbound.reduce(((e,t)=>e+t.bitrate),0);if(!n&&!i)return t;const o={availableOutgoingBitrate:r,videoStreamsTotalBitrate:i,audioStreamsTotalTargetBitrate:n};return n>r||i>0&&r<this.#i?(t.push({statsSample:o,type:mo.Network,reason:Co.OutboundNetworkThroughput}),t):t}}class Yo extends Ko{#o;#a;#s;#c;constructor(e={}){super(),this.#o=e.highPacketLossThresholdPct??10,this.#a=e.highJitterThreshold??200,this.#s=e.highJitterBufferDelayThresholdMs??500,this.#c=e.highRttThresholdMs??250}performDetection(e){return this.processData(e)}processData(e){const t=[],r=[...e.audio?.inbound,...e.video?.inbound];if(!r.length)return t;const n=this.getLastProcessedStats(e.connection.id);if(!n)return t;const i=[...n.video?.inbound,...n.audio?.inbound],{packetsReceived:o}=e.connection,a=n.connection.packetsReceived,s=r.reduce(((e,t)=>{const r=i.find((e=>e.ssrc===t.ssrc)),n=r?.jitterBufferDelay||0,o=r?.jitterBufferEmittedCount||0,a=t.jitterBufferDelay-n,s=t.jitterBufferEmittedCount-o,c=a&&s?1e3*a/s:0;return{sumJitter:e.sumJitter+t.jitter,sumJitterBufferDelayMs:e.sumJitterBufferDelayMs+c,packetsLost:e.packetsLost+t.packetsLost,lastPacketsLost:e.lastPacketsLost+(r?.packetsLost||0)}}),{sumJitter:0,sumJitterBufferDelayMs:0,packetsLost:0,lastPacketsLost:0}),c=1e3*e.connection.currentRoundTripTime||0,{sumJitter:u,sumJitterBufferDelayMs:l}=s,d=u/r.length,_=l/r.length,p=o-a,f=s.packetsLost-s.lastPacketsLost,h=p&&f?Math.round(100*f/(p+f)):0,b=h>this.#o,R=d>=this.#a,g=c>=this.#c,m=_>this.#s,C=g&&!R&&!b,v=b&&R,O=R&&m,T={rtt:c,packetLossPct:h,avgJitter:d,avgJitterBufferDelay:_};return(R||b)&&t.push({statsSample:T,type:mo.Network,reason:Co.InboundNetworkQuality,iceCandidate:e.connection.local.id}),C&&t.push({statsSample:T,type:mo.Server,reason:Co.ServerIssue,iceCandidate:e.connection.remote.id}),v&&t.push({statsSample:T,type:mo.Network,reason:Co.InboundNetworkMediaLatency,iceCandidate:e.connection.local.id}),O&&t.push({statsSample:T,type:mo.Network,reason:Co.NetworkMediaSyncFailure,iceCandidate:e.connection.local.id}),t}}class zo extends Ko{#u;constructor(e={}){super(),this.#u=e.correctedSamplesThresholdPct??5}performDetection(e){return this.processData(e)}processData(e){const t=e.audio.inbound,r=[],n=this.getLastProcessedStats(e.connection.id)?.audio.inbound;return n?(t.forEach((e=>{const t=n.find((t=>t.ssrc===e.ssrc));if(!t)return;const i=e.track.insertedSamplesForDeceleration+e.track.removedSamplesForAcceleration,o=t.track.insertedSamplesForDeceleration+t.track.removedSamplesForAcceleration;if(i===o)return;const a=e.track.totalSamplesReceived-t.track.totalSamplesReceived,s=i-o,c=Math.round(100*s/a),u={correctedSamplesPct:c};c>this.#u&&r.push({statsSample:u,type:mo.Network,reason:Co.NetworkMediaSyncFailure,ssrc:e.ssrc})})),r):r}}class qo extends Ko{#o;#a;constructor(e={}){super(),this.#o=e.highPacketLossThresholdPct??10,this.#a=e.highJitterThreshold??200}performDetection(e){return this.processData(e)}processData(e){const t=[],r=[...e.remote?.audio.inbound||[],...e.remote?.video.inbound||[]];if(!r.length)return t;const n=this.getLastProcessedStats(e.connection.id);if(!n)return t;const i=[...n.remote?.audio.inbound||[],...n.remote?.video.inbound||[]],{packetsSent:o}=e.connection,a=n.connection.packetsSent,s=r.reduce(((e,t)=>{const r=i.find((e=>e.ssrc===t.ssrc));return{sumJitter:e.sumJitter+t.jitter,packetsLost:e.packetsLost+t.packetsLost,lastPacketsLost:e.lastPacketsLost+(r?.packetsLost||0)}}),{sumJitter:0,packetsLost:0,lastPacketsLost:0}),c=1e3*e.connection.currentRoundTripTime||0,{sumJitter:u}=s,l=u/r.length,d=o-a,_=s.packetsLost-s.lastPacketsLost,p=d&&_?Math.round(100*_/(d+_)):0,f=p>this.#o,h=l>=this.#a,b=!f&&h||h||f,R={rtt:c,avgJitter:l,packetLossPct:p};return f&&h&&t.push({statsSample:R,type:mo.Network,reason:Co.OutboundNetworkMediaLatency,iceCandidate:e.connection.local.id}),b&&t.push({statsSample:R,type:mo.Network,reason:Co.OutboundNetworkQuality,iceCandidate:e.connection.local.id}),t}}class Qo extends Ko{performDetection(e){return this.processData(e)}processData(e){const t=e.video.outbound.filter((e=>"none"!==e.qualityLimitationReason)),r=[],n=this.getLastProcessedStats(e.connection.id)?.video.outbound;return n?(t.forEach((e=>{const t=n.find((t=>t.ssrc===e.ssrc));if(!t)return;const i={qualityLimitationReason:e.qualityLimitationReason};e.framesSent>t.framesSent||("cpu"===e.qualityLimitationReason&&r.push({statsSample:i,type:mo.CPU,reason:Co.EncoderCPUThrottling,ssrc:e.ssrc}),"bandwidth"===e.qualityLimitationReason&&r.push({statsSample:i,type:mo.Network,reason:Co.OutboundNetworkThroughput,ssrc:e.ssrc}))})),r):r}}class Zo extends Ko{UNKNOWN_DECODER="unknown";#l={};performDetection(e){return this.processData(e)}performPrevStatsCleanup(e){const{connectionId:t,cleanupCallback:r}=e;super.performPrevStatsCleanup({...e,cleanupCallback:()=>{delete this.#l[t],"function"==typeof r&&r()}})}processData(e){const t=[],{id:r}=e.connection,n=this.getLastProcessedStats(r)?.video.inbound;return e.video.inbound.forEach((e=>{const{decoderImplementation:i,ssrc:o}=e,a=n?.find((e=>e.ssrc===o));if(a)if(i===this.UNKNOWN_DECODER){if(!this.hadLastDecoderWithIssue(r,o)){this.setLastDecoderWithIssue(r,o,this.UNKNOWN_DECODER);const n={mimeType:e.mimeType,decoderImplementation:i};t.push({ssrc:o,statsSample:n,type:mo.Stream,reason:Co.UnknownVideoDecoderIssue,trackIdentifier:e.track.trackIdentifier})}}else this.setLastDecoderWithIssue(r,o,void 0)})),t}setLastDecoderWithIssue(e,t,r){const n=this.#l[e]??{};void 0===r?delete n[t]:n[t]=r,this.#l[e]=n}hadLastDecoderWithIssue(e,t){const r=this.#l[e];return(r&&r[t])===this.UNKNOWN_DECODER}}const Xo=e=>e.reduce(((e,t)=>e+t),0)/e.length,$o=(e,t,r=30)=>{const n=[];for(let r=1;r<t.length-1;r+=1){const i=t[r]?.video?.inbound.find((t=>t.ssrc===e));if(!i)continue;const o=t[r-1]?.video?.inbound?.find((t=>t.ssrc===e));if(!i||!o)continue;const a=i.timestamp-o.timestamp,s=i.framesDecoded-o.framesDecoded;if(s>0){const e=a/s;n.push(e)}}return!(n.length<=1)&&(e=>{const t=((e,t)=>t.reduce(((t,r)=>t+(r-e)**2),0)/t.length)(Xo(e),e);return Math.sqrt(t)})(n)>r},ea=(e,t)=>{for(let r=1;r<t.length;r+=1){const n=t[r].video.inbound.find((t=>t.ssrc===e));if(!n)continue;const i=t[r-1].video.inbound.find((t=>t.ssrc===e)),o=n.frameWidth!==i?.frameWidth,a=n.frameHeight!==i?.frameHeight;if(o||a)return!0}return!1};class ta extends Ko{#d;#_;#p;constructor(e={}){super(),this.#d=e.avgFreezeDurationThresholdMs??1e3,this.#_=e.frozenDurationThresholdPct??30,this.#p=e.minMosQuality??vo.BAD}performDetection(e){const t=e.networkScores.inbound;return void 0!==t&&t<=this.#p?[]:this.processData(e)}processData(e){const t=[],r=this.getAllLastProcessedStats(e.connection.id);if(0===r.length)return[];const n=e.video.inbound.map((t=>{const n=r[r.length-1].video.inbound.find((e=>e.ssrc===t.ssrc));if(!n)return;if(ea(t.ssrc,[r[r.length-1],e]))return;if($o(t.ssrc,r))return;const i=t.freezeCount-(n.freezeCount??0),o=1e3*(t.totalFreezesDuration-(n.totalFreezesDuration??0)),a=i>0?o/i:0,s=o/(t.timestamp-n.timestamp)*100;return s>this.#_||a>this.#d?{ssrc:t.ssrc,avgFreezeDurationMs:a,frozenDurationPct:s}:void 0})).filter((e=>void 0!==e));return n.length>0&&(t.push({type:mo.Stream,reason:Co.FrozenVideoTrack,statsSample:{ssrcs:n.map((e=>e.ssrc))}}),this.deleteLastProcessedStats(e.connection.id)),t}}class ra extends Ko{#f;#h;#p;constructor(e={}){super(e),this.#f=e.volatilityThreshold??8,this.#h=e.affectedStreamsPercentThreshold??30,this.#p=e.minMosQuality??vo.BAD}performDetection(e){return[...this.getAllLastProcessedStats(e.connection.id),e].find((e=>void 0!==e.networkScores.inbound&&e.networkScores.inbound<=this.#p))?[]:this.processData(e)}processData(e){const t=[],r=[...this.getAllLastProcessedStats(e.connection.id),e],n=e.video.inbound.map((e=>{if(r.length<5)return;if(ea(e.ssrc,r))return;const t=[];for(let n=0;n<r.length-1;n+=1){const i=r[n].video.inbound.find((t=>t.ssrc===e.ssrc));void 0!==i?.framesPerSecond&&t.push(i.framesPerSecond)}if(t.length<5)return;if($o(e.ssrc,r))return;const n=(e=>{if(0===e.length)throw new Error("Cannot calculate volatility for empty array");const t=Xo(e);return e.reduce(((e,r)=>e+Math.abs(r-t)),0)/e.length*100/t})(t);return n>this.#f?{ssrc:e.ssrc,allFps:t,volatility:n}:void 0})).filter((e=>Boolean(e)));if(0===n.length)return t;const i=n.length/(e.video.inbound.length/100);return i>this.#h&&(t.push({type:mo.CPU,reason:Co.DecoderCPUThrottling,statsSample:{affectedStreamsPercent:i,throtthedStreams:n}}),this.deleteLastProcessedStats(e.connection.id)),t}}const na=e=>"closed"===e.iceConnectionState||"closed"===e.connectionState,ia=(e,t,r)=>8*((e,t,r)=>{if(!t)return 0;const n=e[r],i=t[r];if(null==n||null==i)return 0;const o=Math.floor(e.timestamp)-Math.floor(t.timestamp);return 0===o?0:(Number(n)-Number(i))/o*1e3})(e,t,r);class oa{connections=[];statsParser;constructor(e){this.statsParser=e.statsParser}listConnections(){return[...this.connections]}addPeerConnection(e){this.connections.push({id:e.id??String(Date.now()+Math.random().toString(32)),pc:e.pc})}removePeerConnection(e){const t=this.connections.findIndex((({pc:t})=>t===e.pc));t>=0&&this.removeConnectionsByIndexes([t])}async parse(){const e=[],t=this.connections.map((async(t,r)=>{if(!na(t.pc))return this.statsParser.parse(t);e.unshift(r)}));return e.length&&this.removeConnectionsByIndexes(e),(await Promise.all(t)).filter((e=>void 0!==e))}removeConnectionsByIndexes(e){e.forEach((e=>{this.connections.splice(e,1)}))}}class aa{prevStats=new Map;allowedReportTypes=new Set(["candidate-pair","inbound-rtp","outbound-rtp","remote-outbound-rtp","remote-inbound-rtp","track","transport"]);ignoreSSRCList;logger;constructor(e){this.ignoreSSRCList=e.ignoreSSRCList??[],this.logger=e.logger}get previouslyParsedStatsConnectionsIds(){return[...this.prevStats.keys()]}async parse(e){if(!na(e.pc))return this.getConnectionStats(e);this.logger.debug("Skip stats parsing. Connection is closed.",{connection:e})}async getConnectionStats(e){const{pc:t,id:r}=e;try{const n=Date.now(),i=t.getReceivers().filter((e=>e.track?.enabled)),o=t.getSenders().filter((e=>e.track?.enabled)),a=await Promise.all(i.map((e=>e.getStats()))),s=await Promise.all(o.map((e=>e.getStats())));return{id:r,stats:this.mapReportsStats([...a,...s],e),timeTaken:Date.now()-n}}catch(e){return void this.logger.error("Failed to get stats for PC",{id:r,pc:t,error:e})}}mapReportsStats(e,t){const r={audio:{inbound:[],outbound:[]},video:{inbound:[],outbound:[]},connection:{},remote:{video:{inbound:[],outbound:[]},audio:{inbound:[],outbound:[]}}};e.forEach((e=>{e.forEach((t=>{this.allowedReportTypes.has(t.type)&&this.updateMappedStatsWithReportItemData(t,r,e)}))}));const{id:n}=t,i=this.prevStats.get(n);return i&&this.propagateStatsWithRateValues(r,i.stats),this.prevStats.set(n,{stats:r,ts:Date.now()}),Go({taskId:n,delayMs:35e3,callback:()=>this.prevStats.delete(n)}),r}updateMappedStatsWithReportItemData(e,t,r){const n=e.type;if("candidate-pair"===n&&"succeeded"===e.state&&e.nominated)return void(t.connection=this.prepareConnectionStats(e,r));const i=this.getMediaType(e);if(!i)return;const o=e.ssrc;if(!o||!this.ignoreSSRCList.includes(o))if("outbound-rtp"!==n)if("inbound-rtp"!==n)"remote-outbound-rtp"!==n?"remote-inbound-rtp"===n&&(this.mapConnectionStatsIfNecessary(t,e,r),t.remote[i].inbound.push({...e})):t.remote[i].outbound.push({...e});else{const n=r.get(e.trackId)||r.get(e.mediaSourceId)||{};this.mapConnectionStatsIfNecessary(t,e,r);const o={...e,track:{...n}};t[i].inbound.push(o)}else{const n=r.get(e.trackId)||r.get(e.mediaSourceId)||{},o={...e,track:{...n}};t[i].outbound.push(o)}}getMediaType(e){const t=e.mediaType||e.kind;if(!["audio","video"].includes(t)){const{id:t}=e;if(!t)return;return String(t).includes("Video")?"video":String(t).includes("Audio")?"audio":void 0}return t}propagateStatsWithRateValues(e,t){e.audio.inbound.forEach((e=>{const r=t.audio.inbound.find((({id:t})=>t===e.id));e.bitrate=ia(e,r,"bytesReceived"),e.packetRate=ia(e,r,"packetsReceived")})),e.audio.outbound.forEach((e=>{const r=t.audio.outbound.find((({id:t})=>t===e.id));e.bitrate=ia(e,r,"bytesSent"),e.packetRate=ia(e,r,"packetsSent")})),e.video.inbound.forEach((e=>{const r=t.video.inbound.find((({id:t})=>t===e.id));e.bitrate=ia(e,r,"bytesReceived"),e.packetRate=ia(e,r,"packetsReceived")})),e.video.outbound.forEach((e=>{const r=t.video.outbound.find((({id:t})=>t===e.id));e.bitrate=ia(e,r,"bytesSent"),e.packetRate=ia(e,r,"packetsSent")}))}mapConnectionStatsIfNecessary(e,t,r){if(e.connection.id||!t.transportId)return;const n=r.get(t.transportId);if(n&&n.selectedCandidatePairId){const t=r.get(n.selectedCandidatePairId);e.connection=this.prepareConnectionStats(t,r)}}prepareConnectionStats(e,t){if(!e||!t)return{};const r={...e};if(r.remoteCandidateId){const e=t.get(r.remoteCandidateId);r.remote={...e}}if(r.localCandidateId){const e=t.get(r.localCandidateId);r.local={...e}}return r}}class sa extends Ko{#b=new Map;#R;#g;constructor(e={}){super(),this.#R=e.timeoutMs??15e3,this.#g=e.steps??3}performDetection(e){return this.processData(e)}processData(e){const t=[],r=[...this.getAllLastProcessedStats(e.connection.id),e];if(r.length<this.#g)return t;const n=r.slice(-this.#g),i=n.map((e=>e.video.inbound)),o=n.map((e=>e.audio.inbound));return t.push(...this.detectMissingData(o,mo.Stream,Co.MissingAudioStreamData)),t.push(...this.detectMissingData(i,mo.Stream,Co.MissingVideoStreamData)),new Set(this.#b.keys()).forEach((e=>{const t=this.#b.get(e);t&&Date.now()-t>this.#R&&this.removeMarkedIssue(e)})),t}detectMissingData(e,t,r){const n=[],i=e.pop(),o=sa.mapStatsByTrackId(e);return i.forEach((e=>{const i=e.track.trackIdentifier,a=o.get(i);if(!Array.isArray(a)||0===a.length)return;if(e.track.detached||e.track.ended)return;if(!sa.isAllBytesReceivedDidntChange(e.bytesReceived,a))return void this.removeMarkedIssue(i);if(!this.markIssue(i))return;const s={bytesReceived:e.bytesReceived};n.push({type:t,reason:r,statsSample:s,trackIdentifier:i})})),n}static mapStatsByTrackId(e){const t=new Map;return e.forEach((e=>{e.forEach((e=>{const r=t.get(e.track.trackIdentifier)||[];r.push(e),t.set(e.track.trackIdentifier,r)}))})),t}static isAllBytesReceivedDidntChange(e,t){for(let r=0;r<t.length;r+=1)if(t[r].bytesReceived!==e)return!1;return!0}markIssue(e){const t=Date.now(),r=this.#b.get(e);return(!r||t-r>this.#R)&&(this.#b.set(e,t),!0)}removeMarkedIssue(e){this.#b.delete(e)}}class ca{eventEmitter;#m=!1;detectors=[];networkScoresCalculator;statsReporter;compositeStatsParser;logger;autoAddPeerConnections;constructor(e){this.logger=e.logger??{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},this.eventEmitter=e.issueEmitter??new Fo,e.onIssues&&this.eventEmitter.on(go.Issue,e.onIssues),e.onNetworkScoresUpdated&&this.eventEmitter.on(go.NetworkScoresUpdated,e.onNetworkScoresUpdated),this.detectors=e.detectors??[new Qo,new Yo,new qo,new zo,new Wo,new Zo,new ta,new ra,new sa],this.networkScoresCalculator=e.networkScoresCalculator??new Ho,this.compositeStatsParser=e.compositeStatsParser??new oa({statsParser:new aa({ignoreSSRCList:e.ignoreSSRCList,logger:this.logger})}),this.statsReporter=e.statsReporter??new Jo({compositeStatsParser:this.compositeStatsParser,getStatsInterval:e.getStatsInterval??5e3}),window.wid=this,this.autoAddPeerConnections=e.autoAddPeerConnections??!0,this.autoAddPeerConnections&&this.wrapRTCPeerConnection(),this.statsReporter.on(Jo.STATS_REPORT_READY_EVENT,(e=>{const t=this.calculateNetworkScores(e.stats);this.detectIssues({data:e.stats},t)})),this.statsReporter.on(Jo.STATS_REPORTS_PARSED,(t=>{const r={timeTaken:t.timeTaken,ts:Date.now()};e.onStats&&e.onStats(t.reportItems),this.eventEmitter.emit(go.StatsParsingFinished,r)}))}watchNewPeerConnections(){if(!this.autoAddPeerConnections)throw new Error("Auto add peer connections was disabled in the constructor.");this.#m?this.logger.warn("WebRTCIssueDetector is already started. Skip processing"):(this.logger.info("Start watching peer connections"),this.#m=!0,this.statsReporter.startReporting())}stopWatchingNewPeerConnections(){this.#m?(this.logger.info("Stop watching peer connections"),this.#m=!1,this.statsReporter.stopReporting()):this.logger.warn("WebRTCIssueDetector is already stopped. Skip processing")}handleNewPeerConnection(e,t){this.#m||!this.autoAddPeerConnections?(this.#m||!1!==this.autoAddPeerConnections||(this.logger.info("Starting stats reporting for new peer connection"),this.#m=!0,this.statsReporter.startReporting()),this.logger.debug("Handling new peer connection",e),this.compositeStatsParser.addPeerConnection({pc:e,id:t})):this.logger.debug("Skip handling new peer connection. Detector is not running",e)}emitIssues(e){this.eventEmitter.emit(go.Issue,e)}detectIssues({data:e},t){const r=this.detectors.reduce(((r,n)=>[...r,...n.detect(e,t)]),[]);r.length>0&&this.emitIssues(r)}calculateNetworkScores(e){const t=this.networkScoresCalculator.calculate(e);return this.eventEmitter.emit(go.NetworkScoresUpdated,t),t}wrapRTCPeerConnection(){if(!window.RTCPeerConnection)return void this.logger.warn("No RTCPeerConnection found in browser window. Skipping");const e=window.RTCPeerConnection,t=e=>this.handleNewPeerConnection(e);function r(r){const n=new e(r);return t(n),n}r.prototype=e.prototype,window.RTCPeerConnection=r}}var ua,la,da,_a,pa=function(){function e(e){var t=this;Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_webRtcIssueDetector",{enumerable:!0,configurable:!0,writable:!0,value:null});var r=ca;this._webRtcIssueDetector=new r({onIssues:function(e){return e.forEach((function(e){t._logger.info(i.L_WEBRTC_ISSUE_DETECTOR_ISSUE_O,JSON.stringify(e))}))}})}return Object.defineProperty(e.prototype,"watchNewPeerConnections",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;this._logger.info(i.L_WEBRTC_ISSUE_DETECTOR_OPEN_O),null===(e=this._webRtcIssueDetector)||void 0===e||e.watchNewPeerConnections()}}),Object.defineProperty(e.prototype,"stopWatchingNewPeerConnections",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;null===(e=this._webRtcIssueDetector)||void 0===e||e.stopWatchingNewPeerConnections()}}),e}(),fa=function(e){function t(t,r,n,i,o,a,s){void 0===a&&(a=!1),void 0===s&&(s={encrypt:!1,isOpenWebRTCIssueDetector:!1});var c=e.call(this)||this;Object.defineProperty(c,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(c,"_reTryExchange",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(c,"_currentUserId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(c,"_store",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(c,"_polarisReport",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(c,"_isRoomAudience",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(c,"_options",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(c,"_rtcPeerConn",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(c,"_sdpStrategy",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(c,"reportParser",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(c,"pubLocalTracks",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(c,"_reTryExchangeTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(c,"_reportStatsTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(c,"_reportR3R4ToPolarisTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(c,"_isDestroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(c,"_formatStatsData",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(c,"_WebRTCIssueDetector",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(c,"_inRetry",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(c,"_firstConnectFromPub",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(c,"_reportListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),c._options.isOpenWebRTCIssueDetector&&(c._WebRTCIssueDetector=new pa(t),c._WebRTCIssueDetector.watchNewPeerConnections());var u=Oo.getSdpSemantics(),l="unified-plan"===u&&c._options.encrypt&&"function"==typeof RTCRtpSender.prototype.createEncodedStreams&&"function"==typeof RTCRtpReceiver.prototype.createEncodedStreams&&bo.isInit(),d=c._rtcPeerConn=new RTCPeerConnection({sdpSemantics:u,encodedInsertableStreams:l});return c._sdpStrategy="plan-b"===u?new Eo(c._logger,d,!1):new Lo(c._logger,d,l),c._rtcPeerConn.oniceconnectionstatechange=c._onICEConnectionStateChange.bind(c),c._rtcPeerConn.onconnectionstatechange=c._onConnectionStateChange.bind(c),c._rtcPeerConn.ontrack=c._onTrackReady.bind(c),c.reportParser=c._sdpStrategy.getStatParsr(c._rtcPeerConn,u,c._currentUserId,c._store),c}return r(t,e),Object.defineProperty(t.prototype,"getLocalTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){return Object.values(this.pubLocalTracks)}}),Object.defineProperty(t.prototype,"_onConnectionStateChange",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._logger.info(i.L_RTC_PEER_CONNECTION_CONNECTION_STATE_S,"state: ".concat(this._rtcPeerConn.connectionState))}}),Object.defineProperty(t.prototype,"startAutoExecute",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;this.stopAutoExecute(),this._reportStatsTimer=setTimeout((function(){t._reportHandle(),t.startAutoExecute(e)}),e)}}),Object.defineProperty(t.prototype,"stopAutoExecute",{enumerable:!1,configurable:!0,writable:!0,value:function(){clearTimeout(this._reportStatsTimer)}}),Object.defineProperty(t.prototype,"_onICEConnectionStateChange",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,r;return s(this,void 0,void 0,(function(){var n,a,s;return c(this,(function(c){switch(c.label){case 0:return n=this._rtcPeerConn.iceConnectionState,this._logger.info(i.L_RTC_PEER_CONNECTION_ICE_CONNECTION_STATE_S,JSON.stringify({iceConnectionState:n})),[4,this._getStatsData()];case 1:a=c.sent(),s=a?this._createRCRTCStateReport(a).iceCandidatePair:null,this.emit(t.__INNER_ICE_STATE_CHANGE__,{status:n,time:Date.now(),iceCandidatePair:s}),"connected"===n?(this.emit(t.__INNER_ICE_CONNECTED__,this._firstConnectFromPub),this.startAutoExecute(1e3)):"failed"!==n&&"disconnected"!==n||this._handleRetry();try{null===(r=null===(e=this._reportListener)||void 0===e?void 0:e.onICEConnectionStateChange)||void 0===r||r.call(e,n)}catch(e){this._logger.error(i.L_RTC_PEER_CONNECTION_ICE_CONNECTION_STATE_REPORT_R,JSON.stringify({status:o.FAILED,mag:e}))}return[2]}}))}))}}),Object.defineProperty(t.prototype,"_handleRetry",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e,t=this;return c(this,(function(r){switch(r.label){case 0:return this._inRetry?[2]:(this.clearReTryExchangeTimer(),this._inRetry=!0,[4,this._reTryExchange()]);case 1:return e=r.sent().code,this._inRetry=!1,e===exports.RCRTCCode.SUCCESS?[2]:(this._reTryExchangeTimer=setTimeout((function(){return t._handleRetry()}),15e3),[2])}}))}))}}),Object.defineProperty(t.prototype,"_onTrackReady",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(e.streams.length){var r=e.streams[0].id,n=e.receiver.track,i=[r,"audio"===n.kind?exports.RCMediaType.AUDIO_ONLY:exports.RCMediaType.VIDEO_ONLY].join("_");Object.defineProperty(n,"trackId",{value:i,writable:!1,enumerable:!1,configurable:!1}),this._updateRecvTransceiverMap(i,e.transceiver),this.emit(t.__INNER_EVENT_TRACK_READY__,e)}}}),Object.defineProperty(t.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){return c(this,(function(n){return this._sdpStrategy.setBitrate(e,t,r),this._logger.info(i.L_RTC_PEER_CONNECTION_SET_BITRATE_O,JSON.stringify({status:o.SUCCESSED,max:e,min:t,start:r})),[2]}))}))}}),Object.defineProperty(t.prototype,"createOffer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return[4,this._sdpStrategy.createOffer(e)];case 1:return t=r.sent(),this._logger.info(i.L_RTC_PEER_CONNECTION_CREATE_OFFER_O,JSON.stringify({offerSDP:t.sdp,sdpDemantics:t.semantics})),[2,t]}}))}))}}),Object.defineProperty(t.prototype,"setRemoteAnswer",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===t&&(t=!1),s(this,void 0,void 0,(function(){return c(this,(function(r){return this._firstConnectFromPub=t,[2,this._sdpStrategy.setRemoteAnswer(e)]}))}))}}),Object.defineProperty(t.prototype,"getLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this.pubLocalTracks[e]||null}}),Object.defineProperty(t.prototype,"addLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.pubLocalTracks[e.getTrackId()]=e,this._sdpStrategy.addLocalTrack(e),e.off(Ke.__INNER_EVENT_MUTED_CHANGE__,this._onLocalTrackMuted,this),e.off(Ke.__INNER_EVENT_DESTROY__,this._onLocalTrackDestroied,this),e.on(Ke.__INNER_EVENT_MUTED_CHANGE__,this._onLocalTrackMuted,this),e.on(Ke.__INNER_EVENT_DESTROY__,this._onLocalTrackDestroied,this),this._logger.info(i.L_RTC_PEER_CONNECTION_ADD_LOCAL_TRACK_O,"trackId: ".concat(e.getTrackId()))}}),Object.defineProperty(t.prototype,"removeLocalTrackById",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.getLocalTrack(e);t?(this._logger.info(i.L_RTC_PEER_CONNECTION_REMOVE_LOCAL_TRACK_BY_ID_O,JSON.stringify({status:o.SUCCESSED,trackId:e})),this.removeLocalTrack(t)):this._logger.warn(i.L_RTC_PEER_CONNECTION_REMOVE_LOCAL_TRACK_BY_ID_O,JSON.stringify({status:o.FAILED,msg:"track not found",trackId:e}))}}),Object.defineProperty(t.prototype,"removeAllLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;Object.keys(this.pubLocalTracks).forEach((function(t){/_tiny$/.test(t)||e.removeLocalTrackById(t)}))}}),Object.defineProperty(t.prototype,"removeLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.getTrackId();delete this.pubLocalTracks[t],this._sdpStrategy.removeLocalTrack(e),e.__innerSetPublished(!1),e.off(Ke.__INNER_EVENT_MUTED_CHANGE__,this._onLocalTrackMuted,this),e.off(Ke.__INNER_EVENT_DESTROY__,this._onLocalTrackDestroied,this);var r="".concat(t,"_tiny"),n=this.getLocalTrack(r);n&&(this._sdpStrategy.removeLocalTrack(n),delete this.pubLocalTracks[r],n.destroy()),this._logger.info(i.L_RTC_PEER_CONNECTION_REMOVE_LOCAL_TRACK_O,JSON.stringify({trackId:t}))}}),Object.defineProperty(t.prototype,"_updateRecvTransceiverMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._sdpStrategy.updateRecvTransceiverMap(e,t)}}),Object.defineProperty(t.prototype,"updateSubRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._sdpStrategy.updateSubRemoteTracks(e)}}),Object.defineProperty(t.prototype,"getOutboundVideoInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._sdpStrategy.getOutboundVideoInfo()}}),Object.defineProperty(t.prototype,"_onLocalTrackMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this.getLocalTrack("".concat(e.getTrackId(),"_tiny"));r&&(r.__innerGetMediaStreamTrack().enabled=!e.isLocalMuted()),this.emit(Ke.__INNER_EVENT_MUTED_CHANGE__,e,t)}}),Object.defineProperty(t.prototype,"_onLocalTrackDestroied",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.emit(Ke.__INNER_EVENT_DESTROY__,e)}}),Object.defineProperty(t.prototype,"registerReportListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._reportListener=e}}),Object.defineProperty(t.prototype,"_isSendTwoSecondsVideo",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){if(e>=2*t){var n=this.getLocalTrack(r);n&&n.emit(Ke.__INNER_SEND_TWO_SECONDS_VIDEO__)}}}),Object.defineProperty(t.prototype,"_createSenderReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;return e.filter((function(e){return e.trackId})).map((function(e){var r=e.trackId,n=e.kind,i=e.packetsLostRate,o=e.remoteResource,s=e.bitrate,c=e.jitter,u=e.rtt,l=e.framesSent,d={trackId:r,kind:n,packetsLostRate:i,remoteResource:o,bitrate:s,jitter:c,rtt:u};return(e.audioLevel||0===e.audioLevel)&&(d.audioLevel=e.audioLevel),e.frameWidth&&(d.frameWidth=e.frameWidth),e.frameHeight&&(d.frameHeight=e.frameHeight),e.frameRate&&(d.frameRate=e.frameRate),"video"===n&&e.frameRate&&l&&t._isSendTwoSecondsVideo(l,e.frameRate,r),a({},d)}))}}),Object.defineProperty(t.prototype,"_createReceiverReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e.filter((function(e){return e.trackId})).map((function(e){var t={trackId:e.trackId,kind:e.kind,packetsLostRate:e.packetsLostRate,remoteResource:e.remoteResource,bitrate:e.bitrate,jitter:e.jitter,rtt:e.rtt};return(e.audioLevel||0===e.audioLevel)&&(t.audioLevel=e.audioLevel),e.frameWidth&&(t.frameWidth=e.frameWidth),e.frameHeight&&(t.frameHeight=e.frameHeight),e.frameRate&&(t.frameRate=e.frameRate),a({},t)}))}}),Object.defineProperty(t.prototype,"_createRCRTCStateReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.timestamp,r=e.iceCandidatePair,n=e.senders,i=e.receivers;for(var o in(null==r?void 0:r.totalPacketsLost)&&(null==r||delete r.totalPacketsLost),r)St(r[o])&&delete r[o];return{timestamp:t,iceCandidatePair:r,senders:this._createSenderReport(n),receivers:this._createReceiverReport(i)}}}),Object.defineProperty(t.prototype,"_getStatsData",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t;return s(this,void 0,void 0,(function(){var r,n,i;return c(this,(function(o){switch(o.label){case 0:return this._formatStatsData=null,r=null,[4,this._rtcPeerConn.getStats()];case 1:return n=o.sent(),r=null===(e=this.reportParser)||void 0===e?void 0:e.parseRTCStatsReport(n),i=null===(t=this.reportParser)||void 0===t?void 0:t.formatRCRTCStateReport(r),this._formatStatsData=i,[2,i]}}))}))}}),Object.defineProperty(t.prototype,"_reportHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,r,n,o,a;return s(this,void 0,void 0,(function(){var s,u,_,p,f,h,b,R;return c(this,(function(c){switch(c.label){case 0:return[4,this._getStatsData()];case 1:if(!(s=c.sent()))return[2];u=this._createRCRTCStateReport(s);try{_=u.iceCandidatePair||{},p=_.availableIncomingBitrate,f=_.availableOutgoingBitrate,h=_.rtt,this._logger.info(i.L_RTC_PEER_CONNECTION_ICECANDIDATEPAIR_DATA_O,"availableIncomingBitrate: ".concat(p,", availableOutgoingBitrate: ").concat(f,", rtt: ").concat(h)),null===(r=null===(e=this._reportListener)||void 0===e?void 0:e.onStateReport)||void 0===r||r.call(e,JSON.parse(JSON.stringify(u)))}catch(e){this._logger.error(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,null==e?void 0:e.stack)}if(b=d(d([],l(s.receivers),!1),l(s.senders),!1).filter((function(e){return"audio"===e.kind})).map((function(e){return{trackId:e.trackId,audioLevel:e.audioLevel}})),this.emit(t.__INNER_AUDIOLEVEL_CHANGE__,b),this._isRoomAudience&&(null===(n=this._reportListener)||void 0===n?void 0:n.onReportLiveAudioStates)){R=this._getLiveAudioState();try{R.length&&(null===(a=null===(o=this._reportListener)||void 0===o?void 0:o.onReportLiveAudioStates)||void 0===a||a.call(o,R))}catch(e){this._logger.error(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,null==e?void 0:e.stack)}}return[2]}}))}))}}),Object.defineProperty(t.prototype,"_getLiveAudioState",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=[];return this._rtcPeerConn.getReceivers().forEach((function(e){var r=e.getContributingSources();r.length&&t.push.apply(t,d([],l(r),!1))})),t.map((function(t){var r=t.source,n=t.audioLevel,i=e._store.getTrackIdBySSRC(r);if(!i)return{};var o=dt(i).userId;return{audioLevel:oo(n),userId:o,trackId:i}})).filter((function(e){return!!e.userId}))}}),Object.defineProperty(t.prototype,"_sendR3R4Data",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t;return s(this,void 0,void 0,(function(){var r,n,i;return c(this,(function(o){switch(o.label){case 0:return(r=this._formatStatsData)?(n=r.senders,i=r.receivers,n.length?[4,null===(e=this._polarisReport)||void 0===e?void 0:e.sendR3Data(r)]:[3,2]):[2];case 1:o.sent(),o.label=2;case 2:return i.length?[4,null===(t=this._polarisReport)||void 0===t?void 0:t.sendR4Data(r)]:[3,4];case 3:o.sent(),o.label=4;case 4:return[2]}}))}))}}),Object.defineProperty(t.prototype,"__reportR3R4ToPolaris",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e=this;return c(this,(function(t){return clearTimeout(this._reportR3R4ToPolarisTimer),this._reportR3R4ToPolarisTimer=setTimeout((function(){return s(e,void 0,void 0,(function(){var e=this;return c(this,(function(t){return this._sendR3R4Data().then((function(){e.__reportR3R4ToPolaris()})),[2]}))}))}),2e3),[2]}))}))}}),Object.defineProperty(t.prototype,"getRTCPeerConn",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._rtcPeerConn}}),Object.defineProperty(t.prototype,"getCapabilitiesCodes",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t;void 0===e&&(e=Ro.H264);var r=null===(t=RTCRtpSender.getCapabilities("video"))||void 0===t?void 0:t.codecs,n=null;switch(e){case Ro.VP8:case Ro.VP9:n=r.find((function(t){return t.mimeType.match(e)}));break;case Ro.H264:n=r.find((function(t){var r;return t.mimeType.match(e)&&(null===(r=t.sdpFmtpLine)||void 0===r?void 0:r.match("42e01f"))}))}return r=r.filter((function(e){return e!==n})),r=d([n],l(r),!1)}}),Object.defineProperty(t.prototype,"setEncoderPreferences",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r;return c(this,(function(n){return t=this.getRTCPeerConn(),r=this.getCapabilitiesCodes(e),this._logger.info(i.L_SET_ENCODER_PREFERENCES_S,JSON.stringify({status:o.SUCCESSED,codecCap:r})),t.getTransceivers().forEach((function(e){var t;"video"===(null===(t=e.sender.track)||void 0===t?void 0:t.kind)&&e.setCodecPreferences(r)})),[2]}))}))}}),Object.defineProperty(t.prototype,"destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;null===(e=this._WebRTCIssueDetector)||void 0===e||e.stopWatchingNewPeerConnections(),this.clear(),this.clearReTryExchangeTimer(),clearTimeout(this._reportR3R4ToPolarisTimer),this.stopAutoExecute(),this.registerReportListener(null),this._rtcPeerConn.close(),this._isDestroyed=!0,this.reportParser=null,this._logger.info(i.L_RTC_PEER_CONNECTION_DESTROY_O,JSON.stringify({status:o.SUCCESSED}))}}),Object.defineProperty(t.prototype,"clearReTryExchangeTimer",{enumerable:!1,configurable:!0,writable:!0,value:function(){clearTimeout(this._reTryExchangeTimer),this._reTryExchangeTimer=null}}),Object.defineProperty(t.prototype,"isDestroyed",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isDestroyed}}),Object.defineProperty(t,"__INNER_EVENT_TRACK_READY__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-track-ready"}),Object.defineProperty(t,"__INNER_AUDIOLEVEL_CHANGE__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-audio-level-change"}),Object.defineProperty(t,"__INNER_ICE_STATE_CHANGE__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-ice-state-change"}),Object.defineProperty(t,"__INNER_ICE_CONNECTED__",{enumerable:!0,configurable:!0,writable:!0,value:"inner-ice-connected"}),t}(e.EventEmitter),ha=function(){function e(e,t){Object.defineProperty(this,"_store",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_peer",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_audioLevelChangeHandler",{enumerable:!0,configurable:!0,writable:!0,value:null})}return Object.defineProperty(e.prototype,"audioLevelReport",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;if(this._audioLevelChangeHandler){var r=[];e.forEach((function(e){var n=dt(e.trackId).userId,i=t._store.crtUserId===n?t._peer.getLocalTrack(e.trackId):t._store.getRemoteTrack(e.trackId);i&&r.push({track:i,audioLevel:e.audioLevel||0})})),this._audioLevelChangeHandler(r)}}}),Object.defineProperty(e.prototype,"onAudioLevelChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._audioLevelChangeHandler=e}}),e}();exports.RCRTCLiveRole=void 0,(ua=exports.RCRTCLiveRole||(exports.RCRTCLiveRole={}))[ua.ANCHOR=1]="ANCHOR",ua[ua.AUDIENCE=2]="AUDIENCE",function(e){e.UNPUBLISH_PREV="UnpublishPrevCommand",e.PULL_RTCROOM_STATUS="PullRTCRoomStatusCommand",e.JOINROOM="JoinRoomCommand",e.PARSE_REMOTERES="ParseRemoteResCommand",e.PARSE_USERSTATE="ParseUserStateCommand",e.LOCAL_TRACK_MUTE="LocalTrackMuteCommand",e.PUBLISH="PublishCommand",e.RETRY_EXCHANGE="RetryExchangeCommand",e.UNPUBLISH="UnpublishCommand",e.SUBSCRIBE="SubscribeCommand",e.UNSUBSCRIBE="UnsubscribeCommand",e.UPDATE_SUBSCRIBE_LIST="UpdateSubscribeListCommand",e.ON_SIGNAL_RECONNECTED="OnSignalReconnectedCommand",e.LEAVE_OTHER_ROOM="LeaveOtherRoomCommand",e.RTC_IDENTITY_CHANGE="RTCIdentityChangeCommand",e.ENABLE_INNER_CDN="EnableInnerCDNCommand",e.EXCHANGE_WITH_PUSH_OTHER_ROOM="ExchangeWithPushOtherRoomCommand",e.MCUCONFIG_FLUSH="MCUConfigFlushCommand",e.UNKNOWN="Unknown"}(la||(la={})),function(e){e[e.LOW=0]="LOW",e[e.NORMAL=1]="NORMAL",e[e.HIGH=2]="HIGH"}(da||(da={})),function(e){e[e.Destroy=40400]="Destroy"}(_a||(_a={}));var ba,Ra=function(){function e(){}return Object.defineProperty(e.prototype,"priority",{get:function(){return da.LOW},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"kind",{get:function(){return la.UNKNOWN},enumerable:!1,configurable:!0}),e}(),ga=function(){function t(e,t,r,n){Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_store",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"abortCode",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_queue",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_busy",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_isDestroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1})}return Object.defineProperty(t.prototype,"_next",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._busy=!1,this._execute()}}),Object.defineProperty(t.prototype,"_execute",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var t,r,n,o,a,s,u;return c(this,(function(c){switch(c.label){case 0:if(this._isDestroyed||this._busy||0===this._queue.length)return[2];this._busy=!0,t=this._queue.shift(),r=t.command,n=t.resolve,a=this._logger.createTraceId(),c.label=1;case 1:return c.trys.push([1,3,,4]),this._logger.info(i.L_INVOKER_EXECUTE_T,"kind: ".concat(r.kind,", length: ").concat(this._queue.length),a),[4,r.execute(this._context,this._store,this)];case 2:return o=c.sent(),[3,4];case 3:return s=c.sent(),console.error(s),this._logger.error(i.L_INVOKER_EXECUTE_R,r.kind,a),this._next(),[2];case 4:return(u=o.code)!==exports.RCRTCCode.SUCCESS&&u!==e.ErrorCode.SUCCESS?this._logger.warn(i.L_INVOKER_EXECUTE_R,"code: ".concat(u,", kind: ").concat(r.kind),a):this._logger.info(i.L_INVOKER_EXECUTE_R,"kind: ".concat(r.kind,", Done"),a),n(o),this._next(),[2]}}))}))}}),Object.defineProperty(t.prototype,"push",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t=this;return c(this,(function(r){return[2,new Promise((function(r){if(t._logger.info(i.L_INVOKER_PUSH_O,JSON.stringify({isDestroyed:t._isDestroyed,kind:e.kind,length:t._queue.length})),t._isDestroyed)r({code:exports.RCRTCCode.NOT_IN_ROOM});else{var n=e.priority;if(n===da.LOW)t._queue.push({command:e,resolve:r});else{var o=t._queue.findIndex((function(e){return e.command.priority<n})),a=-1===o?t._queue.length-1:o;t._queue.splice(a,0,{command:e,resolve:r})}setTimeout((function(){t._execute()}),0)}}))]}))}))}}),Object.defineProperty(t.prototype,"isDestroyed",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isDestroyed}}),Object.defineProperty(t.prototype,"destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this._isDestroyed||(this._logger.info(i.L_INVOKER_DESTROY_O),this._isDestroyed=!0,this._queue.forEach((function(t){t.resolve({code:e.abortCode})})),this._queue.length=0)}}),t}(),ma=function(e){function t(t,r){return e.call(this,t.logger,t,r,exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED)||this}return r(t,e),Object.defineProperty(t.prototype,"store",{get:function(){return this._context.store},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(){e.prototype.destroy.call(this),this._store.removeRemoteTracks()}}),t}(ga),Ca=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,"_updateTrackIdSSRCMap",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;Object.values(this._roomResources).forEach((function(t){t.forEach((function(t){var r=JSON.parse(t.uri),n=r.ssrc,i=r.resourceId;e._trackIdSSRCMap.set(n,i)}))}))}}),Object.defineProperty(t.prototype,"setTrackIdSSRCMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._trackIdSSRCMap.set(e,t)}}),Object.defineProperty(t.prototype,"_initRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;for(var t in this._roomResources){var r=this._roomResources[t];t!==this.crtUserId&&0!==r.length&&r.forEach((function(t){var r=lt(t),n=dt(r),i=n.tag,o=n.userId,a=n.mediaType===exports.RCMediaType.AUDIO_ONLY?new rt(e._logger,i,o):new nt(e._logger,i,o);a.__innerSetRemoteMuted(0===t.state),e._remoteTracks[r]=a}))}}}),Object.defineProperty(t.prototype,"initWithRoomData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._sessionId=e.sessionId,this._token=e.token,this._roomStatusVersion=Pt(e.version),this._roomResources=yt(e,this.roomId,this._logger,t),this._updateTrackIdSSRCMap(),this._initRemoteTracks(),this.setResourcesByUserId(this.crtUserId,this.getResourcesByUserId(this.crtUserId)||[]),this._logger.info(i.L_PARSE_ROOMDATA_URIS_R,"room data -> ".concat(JSON.stringify(this._roomResources)),t)}}),Object.defineProperty(t.prototype,"assignRoomData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){Object.assign(this._roomResources,e),this._updateTrackIdSSRCMap()}}),Object.defineProperty(t.prototype,"setResourcesByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._roomResources[e]=t,this._updateTrackIdSSRCMap()}}),Object.defineProperty(t.prototype,"removeRemoteTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){delete this._remoteTracks[e]}}),Object.defineProperty(t.prototype,"removeResourcesByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){delete this._roomResources[e],this._updateTrackIdSSRCMap()}}),Object.defineProperty(t.prototype,"addRemoteTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._remoteTracks[e.getTrackId()]=e}}),Object.defineProperty(t.prototype,"removeRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=Object.values(this._remoteTracks);e.length&&(e.forEach((function(e){e.isAudioTrack()&&e.__releaseMediaElement()})),this._remoteTracks={})}}),Object.defineProperty(t.prototype,"setCDNEnabel",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._CDNEnable=e}}),Object.defineProperty(t.prototype,"setCDNUris",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._CDNUris=e}}),Object.defineProperty(t.prototype,"resetSubscribedList",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t;(t=this._subscribedList).splice.apply(t,d([0,this._subscribedList.length],l(e),!1)),this.resetCollectSubscribeList(e)}}),Object.defineProperty(t.prototype,"resetCollectSubscribeList",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t;(t=this._collectSubscribeList).splice.apply(t,d([0,this._collectSubscribeList.length],l(e),!1))}}),Object.defineProperty(t.prototype,"setRoomStatusVersion",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._roomStatusVersion=Pt(e)}}),t}(function(){function e(e,t,r,n,i,o,a,s){Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"appkey",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"roomId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"crtUserId",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"roomMode",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"isUpgrade",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"isMainRoom",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"_roomResources",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_remoteTracks",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_subscribedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_collectSubscribeList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_token",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_sessionId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_CDNUris",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_CDNEnable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_destroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_trackIdSSRCMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"_roomStatusVersion",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_supportNtf",{enumerable:!0,configurable:!0,writable:!0,value:!0})}return Object.defineProperty(e.prototype,"getResourcesByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._roomResources[e]}}),Object.defineProperty(e.prototype,"getRemoteTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._remoteTracks[e]}}),Object.defineProperty(e.prototype,"getRemoteTracksByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=[];for(var r in this._remoteTracks){var n=this._remoteTracks[r];n.getUserId()===e&&t.push(n)}return t}}),Object.defineProperty(e.prototype,"getRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._remoteTracks}}),Object.defineProperty(e.prototype,"getSessionId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._sessionId}}),Object.defineProperty(e.prototype,"getAllUserIds",{enumerable:!1,configurable:!0,writable:!0,value:function(){return Object.keys(this._roomResources)}}),Object.defineProperty(e.prototype,"getRemoteUserIds",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;return this.getAllUserIds().filter((function(t){return t!==e.crtUserId}))}}),Object.defineProperty(e.prototype,"getSubscribedList",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subscribedList}}),Object.defineProperty(e.prototype,"getCollectSubscribeList",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._collectSubscribeList}}),Object.defineProperty(e.prototype,"getPublishedResourceByTrackId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=dt(e).userId;return this._roomResources[t].find((function(t){return lt(t)===e}))}}),Object.defineProperty(e.prototype,"getToken",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._token}}),Object.defineProperty(e.prototype,"getCDNEnable",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._CDNEnable}}),Object.defineProperty(e.prototype,"getCDNUris",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._CDNUris}}),Object.defineProperty(e.prototype,"getRoomStatusVersion",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._roomStatusVersion}}),Object.defineProperty(e.prototype,"getTrackIdBySSRC",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._trackIdSSRCMap.get(e)}}),Object.defineProperty(e.prototype,"getRTCRequestHeader",{enumerable:!1,configurable:!0,writable:!0,value:function(){return{"App-Key":this.appkey,RoomId:this.roomId,Token:this._token,RoomType:this.roomMode,UserId:this.crtUserId,"Client-Session-Id":this.clientSessionId}}}),Object.defineProperty(e.prototype,"getSupportNtf",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._supportNtf}}),e}()),va=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.UNPUBLISH_PREV},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l,d;return c(this,(function(c){switch(c.label){case 0:return n=t.logger,a=t.context,s=r.getResourcesByUserId(r.crtUserId),u=s.slice(),s.length=0,l=n.createTraceId(),n.info(i.L_UNPUBLISH_PREV_COMMAND_T,JSON.stringify({resource:u}),l),[4,a.setRTCTotalRes(r.roomId,[it(Tt.UNPUBLISH,u)],ot([]),Tt.TOTAL_CONTENT_RESOURCE,ot([]))];case 1:return(d=c.sent())!==e.ErrorCode.SUCCESS?n.error(i.L_UNPUBLISH_PREV_COMMAND_R,JSON.stringify({status:o.FAILED,code:d}),l):n.info(i.L_UNPUBLISH_PREV_COMMAND_R,JSON.stringify({status:o.SUCCESSED}),l),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),n}(Ra);exports.RTCMode=void 0,(ba=exports.RTCMode||(exports.RTCMode={}))[ba.RTC=0]="RTC",ba[ba.LIVE=2]="LIVE",ba[ba.CROSS_MUTI=7]="CROSS_MUTI",ba[ba.SIP=4]="SIP",ba[ba.CALL=5]="CALL";var Oa,Ta=function(t){function n(e,r,n,i,o,a,s){var c=t.call(this)||this;return Object.defineProperty(c,"roomId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(c,"roomType",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(c,"joinType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(c,"livingType",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(c,"innerUserDatas",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(c,"outerUserDatas",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(c,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:s}),c}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.JOINROOM},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"_getResultTag",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=i.L_RTC_CLIENT_JOIN_RTC_ROOM_R;return this.roomType===exports.RTCMode.LIVE&&(e=i.L_RTC_CLIENT_JOIN_LIVING_ROOM_R),e}}),Object.defineProperty(n.prototype,"_validateParams",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){var i=this;if(t.getConnectionStatus()!==e.RCConnectionStatus.CONNECTED)return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.SIGNAL_DISCONNECTED,msg:"im not connected"}),this.traceId),{code:exports.RCRTCCode.SIGNAL_DISCONNECTED};if(It(t.getNaviInfo()))return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR,msg:"package environment error"}),this.traceId),{code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR};if(!e.validate("roomId",this.roomId,e.notEmptyString,!0))return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> roomId"}),this.traceId),{code:exports.RCRTCCode.PARAMS_ERROR};if(!e.validate("roomType",this.roomType,(function(e){return void 0!==exports.RTCMode[e]})))return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> roomType"}),this.traceId),{code:exports.RCRTCCode.PARAMS_ERROR};if(!e.validate("outerUserDatas",this.outerUserDatas,e.isObject,!1))return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> outerUserDatas"}),this.traceId),{code:exports.RCRTCCode.PARAMS_ERROR};if(this.outerUserDatas&&!Object.keys(this.outerUserDatas).every((function(t){return e.validate("outerUserDatas.".concat(t),i.outerUserDatas[t],e.isString,!0)})))return r.error(n,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> outerUserDatas"}),this.traceId),{code:exports.RCRTCCode.PARAMS_ERROR};return{code:exports.RCRTCCode.SUCCESS}}}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){var i;return s(this,void 0,void 0,(function(){var a,s,u,l,d,_,p,f,h,b,R,g,m;return c(this,(function(c){switch(c.label){case 0:return a=Date.now(),s=t.context,u=t.service,l=t.logger,d=t.reportMediaActionLogger,_=this._getResultTag(),(p=this._validateParams(s,l,_).code)!==exports.RCRTCCode.SUCCESS?[2,{code:p}]:(u.detectorMediaSever(),u.getNaviMS().length?(f=r.getSupportNtf(),[4,s.joinRTCRoom(this.roomId,this.roomType,this.livingType,this.joinType,this.innerUserDatas,this.outerUserDatas,f)]):(l.error(_,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER,msg:"No audio / video server address available"}),this.traceId),[2,{code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER}]));case 1:return h=c.sent(),b=h.code,R=h.data,d.reportQualityJoinRoomData(a,b,this.roomType,null==R?void 0:R.sessionId),b===e.ErrorCode.SUCCESS&&R?(r.initWithRoomData(R,this.traceId),r.getResourcesByUserId(r.crtUserId).length>0&&n.push(new va),(m=null===(i=R.roomInfo.filter((function(e){return"cdn_uris"===e.key}))[0])||void 0===i?void 0:i.value)&&r.setCDNUris(JSON.parse(m)[0]),l.info(_,JSON.stringify({status:o.SUCCESSED,userId:r.crtUserId,roomId:this.roomId}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS,data:R}]):(g=40032===b?exports.RCRTCCode.SIGNAL_JOIN_RTC_ROOM_REFUSED:b,l.error(_,JSON.stringify({status:o.FAILED,code:g,msg:"joinRoom failed"}),this.traceId),[2,{code:g}])}}))}))}}),n}(Ra);!function(e){e[e.ROOM=1]="ROOM",e[e.PERSON=2]="PERSON"}(Oa||(Oa={}));var Ea,Sa,Ia,ya="PEER_CONNECTION_CLOSED_BY_EXCEPTION",La="USER_JOIN",Pa="USER_LEAVE",Na="TRACKS_PUBLISH",Aa="TRACKS_UNPUBLISH",wa="AUDIO_MUTE_CHANGE",Da="VIDEO_MUTE_CHANGE",ka="CDN_ENABLE_CHANGE",Ua="USER_STATE_CHANGE",Ma=function(e){function t(t,r,n,i,o,a,s,c){var u=e.call(this)||this;return Object.defineProperty(u,"logger",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(u,"service",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(u,"context",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(u,"runtime",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(u,"peer",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(u,"store",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(u,"polarisReport",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(u,"reportMediaActionLogger",{enumerable:!0,configurable:!0,writable:!0,value:c}),Object.defineProperty(u,"getPushOtherRooms",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),u}return r(t,e),t}(e.EventEmitter);!function(e){e.PUBLISH="publish",e.SUBSCRIBE="subscribe"}(Ea||(Ea={})),function(e){e.BEGIN="begin",e.END="end"}(Sa||(Sa={})),function(e){e[e.SPREAD=0]="SPREAD",e[e.NO_SPREAD=-1]="NO_SPREAD"}(Ia||(Ia={}));var xa,ja=function(e){function t(t,r,n){var i=e.call(this)||this;return Object.defineProperty(i,"reqBody",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(i,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"isNeedUpdateMsas",{enumerable:!0,configurable:!0,writable:!0,value:n}),i}return r(t,e),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n;return s(this,void 0,void 0,(function(){var r,i,o,s,u,l,d,_,p,f;return c(this,(function(c){switch(c.label){case 0:return r=e.service,i=e.context,[4,r.exchange(t.getRTCRequestHeader(),this.reqBody,this.traceId,this.isNeedUpdateMsas)];case 1:return o=c.sent(),s=o.code,u=o.data,l=o.qualityMsList,d={code:s,data:{data:u,qualityMsList:l}},_=null===(n=null==u?void 0:u.urls)||void 0===n?void 0:n.pull_url,t.roomMode===exports.RTCMode.LIVE&&_&&(p=JSON.parse(_),t.setCDNUris(p),(null==p?void 0:p.broadcast)===Ia.SPREAD&&(t.setCDNEnabel(!0),f=a(a({},p),{enableInnerCDN:!0}),Ha(i,t.roomId,f))),[2,d]}}))}))}}),t}(Ra);!function(e){e.PUB="pub",e.UNPUB="unpub",e.SUB="sub",e.UNSUB="unsub"}(xa||(xa={}));var Ba=function(t){function n(e,r,n,i,o){void 0===i&&(i=xa.SUB);var a=t.call(this)||this;return Object.defineProperty(a,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(a,"forceReq",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"fromCommand",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(a,"unsubTracks",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(a,"_actionStartTime",{enumerable:!0,configurable:!0,writable:!0,value:Date.now()}),Object.defineProperty(a,"_trackMediaMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),a}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.UPDATE_SUBSCRIBE_LIST},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"_dealSubscribeResult",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){var a=null==n?void 0:n.map((function(e){return"".concat(e.msid,"_").concat(e.mediaType)})),s=r.filter((function(e){return null==a?void 0:a.includes(e.track.getTrackId())})),c=r.filter((function(e){return!(null==a?void 0:a.includes(e.track.getTrackId()))}));t.info(i.L_ABSTRACT_ROOM_SUBSCRIBE_R,JSON.stringify({status:o.SUCCESSED,subSuccessTrackIds:a,failedList:c}),this.traceId);var u=e.getRemoteTracks(),l=function(e){var t=s.some((function(t){return t.track.getTrackId()===e}));u[e].__innerSetSubscribed(t);var r=s.some((function(t){return t.track.getTrackId()===e&&t.subTiny}));u[e].isVideoTrack()&&u[e].__innerSetIsTinyTrack(r)};for(var d in u)l(d);return e.resetSubscribedList(s),c}}),Object.defineProperty(n.prototype,"_getParams",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=this,o=r.map((function(e){return e instanceof tt?{track:e}:a({},e)})),s={};return o=o.filter((function(r){var o=r.track.getTrackId();return e.getRemoteTrack(o)?!s[o]&&(s[o]=!0,!0):(t.warn(i.L_UPDATE_SUBSCRIBELIST_COMMAND_P,"track cannot found in room -> trackId: ".concat(o),n.traceId),!1)})).map((function(e){return a({},e)}))}}),Object.defineProperty(n.prototype,"_validateParams",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return e.validate("tracks",r,(function(){return e.isArray(r)&&r.every((function(e){return e instanceof tt||e.track instanceof tt}))}),!0)?{code:exports.RCRTCCode.SUCCESS}:(t.warn(i.L_UPDATE_SUBSCRIBELIST_COMMAND_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"tracks is invalid"}),this.traceId),{code:exports.RCRTCCode.PARAMS_ERROR})}}),Object.defineProperty(n.prototype,"_reportPubOrSubQualityData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){(null==r?void 0:r.length)&&e.reportPubOrSubQualityData(this.fromCommand,this._actionStartTime,r,t,this._trackMediaMap)}}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,s,u,l,d,_,p,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L=this;return c(this,(function(c){switch(c.label){case 0:if(n=e.logger,s=e.peer,u=e.reportMediaActionLogger,this._actionStartTime=Date.now(),d=(l=this).tracks,_=l.forceReq,p=t.roomId,n.info(i.L_UPDATE_SUBSCRIBELIST_COMMAND_T,"roomId: ".concat(p,", forceReq: ").concat(_,", trackIds: ").concat(d.map(Lt)),this.traceId),(f=this._validateParams(n,d).code)!==exports.RCRTCCode.SUCCESS)return[2,{code:f}];if(h=this._getParams(t,n,d),b=t.getSubscribedList().map((function(e){return a({},e)})),!_){if(!Za(h,b))return n.warn(i.L_UPDATE_SUBSCRIBELIST_COMMAND_R,JSON.stringify({status:o.SUCCESSED,msg:"subscribe list unchanged"}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS}];b.length&&(R=b.map((function(e){return e.track})),n.warn(i.L_CLEAR_UNSUBSCRIBE_LIST_O,JSON.stringify({list:R.map((function(e){return e.getTrackId()}))}),this.traceId),g=t.getSubscribedList().filter((function(e){return R.every((function(t){return t.getTrackId()!==e.track.getTrackId()}))})),t.resetSubscribedList(g))}return s.__reportR3R4ToPolaris(),s.clearReTryExchangeTimer(),s.updateSubRemoteTracks(h.map((function(e){return e.track}))),[4,Ja(h,!1,s,t)];case 1:return(m=c.sent()).pushOtherRooms=e.getPushOtherRooms(),[4,new ja(m,this.traceId,!0).execute(e,t,r)];case 2:return C=c.sent(),d.forEach((function(e){var t=e instanceof tt?e.getTrackId():e.track.getTrackId();L._trackMediaMap[t]=C.data.qualityMsList||[]})),v=this.fromCommand===xa.SUB?d:this.unsubTracks,C.code!==exports.RCRTCCode.SUCCESS?(this._reportPubOrSubQualityData(u,C.code,v),n.error(i.L_UPDATE_SUBSCRIBELIST_COMMAND_R,JSON.stringify({status:o.FAILED,code:C.code}),this.traceId),[2,{code:C.code}]):(O=C.data.data,T=O.sdp,E=O.resultCode,S=O.subscribedList,E!==exports.RCRTCCode.SUCCESS?(this._reportPubOrSubQualityData(u,E,v),n.error(i.L_UPDATE_SUBSCRIBELIST_COMMAND_R,JSON.stringify({status:o.FAILED,code:E}),this.traceId),[2,{code:E}]):(u.setPubOrSubSuccessTime(Date.now()),[4,s.setRemoteAnswer(T.sdp)]));case 3:return I=c.sent(),this._reportPubOrSubQualityData(u,I,v),I!==exports.RCRTCCode.SUCCESS?[2,{code:I}]:[2,(y=this._dealSubscribeResult(t,n,h,S)).length?{code:exports.RCRTCCode.SUCCESS,data:y}:{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),n}(Ra),Va=function(t){function n(e,r){var n=t.call(this)||this;return Object.defineProperty(n,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(n,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.UNSUBSCRIBE},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var s,u,l,d;return c(this,(function(c){return s=t.logger,u=t.polarisReport,l=this.tracks,e.validate("tracks",l,(function(){return e.isArray(l)&&l.length>0&&l.every((function(e){return e instanceof tt}))}),!0)?(s.info(i.L_ABSTRACT_ROOM_UNSUBSCRIBE_T,JSON.stringify({unSubscribeTrackIds:l.map(Lt)}),this.traceId),d=r.getSubscribedList().map((function(e){return a({},e)})).filter((function(e){return l.every((function(t){return t.getTrackId()!==e.track.getTrackId()}))})),u.sendR2(Ea.SUBSCRIBE,Sa.END,l.map((function(e){return e.getTrackId()}))),[2,new Ba(d,!1,this.traceId,xa.UNSUB,this.tracks).execute(t,r,n)]):(s.warn(i.L_ABSTRACT_ROOM_UNSUBSCRIBE_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"}),this.traceId),[2,{code:exports.RCRTCCode.PARAMS_ERROR}])}))}))}}),n}(Ra),Fa=function(e){function t(t){var r=e.call(this)||this;return Object.defineProperty(r,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:t}),r}return r(t,e),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,o,a;return c(this,(function(s){switch(s.label){case 0:return n=e.logger,o=this.tracks,a=n.createTraceId(),n.info(i.L_USER_LEFT_UNSUBSCRIBE_O,void 0,a),[4,new Va(o,a).execute(e,t,r)];case 1:return s.sent(),o.forEach((function(e){e.__innerDestroy(),t.removeRemoteTrack(e.getTrackId())})),e.emit(Aa,o),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),t}(Ra);function Ja(e,t,r,n){return s(this,void 0,void 0,(function(){var i;return c(this,(function(o){switch(o.label){case 0:return[4,r.createOffer(t)];case 1:return i=o.sent(),[2,{sdp:i,extend:JSON.stringify({resolutionInfo:r.getOutboundVideoInfo()}),subscribeList:e.filter((function(e){var t=e.track.getTrackId(),r=dt(t).userId,i=n.getResourcesByUserId(r);if(!i)return!1;var o=i.filter((function(e){return t==="".concat(e.msid,"_").concat(e.mediaType)})).length;return o})).map((function(e){return{simulcast:e.subTiny?qi.TINY:qi.NORMAL,resolution:"",uri:n.getPublishedResourceByTrackId(e.track.getTrackId()).uri}})),switchstream:!1}]}}))}))}function Ga(t,r,n){return s(this,void 0,void 0,(function(){var a,s;return c(this,(function(c){switch(c.label){case 0:return a=t.logger.createTraceId(),t.logger.info(i.L_LIVING_ROOM_SPREAD_CDN_INFO_T,JSON.stringify({CDNUris:n}),a),[4,t.setRTCCDNUris(r,Tt.TOTAL_CONTENT_RESOURCE,JSON.stringify([n]))];case 1:return(s=c.sent())!==e.ErrorCode.SUCCESS?(t.logger.error(i.L_LIVING_ROOM_SPREAD_CDN_INFO_R,"status: ".concat(o.FAILED,", code: ").concat(s),a),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(t.logger.info(i.L_LIVING_ROOM_SPREAD_CDN_INFO_R,"status: ".concat(o.SUCCESSED),a),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}function Ha(t,r,n){return s(this,void 0,void 0,(function(){var a,s;return c(this,(function(c){switch(c.label){case 0:return a=t.logger.createTraceId(),t.logger.info(i.L_LIVING_ROOM_SET_ROOM_CDN_INFO_T,"CDNUris: ".concat(n),a),[4,t.setRTCData(r,"cdn_uris",JSON.stringify([n]),!0,Oa.ROOM)];case 1:return(s=c.sent())!==e.ErrorCode.SUCCESS?(t.logger.error(i.L_LIVING_ROOM_SET_ROOM_CDN_INFO_R,"status: ".concat(o.FAILED,", code: ").concat(s),a),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(t.logger.info(i.L_LIVING_ROOM_SET_ROOM_CDN_INFO_R,"status: ".concat(o.SUCCESSED),a),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}function Ka(e,t){return s(this,void 0,void 0,(function(){var r,n,i;return c(this,(function(o){switch(o.label){case 0:return r=t.roomId,n=Object.assign({},t.getCDNUris(),{enableInnerCDN:t.getCDNEnable()}),[4,Promise.all([Ga(e,r,n),Ha(e,r,n)])];case 1:return i=o.sent(),[2,i.every((function(e){return e.code===exports.RCRTCCode.SUCCESS}))?{code:exports.RCRTCCode.SUCCESS}:{code:exports.RCRTCCode.SIGNAL_ERROR}]}}))}))}var Wa=function(e,t,r,n){return s(void 0,void 0,void 0,(function(){var i,o,a,s,u,l,d;return c(this,(function(c){switch(c.label){case 0:for(a in i=e.crtUserId,o=[],n)o.push(a);s=0,c.label=1;case 1:return s<o.length?(u=o[s])===i?[3,3]:(l=n[u]).length?(d=l.map((function(t){return e.getRemoteTrack(lt(t))})),[4,new Fa(d).execute(t,e,r)]):[3,3]:[3,4];case 2:c.sent(),c.label=3;case 3:return s++,[3,1];case 4:return[2]}}))}))};function Ya(t,r,n,a,u,l){return s(this,void 0,void 0,(function(){var s,d,_,p,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L;return c(this,(function(c){switch(c.label){case 0:for(s=n.logger,d=r.roomId,_=r.roomMode,p=[],f={},h={},b={},R=yt(t,d,s,l),g=Object.keys(R),m=r.getAllUserIds(),C=g.length-1;C>=0;C-=1)v=g[C],-1!==(O=m.indexOf(v))?(T=r.getResourcesByUserId(v),E=R[v],S=ft(T,E,!0),I=S.publishedList,y=S.modifiedList,L=S.unpublishedList,f[v]=pt(I),h[v]=pt(L),b[v]=pt(y),m.splice(O,1)):(p.push(v),f[v]=pt(R[v]));return m.length&&m.forEach((function(e){r.removeResourcesByUserId(e)})),r.assignRoomData(R),m.length?[4,za(m,n,r,a,l)]:[3,2];case 1:c.sent(),n.emit(Pa,m),c.label=2;case 2:return p.length&&n.emit(La,p),[4,Wa(r,n,a,h)];case 3:return c.sent(),function(e,t,r){var n=t.logger;Object.keys(r).forEach((function(i){var o=r[i];if(0!==o.length){var a=o.map((function(t){var r=lt(t),i=dt(r),o=i.userId,a=i.tag,s=i.mediaType===exports.RCMediaType.AUDIO_ONLY?new rt(n,a,o):new nt(n,a,o);return e.addRemoteTrack(s),s.__innerSetRemoteMuted(0===t.state),s}));t.emit(Na,a)}}))}(r,n,f),function(e,t,r){Object.keys(r).forEach((function(n){r[n].forEach((function(r){var n=lt(r),i=e.getRemoteTrack(n);i.__innerSetRemoteMuted(0===r.state),i.isAudioTrack()?t.emit(wa,i):t.emit(Da,i)}))}))}(r,n,b),_===e.RTCMode.LIVE&&function(e,t,r,n){var a;if(!n)return void r.warn(i.L_LIVING_ROOM_RECONNECTED_R,JSON.stringify({status:o.FAILED,code:"",msg:"cdn_uris not found"}));var s=JSON.parse(n),c=(null===(a=t.getCDNUris())||void 0===a?void 0:a.enableInnerCDN)!==s.enableInnerCDN;t.setCDNUris(s),c&&e.emit(ka,s.enableInnerCDN)}(n,r,s,u),[2]}}))}))}function za(e,t,r,n,i){return s(this,void 0,void 0,(function(){var o,a;return c(this,(function(s){switch(s.label){case 0:return o=[],a=[],e.forEach((function(e){o.push.apply(o,d([],l(r.getRemoteTracksByUserId(e)),!1)),a.push(e)})),o.length?[4,new Va(o,i).execute(t,r,n)]:[3,2];case 1:s.sent(),o.forEach((function(e){return r.removeRemoteTrack(e.getTrackId())})),s.label=2;case 2:return a.length&&a.forEach((function(e){return r.removeResourcesByUserId(e)})),[2]}}))}))}var qa,Qa=function(e,t,r){var n=e.split("\r\nm"),i=r===exports.RCMediaType.AUDIO_ONLY?"audio":"video",o=n.filter((function(e){return e.includes("=".concat(i))&&e.includes(t)}))[0],a=new RegExp("a=ssrc:(.*?) msid:".concat(t)),s=o.match(a);return s?s[1]:""},Za=function(e,t){var r=!1;return e.forEach((function(e){var n=t.findIndex((function(t){return t.track.getTrackId()===e.track.getTrackId()}));-1!==n?t.splice(n,1)[0].subTiny!==e.subTiny&&(r=!0):r=!0})),t.length&&(r=!0),r},Xa=function(e){function t(t,r){var n=e.call(this)||this;return Object.defineProperty(n,"msgContent",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(n,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(t,e),Object.defineProperty(t.prototype,"kind",{get:function(){return la.PARSE_USERSTATE},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"priority",{get:function(){return da.NORMAL},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_isPKRoomUser",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n;try{for(var i=u(t),o=i.next();!o.done;o=i.next()){var a=o.value;if(a.extra&&a.extra.roomId!==e.roomId)return!0;if(1===Number(a.state)&&!e.getRemoteUserIds().includes(a.userId))return!0}}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return!1}}),Object.defineProperty(t.prototype,"_dealAddUser",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,o){var a=e.getResourcesByUserId(o);a||(n?r.upgrade.push(o):r.joined.push(o),t.info(i.L_PARSE_USERSTATE_COMMAND_R,JSON.stringify({userId:o,msg:"user ".concat(n?"upgrade":"joined")}),this.traceId)),e.setResourcesByUserId(o,a||[])}}),Object.defineProperty(t.prototype,"_dealReduceUser",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,o){t.info(i.L_PARSE_USERSTATE_COMMAND_R,JSON.stringify({userId:o,msg:"user ".concat(n?"downgrade":"left")}),this.traceId),n?r.downgrade.push(o):r.left.push(o)}}),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a,s=this;return c(this,(function(c){switch(c.label){case 0:return n=e.logger,i={joined:[],left:[],upgrade:[],downgrade:[]},0===(o=this.msgContent.users).length?[2,{code:exports.RCRTCCode.SUCCESS,data:i}]:this._isPKRoomUser(t,o)?[2,{code:exports.RCRTCCode.SUCCESS,data:i}]:(o.forEach((function(e){var r=e.userId;0===Number(e.state)?s._dealAddUser(t,n,i,e.switchRoleType,r):s._dealReduceUser(t,n,i,e.switchRoleType,r)})),(a=d(d([],l(i.left),!1),l(i.downgrade),!1)).length?[4,za(a,e,t,r,this.traceId)]:[3,2]);case 1:c.sent(),c.label=2;case 2:return[2,{code:exports.RCRTCCode.SUCCESS,data:i}]}}))}))}}),t}(Ra),$a=function(e){function t(t,r,n,i,o){var a=e.call(this)||this;return Object.defineProperty(a,"msgContent",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(a,"messageType",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(a,"senderId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(a,"sentTime",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(a,"_publishedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(a,"_unpublishedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(a,"_modifiedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(a,"_nowResources",{enumerable:!0,configurable:!0,writable:!0,value:[]}),a}return r(t,e),Object.defineProperty(t.prototype,"kind",{get:function(){return la.PARSE_REMOTERES},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"priority",{get:function(){return da.NORMAL},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"_dealPublishList",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l,d,_,p=this;return c(this,(function(c){switch(c.label){case 0:return n=e.logger,a=e.reportMediaActionLogger,s=this._nowResources.map(lt),u=[],l=[],this._publishedList.forEach((function(e){var r=lt(e),i=s.indexOf(r),o=dt(r),a=o.userId,c=o.tag,d=o.mediaType;i>-1?p._nowResources[i]=e:p._nowResources.push(e);var _=t.getRemoteTrack(r);_?_.isSubscribed()&&u.push(_):(_=d===exports.RCMediaType.AUDIO_ONLY?new rt(n,c,a):new nt(n,c,a),t.addRemoteTrack(_),l.push(_)),_.__innerSetRemoteMuted(0===e.state)})),u.length?(d=u.map((function(e){return e.getTrackId()})),[4,new Ba(u,!0,this.traceId).execute(e,t,r)]):[3,2];case 1:(_=c.sent().code)!==exports.RCRTCCode.SUCCESS&&n.error(i.L_RESUB_REPUB_RES_R,JSON.stringify({status:o.FAILED,trackIds:d,code:_}),this.traceId),c.label=2;case 2:return e.emit(Na,l),a.reportQualityRecvPubMsgData(this.sentTime,this.senderId),[2]}}))}))}}),Object.defineProperty(t.prototype,"_dealUnpublishList",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a;return c(this,(function(s){switch(s.label){case 0:for(n=this._unpublishedList.map(lt),i=this._nowResources.length-1;i>=0;i-=1)o=this._nowResources[i],n.includes(lt(o))&&this._nowResources.splice(i,1);return a=this._unpublishedList.map((function(e){var r=lt(e);return t.getRemoteTrack(r)})),[4,new Fa(a).execute(e,t,r)];case 1:return s.sent(),[2]}}))}))}}),Object.defineProperty(t.prototype,"_dealModifiedList",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,i,o,a,s,l,d,_;return c(this,(function(c){r=this._nowResources.map(lt);try{for(n=u(this._modifiedList),i=n.next();!i.done;i=n.next())o=i.value,a=lt(o),s=r.indexOf(a),this._nowResources[s].state=o.state,(l=t.getRemoteTrack(a)).__innerSetRemoteMuted(0===o.state),l.isAudioTrack()?e.emit(wa,l):e.emit(Da,l)}catch(e){d={error:e}}finally{try{i&&!i.done&&(_=n.return)&&_.call(n)}finally{if(d)throw d.error}}return[2]}))}))}}),Object.defineProperty(t.prototype,"_updateCDNUris",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n,i=this.msgContent.cdn_uris[0],o=(null===(r=t.getCDNUris())||void 0===r?void 0:r.enableInnerCDN)!==i.enableInnerCDN;t.setCDNUris(i),o&&e.emit(ka,!!(null===(n=t.getCDNUris())||void 0===n?void 0:n.enableInnerCDN))}}),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a,s,u,_,p,f,h;return c(this,(function(c){switch(c.label){case 0:if(n=this.msgContent.uris,this._publishedList=[],this._unpublishedList=[],this._modifiedList=[],o=this.senderId,a=this.messageType,!t.getRemoteUserIds().includes(o))return[2,{code:exports.RCRTCCode.SUCCESS}];switch(this._nowResources=t.getResourcesByUserId(o)||[],a){case Tt.MODIFY:(s=this._modifiedList).push.apply(s,d([],l(n),!1));break;case Tt.PUBLISH:(u=this._publishedList).push.apply(u,d([],l(n),!1));break;case Tt.UNPUBLISH:(_=this._unpublishedList).push.apply(_,d([],l(n),!1));break;case Tt.TOTAL_CONTENT_RESOURCE:i=ft(this._nowResources,n),(p=this._publishedList).push.apply(p,d([],l(i.publishedList),!1)),(f=this._unpublishedList).push.apply(f,d([],l(i.unpublishedList),!1)),(h=this._modifiedList).push.apply(h,d([],l(i.modifiedList),!1))}return this._publishedList.length?[4,this._dealPublishList(e,t,r)]:[3,2];case 1:c.sent(),c.label=2;case 2:return this._unpublishedList.length?[4,this._dealUnpublishList(e,t,r)]:[3,4];case 3:c.sent(),c.label=4;case 4:return this._modifiedList.length?[4,this._dealModifiedList(e,t)]:[3,6];case 5:c.sent(),c.label=6;case 6:return t.setResourcesByUserId(o,this._nowResources),t.roomMode!==exports.RTCMode.LIVE?[2,{code:exports.RCRTCCode.SUCCESS}]:this.msgContent.cdn_uris?(this._updateCDNUris(e,t),[2,{code:exports.RCRTCCode.SUCCESS}]):[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),t}(Ra),es=function(t){function n(e,r,n){var i=t.call(this)||this;return Object.defineProperty(i,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(i,"forceReq",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:n}),i}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.SUBSCRIBE},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f,h,b;return c(this,(function(c){return s=t.logger,u=t.polarisReport,d=(l=this).tracks,_=l.forceReq,e.validate("tracks",d,(function(){return e.isArray(d)&&d.length>0&&d.every((function(e){return e instanceof tt||e.track instanceof tt}))}),!0)?(s.info(i.L_ABSTRACT_ROOM_SUBSCRIBE_T,JSON.stringify({trackIds:d.map(Lt),forceReq:_}),this.traceId),p=r.getSubscribedList().map((function(e){return a({},e)})),f=d.map((function(e){return e instanceof tt?{track:e}:e})),h=!1,b=[],f.forEach((function(e){var t=e.track.getTrackId();b.push(t);var r=p.find((function(e){return e.track.getTrackId()===t}));r&&r.subTiny===e.subTiny||(r?r.subTiny=e.subTiny:p.push(e),h=!0)})),h||_?(u.sendR2(Ea.SUBSCRIBE,Sa.BEGIN,b),[2,new Ba(p,!0,this.traceId).execute(t,r,n)]):(s.warn(i.L_ABSTRACT_ROOM_SUBSCRIBE_R,JSON.stringify({status:o.SUCCESSED,msg:"repeat subscribe"}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS}])):(s.error(i.L_ABSTRACT_ROOM_SUBSCRIBE_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"}),this.traceId),[2,{code:exports.RCRTCCode.PARAMS_ERROR}])}))}))}}),n}(Ra),ts=function(t){function n(e){var r=t.call(this)||this;return Object.defineProperty(r,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(r,"_traceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_actionStartTime",{enumerable:!0,configurable:!0,writable:!0,value:Date.now()}),Object.defineProperty(r,"_trackMediaMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),r}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.PUBLISH},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"_removePubFailedTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){e.forEach((function(e){var r=e instanceof Ke?e:e.track;t.removeLocalTrackById(r.getTrackId())}))}}),Object.defineProperty(n.prototype,"_addLocalTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,o,a,s,l,d,_,p;return c(this,(function(f){switch(f.label){case 0:r=[],n=function(e){var n,a,s,u,l,d,_,p,f,h,b,R,g,m,C,v,O,T;return c(this,(function(c){switch(c.label){case 0:if(a=(n=e instanceof Ke?{pubTiny:!1,track:e}:e).track,s=n.pubTiny,u=ct(a.__innerGetMediaStreamTrack()),l=u.width,d=u.height,!a.isVideoTrack())return[3,5];if(_=function(e,t){var r=e/t;return Object.keys(Ae).map((function(e){return Ae[e]})).filter((function(e){return e.width/e.height===r})).sort((function(e,t){return e.width-t.width}))[0]||Ae.W176_H144}(l,d),p=_.width,f=_.height,a.__innerGetMediaStreamTrack().applyConstraints({width:p,height:f}),a.on(Ke.__INNER_SEND_TWO_SECONDS_VIDEO__,(function(){a.__innerGetMediaStreamTrack().applyConstraints({width:l,height:d})})),!s)return[3,5];h=void 0,c.label=1;case 1:return c.trys.push([1,3,,4]),h=a.__innerGetMediaStreamTrack().clone(),b=s.frameRate||exports.RCFrameRate.FPS_15,R=s.resolution||exports.RCResolution.W176_H144,g=bt(R),m=g.width,C=g.height,v=mt(b),[4,h.applyConstraints({width:m,height:C,frameRate:v})];case 2:return c.sent(),[3,4];case 3:return O=c.sent(),null==h||h.stop(),o._logger.warn(i.L_ABSTRACT_ROOM_PUBLISH_E,"pubTiny failed -> id: ".concat(a.getTrackId(),", msg: ").concat(O.message),o._traceId),[2,"break"];case 4:return T=new Ye(o._logger,a.getTag(),a.getUserId(),h,!0),r.push(T),t.addLocalTrack(T),[3,5];case 5:return t.addLocalTrack(a),[2]}}))},o=this,f.label=1;case 1:f.trys.push([1,6,7,8]),a=u(e),s=a.next(),f.label=2;case 2:return s.done?[3,5]:(l=s.value,[5,n(l)]);case 3:if("break"===f.sent())return[3,5];f.label=4;case 4:return s=a.next(),[3,2];case 5:return[3,8];case 6:return d=f.sent(),_={error:d},[3,8];case 7:try{s&&!s.done&&(p=a.return)&&p.call(a)}finally{if(_)throw _.error}return[7];case 8:return[2,r]}}))}))}}),Object.defineProperty(n.prototype,"__publish",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f,h,b,R,g,m=this;return c(this,(function(c){switch(c.label){case 0:return s=e.peer,u=e.reportMediaActionLogger,t.roomId,l=[],r.forEach((function(e){var t=(e instanceof Ke?{track:e}:e).track;l.push(t)})),r.sort((function(e,t){return(e instanceof Ke?{track:e}:e).track.getBitrate().max-(t instanceof Ke?{track:t}:t).track.getBitrate().max})),s.getLocalTracks().length+function(e,t){var r=0;return e.forEach((function(e){var n=e instanceof Ke?e.getTrackId():e.track.getTrackId();t.getLocalTrack(n)||(e instanceof Ke?r++:e.pubTiny&&e.track.isVideoTrack()&&(r+=2))})),r}(r,s)>10?(this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PUBLISH_TRACK_LIMIT_EXCEEDED,trackIds:r.map(Lt),msg:"publish track limit exceeded"}),this._traceId),[2,{code:exports.RCRTCCode.PUBLISH_TRACK_LIMIT_EXCEEDED,tracks:l}]):[4,this._addLocalTracks(r,s)];case 1:return d=c.sent(),s.clearReTryExchangeTimer(),[4,Ja(t.getSubscribedList(),!1,s,t)];case 2:return(_=c.sent()).pushOtherRooms=e.getPushOtherRooms(),[4,new ja(_,this._traceId,!0).execute(e,t,n)];case 3:return p=c.sent(),l.forEach((function(e){var t=e.getTrackId();m._trackMediaMap[t]=p.data.qualityMsList||[]})),p.code!==exports.RCRTCCode.SUCCESS?(u.reportPubOrSubQualityData(xa.PUB,this._actionStartTime,l,p.code,this._trackMediaMap),this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_E,JSON.stringify({status:o.FAILED,tracks:r.map(Lt),code:p.code,msg:"exchange failed"}),this._traceId),this._removePubFailedTracks(r,s),[2,{code:p.code,tracks:l}]):(f=p.data.data,h=f.sdp,b=f.resultCode,R=f.message,b!==exports.RCRTCCode.SUCCESS?(u.reportPubOrSubQualityData(xa.PUB,this._actionStartTime,l,b,this._trackMediaMap),this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_E,JSON.stringify({status:o.FAILED,trackIds:r.map(Lt),code:b,msg:"exchange inner failed: ".concat(R)}),this._traceId),this._removePubFailedTracks(r,s),[2,{code:b,tracks:l}]):(u.setPubOrSubSuccessTime(Date.now()),[4,s.setRemoteAnswer(h.sdp,!0)]));case 4:return(g=c.sent())!==exports.RCRTCCode.SUCCESS?(u.reportPubOrSubQualityData(xa.PUB,this._actionStartTime,l,g,this._trackMediaMap),this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_E,JSON.stringify({status:o.FAILED,trackIds:r.map(Lt),code:g,msg:"set remote answer error"}),this._traceId),[2,{code:g,tracks:l}]):(d.length&&this._updateTinyTrackIdSSRCMap(t,_.sdp.sdp,d),[2,a(a({code:b},p.data),{tracks:l})])}}))}))}}),Object.defineProperty(n.prototype,"_updateTinyTrackIdSSRCMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){r.forEach((function(r){var n=Qa(t,r.getStreamId(),exports.RCMediaType.VIDEO_ONLY);e.setTrackIdSSRCMap(Number(n),r.getTrackId())}))}}),Object.defineProperty(n.prototype,"_dealPublishRes",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var s,u,_,p,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L,P,N,A,w;return c(this,(function(c){switch(c.label){case 0:return s=n.polarisReport,u=n.context,_=n.peer,p=n.reportMediaActionLogger,f=r.crtUserId,h=r.roomId,b="",R=r.getResourcesByUserId(f),g=d([],l(R),!1),[],C=t.tracks,t.code!==exports.RCRTCCode.SUCCESS?[2,{code:t.code}]:(v=t.data,O=v.publishList,T=v.urls,E=v.mcuPublishList,b=null==T?void 0:T.liveUrl,O.map((function(e){return a({tag:e.msid.split("_").pop(),state:_.getLocalTrack(lt(e)).isLocalMuted()?0:1},e)})).forEach((function(e){var t=function(e,t){for(var r=!1,n=0,i=0;i<t.length;i++){var o=t[i];if("".concat(e.msid,"_").concat(e.mediaType)==="".concat(o.msid,"_").concat(o.mediaType)){r=!0,n=i;break}}return{isInclude:r,index:n}}(e,g),r=t.isInclude,n=t.index;r?g.splice(n,1,e):g.push(e)})),S=(null==E?void 0:E.map((function(e){return a({tag:e.msid.split("_").pop(),state:1},e)})))||[],m=S,I=ft(R,g).publishedList,y=a(a({},r.getCDNUris()),{enableInnerCDN:r.getCDNEnable()}),L=y&&y.broadcast===Ia.SPREAD?JSON.stringify([y]):"",P=Date.now(),[4,u.setRTCTotalRes(h,[it(Tt.PUBLISH,I)],ot(g),Tt.TOTAL_CONTENT_RESOURCE,ot(m),L)]);case 1:return N=c.sent(),p.reportPubOrSubQualityData(xa.PUB,this._actionStartTime,C,N,this._trackMediaMap,[{dur:Date.now()-P,cod:N}]),N!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_R,JSON.stringify({status:o.FAILED,code:N,msg:"send publish streams notification failed"}),this._traceId),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(r.setResourcesByUserId(f,g),A=I.map((function(e){return lt(e)})),s.sendR2(Ea.PUBLISH,Sa.BEGIN,A),I.forEach((function(e){_.getLocalTrack("".concat(e.msid,"_").concat(e.mediaType)).__innerSetPublished(!0)})),w={code:exports.RCRTCCode.SUCCESS},b&&(w.liveUrl=b),[2,w])}}))}))}}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l,d=this;return c(this,(function(c){switch(c.label){case 0:return a=t.logger,s=t.peer,this._traceId=a.createTraceId(),this._logger=a,this._actionStartTime=Date.now(),u=this.tracks,e.validate("tracks",u,(function(){return e.isArray(u)&&u.length>0&&u.every((function(e){return e instanceof Ke||e.track instanceof Ke}))}),!0)?(this._logger.info(i.L_ABSTRACT_ROOM_PUBLISH_T,JSON.stringify({trackIds:u.map(Lt)})),(u=u.filter((function(e){var t=(e instanceof Ke?{track:e}:e).track,r=t.isDestroyed();return r&&d._logger.warn(i.L_ABSTRACT_ROOM_PUBLISH_E,"track '".concat(t.getTrackId(),"' has beem destroyed"),d._traceId),!r}))).length?(s.__reportR3R4ToPolaris(),s.clearReTryExchangeTimer(),[4,this.__publish(t,r,u,n)]):(this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PUBLISH_TRACKS_IS_INVALID,msg:"params tracks is empty"}),this._traceId),[2,{code:exports.RCRTCCode.PUBLISH_TRACKS_IS_INVALID}])):(this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"}),this._traceId),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return l=c.sent(),[4,this._dealPublishRes(l,r,t)];case 2:return[2,c.sent()]}}))}))}}),n}(Ra),rs=function(t){function n(e){var r=t.call(this)||this;return Object.defineProperty(r,"tracks",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(r,"_traceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(r,"_actionStartTime",{enumerable:!0,configurable:!0,writable:!0,value:Date.now()}),Object.defineProperty(r,"_trackMediaMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),r}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.UNPUBLISH},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"__unpublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f,h,b,R,g,m=this;return c(this,(function(c){switch(c.label){case 0:return s=e.peer,u=e.polarisReport,l=e.logger,d=e.reportMediaActionLogger,_=n.map((function(e){return e.getTrackId()})),0===_.map(t.getPublishedResourceByTrackId.bind(t)).filter((function(e){return!!e})).length?[2,{code:exports.RCRTCCode.SUCCESS,tracks:n}]:(_.forEach((function(e){return s.removeLocalTrackById(e)})),u.sendR2(Ea.PUBLISH,Sa.END,_),s.clearReTryExchangeTimer(),[4,Ja(t.getSubscribedList(),!1,s,t)]);case 1:return p=c.sent(),(f=e.getPushOtherRooms()).length&&(p.pushOtherRooms=f),[4,new ja(p,this._traceId,!0).execute(e,t,r)];case 2:return h=c.sent(),n.forEach((function(e){var t=e.getTrackId();m._trackMediaMap[t]=h.data.qualityMsList||[]})),h.code!==exports.RCRTCCode.SUCCESS?(d.reportPubOrSubQualityData(xa.UNPUB,this._actionStartTime,n,h.code,this._trackMediaMap),l.error(i.L_ABSTRACT_ROOM_UNPUBLISH_P,JSON.stringify({status:o.FAILED,code:h.code,trackIds:n.map(Lt),msg:"exchange failed"}),this._traceId),[2,{code:h.code,tracks:n}]):(b=h.data.data,R=b.resultCode,g=b.message,R!==exports.RCRTCCode.SUCCESS?(d.reportPubOrSubQualityData(xa.UNPUB,this._actionStartTime,n,h.data.data.resultCode,this._trackMediaMap),l.error(i.L_ABSTRACT_ROOM_UNPUBLISH_P,JSON.stringify({status:o.FAILED,code:R,trackIds:n.map(Lt),msg:"exchange inner failed: ".concat(g)}),this._traceId),[2,{code:R,tracks:n}]):[2,a(a({code:h.code},h.data),{tracks:n})])}}))}))}}),Object.defineProperty(n.prototype,"_dealUnpublishRes",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var s,u,_,p,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L,P;return c(this,(function(c){switch(c.label){case 0:return s=t.context,u=t.logger,_=t.peer,p=t.reportMediaActionLogger,f=s.getCurrentId(),h=r.roomId,b=[],[],g=n.tracks,m=n.code,C=n.data,m!==exports.RCRTCCode.SUCCESS?(u.error(i.L_ABSTRACT_ROOM_UNPUBLISH_R,JSON.stringify({code:m,msg:"unpublish failed"}),this._traceId),[2,{code:m}]):C?(v=C.mcuPublishList,O=g.map((function(e){return e.getTrackId()})),T=O.map(r.getPublishedResourceByTrackId.bind(r)).filter((function(e){return!!e})),b.push.apply(b,d([],l(T),!1)),E=v?v.map((function(e){return a({tag:e.msid.split("_").pop(),state:1},e)})):[],R=E,S=r.getResourcesByUserId(f),I=S.filter((function(e){return!b.includes(e)})),y=Date.now(),[4,s.setRTCTotalRes(h,[it(Tt.UNPUBLISH,b)],ot(I),Tt.TOTAL_CONTENT_RESOURCE,ot(R))]):(u.info(i.L_ABSTRACT_ROOM_UNPUBLISH_R,JSON.stringify({status:o.SUCCESSED,msg:"unpublish list is empty "})),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return L=c.sent(),p.reportPubOrSubQualityData(xa.UNPUB,this._actionStartTime,g,L,this._trackMediaMap,[{dur:Date.now()-y,cod:L}]),L!==e.ErrorCode.SUCCESS?(u.error(i.L_ABSTRACT_ROOM_UNPUBLISH_R,JSON.stringify({status:o.FAILED,code:L,msg:"send unpublish notification failed"}),this._traceId),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(u.info(i.L_ABSTRACT_ROOM_UNPUBLISH_R,JSON.stringify({status:o.SUCCESSED,code:exports.RCRTCCode.SUCCESS,msg:"unpublish success",unPubResourceIds:O}),this._traceId),P=n.data.sdp,[4,_.setRemoteAnswer(P.sdp)]);case 2:return c.sent(),r.setResourcesByUserId(f,I),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return a=t.logger,this._actionStartTime=Date.now(),s=r.crtUserId,u=this.tracks,this._traceId=a.createTraceId(),e.validate("tracks",u,(function(){return u.every((function(e){return e.getUserId()===s&&e instanceof Ke}))}),!0)?(a.info(i.L_ABSTRACT_ROOM_UNPUBLISH_T,JSON.stringify({trackIds:u.map(Lt)})),[4,this.__unpublish(t,r,n,u)]):(a.error(i.L_ABSTRACT_ROOM_UNPUBLISH_E,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"})),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return l=c.sent(),[4,this._dealUnpublishRes(t,r,l)];case 2:return[2,c.sent()]}}))}))}}),n}(Ra),ns=function(t){function n(e){var r=t.call(this)||this;return Object.defineProperty(r,"localTrack",{enumerable:!0,configurable:!0,writable:!0,value:e}),r}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.LOCAL_TRACK_MUTE},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var n,a,s,l,d,_,p,f,h,b,R,g,m,C,v,O,T,E;return c(this,(function(c){switch(c.label){case 0:n=t.logger,a=t.context,s=this.localTrack,l=s.getTrackId(),d=r.crtUserId,_=r.roomId,p=!s.isLocalMuted(),f=n.createTraceId(),n.info(i.L_LOCAL_TRACK_SET_LOCAL_MUTED_SPREAD_T,JSON.stringify({enabled:p,trackId:this.localTrack.getTrackId()}),f),h=[{resourceId:l,enabled:p}],b=r.getResourcesByUserId(d),R=[],g=function(e){var t=lt(e),r=h.findIndex((function(e){return e.resourceId===t}));if(r>=0){var n=h[r].enabled;return e.state=n?1:0,R.push(e),"break"}};try{for(m=u(b),C=m.next();!C.done&&(v=C.value,"break"!==g(v));C=m.next());}catch(e){T={error:e}}finally{try{C&&!C.done&&(E=m.return)&&E.call(m)}finally{if(T)throw T.error}}return[4,a.setRTCTotalRes(_,[it(Tt.MODIFY,R)],ot(b),Tt.TOTAL_CONTENT_RESOURCE)];case 1:return(O=c.sent())!==e.ErrorCode.SUCCESS?(n.error(i.L_LOCAL_TRACK_SET_LOCAL_MUTED_SPREAD_R,JSON.stringify({status:o.FAILED,code:O,msg:"signal error"}),f),[2,{code:O}]):(n.info(i.L_LOCAL_TRACK_SET_LOCAL_MUTED_SPREAD_R,JSON.stringify({status:o.SUCCESSED}),f),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),n}(Ra),is=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.RETRY_EXCHANGE},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"priority",{get:function(){return da.HIGH},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,o,a,s,u,l,d,_,p,f,h,b,R,g,m;return c(this,(function(c){switch(c.label){case 0:return n=e.logger,o=e.peer,a=e.context,s=n.createTraceId(),n.info(i.L_RETRY_EXCHANGE_COMMAND_T),u=a.getCurrentId(),[4,Ja(t.getSubscribedList(),!0,o,t)];case 1:return(l=c.sent()).pushOtherRooms=e.getPushOtherRooms(),[4,new ja(l,s).execute(e,t,r)];case 2:return(d=c.sent()).code!==exports.RCRTCCode.SUCCESS?[2,{code:d.code}]:(_=d.data.data,p=_.sdp,(f=_.resultCode)!==exports.RCRTCCode.SUCCESS?[2,{code:f}]:(o.clearReTryExchangeTimer(),[4,o.setRemoteAnswer(p.sdp)]));case 3:return(h=c.sent())!==exports.RCRTCCode.SUCCESS?[2,{code:h}]:(b=d.data.data.publishList||[],R=this._diffPublishListChange(b,t,o,u),g=R.plus,m=R.minus,g.length||m.length?[4,this._spreadPublishListUri(e,u,g,m,s)]:[3,5]);case 4:c.sent(),c.label=5;case 5:return[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"_diffPublishListChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){var i=t.getResourcesByUserId(n),o=JSON.parse(JSON.stringify(i));e.forEach((function(e){var t,n=e.mediaType,i=e.msid,s=o.findIndex((function(e){var t=e.mediaType,r=e.msid;return n===t&&i===r}));if(-1===s){var c=a({tag:i.split("_").pop(),state:(null===(t=r.getLocalTrack(lt(e)))||void 0===t?void 0:t.isLocalMuted)?0:1},e);o.push(c)}else o[s].uri=e.uri}));var s=ft(i,o,!0),c=s.publishedList,u=s.unpublishedList;return t.setResourcesByUserId(n,o),{plus:c,minus:u}}}),Object.defineProperty(n.prototype,"_spreadPublishListUri",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a,u){return s(this,void 0,void 0,(function(){var s,l,d,_;return c(this,(function(c){switch(c.label){case 0:return s=t.store,l=t.logger,d=s.getResourcesByUserId(r),l.info(i.L_RETRY_EXCHANGE_SPREAD_T,JSON.stringify({plus:n,minus:a,allPublishList:d}),u),_=[],a.length&&_.push(it(Tt.UNPUBLISH,a)),n.length&&_.push(it(Tt.PUBLISH,n)),[4,t.context.setRTCTotalRes(s.roomId,_,ot(d),Tt.TOTAL_CONTENT_RESOURCE)];case 1:return c.sent()===e.ErrorCode.SUCCESS?l.info(i.L_RETRY_EXCHANGE_SPREAD_R,"status: ".concat(o.SUCCESSED),u):l.error(i.L_RETRY_EXCHANGE_SPREAD_R,"status: ".concat(o.FAILED),u),[2]}}))}))}}),n}(Ra);!function(e){e[e.JOIN=0]="JOIN",e[e.LEAVE=1]="LEAVE",e[e.OFFLINE=2]="OFFLINE",e[e.RESOURCECHANGE=3]="RESOURCECHANGE"}(qa||(qa={}));var os,as,ss=function(t){function n(e,r,n,i){var o=t.call(this)||this;return Object.defineProperty(o,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(o,"_traceId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(o,"_context",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(o,"_targetPullVersion",{enumerable:!0,configurable:!0,writable:!0,value:i}),o}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.PULL_RTCROOM_STATUS},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,l,d,_,p,f,h,b,R,g,m,C,v,O,T,E,S,I,y,L,P,N;return c(this,(function(c){switch(c.label){case 0:return a=t.logger,s=r.getRoomStatusVersion(),a.info(i.L_PULL_ROOM_STATUS_T,JSON.stringify({roomId:this._roomId,localVersion:s}),this._traceId),this._targetPullVersion&&this._targetPullVersion<=s?(a.info(i.L_PULL_ROOM_STATUS_R,JSON.stringify({status:o.SUCCESSED,msg:"the roomData has been pulled",localVersion:s,targetPullVersion:this._targetPullVersion}),this._traceId),[2,{code:e.ErrorCode.SUCCESS}]):[4,this._context.pullRTCRoomStatus(this._roomId,s)];case 1:return l=c.sent(),d=l.code,_=l.data,d!==e.ErrorCode.SUCCESS?(a.info(i.L_PULL_ROOM_STATUS_R,JSON.stringify({status:o.FAILED,code:d}),this._traceId),[2,{code:d}]):(f=(p=_).bFullStatus,h=p.version,b=p.usersData,R=p.roomStatus,a.info(i.L_PULL_ROOM_STATUS_R,JSON.stringify({bFullStatus:f,version:Pt(h),usersData:b,roomStatus:R}),this._traceId),r.setRoomStatusVersion(h),f?(g=function(e){var t={users:{}},r="";return e.forEach((function(e){var n,i,o=e.userId,a=e.userData;t.users[o]={};var s=null===(n=a.filter((function(e){return"uris"===e.key}))[0])||void 0===n?void 0:n.value,c=null===(i=a.filter((function(e){return"cdn_uris"===e.key}))[0])||void 0===i?void 0:i.value;r=c||r,t.users[o]={uris:s}})),{urisData:t,CDNUris:r&&JSON.stringify(JSON.parse(r)[0])}}(b),m=g.urisData,C=g.CDNUris,[4,Ya(m,r,t,n,C,this._traceId)]):[3,3]);case 2:return c.sent(),[2,{code:d}];case 3:c.trys.push([3,10,11,12]),v=u(R),O=v.next(),c.label=4;case 4:return O.done?[3,9]:(T=O.value).event!==qa.RESOURCECHANGE?[3,6]:(E=function(e){var t,r,n=e.userId,i=e.userData,o=function(e){return e.some((function(e){return"uris"===e.key||"cdn_uris"===e.key}))}(i);if(o){var a=null===(t=i.filter((function(e){return"uris"===e.key}))[0])||void 0===t?void 0:t.value,s=null===(r=i.filter((function(e){return"cdn_uris"===e.key}))[0])||void 0===r?void 0:r.value;return{userId:n,content:{uris:a?JSON.parse(a):[],cdn_uris:s&&JSON.parse(s)}}}}(T),E?(I=E.content,(S=E.userId)===r.crtUserId?[3,8]:[4,new $a(I,Tt.TOTAL_CONTENT_RESOURCE,S,this._traceId).execute(t,r,n)]):[3,8]);case 5:return c.sent(),[3,8];case 6:return I=function(e){var t,r=e.userId,n=e.userData,i=e.event,o=e.switchRoleType;return{users:[{userId:r,extra:null===(t=n.filter((function(e){return"extra"===e.key}))[0])||void 0===t?void 0:t.value,state:i,switchRoleType:o}]}}(T),[4,new Xa(I,this._traceId).execute(t,r,n)];case 7:y=c.sent().data,t.emit(Ua,y),c.label=8;case 8:return O=v.next(),[3,4];case 9:return[3,12];case 10:return L=c.sent(),P={error:L},[3,12];case 11:try{O&&!O.done&&(N=v.return)&&N.call(v)}finally{if(P)throw P.error}return[7];case 12:return[2,{code:d}]}}))}))}}),n}(Ra),cs=function(t){function n(e){var r=t.call(this)||this;return Object.defineProperty(r,"livingType",{enumerable:!0,configurable:!0,writable:!0,value:e}),r}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.ON_SIGNAL_RECONNECTED},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"priority",{get:function(){return da.HIGH},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var o,a,s,u,l,d;return c(this,(function(c){switch(c.label){case 0:return o=t.logger,a=t.peer,s=t.context,u=r.roomId,l=r.roomMode,d=o.createTraceId(),o.info(i.L_ABSTRACT_ROOM_IM_RECONNECTED_T,void 0,d),"closed"===a.getRTCPeerConn().connectionState?(o.error(i.L_ABSTRACT_ROOM_IM_RECONNECTED_R,"RTCPeerConnection closed. Please rejoin room to restore services",d),t.emit(ya),[2,{code:exports.RCRTCCode.SUCCESS}]):[4,s.rtcPing(u,l)];case 1:return 40001!==c.sent().code?[3,5]:[4,this._joinRoom(t,r,n,d)];case 2:return c.sent()!==e.ErrorCode.SUCCESS?[3,4]:[4,this._restoreMediaServer(t,r,n)];case 3:c.sent(),c.label=4;case 4:return[3,7];case 5:return[4,new ss(u,d,s).execute(t,r,n)];case 6:c.sent(),c.label=7;case 7:return[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"_joinRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a){var u;return s(this,void 0,void 0,(function(){var s,l,d,_,p,f;return c(this,(function(c){switch(c.label){case 0:return s=t.context,l=t.logger,[4,s.joinRTCRoom(r.roomId,r.roomMode,this.livingType)];case 1:return d=c.sent(),_=d.code,p=d.data,_!==e.ErrorCode.SUCCESS?(l.error(i.L_ABSTRACT_ROOM_IM_RECONNECTED_R,JSON.stringify({status:o.FAILED,code:_,msg:"im reconnect joinRTCRoom failed"}),a),[2]):p?(f=null===(u=p.roomInfo.filter((function(e){return"cdn_uris"===e.key}))[0])||void 0===u?void 0:u.value,[4,Ya(p,r,t,n,f,a)]):(l.info(i.L_ABSTRACT_ROOM_IM_RECONNECTED_R,JSON.stringify({status:o.FAILED,msg:"im reconnect joinRTCRoom, roomData is empty"}),a),[2]);case 2:return c.sent(),l.info(i.L_ABSTRACT_ROOM_IM_RECONNECTED_R,JSON.stringify({status:o.SUCCESSED,roomData:p}),a),[2,_]}}))}))}}),Object.defineProperty(n.prototype,"_restoreMediaServer",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i;return c(this,(function(o){switch(o.label){case 0:return n=e.peer.getLocalTracks(),i=Object.values(t.getRemoteTracks()).filter((function(e){return!!e.isSubscribed()})),n.length?[4,new ts(n).execute(e,t,r)]:[3,2];case 1:o.sent(),o.label=2;case 2:return n.length||!i.length?[3,4]:[4,new es(i,!0).execute(e,t,r)];case 3:o.sent(),o.label=4;case 4:return[2]}}))}))}}),n}(Ra),us=1,ls=5;!function(e){e[e.new=0]="new",e[e.checking=1]="checking",e[e.connected=2]="connected",e[e.completed=3]="completed",e[e.failed=4]="failed",e[e.disconnected=5]="disconnected",e[e.closed=6]="closed"}(os||(os={})),exports.RCKickReason=void 0,(as=exports.RCKickReason||(exports.RCKickReason={}))[as.SERVER_KICK=1]="SERVER_KICK",as[as.OTHER_KICK=2]="OTHER_KICK",as[as.IM_DISCONNECTED=3]="IM_DISCONNECTED",as[as.IM_LOGOUT=4]="IM_LOGOUT",as[as.OTHER_CLIENT_IM_CONNECTED=5]="OTHER_CLIENT_IM_CONNECTED";var ds,_s,ps,fs,hs=function(){function e(e,t,r,n){var o=this;Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_userId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_baseReportData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_networkReportData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_pubOrSubSuccessTime",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_peerCStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reportQualityJoinRoomData",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,r,n){o._baseReportData=Object.assign(o._baseReportData,{snid:n});var s=a(a(a({},o._baseReportData),o._networkReportData),{cod:t,time:e,dur:Date.now()-e,rtp:r});o._logger.__statistics(i.L_QS_JOIN_ROOM_S,JSON.stringify(s))}}),this._baseReportData={rid:this._roomId,csnid:this._clientSessionId,snid:"",time:Date.now(),uid:this._userId},this._networkReportData={cr:"unknown",net:"unknown"}}return Object.defineProperty(e.prototype,"reportQualityKickedData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=a(a(a({},this._baseReportData),this._networkReportData),{time:Date.now(),cod:e===exports.RCKickReason.OTHER_KICK?ls:us});this._logger.__statistics(i.L_QS_KICKED_S,JSON.stringify(t))}}),Object.defineProperty(e.prototype,"reportPubOrSubQualityData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,o,s){var c=this;r.forEach((function(r){var u,l,d=r instanceof Ke||r instanceof tt?r:r.track,_=d.getTrackId(),p=dt(_).mediaType,f=!1;f=d instanceof Ke?!!d.isVideoTrack()&&(null===(l=(u=d).__isTiny)||void 0===l?void 0:l.call(u)):r.subTiny||!1;var h=a(a(a({},c._baseReportData),c._networkReportData),{resid:_,mtp:p,smct:f?qi.TINY:qi.NORMAL,stp:"Rongcloud"!==d.getTag()?1:0,cod:n,msas:o?o[_]:[],sigs:s,time:Date.now(),dur:Date.now()-t});switch(e){case"pub":c._logger.__statistics(i.L_QS_PUBLISH_S,JSON.stringify(h));break;case"unpub":c._logger.__statistics(i.L_QS_UNPUBLISH_S,JSON.stringify(h));break;case"sub":c._logger.__statistics(i.L_QS_SUBSCRIBE_S,JSON.stringify(h));break;case"unsub":c._logger.__statistics(i.L_QS_UNSUBSCRIBE_S,JSON.stringify(h))}}))}}),Object.defineProperty(e.prototype,"reportQualityRecvPubMsgData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=a(a(a({},this._baseReportData),this._networkReportData),{puid:t,time:Date.now(),dur:Date.now()-e});this._logger.__statistics(i.L_QS_RECV_PUB_MSG_S,JSON.stringify(r))}}),Object.defineProperty(e.prototype,"setPubOrSubSuccessTime",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._pubOrSubSuccessTime=e}}),Object.defineProperty(e.prototype,"reportIceFirstConnectData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=a(a(a({},this._baseReportData),this._networkReportData),{time:this._pubOrSubSuccessTime,dur:Date.now()-this._pubOrSubSuccessTime}),r="pub"===e?i.L_QS_PUB_ICE_STATUS_S:i.L_QS_SUB_ICE_STATUS_S;this._logger.__statistics(r,JSON.stringify(t))}}),Object.defineProperty(e.prototype,"recordQualityIceStatusData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=this._peerCStatus||{},o=n.status,s=n.time;if(s){var c=e.IP,u=e.port,l=e.networkType,d=e.remoteIP,_=e.remotePort,p=a(a(a({},this._baseReportData),this._networkReportData),{dur:r-s,time:r,pices:os[o],ices:os[t],rcdts:[{ip:"".concat(d,":").concat(_)}],lcdts:[{ip:"".concat(c,":").concat(u),nttp:l}],cncdts:[]});this._logger.__statistics(i.L_QS_ICE_STATUS_S,JSON.stringify(p)),this._peerCStatus={status:t,time:r}}else this._peerCStatus={status:t,time:r}}}),e}();!function(e){e[e.DISABLE=0]="DISABLE",e[e.ENABLE=1]="ENABLE"}(ds||(ds={})),function(e){e[e.MeetingOrAnchor=1]="MeetingOrAnchor",e[e.Audience=2]="Audience"}(_s||(_s={})),function(e){e[e.NOT_REPORT=-1]="NOT_REPORT",e[e.REPORT_SUCCESS=1e4]="REPORT_SUCCESS",e[e.REPORT_FAIL=0]="REPORT_FAIL",e[e.PB_ERROR=40001]="PB_ERROR"}(ps||(ps={})),function(e){e.R1="R1",e.R2="R2",e.R3="R3",e.R4="R4"}(fs||(fs={}));var bs,Rs,gs,ms,Cs=function(){function t(e,t,r,n,i){void 0===i&&(i=_s.MeetingOrAnchor),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_crtRTCRoom",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_userRole",{enumerable:!0,configurable:!0,writable:!0,value:i})}return Object.defineProperty(t.prototype,"_send",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){return c(this,(function(r){switch(r.label){case 0:return this._context.getConnectionStatus()!==e.RCConnectionStatus.CONNECTED?[2,ps.NOT_REPORT]:[4,this._context.setRTCState(this._roomId,t)];case 1:return r.sent()===e.ErrorCode.SUCCESS?[2,ps.REPORT_SUCCESS]:[2,ps.REPORT_FAIL]}}))}))}}),Object.defineProperty(t.prototype,"_getClientID",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e="uuid",t=this._runtime.localStorage.getItem(e);return t||(t=ht(),this._runtime.localStorage.setItem(e,t)),t}}),Object.defineProperty(t.prototype,"_getRealResourceId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e,r=e.indexOf("_tiny");return r>-1&&(t=e.slice(0,r)),t}}),Object.defineProperty(t.prototype,"_getPolarisTrackId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t="",r=e.split("_");if(e.includes("_tiny")){var n=r.pop(),i=parseInt(r.pop())===exports.RCMediaType.AUDIO_ONLY?"audio":"video",o=r.pop();t=[r.join("_"),o,n,i].join("_")}else{i=parseInt(r.pop())===exports.RCMediaType.AUDIO_ONLY?"audio":"video",o=r.pop();t=[r.join("_"),o,i].join("_")}return t}}),Object.defineProperty(t.prototype,"_getBaseData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return{bitrateSend:(null==e?void 0:e.bitrateSend)||Qi,bitrateRecv:(null==e?void 0:e.bitrateRecv)||Qi,networkType:(null==e?void 0:e.networkType)||"unknown",rtt:(null==e?void 0:e.rtt)||Qi,localAddress:"".concat((null==e?void 0:e.IP)||Qi,":").concat(null==e?void 0:e.port),remoteAddress:"".concat(null==e?void 0:e.remoteIP,":").concat(null==e?void 0:e.remotePort),receiveBand:(null==e?void 0:e.availableIncomingBitrate)||Qi,sendBand:(null==e?void 0:e.availableOutgoingBitrate)||Qi,packetsLost:(null==e?void 0:e.totalPacketsLost)||Qi,deviceId:this._context.getCurrentId()}}}),Object.defineProperty(t.prototype,"_getAudioLevel",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||0===e?e:Qi}}),Object.defineProperty(t.prototype,"_getBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||0===e?e:Qi}}),Object.defineProperty(t.prototype,"_getPacketsLostRate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||0===e?e:Qi}}),Object.defineProperty(t.prototype,"_getFrameRate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||Qi}}),Object.defineProperty(t.prototype,"_getResolution",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return e&&t?"".concat(e," * ").concat(t):"".concat(Qi)}}),Object.defineProperty(t.prototype,"_getJitter",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||Qi}}),Object.defineProperty(t.prototype,"_getNackCount",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||0===e?e:Qi}}),Object.defineProperty(t.prototype,"_getPliCount",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||0===e?e:Qi}}),Object.defineProperty(t.prototype,"_getRTT",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return e||Qi}}),Object.defineProperty(t.prototype,"_getTrackState",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=e?this._crtRTCRoom.getLocalTrack(t):this._crtRTCRoom.getRemoteTrack(t);return(null==r?void 0:r.isLocalMuted())?ds.DISABLE:ds.ENABLE}}),Object.defineProperty(t.prototype,"sendR3Data",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a=this;return c(this,(function(s){switch(s.label){case 0:return t=e.iceCandidatePair,r=e.senders,n=this._getBaseData(t),i="R3\t".concat(n.bitrateSend,"\t-1\t-1\t-1\t").concat(n.networkType,"\t").concat(n.rtt,"\t").concat(n.localAddress,"\t").concat(n.receiveBand,"\t").concat(n.sendBand,"\t").concat(n.packetsLost,"\t").concat(n.deviceId,"\r"),o=r.map((function(e){var t=e.trackId,r=e.audioLevel,n=e.samplingRate,i=e.bitrate,o=e.packetsLostRate,s=e.frameRate,c=e.frameWidth,u=e.frameHeight,l=e.googRenderDelayMs,d=e.jitter,_=e.nackCount,p=e.pliCount,f=e.rtt,h=e.googFirsSent,b=e.encoderImplementation,R=a._getPolarisTrackId(t),g=a._getRealResourceId(t);return{trackId:R,googCodecName:b||String(Qi),audioLevel:a._getAudioLevel(r),bitrate:a._getBitrate(i),packetsLostRate:a._getPacketsLostRate(o),frameRate:a._getFrameRate(s),resolution:a._getResolution(c,u),jitter:a._getJitter(d),nackCount:a._getNackCount(_),pliCount:a._getPliCount(p),rtt:a._getRTT(f),googFirsSent:h,samplingRate:n,googRenderDelayMs:l,encoderImplementation:b||String(Qi),trackState:a._getTrackState(!0,g)}})),i+=o.map((function(e){return"".concat(e.trackId,"\t").concat(e.googCodecName,"\t").concat(e.audioLevel,"\t").concat(e.samplingRate,"\t").concat(e.bitrate,"\t").concat(e.packetsLostRate,"\t").concat(e.frameRate,"\t").concat(e.resolution,"\t").concat(e.googRenderDelayMs,"\t").concat(e.jitter,"\t").concat(e.nackCount,"\t").concat(e.pliCount,"\t").concat(e.rtt,"\t").concat(e.googFirsSent,"\t").concat(e.encoderImplementation,"\t").concat(e.trackState)})).join("\n"),[4,this._send("".concat(i,"\r").concat(this._userRole))];case 1:return s.sent()!==ps.REPORT_SUCCESS?[2,ps.REPORT_FAIL]:[2,ps.REPORT_SUCCESS]}}))}))}}),Object.defineProperty(t.prototype,"sendR4Data",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a=this;return c(this,(function(s){switch(s.label){case 0:return t=e.iceCandidatePair,r=e.receivers,n=this._getBaseData(t),i="R4\t".concat(n.bitrateRecv,"\t-1\t-1\t-1\t").concat(n.networkType,"\t").concat(n.rtt,"\t").concat(n.localAddress,"\t").concat(n.receiveBand,"\t").concat(n.sendBand,"\t").concat(n.packetsLost,"\t").concat(n.deviceId,"\r"),o=r.filter((function(e){return!!e.trackId})).map((function(e){var t=e.trackId,r=e.audioLevel,n=e.samplingRate,i=e.bitrate,o=e.packetsLostRate,s=e.frameRate,c=e.frameWidth,u=e.frameHeight,l=e.googRenderDelayMs,d=e.jitter,_=e.nackCount,p=e.pliCount,f=e.rtt,h=e.googFirsReceived,b=e.codecImplementationName,R=a._getPolarisTrackId(t),g=a._getRealResourceId(t);return{trackId:R,googCodecName:b||String(Qi),audioLevel:a._getAudioLevel(r),bitrate:a._getBitrate(i),packetsLostRate:a._getPacketsLostRate(o),frameRate:a._getFrameRate(s),resolution:a._getResolution(c,u),jitter:a._getJitter(d),nackCount:a._getNackCount(_),pliCount:a._getPliCount(p),rtt:a._getRTT(f),googFirsReceived:h,samplingRate:n,googRenderDelayMs:l,codecImplementationName:b||String(Qi),trackState:a._getTrackState(!1,g)}})),i+=o.map((function(e){return"".concat(e.trackId,"\t").concat(e.googCodecName,"\t").concat(e.audioLevel,"\t").concat(e.samplingRate,"\t").concat(e.bitrate,"\t").concat(e.packetsLostRate,"\t").concat(e.frameRate,"\t").concat(e.resolution,"\t").concat(e.googRenderDelayMs,"\t").concat(e.jitter,"\t").concat(e.nackCount,"\t").concat(e.pliCount,"\t").concat(e.rtt,"\t").concat(e.googFirsReceived,"\t").concat(e.codecImplementationName,"\t").concat(e.trackState)})).join("\n"),[4,this._send("".concat(i,"\r").concat(this._userRole))];case 1:return s.sent()!==ps.REPORT_SUCCESS?[2,ps.REPORT_FAIL]:[2,ps.REPORT_SUCCESS]}}))}))}}),Object.defineProperty(t.prototype,"sendR1",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e,t=this._context.getCoreVersion(),r=(null===(e=navigator.userAgentData)||void 0===e?void 0:e.platformn)||navigator.platform,n=Ct.browser,i=Ct.version,o=this._getClientID(),a="R1\t".concat("5.7.5-alpha.5","\t").concat(t,"\t").concat("web","\t").concat(r,"\t").concat(-1,"\t").concat(n,"\t").concat(i,"\t").concat(o,"\t").concat(this._userRole);this._send(a)}}),Object.defineProperty(t.prototype,"sendR2",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n=this._getClientID(),i="R2\t".concat(e,"\t").concat(t,"\t").concat(n,"\r").concat(r.join("\t"),"\r").concat(this._userRole);this._send(i)}}),t}(),vs="evt-leave",Os=function(t){function n(e,r,n,o,a,u,l,d,_,p){void 0===_&&(_=Zi()),void 0===p&&(p=!1);var f=t.call(this)||this;Object.defineProperty(f,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(f,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(f,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(f,"_service",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(f,"_initOptions",{enumerable:!0,configurable:!0,writable:!0,value:u}),Object.defineProperty(f,"_clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:_}),Object.defineProperty(f,"_pinger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_polarisReport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_audioLevelReport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_peerConnection",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_invoker",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_store",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_reportMediaActionLogger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_executeCtx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(f,"_appListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(f,"_onRecvPKMsg",{enumerable:!0,configurable:!0,writable:!0,value:null});var h=f._logger=f._context.logger;f._reportMediaActionLogger=new hs(h,f._roomId,f._clientSessionId,f._context.getCurrentId()),f._polarisReport=new Cs(f._context,f._runtime,f._roomId,f);var b=f._context.getCurrentId(),R=new Ca(h,_,f._context.getAppkey(),n,b,o,l,d),g=f._peerConnection=new fa(h,f._reTryExchange.bind(f),b,R,f._polarisReport,!1,{encrypt:p,isOpenWebRTCIssueDetector:!!f._initOptions.isOpenWebRTCIssueDetector});f._setPeerConnectionListener();var m=f._executeCtx=new Ma(h,f._service,e,r,g,R,f._polarisReport,f._reportMediaActionLogger);return m.getPushOtherRooms=function(){return f._getPushOtherRoomsParams()},f.setCommandEventListener(),f._invoker=new ma(m,R),f._store=f._invoker.store,f._audioLevelReport=new ha(f._store,g),g.on(fa.__INNER_AUDIOLEVEL_CHANGE__,f._audioLevelReport.audioLevelReport,f._audioLevelReport),f._pinger=new Nt(f._context,f._roomId,o,f._initOptions.pingGap),f._pinger.onFailed=f.__kickoff.bind(f),f._pinger.onPingResult=f._handlePingResult.bind(f),f._context.registerRTCSignalListener((function(e){return s(f,void 0,void 0,(function(){var t,r,n,o,a;return c(this,(function(s){return t=this._context.decodeRtcNotify(e),r=t.time,n=t.type,o=t.roomId,this._invoker.isDestroyed()?(this._logger.info(i.L_RTCNTF_PULL_ROOM_STATUS_O,JSON.stringify({isDestroyed:!0,type:n,time:r,roomId:o})),[2]):(2===n&&o===this._roomId&&(a=this._logger.createTraceId(),this._logger.info(i.L_RTCNTF_PULL_ROOM_STATUS_O,null,a),this._startPullRTCRoomStatus(o,a,r)),[2])}))}))})),f}return r(n,t),Object.defineProperty(n.prototype,"_setPeerConnectionListener",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=this._peerConnection;t.on(fa.__INNER_EVENT_TRACK_READY__,this._onTrackReady,this),t.on(Ke.__INNER_EVENT_MUTED_CHANGE__,this._onLocalTrackMuted,this),t.on(Ke.__INNER_EVENT_DESTROY__,this._onLocalTrackDestroied,this),t.once(fa.__INNER_ICE_CONNECTED__,(function(t){e._reportMediaActionLogger.reportIceFirstConnectData(t?"pub":"sub")}),this),t.on(fa.__INNER_ICE_STATE_CHANGE__,(function(t){var r=t.status,n=t.time,i=t.iceCandidatePair;i&&e._reportMediaActionLogger.recordQualityIceStatusData(i,r,n)}))}}),Object.defineProperty(n.prototype,"setCommandEventListener",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._executeCtx;e.on(ya,this._rtcpeerClosed,this),e.on(La,this._callAppListener.bind(this,"onUserJoin"),this),e.on(Pa,this._callAppListener.bind(this,"onUserLeave"),this),e.on(Na,this._onTrackPublish,this),e.on(Aa,this._onTrackUnpublish,this),e.on(wa,this._onAudioMuteChange,this),e.on(Da,this._onVideoMuteChange,this),e.on(ka,this._callAppListener.bind(this,"onCDNEnableChange"),this),e.on(Ua,this._dealUserAppListener,this)}}),Object.defineProperty(n.prototype,"_startPullRTCRoomStatus",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,this._invoker.push(new ss(e,t,this._context,r))];case 1:return n.sent(),[2]}}))}))}}),Object.defineProperty(n.prototype,"__innerInit",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i,o){return s(this,void 0,void 0,(function(){var a,s,u;return c(this,(function(c){switch(c.label){case 0:return[4,this._invoker.push(new Ta(this._roomId,e,t,r,n,i,o))];case 1:return a=c.sent(),s=a.code,u=a.data,s!==exports.RCRTCCode.SUCCESS?[2,{code:s}]:(this._initWithRoomData(u.offlineKickTime),[2,{code:s,data:u}])}}))}))}}),Object.defineProperty(n.prototype,"_initWithRoomData",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._pinger.start(1e3*e),this._polarisReport.sendR1()}}),Object.defineProperty(n.prototype,"_handlePingResult",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(e===exports.RCRTCPingResult.SUCCESS&&(t>this._store.getRoomStatusVersion()&&this._store.getSupportNtf())){var r=this._logger.createTraceId();this._logger.info(i.L_RTCPING_PULL_ROOM_STATUS_O,JSON.stringify({dataVersion:t}),r),this._startPullRTCRoomStatus(this._roomId,r,t)}this._callAppListener("onPing",e)}}),Object.defineProperty(n.prototype,"setBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){this._logger.warn(i.L_ABSTRACT_ROOM_SETBITRATE_O,"`RCAbstractRoom.setBitrate` will be deprecated, use `RCLocalTrack.setBitrate` instead."),e.assert("max",t,(function(t){return e.isNumber(t)&&t>Math.max(r||1,200)}),!0),e.assert("min",r,(function(r){return e.isNumber(r)&&r>=1&&(!e.isNumber(t)||r<t)}),!0),e.assert("start",n,(function(n){return e.isNumber(n)&&n>r&&n<=t})),this._peerConnection.setBitrate(t,r,n)}}),Object.defineProperty(n.prototype,"_onTrackReady",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.streams[0].id,r=e.receiver.track,n=[t,"audio"===r.kind?exports.RCMediaType.AUDIO_ONLY:exports.RCMediaType.VIDEO_ONLY].join("_"),a=this._store.getRemoteTrack(n);a?(a.__innerSetMediaStreamTrack(r),this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onTrackReady",trackId:a.getTrackId()})),this._callAppListener("onTrackReady",a)):this._logger.warn(i.L_ABSTRACT_ROOM_ONTRACKREADY_O,"cannot found remote track ".concat(r.id))}}),Object.defineProperty(n.prototype,"_callAppListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var o=null===(t=this._appListener)||void 0===t?void 0:t[e];if(o)try{o.apply(void 0,d([],l(r),!1))}catch(e){this._logger.error(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,null==e?void 0:e.stack)}}}),Object.defineProperty(n.prototype,"_onTrackUnpublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onTrackUnpublish",trackIds:null==e?void 0:e.map((function(e){return e.getTrackId()}))})),this._callAppListener("onTrackUnpublish",e)}}),Object.defineProperty(n.prototype,"__parseInnerMessage",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=e.targetId;if(r===this._roomId){this._logger.info(i.L_ABSTRACT_ROOM_RECEIVE_MESSAGE_O,"recv inner msg -> message: ".concat(JSON.stringify(e)," | roomid: ").concat(this._roomId),t);var n=e.content;switch(e.messageType){case Tt.KICK:this.__kickoff(!0,n);break;case Tt.STATE:this._stateHandle(n,t);break;case Tt.MODIFY:case Tt.PUBLISH:case Tt.UNPUBLISH:case Tt.TOTAL_CONTENT_RESOURCE:this._resourceHandle(n,e.messageType,e.senderUserId,e.sentTime,t);break;case Tt.ROOM_NOTIFY:this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onRoomAttributeChange",messageType:e.messageType,messageContent:e.content})),this._callAppListener("onRoomAttributeChange",e.messageType,e.content);break;case Tt.USER_NOTIFY:this._logger.warn(i.L_OLD_DAILY_RECORD_O,"TODO: ".concat(Tt.USER_NOTIFY));break;case Tt.PK_INVITE:case Tt.PK_CANCEL_INVITE:case Tt.PK_INVITE_TIMEOUT:case Tt.PK_INVITE_ANSWER:case Tt.PK_END:this._onRecvPKMsg&&this._onRecvPKMsg(e);break;case Tt.OTHER_ROOM_OFFLINE:break;default:this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onMessageReceive",messageType:e.messageType,messageContent:e.content,senderUserId:e.senderUserId,messageUId:e.messageUId})),this._callAppListener("onMessageReceive",e.messageType,n,e.senderUserId,e.messageUId)}}else this._logger.warn(i.L_ABSTRACT_ROOM_RECEIVE_MESSAGE_O,JSON.stringify({status:o.FAILED,message:"roomId is different, msg roomId-> ".concat(r,", this._roomId-> ").concat(this._roomId," ")}),t)}}),Object.defineProperty(n.prototype,"__kickoff",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,a=this;return c(this,(function(s){return this._invoker.isDestroyed()||(this._logger.warn(i.L_ABSTRACT_ROOM_ONKICKOFF_O,"onKickOff -> byServer: ".concat(e,", kickContent: ").concat(JSON.stringify(t))),this.emit(vs),this._leaveHandle(!e),e&&((null==t?void 0:t.users)||[]).forEach((function(e){e.userId===a._context.getCurrentId()&&(n=e.type,r=e.kickExtra,a._reportMediaActionLogger.reportQualityKickedData(n))})),this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onKickOff",byServer:e,kickType:n,kickExtra:r})),this._callAppListener("onKickOff",e,n,r)),[2]}))}))}}),Object.defineProperty(n.prototype,"_rtcpeerClosed",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.emit(vs),this._leaveHandle(!0),this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,"onRTCPeerConnectionCloseByException"),this._callAppListener("onRTCPeerConnectionCloseByException")}}),Object.defineProperty(n.prototype,"_resourceHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){return s(this,void 0,void 0,(function(){var o;return c(this,(function(a){return o=e.uris,e.ignore||!o||this._invoker.push(new $a(e,t,r,i,n)),[2]}))}))}}),Object.defineProperty(n.prototype,"_onTrackPublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onTrackPublish",trackIds:null==e?void 0:e.map((function(e){return e.getTrackId()}))})),this._callAppListener("onTrackPublish",e)}}),Object.defineProperty(n.prototype,"_stateHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n;return c(this,(function(i){switch(i.label){case 0:return[4,this._invoker.push(new Xa(e,t))];case 1:return r=i.sent(),n=r.data,this._dealUserAppListener(n),[2]}}))}))}}),Object.defineProperty(n.prototype,"_dealUserAppListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r=this,n=e.left,a=e.joined,s=e.upgrade,c=e.downgrade;if(null===(t=this._appListener)||void 0===t?void 0:t.onSwitchRole)return null==s||s.forEach((function(e){r._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onSwitchRole",userId:e,role:exports.RCRTCLiveRole.ANCHOR})),r._callAppListener("onSwitchRole",e,exports.RCRTCLiveRole.ANCHOR)})),null==c||c.forEach((function(e){r._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onSwitchRole",userId:e,role:exports.RCRTCLiveRole.AUDIENCE})),r._callAppListener("onSwitchRole",e,exports.RCRTCLiveRole.AUDIENCE)})),a.length>0&&(this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onUserJoin",joined:a})),this._callAppListener("onUserJoin",a)),void(n.length>0&&(this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onUserLeave",left:n})),this._callAppListener("onUserLeave",n)));var u=d(d([],l(a),!1),l(s),!1),_=d(d([],l(n),!1),l(c),!1);u.length>0&&(this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onUserJoin",allJoined:u})),this._callAppListener("onUserJoin",u)),_.length>0&&(_.length&&this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onUserLeave",allLeft:_})),this._callAppListener("onUserLeave",_))}}),Object.defineProperty(n.prototype,"getRoomId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._roomId}}),Object.defineProperty(n.prototype,"getCrtUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._context.getCurrentId()}}),Object.defineProperty(n.prototype,"getRemoteUserIds",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.getRemoteUserIds()}}),Object.defineProperty(n.prototype,"getRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=[];return this.getRemoteUserIds().forEach((function(r){t.push.apply(t,d([],l(e.getRemoteTracksByUserId(r)),!1))})),t}}),Object.defineProperty(n.prototype,"getRemoteTracksByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._store.getRemoteTracksByUserId(e)}}),Object.defineProperty(n.prototype,"getSessionId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.getSessionId()}}),Object.defineProperty(n.prototype,"sendMessage",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return s(this,void 0,void 0,(function(){var n,a;return c(this,(function(s){switch(s.label){case 0:return n=this._logger.createTraceId(),this._logger.info(i.L_ABSTRACT_ROOM_SEND_MESSAGE_T,JSON.stringify({name:t,content:r}),n),[4,this._context.sendMessage(e.ConversationType.RTC_ROOM,this._roomId,{messageType:t,content:r,isStatusMessage:!0})];case 1:return(a=s.sent().code)!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_ABSTRACT_ROOM_SEND_MESSAGE_R,JSON.stringify({status:o.FAILED,code:a}),n),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(this._logger.info(i.L_ABSTRACT_ROOM_SEND_MESSAGE_R,JSON.stringify({status:o.SUCCESSED,name:t,content:r}),n),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(n.prototype,"setRoomAttribute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a){return void 0===a&&(a=!1),s(this,void 0,void 0,(function(){var s,u;return c(this,(function(c){switch(c.label){case 0:return s=this._logger.createTraceId(),this._logger.info(i.L_ABSTRACT_ROOM_SET_ROOM_ATTRIBUTE_T,JSON.stringify({roomId:this._roomId,key:t,value:r,message:n,isInner:a}),s),[4,this._context.setRTCData(this._roomId,t,r,a,Oa.ROOM,n)];case 1:return(u=c.sent())!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_ABSTRACT_ROOM_SET_ROOM_ATTRIBUTE_R,JSON.stringify({status:o.FAILED,code:u}),s),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(this._logger.info(i.L_ABSTRACT_ROOM_SET_ROOM_ATTRIBUTE_R,JSON.stringify({status:o.SUCCESSED,roomId:this._roomId,key:t,value:r,message:n,isInner:a}),s),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(n.prototype,"deleteRoomAttributes",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return void 0===n&&(n=!1),s(this,void 0,void 0,(function(){var a,s;return c(this,(function(c){switch(c.label){case 0:return a=this._logger.createTraceId(),this._logger.info(i.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_T,JSON.stringify({roomId:this._roomId,keys:t,message:r,isInner:n}),a),[4,this._context.removeRTCData(this._roomId,t,n,Oa.ROOM,r)];case 1:return(s=c.sent())!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_R,JSON.stringify({status:o.FAILED,code:s}),a),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(this._logger.info(i.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_R,JSON.stringify({status:o.SUCCESSED,roomId:this._roomId,keys:t,message:r,isInner:n}),a),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(n.prototype,"getRoomAttributes",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return void 0===t&&(t=[]),void 0===r&&(r=!1),s(this,void 0,void 0,(function(){var n,a,s,u;return c(this,(function(c){switch(c.label){case 0:return n=this._logger.createTraceId(),this._logger.info(i.L_ABSTRACT_ROOM_GET_ROOM_ATTRIBUTE_T,JSON.stringify({roomId:this._roomId,keys:t,isInner:r}),n),[4,this._context.getRTCData(this._roomId,t,r,Oa.ROOM)];case 1:return a=c.sent(),s=a.code,u=a.data,s!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_ABSTRACT_ROOM_GET_ROOM_ATTRIBUTE_R,"GetRoomAttributes Failed: ".concat(s),n),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(this._logger.info(i.L_ABSTRACT_ROOM_DELETE_ROOM_ATTRIBUTE_R,JSON.stringify({status:o.SUCCESSED,data:u}),n),[2,{code:exports.RCRTCCode.SUCCESS,data:u}])}}))}))}}),Object.defineProperty(n.prototype,"_setUserAttributeValue",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return this._context.setRTCData(this._roomId,e,t,!1,Oa.PERSON,r)}}),Object.defineProperty(n.prototype,"_deleteUserAttributes",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return this._context.removeRTCData(this._roomId,e,!1,Oa.PERSON,t)}}),Object.defineProperty(n.prototype,"_getUserAttributes",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._context.getRTCData(this._roomId,e,!1,Oa.PERSON)}}),Object.defineProperty(n.prototype,"isDestroyed",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._invoker.isDestroyed()}}),Object.defineProperty(n.prototype,"__destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._leaveHandle(e)}}),Object.defineProperty(n.prototype,"_muteRemoteTracksBeforeQuit",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=Object.values(this._store.getRemoteTracks());e.length&&e.forEach((function(e){return e.mute()}))}}),Object.defineProperty(n.prototype,"_leaveHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){switch(t.label){case 0:return this._invoker.isDestroyed()?[2]:(this._invoker.destroy(),this._muteRemoteTracksBeforeQuit(),e?[4,this._context.quitRTCRoom(this._roomId)]:[3,2]);case 1:t.sent(),t.label=2;case 2:return this._store.isMainRoom?[4,this._quitAllPKRoom()]:[3,4];case 3:t.sent(),t.label=4;case 4:return this._pinger.stop(),[4,this._service.exit(this._store.getRTCRequestHeader())];case 5:return t.sent(),this._releasePCManager(),[2]}}))}))}}),Object.defineProperty(n.prototype,"_releasePCManager",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._peerConnection;e.removeAllLocalTrack(),e.destroy()}}),Object.defineProperty(n.prototype,"_onLocalTrackDestroied",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e instanceof Ye&&e.__isTiny()||this.unpublish([e])}}),Object.defineProperty(n.prototype,"_onLocalTrackMuted",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r;return c(this,(function(n){switch(n.label){case 0:return[4,this._invoker.push(new ns(e))];case 1:return r=n.sent().code,t(r),[2]}}))}))}}),Object.defineProperty(n.prototype,"publish",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return[2,this._invoker.push(new ts(e))]}))}))}}),Object.defineProperty(n.prototype,"_getPushOtherRoomsParams",{enumerable:!1,configurable:!0,writable:!0,value:function(){return[]}}),Object.defineProperty(n.prototype,"_reTryExchange",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._invoker.push(new is)}}),Object.defineProperty(n.prototype,"unpublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return[2,this._invoker.push(new rs(e))]}))}))}}),Object.defineProperty(n.prototype,"_isValidResourceId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r=dt(e).userId;return!!(null===(t=this._store.getResourcesByUserId(r))||void 0===t?void 0:t.find((function(t){return lt(t)===e})))}}),Object.defineProperty(n.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return[2,this._invoker.push(new es(e,void 0,void 0))]}))}))}}),Object.defineProperty(n.prototype,"unsubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){return t=this._logger.createTraceId(),this._logger.info(i.L_APP_CALL_UNSUBSCRIBE_O,void 0,t),[2,this._invoker.push(new Va(e,t))]}))}))}}),Object.defineProperty(n.prototype,"updateSubList",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return[2,this._invoker.push(new Ba(e,!0,this._logger.createTraceId()))]}))}))}}),Object.defineProperty(n.prototype,"getLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._peerConnection.getLocalTrack(e)}}),Object.defineProperty(n.prototype,"getLocalTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._peerConnection.getLocalTracks()}}),Object.defineProperty(n.prototype,"getRemoteTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._store.getRemoteTrack(e)||null}}),Object.defineProperty(n.prototype,"subscribedTracks",{get:function(){return this._store.getSubscribedList().slice()},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"registerRoomEventListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_ABSTRACT_ROOM_REGISTER_ROOM_EVENT_LISTENER_O,e?Object.keys(e).join(","):null),this._appListener=e}}),Object.defineProperty(n.prototype,"registerReportListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_ABSTRACT_ROOM_REGISTER_REPORT_LISTENER_O,e?Object.keys(e).join(","):null),this._peerConnection.registerReportListener(e)}}),Object.defineProperty(n.prototype,"onAudioLevelChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._logger.info(i.L_ABSTRACT_ROOM_AUDIO_LEVEL_O),this._audioLevelReport.onAudioLevelChange(e)}}),Object.defineProperty(n.prototype,"__onReconnected",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._invoker.push(new cs(e))}}),Object.defineProperty(n.prototype,"_onAudioMuteChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onAudioMuteChange",trackId:e.getTrackId()})),this._callAppListener("onAudioMuteChange",e)}}),Object.defineProperty(n.prototype,"_onVideoMuteChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_ABSTRACT_ROOM_CALL_APP_LISTENER_O,JSON.stringify({status:o.SUCCESSED,eventType:"onVideoMuteChange",trackId:e.getTrackId()})),this._callAppListener("onVideoMuteChange",e)}}),Object.defineProperty(n.prototype,"_registerPKMsgListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._onRecvPKMsg=e}}),Object.defineProperty(n.prototype,"_quitAllPKRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){return c(this,(function(e){return[2]}))}))}}),Object.defineProperty(n.prototype,"getClientSessionId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.clientSessionId}}),n}(e.EventEmitter),Ts=function(e){function t(t,r){var n=e.call(this)||this;return Object.defineProperty(n,"data",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(n,"cdnValues",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(t,e),Object.defineProperty(t.prototype,"kind",{get:function(){return la.MCUCONFIG_FLUSH},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,i,o,a;return s(this,void 0,void 0,(function(){var r,s,u,l,d,_,p;return c(this,(function(c){switch(c.label){case 0:return r=e.context,s=e.service,u={"App-Key":r.getAppkey(),Token:t.getToken(),RoomId:t.roomId,UserId:r.getCurrentId(),SessionId:t.getSessionId()},[4,s.setMcuConfig(u,this.data)];case 1:return l=c.sent(),d=l.code,_=l.res,d!==exports.RCRTCCode.SUCCESS?[2,{code:d}]:(_.pull_url&&t.setCDNUris(JSON.parse(_.pull_url)),p=this.cdnValues,d===exports.RCRTCCode.SUCCESS&&((null===(i=null===(n=p.output)||void 0===n?void 0:n.video.normal)||void 0===i?void 0:i.width)||(null===(a=null===(o=p.output)||void 0===o?void 0:o.video.normal)||void 0===a?void 0:a.fps))&&Ka(r,t),[2,{code:d,data:_}])}}))}))}}),t}(Ra);exports.BackgroundPictureFillMode=void 0,(bs=exports.BackgroundPictureFillMode||(exports.BackgroundPictureFillMode={}))[bs.CROP=1]="CROP",bs[bs.WHOLE=2]="WHOLE",exports.MixLayoutMode=void 0,(Rs=exports.MixLayoutMode||(exports.MixLayoutMode={}))[Rs.CUSTOMIZE=1]="CUSTOMIZE",Rs[Rs.SUSPENSION=2]="SUSPENSION",Rs[Rs.ADAPTATION=3]="ADAPTATION",exports.MixVideoRenderMode=void 0,(gs=exports.MixVideoRenderMode||(exports.MixVideoRenderMode={}))[gs.CROP=1]="CROP",gs[gs.WHOLE=2]="WHOLE",function(e){e[e.AUDIO_VIDEO_ALL=0]="AUDIO_VIDEO_ALL",e[e.AUDIO_VIDEO_NO=1]="AUDIO_VIDEO_NO",e[e.AUDIO_ALL_VIDEO_NO=2]="AUDIO_ALL_VIDEO_NO",e[e.AUDIO_NO_VIDEO_ALL=3]="AUDIO_NO_VIDEO_ALL",e[e.AUDIO_VIDEO_INPUT=4]="AUDIO_VIDEO_INPUT",e[e.AUDIO_ALL_VIDEO_INPUT=5]="AUDIO_ALL_VIDEO_INPUT",e[e.AUDIO_NO_VIDEO_INPUT=6]="AUDIO_NO_VIDEO_INPUT",e[e.AUDIO_INPUT_VIDEO_ALL=7]="AUDIO_INPUT_VIDEO_ALL",e[e.AUDIO_INPUT_VIDEO_NO=8]="AUDIO_INPUT_VIDEO_NO",e[e.ROOM_AUDIO_VIDEO_APPEND=9]="ROOM_AUDIO_VIDEO_APPEND",e[e.ROOM_AUDIO_VIDEO_NOT_APPEND=10]="ROOM_AUDIO_VIDEO_NOT_APPEND",e[e.ROOM_AUDIO_APPEND=11]="ROOM_AUDIO_APPEND",e[e.ROOM_AUDIO_NOT_APPEND=12]="ROOM_AUDIO_NOT_APPEND",e[e.ROOM_VIDEO_APPEND=13]="ROOM_VIDEO_APPEND",e[e.ROOM_VIDEO_NOT_APPEND=14]="ROOM_VIDEO_NOT_APPEND"}(ms||(ms={}));var Es,Ss=function(){return{version:2,mode:exports.MixLayoutMode.SUSPENSION}},Is=function(){function t(e,t,r){Object.defineProperty(this,"_executeCtx",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_invoker",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_isValidTrackId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_values",{enumerable:!0,configurable:!0,writable:!0,value:Ss()}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._logger=this._executeCtx.logger}return Object.defineProperty(t.prototype,"setHostVideoTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!this._isValidTrackId(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_HOST_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,msg:"videoTrackId: ".concat(e," is invalid")})),this;var t=dt(e),r=t.mediaType,n=t.tag,a=t.userId;return r!==exports.RCMediaType.VIDEO_ONLY?(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_HOST_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,msg:"kind of ".concat(e," is not video")})),this):(this._values.host_stream_id=_t(a,n),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_HOST_VIDEO_TRACK_O,JSON.stringify({status:o.SUCCESSED,videoTrackId:e})),this)}}),Object.defineProperty(t.prototype,"setMixLayoutMode",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return[exports.MixLayoutMode.CUSTOMIZE,exports.MixLayoutMode.SUSPENSION,exports.MixLayoutMode.ADAPTATION].includes(e)?(this._values.mode=e,this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_MIX_LAYOUT_MODE_O,JSON.stringify({status:o.SUCCESSED,mode:e})),this):(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_MIX_LAYOUT_MODE_O,JSON.stringify({status:o.SUCCESSED,msg:"mode: ".concat(e," is invalid")})),this)}}),Object.defineProperty(t.prototype,"_addOutputValue",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){void 0===r&&(r="normal");var n=this._values.output||(this._values.output={video:{normal:{width:640,height:480}}});if("cdn"!==e)if("audio"!==e){var i=n.video;if("normal"!==r&&"tiny"!==r)if("backgroundColor"!==r)if("exparams"!==r){if("backgroundPicture"===r){var o=i.backgroundPicture||(i.backgroundPicture={fillMode:exports.BackgroundPictureFillMode.CROP,picture:[]});Object.assign(o,t)}}else i.exparams={renderMode:t};else i.backgroundColor=t;else{var a=i[r]||(i[r]={});Object.assign(a,t)}}else n.audio={bitrate:t};else n.cdn=t}}),Object.defineProperty(t.prototype,"setOutputVideoResolution",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!Rt(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RESOLUTION_O,JSON.stringify({status:o.FAILED,msg:"params error -> resolution: ".concat(e)})),this;var t=bt(e),r=t.width,n=t.height;return this._addOutputValue("video",{width:r,height:n},"normal"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RESOLUTION_O,JSON.stringify({status:o.SUCCESSED,resolution:e})),this}}),Object.defineProperty(t.prototype,"setOutputVideoFPS",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!gt(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_FPS_O,JSON.stringify({status:o.FAILED,msg:"params error -> fps: ".concat(e)})),this;var t=mt(e);return this._addOutputValue("video",{fps:t},"normal"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_FPS_O,JSON.stringify({status:o.SUCCESSED,fps:e})),this}}),Object.defineProperty(t.prototype,"setOutputVideoBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return!e.isNumber(t)||t<=0?(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> bitrate: ".concat(t)})),this):(this._addOutputValue("video",{bitrate:t},"normal"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_BITRATE_O,JSON.stringify({status:o.SUCCESSED,bitrate:t})),this)}}),Object.defineProperty(t.prototype,"setOutputTinyVideoResolution",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!Rt(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_RESOLUTION_O,JSON.stringify({status:o.FAILED,msg:"params error -> resolution: ".concat(e)})),this;var t=bt(e),r=t.width,n=t.height;return this._addOutputValue("video",{width:r,height:n},"tiny"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_RESOLUTION_O,JSON.stringify({status:o.SUCCESSED,resolution:e})),this}}),Object.defineProperty(t.prototype,"setOutputTinyVideoFPS",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!gt(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_FPS_O,JSON.stringify({status:o.FAILED,msg:"params error -> fps: ".concat(e)})),this;var t=mt(e);return this._addOutputValue("video",{fps:t},"tiny"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_FPS_O,JSON.stringify({status:o.SUCCESSED,fps:e})),this}}),Object.defineProperty(t.prototype,"setOutputTinyVideoBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return!e.isNumber(t)||t<=0?(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> bitrate: ".concat(t)})),this):(this._addOutputValue("video",{bitrate:t},"tiny"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_TINY_VIDEO_BITRATE_O,JSON.stringify({status:o.SUCCESSED,bitrate:t})),this)}}),Object.defineProperty(t.prototype,"setOutputVideoRenderMode",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return[exports.MixVideoRenderMode.CROP,exports.MixVideoRenderMode.WHOLE].includes(e)?(this._addOutputValue("video",e,"exparams"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RENDER_MODE_O,JSON.stringify({status:o.SUCCESSED,renderMode:e})),this):(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_VIDEO_RENDER_MODE_O,JSON.stringify({status:o.FAILED,msg:"params error -> renderMode: ".concat(e)})),this)}}),Object.defineProperty(t.prototype,"setOutputAudioBitrate",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return e.isNumber(t)&&t>0?(this._addOutputValue("audio",t),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_AUDIO_BITRATE_O,JSON.stringify({status:o.SUCCESSED,bitrate:t})),this):(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_AUDIO_BITRATE_O,JSON.stringify({status:o.FAILED,msg:"params error -> bitrate: ".concat(t)})),this)}}),Object.defineProperty(t.prototype,"setOutputBackgroundColor",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return/^0x[a-fA-F0-9]{6}$/.test(e)?(this._addOutputValue("video",e,"backgroundColor"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_COLOR_O,JSON.stringify({status:o.SUCCESSED,color:e})),this):(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_COLOR_O,JSON.stringify({status:o.FAILED,msg:"params error -> color: ".concat(e)})),this)}}),Object.defineProperty(t.prototype,"addOutputBackgroundPicture",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a,s){var c,u,l;if(!e.isHttpUrl(t))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_O,JSON.stringify({status:o.FAILED,msg:"params error -> uri: ".concat(t)})),this;if([r,n,a,s].some((function(t){return!e.isNumber(t)||t<0||t>1})))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_O,JSON.stringify({status:o.FAILED,msg:"params of (x, y, w, h) error -> x: ".concat(r,", y: ").concat(n,", w: ").concat(a,", h: ").concat(s)})),this;var d=(null===(l=null===(u=null===(c=this._values.output)||void 0===c?void 0:c.video)||void 0===u?void 0:u.backgroundPicture)||void 0===l?void 0:l.picture)||[];return d.push({uri:t,w:a,h:s,x:r,y:n}),this._addOutputValue("video",{picture:d},"backgroundPicture"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_O,JSON.stringify({status:o.SUCCESSED,uri:t,x:r,y:n,w:a,h:s})),this}}),Object.defineProperty(t.prototype,"removeOutputBackgroundPicture",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r,n,a;if(!e.isHttpUrl(t))return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_OUTPUT_BACKGROUND_PICTURE_O,JSON.stringify({status:o.FAILED,msg:"params error -> uri: ".concat(t)})),this;var s=null===(a=null===(n=null===(r=this._values.output)||void 0===r?void 0:r.video)||void 0===n?void 0:n.backgroundPicture)||void 0===a?void 0:a.picture;return s&&(s=s.filter((function(e){return e.uri!==t})),this._addOutputValue("video",{pictures:s},"backgroundPicture")),this._logger.info(i.L_MCU_CONFIG_BUILDER_REMOVE_OUTPUT_BACKGROUND_PICTURE_O,JSON.stringify({status:o.SUCCESSED,uri:t})),this}}),Object.defineProperty(t.prototype,"clearOutputBackgroundPicture",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._addOutputValue("video",{pictures:[]},"backgroundPicture"),this._logger.info(i.L_MCU_CONFIG_BUILDER_CLEAR_OUTPUT_BACKGROUND_PICTURE_O),this}}),Object.defineProperty(t.prototype,"setOutputBackgroundPictureFillMode",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return[exports.BackgroundPictureFillMode.CROP,exports.BackgroundPictureFillMode.WHOLE].includes(e)?(this._addOutputValue("video",{fillMode:e},"backgroundPicture"),this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_FILL_MODE_O,JSON.stringify({status:o.SUCCESSED,fillMode:e})),this):(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_FILL_MODE_O,JSON.stringify({status:o.FAILED,msg:"params error -> fillMode: ".concat(e)})),this)}}),Object.defineProperty(t.prototype,"addPublishStreamUrls",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r,n,a=/^rtmp:\/\/.+/;if(!e.isArray(t)||0===t.length||t.some((function(e){return!a.test(e)})))return this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_FILL_MODE_O,JSON.stringify({status:o.FAILED,msg:"params error -> urls: ".concat(t.join(","))})),this;var s=(null===(n=null===(r=this._values.output)||void 0===r?void 0:r.cdn)||void 0===n?void 0:n.concat())||[],c=!1;return t.forEach((function(e){s.some((function(t){return t.pushurl===e}))||(c=!0,s.push({pushurl:e}))})),s.length>5?(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_OUTPUT_BACKGROUND_PICTURE_FILL_MODE_O,JSON.stringify({status:o.FAILED,msg:"params error -> publish stream urls no more than 5, length: ".concat(t.length)})),this):(c&&this._addOutputValue("cdn",s),this._logger.info(i.L_MCU_CONFIG_BUILDER_ADD_PUBLISH_STREAM_URLS_O,JSON.stringify({status:o.SUCCESSED,urls:t})),this)}}),Object.defineProperty(t.prototype,"removePublishStreamUrls",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var r,n,a=/^rtmp:\/\/.+/;if(!e.isArray(t)||0===t.length||t.some((function(e){return!a.test(e)})))return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_PUBLISH_STREAM_URLS_O,JSON.stringify({status:o.FAILED,msg:"params error -> urls: ".concat(t.join(","))})),this;for(var s=(null===(n=null===(r=this._values.output)||void 0===r?void 0:r.cdn)||void 0===n?void 0:n.concat())||[],c=s.length-1;c>=0;c-=1){var u=s[c].pushurl,l=t.indexOf(u);l>=0&&(t.splice(l,1),s.splice(c,1))}return this._addOutputValue("cdn",s),this._logger.info(i.L_MCU_CONFIG_BUILDER_REMOVE_PUBLISH_STREAM_URLS_O,JSON.stringify({status:o.SUCCESSED,urls:t})),this}}),Object.defineProperty(t.prototype,"clearPublishStreamUrls",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._addOutputValue("cdn",[]),this._logger.info(i.L_MCU_CONFIG_BUILDER_CLEAR_PUBLISH_STREAM_URLS_O),this}}),Object.defineProperty(t.prototype,"addCustomizeLayoutVideo",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a,s){if(!e.notEmptyString(t)||!this._isValidTrackId(t))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(t)})),this;if(!e.isNumber(r)||!e.isNumber(n))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"params x or y is error -> x: ".concat(r,", y: ").concat(n)})),this;if([a,s].some((function(t){return!e.isNumber(t)||t<0})))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"params width or height error -> width: ".concat(a,", height: ").concat(s)})),this;var c=dt(t),u=c.userId,l=c.tag;if(c.mediaType!==exports.RCMediaType.VIDEO_ONLY)return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"type of trackId: ".concat(t," is not video")})),this;var d=_t(u,l),_=this._values.input||(this._values.input={}),p=_.video||(_.video=[]);return p.some((function(e){return e.height===s&&e.width===a&&e.stream_id===d&&e.user_id===u&&e.x===r&&e.y===n}))?(this._logger.warn(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"Duplicate configuration item place ignored"})),this):(p.push({user_id:u,stream_id:d,x:r,y:n,width:a,height:s}),this._logger.info(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.SUCCESSED,trackId:t,x:r,y:n,width:a,height:s})),this)}}),Object.defineProperty(t.prototype,"removeCustomizeLayoutVideo",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!this._isValidTrackId(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(e)})),this;var t=dt(e),r=t.userId,n=t.tag;if(t.mediaType!==exports.RCMediaType.VIDEO_ONLY)return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.FAILED,msg:"type of trackId: ".concat(e," is not video")})),this;var a=_t(r,n),s=this._values.input;return(null==s?void 0:s.video)&&s.video.length>0&&(s.video=s.video.filter((function(e){return e.stream_id===a}))),this._logger.info(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_LAYOUT_VIDEO_O,JSON.stringify({status:o.SUCCESSED,trackId:e})),this}}),Object.defineProperty(t.prototype,"clearCustomizeLayoutVideo",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._values.input;return null==e||delete e.video,this._logger.info(i.L_MCU_CONFIG_BUILDER_CLEAR_CUSTOMIZE_LAYOUT_VIDEO_O),this}}),Object.defineProperty(t.prototype,"setCustomizeInputAudio",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this;return e.some((function(e){return t._isValidTrackId(e)}))?(this._logger.error(i.L_MCU_CONFIG_BUILDER_SET_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.FAILED,msg:"trackIds contain invalid item -> trackIds: ".concat(e.join(","))})),this):((this._values.input||(this._values.input={})).audio=e.map((function(e){var t=dt(e),r=t.userId,n=t.tag;return{stream_id:_t(r,n),user_id:r}})),this._values.inputFilterMode=ms.AUDIO_INPUT_VIDEO_ALL,this._logger.info(i.L_MCU_CONFIG_BUILDER_SET_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.SUCCESSED,trackIds:e})),this)}}),Object.defineProperty(t.prototype,"addCustomizeInputAudio",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!this._isValidTrackId(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(e)})),this;var t=this._values.input||(this._values.input={}),r=t.audio||(t.audio=[]),n=dt(e),a=n.userId,s=n.tag,c=_t(a,s);return r.some((function(e){return e.stream_id===c&&e.user_id===a}))?(this._logger.warn(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.FAILED,msg:"trackId: ".concat(e," is exist")})),this):(r.push({user_id:a,stream_id:c}),this._values.inputFilterMode=ms.AUDIO_INPUT_VIDEO_ALL,this._logger.info(i.L_MCU_CONFIG_BUILDER_ADD_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.SUCCESSED,trackId:e})),this)}}),Object.defineProperty(t.prototype,"removeCustomizeInputAudio",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(!this._isValidTrackId(e))return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(e)})),this;var t=this._values.input;if(!(null==t?void 0:t.audio)||0===t.audio.length)return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.FAILED,msg:"type of trackId: ".concat(e," is not audio")})),this;var r=dt(e),n=r.userId,a=r.tag,s=_t(n,a);return t.audio=t.audio.filter((function(e){return n!==e.user_id||s!==e.stream_id})),this._logger.info(i.L_MCU_CONFIG_BUILDER_REMOVE_CUSTOMIZE_INPUT_AUDIO_O,JSON.stringify({status:o.SUCCESSED,trackId:e})),this}}),Object.defineProperty(t.prototype,"clearCustomizeInputAudio",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._values.input;return(null==e?void 0:e.audio)&&delete e.audio,this._values.inputFilterMode=ms.AUDIO_VIDEO_ALL,this._logger.info(i.L_MCU_CONFIG_BUILDER_CLEAR_CUSTOMIZE_INPUT_AUDIO_O),this}}),Object.defineProperty(t.prototype,"addPictureWaterMark",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a,s,c){if(!this._isValidTrackId(t))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_SINGLE_WATER_MARK_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(t)})),this;if(!e.isHttpUrl(r))return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_SINGLE_WATER_MARK_O,JSON.stringify({status:o.FAILED,msg:"params error -> uri: ".concat(r)})),this;if([n,a,s,c].some((function(t){return!e.isNumber(t)||t<0||t>1}))||n+s>1||a+c>1)return this._logger.error(i.L_MCU_CONFIG_BUILDER_ADD_SINGLE_WATER_MARK_O,JSON.stringify({status:o.FAILED,msg:"some attrs of (x, y, w, h) is invalid -> x: ".concat(n,", y: ").concat(a,", w: ").concat(s,", h: ").concat(c)})),this;var u=dt(t),l=u.userId,d=u.tag,_=_t(l,d),p=(this._values.waterMark||(this._values.waterMark={enable:"on",singleScreen:[]})).singleScreen,f=p.filter((function(e){return e.streamId===_}))[0];return f?f.picture.push({uri:r,w:s,h:c,x:n,y:a}):p.push({streamId:_,picture:[{uri:r,w:s,h:c,x:n,y:a}]}),this._values.waterMark.singleScreen=p,this._logger.info(i.L_MCU_CONFIG_BUILDER_ADD_SINGLE_WATER_MARK_O,JSON.stringify({status:o.SUCCESSED,trackId:t,uri:r,x:n,y:a,w:s,h:c,singleScreen:p})),this}}),Object.defineProperty(t.prototype,"clearPictureWaterMark",{enumerable:!1,configurable:!0,writable:!0,value:function(){return(this._values.waterMark||(this._values.waterMark={enable:"on",singleScreen:[]})).singleScreen=[],this._logger.info(i.L_MCU_CONFIG_BUILDER_CLEAR_OUTPUT_BACKGROUND_PICTURE_O),this}}),Object.defineProperty(t.prototype,"removePictureWaterMark",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){if(!e.notEmptyString(t)||!this._isValidTrackId(t))return this._logger.error(i.L_MCU_CONFIG_BUILDER_REMOVE_SINGLE_WATER_MARK_O,JSON.stringify({status:o.FAILED,msg:"params error -> trackId: ".concat(t)})),this;var n=dt(t),a=n.userId,s=n.tag,c=_t(a,s);return(this._values.waterMark||(this._values.waterMark={enable:"on",singleScreen:[]})).singleScreen.forEach((function(e){e.streamId===c&&(e.picture=e.picture.filter((function(e){return e.uri!==r})))})),this._logger.info(i.L_MCU_CONFIG_BUILDER_REMOVE_SINGLE_WATER_MARK_O,JSON.stringify({status:o.SUCCESSED,trackId:t,uri:r})),this}}),Object.defineProperty(t.prototype,"reset",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._values=Ss(),this._logger.info(i.L_MCU_CONFIG_BUILDER_RESET_O),this}}),Object.defineProperty(t.prototype,"flush",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return void 0===e&&(e=!0),s(this,void 0,void 0,(function(){var t,r;return c(this,(function(n){switch(n.label){case 0:return t=JSON.parse(JSON.stringify(this._values)),[4,this._invoker.push(new Ts(t,this._values))];case 1:return r=n.sent().code,e&&(this._values=Ss()),[2,{code:r}]}}))}))}}),Object.defineProperty(t.prototype,"__innerGetValues",{enumerable:!1,configurable:!0,writable:!0,value:function(){return JSON.parse(JSON.stringify(this._values))}}),t}();exports.RCLivingType=void 0,(Es=exports.RCLivingType||(exports.RCLivingType={}))[Es.VIDEO=0]="VIDEO",Es[Es.AUDIO=1]="AUDIO";var ys,Ls=function(e){function t(t,r,n){var i=e.call(this)||this;return Object.defineProperty(i,"roomId",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(i,"roomPKHandler",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:n}),i}return r(t,e),Object.defineProperty(t.prototype,"_exchangeWithPushOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l,d,_,p,f;return c(this,(function(c){switch(c.label){case 0:return n=e.logger,a=e.peer,a.getLocalTracks().length?(s=a,[4,Ja(t.getSubscribedList(),!1,s,t)]):(n.info(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.SUCCESSED,msg:"have not published resource"}),this.traceId),[2]);case 1:return u=c.sent(),l=e.getPushOtherRooms(),u.pushOtherRooms=l,[4,new ja(u,this.traceId,!0).execute(e,t,r)];case 2:return(d=c.sent()).code!==exports.RCRTCCode.SUCCESS?(n.error(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.FAILED,code:d.code,pushOtherRooms:l}),this.traceId),[2]):(_=d.data.data,p=_.sdp,(f=_.resultCode)!==exports.RCRTCCode.SUCCESS?(n.error(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.FAILED,code:f,pushOtherRooms:l}),this.traceId),[2]):(n.info(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.SUCCESSED,pushOtherRooms:l}),this.traceId),s.setRemoteAnswer(p.sdp),[2]))}}))}))}}),Object.defineProperty(t.prototype,"kind",{get:function(){return la.EXCHANGE_WITH_PUSH_OTHER_ROOM},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,a;return c(this,(function(s){switch(s.label){case 0:return n=e.logger,a=this.roomId,n.info(i.L_EXCHANGE_WITH_PUSHOTHERROOM_T,a),this.roomPKHandler?this.roomPKHandler.getPKInfo(a)?[4,this._exchangeWithPushOtherRoom(e,t,r)]:(n.warn(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.FAILED,msg:"PKInfo not exist"}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS}]):(n.error(i.L_EXCHANGE_WITH_PUSHOTHERROOM_R,JSON.stringify({status:o.FAILED,msg:"_roomPKHandler not exist"}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return s.sent(),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),t}(Ra),Ps=function(t){function n(e,r,n,i,o,a){var s=t.call(this)||this;return Object.defineProperty(s,"pkHandler",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(s,"room",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(s,"_PKInfo",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(s,"_joinedPKRooms",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(s,"isQuitPK",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(s,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:a}),s}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.LEAVE_OTHER_ROOM},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"quitRoomPK",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f,h,b,R;return c(this,(function(c){switch(c.label){case 0:return s=t.logger,u=t.context,s.info(i.L_QUIT_PK_T,"roomId: ".concat(r),a),this._PKInfo[r]?(l=this._PKInfo[r],d=l.inviterRoomId,_=l.inviteeRoomId,p=l.inviterUserId,f=l.inviteSessionId,h={inviteeRoomId:_,inviterRoomId:d,userId:n.crtUserId},b={roomId:n.roomId,endRoomId:r,sessionId:f,content:JSON.stringify(h),keys:["".concat(d,"|").concat(p)]},[4,u.endRoomPK(b)]):(s.warn(i.L_QUIT_PK_R,"status: ".concat(o.FAILED,", msg: pkinfo is empty"),a),[2]);case 1:return(R=c.sent())!==e.ErrorCode.SUCCESS?(s.error(i.L_QUIT_PK_R,"status: ".concat(o.FAILED,", code: ").concat(R),a),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(s.info(i.L_QUIT_PK_R,"status: ".concat(o.SUCCESSED),a),delete this._PKInfo[r],[2])}}))}))}}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return n=e.logger,s=(a=this).room,u=a.isQuitPK,l=s.getRoomId(),n.info(i.L_LIVING_ROOM_LEAVE_PK_ROOM_T,JSON.stringify({roomId:l,isQuitPK:u}),this.traceId),[4,s.__destroy(!0)];case 1:return c.sent(),delete this._joinedPKRooms[l],[4,new Ls(l,this.pkHandler,this.traceId).execute(e,t,r)];case 2:return c.sent(),u&&this.quitRoomPK(e,l,t,this.traceId),n.info(i.L_LIVING_ROOM_LEAVE_PK_ROOM_R,JSON.stringify({status:o.SUCCESSED}),this.traceId),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),n}(Ra),Ns=function(){function t(e,t,r,n,i,o,a,s,c,u){Object.defineProperty(this,"_invoker",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_PKInfo",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_service",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_initOptions",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"_mainLivingRoom",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"_registerPKMsgListener",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"_onJoinedPKRoom",{enumerable:!0,configurable:!0,writable:!0,value:c}),Object.defineProperty(this,"_clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:u}),Object.defineProperty(this,"_inviteTimeout",{enumerable:!0,configurable:!0,writable:!0,value:30}),Object.defineProperty(this,"_appListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_mainRoomId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_joinedPKRooms",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._logger=this._context.logger,this._registerPKMsgListener(this._onRecvPKMsg.bind(this)),this._mainRoomId=this._mainLivingRoom.getRoomId()}return Object.defineProperty(t.prototype,"_callAppListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var o=null===(t=this._appListener)||void 0===t?void 0:t[e];if(o)try{o.apply(void 0,d([],l(r),!1))}catch(e){this._logger.error(i.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O,JSON.stringify(e))}}}),Object.defineProperty(t.prototype,"_onInvite",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.inviteInfo||{},r=t.inviterRoomId,n={inviterRoomId:r,inviterUserId:t.inviterUserId,extra:t.extra};this._PKInfo[r]=t,this._logger.info(i.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onRequestJoinOtherRoom",info:n})),this._callAppListener("onRequestJoinOtherRoom",n)}}),Object.defineProperty(t.prototype,"_onCancelInvite",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.inviteInfo||{},r=t.inviterRoomId,n={inviterRoomId:r,inviterUserId:t.inviterUserId,extra:t.extra};delete this._PKInfo[r],this._logger.info(i.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onCancelRequestOtherRoom",cancelInfo:n})),this._callAppListener("onCancelRequestOtherRoom",n)}}),Object.defineProperty(t.prototype,"_onInviteTimeout",{enumerable:!1,configurable:!0,writable:!0,value:function(e){}}),Object.defineProperty(t.prototype,"_onInviteAnswer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.answerCode,r=e.inviteContent,n=r.inviteSessionId,o=r.inviterUserId,a=r.inviterRoomId,s=r.inviteeUserId,c=r.inviterUserAutoMix,u=r.inviteeUserAutoMix,l=r.inviteeRoomId,d={agree:1===t,inviterRoomId:a,inviterUserId:o,inviteeRoomId:l,inviteeUserId:s,extra:r.extra};this._PKInfo[l]=this._PKInfo[l]||{inviteSessionId:n,inviterRoomId:a,inviterUserId:o,inviterUserAutoMix:c,inviteeRoomId:l},this._PKInfo[l].inviteeUserAutoMix=u,this._logger.info(i.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onResponseJoinOtherRoom",answerInfo:d})),this._callAppListener("onResponseJoinOtherRoom",d)}}),Object.defineProperty(t.prototype,"createLeaveOtherRoomCommand",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return new Ps(this,e,this._PKInfo,this._joinedPKRooms,t,r)}}),Object.defineProperty(t.prototype,"_onPKEnd",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,o,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return t=e.inviteInfo,r=t.inviteeRoomId,n=t.inviterRoomId,o=t.userId,a=n===this._mainRoomId?r:n,s={endRoomId:a,endUserId:o},u=this._joinedPKRooms[a],l=this._logger.createTraceId(),this._logger.info(i.L_QUIT_PK_LEAVE_PK_ROOM_O,void 0,l),u?[4,this._invoker.push(this.createLeaveOtherRoomCommand(u,!0,l))]:[3,2];case 1:c.sent(),c.label=2;case 2:return delete this._PKInfo[a],this._logger.info(i.L_LIVING_PK_HANDLER_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onFinishOtherRoom",endInfo:s})),this._callAppListener("onFinishOtherRoom",s),[2]}}))}))}}),Object.defineProperty(t.prototype,"_onRecvPKMsg",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.content;switch(e.messageType){case Tt.PK_INVITE:this._onInvite(t);break;case Tt.PK_CANCEL_INVITE:this._onCancelInvite(t);break;case Tt.PK_INVITE_TIMEOUT:this._onInviteTimeout(t);break;case Tt.PK_INVITE_ANSWER:this._onInviteAnswer(t);break;case Tt.PK_END:this._onPKEnd(t)}}}),Object.defineProperty(t.prototype,"registerRoomPKEventListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_LIVING_PK_HANDLER_REGISTER_ROOM_PK_EVENT_LISTENER_O,JSON.stringify({listener:e&&Object.keys(e)})),this._appListener=e}}),Object.defineProperty(t.prototype,"requestJoinOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l,d,_;return c(this,(function(c){switch(c.label){case 0:return a=this._logger.createTraceId(),this._logger.info(i.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_T,JSON.stringify({inviteeRoomId:t,inviteeUserId:r,options:n}),a),e.validate("inviteeRoomId",t,e.notEmptyString,!0)&&e.validate("inviteeUserId",r,e.notEmptyString,!0)?(s=Zi(),u=!e.isBoolean(null==n?void 0:n.autoMix)||(null==n?void 0:n.autoMix),l={inviteSessionId:s,inviterRoomId:this._mainRoomId,inviterUserId:this._context.getCurrentId(),inviterUserAutoMix:u,inviteeRoomId:t,inviteeUserId:r,inviteeTimeoutTime:this._inviteTimeout,extra:(null==n?void 0:n.extra)||""},d={roomId:this._mainRoomId,invitedRoomId:t,invitedUserId:r,inviteTimeout:this._inviteTimeout,inviteInfo:JSON.stringify(l),inviteSessionId:s},[4,this._context.requestRoomPK(d)]):(this._logger.error(i.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> inviteeRoomId or inviteeUserId"}),a),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return(_=c.sent())!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:_}),a),[2,{code:_}]):(this._PKInfo[t]={inviteSessionId:s,inviterRoomId:this._mainRoomId,inviterUserId:this._context.getCurrentId(),inviterUserAutoMix:u,inviteeRoomId:t},this._logger.info(i.L_LIVING_PK_HANDLER_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.SUCCESSED}),a),[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(t.prototype,"cancelRequestJoinOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return a=this._logger.createTraceId(),this._logger.info(i.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_T,JSON.stringify({inviteeRoomId:t,inviteeUserId:r,extra:n}),a),e.validate("inviteeRoomId",t,e.notEmptyString,!0)&&e.validate("inviteeUserId",r,e.notEmptyString,!0)?this._PKInfo[t]?(s={inviterRoomId:this._mainRoomId,inviterUserId:this._context.getCurrentId(),inviteeRoomId:t,inviteeUserId:r,extra:n||""},u={roomId:this._mainRoomId,invitedRoomId:t,invitedUserId:r,inviteSessionId:this._PKInfo[t].inviteSessionId,inviteInfo:JSON.stringify(s)},[4,this._context.cancelRoomPK(u)]):(this._logger.error(i.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"The request to connect with ".concat(r," user in room ").concat(t," is not initiated")}),a),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):(this._logger.error(i.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> inviteeRoomId or inviteeUserId"}),a),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return(l=c.sent())!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:l}),a),[2,{code:l}]):(this._logger.info(i.L_LIVING_PK_HANDLER_CANCEL_REQUEST_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.SUCCESSED}),a),delete this._PKInfo[t],[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(t.prototype,"responseJoinOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a){return s(this,void 0,void 0,(function(){var s,u,l,d,_,p,f,h,b,R;return c(this,(function(c){switch(c.label){case 0:return s=this._logger.createTraceId(),this._logger.info(i.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_T,JSON.stringify({inviterRoomId:t,inviterUserId:r,agree:n,options:a}),s),e.validate("inviterRoomId",t,e.notEmptyString,!0)&&e.validate("inviterUserId",r,e.notEmptyString,!0)?this._PKInfo[t]?(u=this._PKInfo[t],l=u.inviteSessionId,d=u.inviterUserAutoMix,_=!e.isBoolean(null==a?void 0:a.autoMix)||(null==a?void 0:a.autoMix),p={inviteSessionId:l,inviterRoomId:t,inviterUserId:r,inviterUserAutoMix:d,inviteeRoomId:this._mainRoomId,inviteeUserId:this._context.getCurrentId(),inviteeUserAutoMix:_},f=Object.assign(p,{inviterUserAutoMix:d}),h=n?Object.assign(p,{MultiRoomKey:"".concat(t,"|").concat(this._mainRoomId),MultiRoomValue:JSON.stringify(f)}):p,!e.isUndefined(null==a?void 0:a.extra)&&Object.assign(h,{extra:a.extra}),b={agree:n,roomId:this._mainRoomId,inviteSessionId:l,inviteRoomId:t,inviteUserId:r,content:JSON.stringify(h),key:"".concat(t,"|").concat(this._mainRoomId),value:JSON.stringify(p)},[4,this._context.responseRoomPK(b)]):(this._logger.error(i.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"User ".concat(r," in room ").concat(t," did not send a request for connection")}),s),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):(this._logger.error(i.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> inviterRoomId or inviterUserId"}),s),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return(R=c.sent())!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:R}),s),[2,{code:R}]):(this._logger.info(i.L_LIVING_PK_HANDLER_RESPONSE_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.SUCCESSED}),s),this._PKInfo[t].inviteeUserAutoMix=_,[2,{code:exports.RCRTCCode.SUCCESS}])}}))}))}}),Object.defineProperty(t.prototype,"joinOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,a,s,u;return c(this,(function(c){switch(c.label){case 0:return r=this._logger.createTraceId(),this._logger.info(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_T,JSON.stringify({roomId:t}),r),e.validate("roomId",t,e.notEmptyString,!0)?this._context.getConnectionStatus()!==e.RCConnectionStatus.CONNECTED?(this._logger.error(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.SIGNAL_DISCONNECTED,msg:"IM disconnected"}),r),[2,{code:exports.RCRTCCode.SIGNAL_DISCONNECTED}]):this._joinedPKRooms[t]?(this._logger.warn(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly"}),r),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):(n=exports.RCLivingType.VIDEO,a={extra:'{"roomId": "'.concat(this._mainRoomId,'"}')},[4,(s=new Ms(this._context,this._runtime,t,this._service,this._initOptions,n,!1,!1,this._clientSessionId)).__innerInit(exports.RTCMode.LIVE,void 0,n,a)]):(this._logger.error(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> roomId"}),r),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return(u=c.sent().code)!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.FAILED,code:u}),r),[2,{code:u}]):(this._joinedPKRooms[t]=s,[4,this._onJoinedPKRoom(t,r)]);case 2:return c.sent(),this._logger.info(i.L_LIVING_PK_HANDLER_JOIN_OTHER_ROOM_R,JSON.stringify({status:o.SUCCESSED}),r),[2,{room:s,code:exports.RCRTCCode.SUCCESS,userIds:s.getRemoteUserIds(),tracks:s.getRemoteTracks()}]}}))}))}}),Object.defineProperty(t.prototype,"leaveOtherRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r;return c(this,(function(n){return r=this._logger.createTraceId(),this._logger.info(i.L_APP_CALL_LEAVE_PK_ROOM_O,void 0,r),[2,this._invoker.push(this.createLeaveOtherRoomCommand(e,t,r))]}))}))}}),Object.defineProperty(t.prototype,"getPKInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._PKInfo[e]}}),Object.defineProperty(t.prototype,"getAllPKInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._PKInfo}}),Object.defineProperty(t.prototype,"getJoinedPKRooms",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._joinedPKRooms}}),t}();!function(e){e[e.OPEN=1]="OPEN",e[e.STOP=2]="STOP"}(ys||(ys={}));var As,ws=function(t){function n(e,r){var n=t.call(this)||this;return Object.defineProperty(n,"cdnValues",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(n,"enable",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.ENABLE_INNER_CDN},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l,d,_,p;return c(this,(function(c){switch(c.label){case 0:return a=t.logger,s=t.context,u=this.enable,a.info(i.L_LIVING_ROOM_ENABLE_INNER_CDN_T,JSON.stringify({roomId:r.roomId,enable:u})),r.isMainRoom?e.isBoolean(u)?(r.setCDNEnabel(u),l={version:2,output:{inCDNModel:u?ys.OPEN:ys.STOP}},[4,new Ts(l,this.cdnValues).execute(t,r,n)]):(a.error(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> enable"})),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):(a.error(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM,msg:"method not available in PK room"})),[2,{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM}]);case 1:return(d=c.sent().code)!==exports.RCRTCCode.SUCCESS?(a.error(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.FAILED,code:d,msg:"signal error"})),[2,{code:exports.RCRTCCode.SIGNAL_ERROR}]):(_=r.getCDNUris())&&_.broadcast!==Ia.SPREAD?(a.info(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.SUCCESSED,enable:u})),[2,{code:exports.RCRTCCode.SUCCESS}]):[4,Ka(s,r)];case 2:return(p=c.sent().code)===exports.RCRTCCode.SUCCESS?(a.info(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.SUCCESSED,enable:u})),[2,{code:exports.RCRTCCode.SUCCESS}]):(a.error(i.L_LIVING_ROOM_ENABLE_INNER_CDN_R,JSON.stringify({status:o.FAILED,code:p})),[2,{code:p}])}}))}))}}),n}(Ra);!function(e){e[e.AnchorToViewer=1]="AnchorToViewer",e[e.ViewerToAnchor=2]="ViewerToAnchor"}(As||(As={}));var Ds,ks,Us=function(t){function n(e,r){var n=t.call(this)||this;return Object.defineProperty(n,"livingType",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(n,"traceId",{enumerable:!0,configurable:!0,writable:!0,value:r}),n}return r(n,t),Object.defineProperty(n.prototype,"kind",{get:function(){return la.RTC_IDENTITY_CHANGE},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"execute",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){var i;return s(this,void 0,void 0,(function(){var o,a,s,u;return c(this,(function(c){switch(c.label){case 0:return[4,t.context.rtcIdentityChange(r.roomId,As.ViewerToAnchor,this.livingType)];case 1:return o=c.sent(),a=o.code,s=o.data,a===e.ErrorCode.SUCCESS&&s?(r.initWithRoomData(s,this.traceId),r.getResourcesByUserId(r.crtUserId).length>0&&n.push(new va),(u=null===(i=s.roomInfo.filter((function(e){return"cdn_uris"===e.key}))[0])||void 0===i?void 0:i.value)&&r.setCDNUris(JSON.parse(u)[0]),[2,{code:a,data:s}]):[2,{code:a}]}}))}))}}),n}(Ra),Ms=function(t){function n(e,r,n,i,o,a,s,c,u){var l=t.call(this,e,r,n,exports.RTCMode.LIVE,i,o,s,c,u)||this;return Object.defineProperty(l,"_livingType",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(l,"_mcuConfigBuilder",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(l,"_roomPKHandler",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),l._mcuConfigBuilder=new Is(l._executeCtx,l._invoker,l._isValidResourceId.bind(l)),l}return r(n,t),Object.defineProperty(n.prototype,"_initRoomPKHandler",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(this._store.isMainRoom){var r=(n=this._roomId,i=e.roomInfo,o={},i.forEach((function(e){var t=JSON.parse(e.value),r=t.inviterRoomId,i=t.inviteeRoomId;o[n===r?i:r]=JSON.parse(e.value)})),o);this._roomPKHandler=new Ns(this._invoker,r,this._context,this._runtime,this._service,this._initOptions,this,t.prototype._registerPKMsgListener.bind(this),this._onJoinedPKRoom.bind(this),this._clientSessionId)}var n,i,o}}),Object.defineProperty(n.prototype,"__innerInit",{enumerable:!1,configurable:!0,writable:!0,value:function(r,n,a,u,l,d){return s(this,void 0,void 0,(function(){var s,_,p;return c(this,(function(c){switch(c.label){case 0:return e.validate("livingType",a,(function(e){return e===exports.RCLivingType.AUDIO||e===exports.RCLivingType.VIDEO}))?[4,t.prototype.__innerInit.call(this,r,n,a,u,l,d)]:(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> livingType"}),d),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return s=c.sent(),_=s.code,p=s.data,_===exports.RCRTCCode.SUCCESS&&p&&this._initRoomPKHandler(p),[2,{code:_,data:p}]}}))}))}}),Object.defineProperty(n.prototype,"__innerInitByIdentityChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,a;return c(this,(function(s){switch(s.label){case 0:return[4,this._invoker.push(new Us(this._livingType,t))];case 1:return r=s.sent(),n=r.code,a=r.data,n===e.ErrorCode.SUCCESS&&a?(this._initRoomPKHandler(a),this._initWithRoomData(a.offlineKickTime),this._logger.info(i.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_R,JSON.stringify({status:o.SUCCESSED,roomData:a}),t)):this._logger.error(i.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_R,JSON.stringify({status:o.FAILED,code:n}),t),[2,n]}}))}))}}),Object.defineProperty(n.prototype,"publish",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(r){return this._store.isMainRoom?[2,t.prototype.publish.call(this,e)]:(this._logger.error(i.L_ABSTRACT_ROOM_PUBLISH_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM,msg:"method not available in PK room"})),[2,{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM}])}))}))}}),Object.defineProperty(n.prototype,"unpublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(r){return this._store.isMainRoom?[2,t.prototype.unpublish.call(this,e)]:(this._logger.error(i.L_ABSTRACT_ROOM_UNPUBLISH_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM,msg:"method not available in PK room"})),[2,{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM}])}))}))}}),Object.defineProperty(n.prototype,"_isValidResourceId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r,n=dt(e).userId,i=!!(null===(t=this._store.getResourcesByUserId(n))||void 0===t?void 0:t.find((function(t){return lt(t)===e}))),o=this.getRoomPKHandler(),a=o.code,s=o.roomPKHandler;if(a!==exports.RCRTCCode.SUCCESS||!s)return i;var c=s.getJoinedPKRooms(),u=[];return Object.values(c).forEach((function(e){u.push.apply(u,d([],l(e.getRemoteTracks()),!1))})),r=u.some((function(t){return e===t.getTrackId()})),i||r}}),Object.defineProperty(n.prototype,"getLivingType",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._livingType}}),Object.defineProperty(n.prototype,"getMCUConfigBuilder",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.isMainRoom?this._mcuConfigBuilder:(this._logger.error(i.L_LIVING_ROOM_GET_MCU_CONFIG_BUILDER_O,"the `getMCUConfigBuilder` is disabled in PK room"),{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM})}}),Object.defineProperty(n.prototype,"enableInnerCDN",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){return c(this,(function(t){return[2,this._invoker.push(new ws(this._mcuConfigBuilder.__innerGetValues(),e))]}))}))}}),Object.defineProperty(n.prototype,"_resourceHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,n,i,o){return s(this,void 0,void 0,(function(){return c(this,(function(a){return t.prototype._resourceHandle.call(this,e,r,n,i,o),[2]}))}))}}),Object.defineProperty(n.prototype,"__getCDNEnable",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return!!(null===(e=this._store.getCDNUris())||void 0===e?void 0:e.enableInnerCDN)}}),Object.defineProperty(n.prototype,"__getCDNPushMode",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return null===(e=this._store.getCDNUris())||void 0===e?void 0:e.push_mode}}),Object.defineProperty(n.prototype,"_onJoinedPKRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){return c(this,(function(r){return this._invoker.push(new Ls(e,this._roomPKHandler,t)),[2]}))}))}}),Object.defineProperty(n.prototype,"_getPushOtherRoomsParams",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[];if(!this.isMainRoom()||!this._roomPKHandler)return e;var t=this._roomPKHandler.getJoinedPKRooms();for(var r in t){var n=t[r].getSessionId(),i=this._roomPKHandler.getPKInfo(r);if(i){var o=i.inviterUserAutoMix,a=i.inviteeUserAutoMix,s=i.inviterUserId,c=this._context.getCurrentId()===s;e.push({roomId:r,sessionId:n,autoMix:c?!!o:!!a})}}return e}}),Object.defineProperty(n.prototype,"getRoomPKHandler",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.isMainRoom?(this._logger.info(i.L_LIVING_ROOM_GET_ROOM_PK_HANDLER_O,JSON.stringify({status:o.SUCCESSED})),{code:exports.RCRTCCode.SUCCESS,roomPKHandler:this._roomPKHandler}):(this._logger.error(i.L_LIVING_ROOM_GET_ROOM_PK_HANDLER_O,JSON.stringify({status:o.SUCCESSED,code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM,msg:"method not available in PK room"})),{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM})}}),Object.defineProperty(n.prototype,"_quitAllPKRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e,t;return c(this,(function(r){for(t in e=this._roomPKHandler.getJoinedPKRooms())this._roomPKHandler.leaveOtherRoom(e[t]);return this._logger.info(i.L_LIVING_ROOM_QUIT_ALL_PK_ROOM_O,JSON.stringify({status:o.SUCCESSED,roomIds:Object.keys(e)})),[2]}))}))}}),Object.defineProperty(n.prototype,"isMainRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._store.isMainRoom}}),n}(Os),xs=function(e){function t(t,r,n,i,o,a,s){return void 0===a&&(a=exports.RTCMode.RTC),void 0===s&&(s=!1),e.call(this,t,r,n,a,i,o,!1,!1,Zi(),s)||this}return r(t,e),t}(Os),js=function(){function e(){Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"locked",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"taskCount",{enumerable:!0,configurable:!0,writable:!0,value:0})}return Object.defineProperty(e.prototype,"checkToStart",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e,t,r,n,i,o;return c(this,(function(a){switch(a.label){case 0:if(0===this.queue.length||this.locked)return[2];this.locked=!0,e=this.queue.shift(),t=e.resolve,r=e.task,n=e.reject,a.label=1;case 1:return a.trys.push([1,3,,4]),[4,r()];case 2:return i=a.sent(),t(i),[3,4];case 3:return o=a.sent(),n(o),[3,4];case 4:return this.locked=!1,this.checkToStart(),[2]}}))}))}}),Object.defineProperty(e.prototype,"push",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this,n=new Promise((function(t,n){r.queue.push({resolve:t,task:e,reject:n})}));return this.checkToStart(),n}}),e}(),Bs=new js,Vs=function(e,t){return void 0===t&&(t=""),Bs.push(e,t)},Fs=function(){function t(e,t,r){Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_pc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_service",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_rtcToken",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_liveUrl",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_subTracks",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_subscribedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_reportListener",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:Zi()}),Object.defineProperty(this,"_store",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_crtUserId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_livingType",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_mediaType",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_subTiny",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_fromRetry",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_appListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),this._crtUserId=this._context.getCurrentId(),this._service=new to(t,e,r.mediaServer),this._logger=this._context.logger,this._store=new Ca(this._logger,this._clientSessionId,this._context.getAppkey(),this._crtUserId,this._crtUserId,exports.RTCMode.LIVE)}return Object.defineProperty(t.prototype,"_getReqHeaders",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o;return c(this,(function(a){switch(a.label){case 0:return r=this._crtUserId,this._rtcToken?[3,2]:[4,this._context.getRTCToken(r,exports.RTCMode.LIVE,t)];case 1:if(n=a.sent(),i=n.code,o=n.data,i!==e.ErrorCode.SUCCESS)return[2,{code:exports.RCRTCCode.SIGNAL_ERROR}];this._rtcToken=o.rtcToken,a.label=2;case 2:return[2,{code:exports.RCRTCCode.SUCCESS,headers:{"App-Key":this._context.getAppkey(),UserId:this._crtUserId,RoomId:r,RoomType:exports.RTCMode.LIVE,Token:this._rtcToken,"Client-Session-Id":this._clientSessionId}}]}}))}))}}),Object.defineProperty(t.prototype,"_clearSubscribeInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;this._liveUrl="",this._livingType=null,this._mediaType=null,this._subTiny=!1,this._subTracks.length=0,null===(e=this._pc)||void 0===e||e.destroy(),this._pc=null}}),Object.defineProperty(t.prototype,"_reTryExchange",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return this._fromRetry=!0,[4,this.subscribe(this._liveUrl,this._livingType,this._mediaType,this._subTiny)];case 1:return(t=r.sent().code)===exports.RCRTCCode.SUCCESS&&(null===(e=this._pc)||void 0===e||e.clearReTryExchangeTimer()),[2,{code:t}]}}))}))}}),Object.defineProperty(t.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return void 0===n&&(n=!1),s(this,void 0,void 0,(function(){var i=this;return c(this,(function(o){return[2,Vs((function(){return i.__subscribe(e,t,r,n)}),"audience-client-sub")]}))}))}}),Object.defineProperty(t.prototype,"__subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,a){var u;return void 0===a&&(a=!1),s(this,void 0,void 0,(function(){var s,l,d,_,p,f,h,b,R,g,m,C,v,O=this;return c(this,(function(c){switch(c.label){case 0:return this._logger.info(i.L_AUDIENCE_CLIENT_SUBSCRIBE_T,JSON.stringify({liveUrl:t,livingType:r,mediaType:n,subTiny:a})),s=[],It(this._context.getNaviInfo())?(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR,msg:"package environment error"})),[2,{code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR,tracks:s}]):(!this._fromRetry&&(null===(u=this._pc)||void 0===u||u.clearReTryExchangeTimer()),this._fromRetry=!1,e.isString(t)?[exports.RCLivingType.AUDIO,exports.RCLivingType.VIDEO].includes(r)?[exports.RCMediaType.AUDIO_ONLY,exports.RCMediaType.VIDEO_ONLY,exports.RCMediaType.AUDIO_VIDEO].includes(n)?this._liveUrl&&this._liveUrl!==t?(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.BROADCAST_SUB_LIST_NOT_EMPTY,msg:"repeat subscribe"})),[2,{code:exports.RCRTCCode.BROADCAST_SUB_LIST_NOT_EMPTY,tracks:s}]):(this._pc||(this._pc=new fa(this._logger,this._reTryExchange.bind(this),this._crtUserId,this._store,void 0,!1),this._pc.on(fa.__INNER_EVENT_TRACK_READY__,this._onTrackReady,this),this._pc.registerReportListener(this._reportListener),this._pc.__reportR3R4ToPolaris()),this._liveUrl=t,[4,this._getReqHeaders(r)]):(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> -> mediaType: ".concat(n)})),[2,{code:exports.RCRTCCode.PARAMS_ERROR,tracks:s}]):(this._logger.error("livingType is invalid: ".concat(r)),this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> livingType: ".concat(r)})),[2,{code:exports.RCRTCCode.PARAMS_ERROR,tracks:s}]):(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> liveUrl: ".concat(t)})),[2,{code:exports.RCRTCCode.PARAMS_ERROR,tracks:s}]));case 1:return l=c.sent(),d=l.code,_=l.headers,d!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:d,msg:"getRTCToken failed"})),[2,{code:d,tracks:s}]):(p="rc_mcu_".concat(Date.now()),f="RongCloudRTC",0===this._subTracks.length&&(this._subTracks.push(new rt(this._logger,f,p),new nt(this._logger,f,p)),this._pc.updateSubRemoteTracks(this._subTracks.slice())),[4,this._pc.createOffer(!0)]);case 2:return h=c.sent(),b={sdp:h,liveUrl:t,mediaType:n,simulcast:a?qi.TINY:qi.NORMAL,switchstream:!1},[4,this._service.broadcastSubscribe(_,b)];case 3:return(R=c.sent()).code!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:R.code})),[2,{code:R.code,tracks:s}]):(g=R.data).resultCode!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:g.resultCode,msg:g.message})),[2,{code:g.resultCode,tracks:s}]):(this._livingType=r,this._mediaType=n,this._subTiny=a,m=g.sdp,C=g.subscribedList,this._subscribedList=C,v=[],C.forEach((function(e){var t=e.mediaType,r=O._subTracks[t];v.push(r),r.__innerSetRemoteMuted(!0)})),this._pc.setRemoteAnswer(m.sdp),v&&this._updateTrackIdSSRCMap(m.sdp,v),this._logger.info(i.L_AUDIENCE_CLIENT_SUBSCRIBE_R,JSON.stringify({status:o.SUCCESSED,liveUrl:t})),[2,{code:exports.RCRTCCode.SUCCESS,tracks:v}])}}))}))}}),Object.defineProperty(t.prototype,"_updateTrackIdSSRCMap",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this;t.forEach((function(t){var n=t.getTrackId(),i=dt(n).mediaType,o=r._subscribedList.filter((function(e){return e.mediaType===i}))[0].msid,a=Qa(e,o,i);r._store.setTrackIdSSRCMap(Number(a),n)}))}}),Object.defineProperty(t.prototype,"unsubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e=this;return c(this,(function(t){return[2,Vs((function(){return e.__unsubscribe()}),"audience-client-unsub")]}))}))}}),Object.defineProperty(t.prototype,"__unsubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;return s(this,void 0,void 0,(function(){var t,r;return c(this,(function(n){switch(n.label){case 0:return this._logger.info(i.L_AUDIENCE_CLIENT_UNSUBSCRIBE_T,JSON.stringify({liveUrl:this._liveUrl})),null===(e=this._pc)||void 0===e||e.clearReTryExchangeTimer(),this._rtcToken&&this._liveUrl?[4,this._getReqHeaders()]:(this._logger.warn(i.L_AUDIENCE_CLIENT_UNSUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:"",msg:"Address does not exist, without unsubscribe"})),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return t=n.sent().headers,[4,this._service.broadcastExit(t)];case 2:return(r=n.sent().code)!==exports.RCRTCCode.SUCCESS?this._logger.error(i.L_AUDIENCE_CLIENT_UNSUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:r})):(this._logger.info(i.L_AUDIENCE_CLIENT_UNSUBSCRIBE_R,JSON.stringify({status:o.SUCCESSED,liveUrl:this._liveUrl})),this._subscribedList=[]),this._clearSubscribeInfo(),[2,{code:r}]}}))}))}}),Object.defineProperty(t.prototype,"registerReportListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._reportListener=e}}),Object.defineProperty(t.prototype,"registerTrackEventListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._appListener=e}}),Object.defineProperty(t.prototype,"_onTrackReady",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r,n=e.receiver.track,o="audio"===n.kind?exports.RCMediaType.AUDIO_ONLY:exports.RCMediaType.VIDEO_ONLY,a=this._subTracks[o];a.__innerSetMediaStreamTrack(n);try{this._logger.info(i.L_AUDIENCE_CLIENT_CALL_ONTRACKREADY_O,"trackId: ".concat(a.getTrackId())),null===(r=null===(t=this._appListener)||void 0===t?void 0:t.onTrackReady)||void 0===r||r.call(t,a)}catch(e){this._logger.error(i.L_AUDIENCE_CLIENT_CALL_ONTRACKREADY_O,JSON.stringify(e))}}}),t}();exports.RCInnerCDNPullKind=void 0,(Ds=exports.RCInnerCDNPullKind||(exports.RCInnerCDNPullKind={})).RTMP="rtmp",Ds.FLV="flv",Ds.HLS="hls",exports.RCInnerCDNPullIsHttps=void 0,(ks=exports.RCInnerCDNPullIsHttps||(exports.RCInnerCDNPullIsHttps={}))[ks.NOT_HTTPS=0]="NOT_HTTPS",ks[ks.HTTPS=1]="HTTPS";var Js,Gs=a(a({},bt(exports.RCResolution.W176_H144)),{frameRate:mt(exports.RCFrameRate.FPS_15)}),Hs=function(){function t(e,t,r,n,i,o,a){void 0===a&&(a=Zi());var u=this;Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_initOptions",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_roomId",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_joinResData",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"livingType",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"_clientSessionId",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"_service",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_roomAnchorList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_roomRes",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_roomAnchorRes",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_remoteTracks",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_appListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_pc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_subscribedList",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_sessionId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_destroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_polarisReport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_audioLevelReport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_CDNUris",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isPulling",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_pullTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_store",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_crtUserId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_reportMediaActionLogger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_trackMediaMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_reportListener",{enumerable:!0,configurable:!0,writable:!0,value:null}),this._logger=this._context.logger,this._crtUserId=this._context.getCurrentId(),this._polarisReport=new Cs(this._context,this._runtime,this._roomId,this,_s.Audience),this._reportMediaActionLogger=new hs(this._logger,this._roomId,this._clientSessionId,this._crtUserId),this._service=new to(this._runtime,this._context,this._initOptions.mediaServer,this._initOptions.timeout);var l=this._store=new Ca(this._logger,a,e.getAppkey(),n,this._crtUserId,exports.RTCMode.LIVE),d=this._pc=new fa(this._logger,this._reTryExchange.bind(this),this._crtUserId,l,this._polarisReport,!0);this._audioLevelReport=new ha(this._store,d),d.on(fa.__INNER_AUDIOLEVEL_CHANGE__,this._audioLevelReport.audioLevelReport,this._audioLevelReport),this._polarisReport.sendR1(),this._context.registerRTCSignalListener((function(e){return s(u,void 0,void 0,(function(){var t,r,n,i;return c(this,(function(o){return t=this._context.decodeRtcNotify(e),r=t.time,n=t.type,i=t.roomId,1===n&&this._startPull(i,r),[2]}))}))})),this._setInitData()}return Object.defineProperty(t.prototype,"_startPull",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return this._isPulling?[2]:(this._isPulling=!0,this._pullTime>r?(this._isPulling=!1,[2]):(n=this._logger.createTraceId(),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_T,"pullTime: ".concat(this._pullTime),n),[4,this._context.pullRTCRoomEntry(t)]));case 1:return a=c.sent(),s=a.code,u=a.data,s===e.ErrorCode.SUCCESS&&(this._isPulling=!1,this._pullTime=(null==u?void 0:u.syncTime)||0,l=(null==u?void 0:u.kvEntries)||[],this._logger.info(i.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_R,"status: ".concat(o.SUCCESSED,", kvEntries: ").concat(JSON.stringify(l)),n),this.singalDataChange(l,t,n)),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_PULL_KVENTRIES_R,"status: ".concat(o.FAILED,", code: ").concat(s),n),[2]}}))}))}}),Object.defineProperty(t.prototype,"_setInitData",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=function(e,t,r){var n=t.filter((function(e){return"RC_RTC_SESSIONID"===e.key}))[0],i=n?n.value:"",o=t.filter((function(e){return"RC_ANCHOR_LIST"===e.key})).map((function(e){return JSON.parse(e.value||"[]")}))[0],a=t.filter((function(e){return e.key.includes("RC_RES_")})).map((function(e){return JSON.parse(e.value||"{}")})),s=a.length?JSON.parse(a[0].mcu_uris||"[]"):[],c=[];s.forEach((function(t){var n=t.mediaType,i=t.tag,o=n===exports.RCMediaType.AUDIO_ONLY?new rt(r,i,"",e):new nt(r,i,"",e);c.push(o)}));var u=[],_=[];a.forEach((function(e){var t=JSON.parse(e.uris||"[]");u.push.apply(u,d([],l(t),!1)),t.forEach((function(e){var t=e.mediaType,n=e.tag,i=e.msid.split("_");i.pop();var o=i.join("_"),a=t===exports.RCMediaType.AUDIO_ONLY?new rt(r,n,o):new nt(r,n,o);_.push(a)}))}));var p=t.filter((function(e){return"RC_CDN"===e.key})).map((function(e){var t=JSON.parse(e.value||"[]");return JSON.parse(t.cdn_uris)[0]}))[0];return{sessionId:i,remoteUserIds:o||[],remoteRTCUris:u,remoteMUCUris:s,remoteRTCTracks:_,remoteMCUTracks:c,remoteTracks:d(d([],l(_),!1),l(c),!1),CDNUris:p||{}}}(this._roomId,this._joinResData.kvEntries,this._logger),r=t.sessionId,n=t.remoteUserIds,i=t.remoteRTCUris,o=t.remoteMUCUris,a=t.remoteTracks,s=t.CDNUris;this._sessionId=r,this._roomAnchorList=n,a.forEach((function(t){e._remoteTracks[t.getTrackId()]=t})),this._CDNUris=s,i.forEach((function(t){var r=t.msid.split("_")[0];e._roomAnchorRes[r]?e._roomAnchorRes[r].push(t):e._roomAnchorRes[r]=[t];var n=JSON.parse(t.uri),i=n.ssrc,o=n.resourceId;e._store.setTrackIdSSRCMap(i,o)})),o.forEach((function(t){var r=t.mediaType,n=t.tag,i=[e._roomId,n,r].join("_");e._roomRes[i]=t;var o=JSON.parse(t.uri).ssrc;e._store.setTrackIdSSRCMap(o,i)})),i.forEach((function(t){var r=lt(t);e._roomRes[r]=t}))}}),Object.defineProperty(t.prototype,"_assertRoomDestroyed",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(this._destroyed)return exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED}}),Object.defineProperty(t.prototype,"singalDataChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,a=this;if(t===this._roomId){var s=[],c=null===(n=e.filter((function(e){return"RC_CDN"===e.key}))[0])||void 0===n?void 0:n.value;c&&this._diffCDNUris(JSON.parse(JSON.parse(c).cdn_uris)[0],r),e.forEach((function(e){var t=e.key,n=e.value,i=e.uid;if(-1!==t.indexOf("RC_RES_")){var o=JSON.parse(n||"{}"),c=JSON.parse(o.mcu_uris||"[]"),u=JSON.parse(o.uris||"[]");return s.push.apply(s,d([],l(c),!1)),void a._diffAnchorResource(u,i,r)}if("RC_ANCHOR_LIST"===t){var _=JSON.parse(n||"[]");a._diffAnchorList(_,r)}})),this._diffRoomResource(s,r)}else this._logger.error(i.L_AUDIENCE_LIVING_ROOM_SINGAL_DATA_CHANGE_P,JSON.stringify({status:o.FAILED,msg:"roomId inconsistency -> params roomId:".concat(t,", current roomId:").concat(this._roomId)}),r)}}),Object.defineProperty(t.prototype,"_diffAnchorList",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=this,n=e.filter((function(e){return r._roomAnchorList.indexOf(e)<0})),i=this._roomAnchorList.filter((function(t){return e.indexOf(t)<0}));n.length>0&&this._handleNewJoinedAnchor(n,t),i.length>0&&this._handleLeftedAnchor(i,t)}}),Object.defineProperty(t.prototype,"_handleNewJoinedAnchor",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r;(r=this._roomAnchorList).push.apply(r,d([],l(e),!1)),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onAnchorJoin",list:e}),t),this._callAppListener("onAnchorJoin",e)}}),Object.defineProperty(t.prototype,"_handleLeftedAnchor",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n=this;return c(this,(function(o){switch(o.label){case 0:return this._roomAnchorList=this._roomAnchorList.filter((function(t){return!e.includes(t)})),r=[],e.forEach((function(e){r.push.apply(r,d([],l(n.getRemoteTracksByUserId(e)),!1)),delete n._roomAnchorRes[e]})),r.length?[4,this.unsubscribe(r)]:[3,2];case 1:o.sent(),r.forEach((function(e){return delete n._remoteTracks[e.getTrackId()]})),o.label=2;case 2:return this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onAnchorLeave",list:e}),t),this._callAppListener("onAnchorLeave",e),[2]}}))}))}}),Object.defineProperty(t.prototype,"_diffRoomResource",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,o,a=this;return c(this,(function(s){return r=[],n=[],o=[],e.forEach((function(e){var t=lt(e),n=dt(t),i=n.tag,s=n.mediaType,c=[a._roomId,i,s].join("_"),u=JSON.parse(e.uri).ssrc;if(a._store.setTrackIdSSRCMap(u,c),!a._remoteTracks[c]){var l=s===exports.RCMediaType.AUDIO_ONLY?new rt(a._logger,i,"",a._roomId):new nt(a._logger,i,"",a._roomId);r.push(l),a._remoteTracks[c]=l,a._roomRes[l.getTrackId()]=e}o.push(c)})),Object.keys(this._remoteTracks).forEach((function(e){o.indexOf(e)<0&&a._remoteTracks[e].isMCUTrack()&&n.push(a._remoteTracks[e])})),r.length>0&&(this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onTrackPublish",trackIds:r.map((function(e){return e.getTrackId()}))}),t),this._callAppListener("onTrackPublish",r)),n.length>0&&this._onUserUnpublish(n,"onTrackUnpublish",t),[2]}))}))}}),Object.defineProperty(t.prototype,"_dealPublished",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,a,s,u,l,d=this;return c(this,(function(c){switch(c.label){case 0:return n=e.map(lt),a=[],s=[],t.forEach((function(t){var r=lt(t),i=n.indexOf(r),o=dt(r),c=o.userId,u=o.tag,l=o.mediaType,_=JSON.parse(t.uri).ssrc;d._store.setTrackIdSSRCMap(_,r),i>-1?e[i]=t:e.push(t);var p=d._remoteTracks[r];d._roomRes[r]=t,p?p.isSubscribed()&&a.push(p):(p=l===exports.RCMediaType.AUDIO_ONLY?new rt(d._logger,u,c):new nt(d._logger,u,c),d._remoteTracks[r]=p,s.push(p)),p.__innerSetRemoteMuted(0===t.state)})),a.length?(u=a.map((function(e){return e.getTrackId()})),[4,Vs((function(){return d._subscribeHandle(a,!0)}))]):[3,2];case 1:(l=c.sent().code)!==exports.RCRTCCode.SUCCESS&&this._logger.error(i.L_RESUB_REPUB_RES_R,JSON.stringify({status:o.FAILED,trackIds:u,code:l})),c.label=2;case 2:return this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onAnchorTrackPublish",trackIds:s.map((function(e){return e.getTrackId()}))}),r),this._callAppListener("onAnchorTrackPublish",s),[2]}}))}))}}),Object.defineProperty(t.prototype,"_dealUnpublished",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a,s=this;return c(this,(function(c){switch(c.label){case 0:for(n=t.map(lt),i=e.length-1;i>=0;i-=1)o=e[i],n.includes(lt(o))&&e.splice(i,1);return a=t.map((function(e){var t=lt(e);return s._remoteTracks[t]})),[4,this._onUserUnpublish(a,"onAnchorTrackUnpublish",r)];case 1:return c.sent(),[2]}}))}))}}),Object.defineProperty(t.prototype,"_dealModified",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,o,a=e.map(lt);try{for(var s=u(t),c=s.next();!c.done;c=s.next()){var l=c.value,d=lt(l);e[a.indexOf(d)].state=l.state;var _=this._remoteTracks[d];_.__innerSetRemoteMuted(0===l.state);var p=_.isAudioTrack()?"onAudioMuteChange":"onVideoMuteChange";this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:p,trackId:_.getTrackId()}),r),this._callAppListener(p,_)}}catch(e){n={error:e}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}}}),Object.defineProperty(t.prototype,"_diffAnchorResource",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a,s;return c(this,(function(c){switch(c.label){case 0:return n=this._roomAnchorRes[t]||(this._roomAnchorRes[t]=[]),i=ft(n,e),o=i.publishedList,a=i.unpublishedList,s=i.modifiedList,o.length?[4,this._dealPublished(n,o,r)]:[3,2];case 1:c.sent(),c.label=2;case 2:return a.length?[4,this._dealUnpublished(n,a,r)]:[3,4];case 3:c.sent(),c.label=4;case 4:return s.length&&this._dealModified(n,s,r),[2]}}))}))}}),Object.defineProperty(t.prototype,"_onUserUnpublish",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n=this;return c(this,(function(o){switch(o.label){case 0:return[4,this.unsubscribe(e)];case 1:return o.sent(),e.forEach((function(e){n._subscribedList=n._subscribedList.filter((function(t){return t.track.getTrackId()!==e.getTrackId()})),delete n._roomRes[e.getTrackId()],e.__innerDestroy(),delete n._remoteTracks[e.getTrackId()]})),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:t,trackIds:e.map((function(e){return e.getTrackId()}))}),r),this._callAppListener(t,e),[2]}}))}))}}),Object.defineProperty(t.prototype,"_callAppListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var o=null===(t=this._appListener)||void 0===t?void 0:t[e];if(o)try{o.apply(void 0,d([],l(r),!1))}catch(e){this._logger.error(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify(e))}}}),Object.defineProperty(t.prototype,"_reTryExchange",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var e=this;return c(this,(function(t){return[2,Vs((function(){return s(e,void 0,void 0,(function(){var e,t,r,n,i,o,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return[4,this._createSubscribeParams(this._subscribedList,{},!0)];case 1:return e=c.sent().reqBody,[4,this._exchangeHandle(e)];case 2:return(t=c.sent()).code!==exports.RCRTCCode.SUCCESS?[2,{code:t.code}]:(r=t.data,n=r.sdp,(i=r.resultCode)!==exports.RCRTCCode.SUCCESS?[2,{code:i}]:(this._pc.clearReTryExchangeTimer(),(o=this._subscribedList.filter((function(e){return e.track.isMCUTrack()}))).length>0&&(a=o[0].track.getTrackId(),s=null===(l=this._roomRes[a])||void 0===l?void 0:l.msid,u=[this._roomId,"RongCloudRTC"].join("_"),n.sdp=n.sdp.replace(new RegExp(s,"g"),u)),[4,this._pc.setRemoteAnswer(n.sdp)]));case 3:return[2,{code:c.sent()}]}}))}))}),"audience-retry-exchange")]}))}))}}),Object.defineProperty(t.prototype,"_createSubscribeParams",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a=this;return c(this,(function(s){switch(s.label){case 0:return[4,this._pc.createOffer(r)];case 1:return n=s.sent(),i={resolutionInfo:[]},o={min:0,max:0},Object.keys(t).forEach((function(e){var r=t[e];[r.mediaStream,r.tinyStream].forEach((function(t,r){var a,s=1===r?[e,"tiny"].join("_"):e;n.sdp=null===(a=n.sdp)||void 0===a?void 0:a.replace(new RegExp(t.id,"g"),s);var c=t.getVideoTracks()[0];if(c){var u=0===r,l=u?ct(c):Gs,d=l.width,_=l.height,p=l.frameRate;i.resolutionInfo.push({trackId:c.id,simulcast:u?qi.NORMAL:qi.TINY,resolution:"".concat(d,"x").concat(_)});var f=De(d,_),h=Ue(p);o.min+=f.minBitrate*h,o.max+=f.maxBitrate*h}}))})),[2,{reqBody:{sdp:n,switchstream:!1,newVersionFlag:!0,subscribeList:e.map((function(e){return{simulcast:e.subTiny?qi.TINY:qi.NORMAL,resolution:"",uri:a._roomRes[e.track.getTrackId()].uri}}))},dynamicBitrate:o,offer:n}]}}))}))}}),Object.defineProperty(t.prototype,"_subscribeHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(this,void 0,void 0,(function(){var s,u,l,d,_,p;return c(this,(function(c){return s=Date.now(),u=n?xa.SUB:void 0,l=this._logger.createTraceId(),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_SUBSCRIBE_T,JSON.stringify({trackIds:t.map(Lt),forceReq:r}),l),this._assertRoomDestroyed()?(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED,msg:"room destroyed"}),l),this._reportPubOrSubQualityData(s,t,exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED,u),[2,{code:exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED}]):e.validate("tracks",t,(function(){return e.isArray(t)&&t.length>0&&t.every((function(e){return e instanceof tt||e.track instanceof tt}))}),!0)?(this._pc.__reportR3R4ToPolaris(),this._pc.registerReportListener(this._reportListener),this._addPeerCEvent(),d=this._subscribedList.map((function(e){return a({},e)})),_=t.map((function(e){return e instanceof tt?{track:e}:e})),p=[],_.forEach((function(e){var t=e.track.getTrackId();p.push(t);var r=d.find((function(e){return e.track.getTrackId()===t}));r&&r.subTiny===e.subTiny||(r?r.subTiny=e.subTiny:d.push(e))})),this._polarisReport.sendR2(Ea.SUBSCRIBE,Sa.BEGIN,p),[2,this._updateSubListHandle(d,l,s,u,!0)]):(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_SUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"}),l),this._reportPubOrSubQualityData(s,t,exports.RCRTCCode.PARAMS_ERROR,u),[2,{code:exports.RCRTCCode.PARAMS_ERROR}])}))}))}}),Object.defineProperty(t.prototype,"_addPeerCEvent",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this;this._pc.on(fa.__INNER_EVENT_TRACK_READY__,(function(t){var r=t.streams[0].id,n=t.receiver.track,o=[r,"audio"===n.kind?exports.RCMediaType.AUDIO_ONLY:exports.RCMediaType.VIDEO_ONLY].join("_"),a=e._remoteTracks[o];a?(a.__innerSetMediaStreamTrack(n),e._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onTrackReady",trackId:a.getTrackId()})),e._callAppListener("onTrackReady",a)):e._logger.warn(i.L_AUDIENCE_LIVING_ROOM_ONTRACKREADY_O,"cannot found RCRemoteTrack: ".concat(n.id))})),this._pc.once(fa.__INNER_ICE_CONNECTED__,(function(){e._reportMediaActionLogger.reportIceFirstConnectData("sub")}),this),this._pc.on(fa.__INNER_ICE_STATE_CHANGE__,(function(t){var r=t.status,n=t.time,i=t.iceCandidatePair;i&&e._reportMediaActionLogger.recordQualityIceStatusData(i,r,n)}))}}),Object.defineProperty(t.prototype,"_getReqHeaders",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._crtUserId;return{"App-Key":this._context.getAppkey(),RoomId:e,Token:this._joinResData.token,RoomType:exports.RTCMode.LIVE,UserId:e,"Session-Id":this._sessionId,"Client-Session-Id":this._clientSessionId}}}),Object.defineProperty(t.prototype,"_exchangeHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._service.broadcastSubscribe(this._getReqHeaders(),e)}}),Object.defineProperty(t.prototype,"_dealSubscribeResult",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){var n,a=this,s=null==t?void 0:t.map((function(e){return"".concat(e.msid,"_").concat(e.mediaType)})),c=e.filter((function(e){if(e.track.isMCUTrack()){var t=a._roomRes[e.track.getTrackId()],r="".concat(t.msid,"_").concat(t.mediaType);return s.includes(r)}return null==s?void 0:s.includes(e.track.getTrackId())})),u=null==c?void 0:c.map((function(e){return"".concat(e.track.getTrackId())})),_=e.filter((function(e){return!(null==u?void 0:u.includes(e.track.getTrackId()))})),p=function(e){var t=c.some((function(t){return t.track.getTrackId()===e}));f._remoteTracks[e].__innerSetSubscribed(t)},f=this;for(var h in this._remoteTracks)p(h);return(n=this._subscribedList).splice.apply(n,d([0,this._subscribedList.length],l(c),!1)),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R,JSON.stringify({status:o.SUCCESSED,subSuccessTrackIds:s,failedList:_}),r),_}}),Object.defineProperty(t.prototype,"_getParams",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=e.map((function(e){return e instanceof tt?{track:e}:a({},e)})),r={};return t=t.filter((function(e){var t=e.track.getTrackId();return!r[t]&&(r[t]=!0,!0)})).map((function(e){return a({},e)}))}}),Object.defineProperty(t.prototype,"_reportPubOrSubQualityData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){n&&this._reportMediaActionLogger.reportPubOrSubQualityData(n,e,t,r,this._trackMediaMap)}}),Object.defineProperty(t.prototype,"_updateSubListHandle",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,u){var l;return void 0===u&&(u=!1),s(this,void 0,void 0,(function(){var s,d,_,p,f,h,b,R,g,m,C,v,O=this;return c(this,(function(c){switch(c.label){case 0:return this._logger.info(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_T,JSON.stringify({trackIds:e.map(Lt),forceReq:u}),t),s=this._getParams(e),d=this._subscribedList.map((function(e){return a({},e)})),u||Za(s,d)?(this._pc.clearReTryExchangeTimer(),this._pc.updateSubRemoteTracks(s.map((function(e){return e.track}))),[4,this._createSubscribeParams(s,{},!1)]):(this._logger.info(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R,JSON.stringify({status:o.SUCCESSED,msg:"repeat subscribe"}),t),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return _=c.sent().reqBody,[4,this._exchangeHandle(_)];case 2:return p=c.sent(),d.length&&(f=[],d.forEach((function(e){f.push(e.track.getTrackId())})),null===(l=this._pc.reportParser)||void 0===l||l.clearLatestPacketsRecv(f)),e.forEach((function(e){var t=e instanceof tt?e.getTrackId():e.track.getTrackId();O._trackMediaMap[t]=p.qualityMsList||[]})),p.code!==exports.RCRTCCode.SUCCESS?(this._reportPubOrSubQualityData(r,e,p.code,n),this._logger.error(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R,JSON.stringify({status:o.FAILED,code:p.code}),t),[2,{code:p.code}]):(h=p.data,b=h.sdp,R=h.resultCode,g=h.message,m=h.subscribedList,R!==exports.RCRTCCode.SUCCESS?(this._reportPubOrSubQualityData(r,e,R,n),this._logger.error(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R,JSON.stringify({status:o.FAILED,code:R,msg:g}),t),[2,{code:R}]):(s.forEach((function(e){var t=e.track;if(t.isMCUTrack()){var r=O._roomRes[t.getTrackId()].msid,n=dt(t.getTrackId()),i=n.tag,o=[n.userId,i].join("_");b.sdp=b.sdp.replace(new RegExp(r,"g"),o)}})),[4,this._pc.setRemoteAnswer(b.sdp)]));case 3:return C=c.sent(),this._reportPubOrSubQualityData(r,e,C,n),C!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_UPDATE_SUBSCRIBELIST_R,JSON.stringify({status:o.FAILED,code:C,msg:"set remote answer error"}),t),[2,{code:C}]):[2,(v=this._dealSubscribeResult(s,m,t)).length?{code:exports.RCRTCCode.SUCCESS,failedList:v}:{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(t.prototype,"_diffCDNUris",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,o;return c(this,(function(a){return this._CDNUris.url&&!e.url?(this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onCDNInfoDisable"}),t),this._callAppListener("onCDNInfoDisable"),this._CDNUris=e,[2]):((!this._CDNUris||!this._CDNUris.url&&e.url)&&(this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onCDNInfoEnable",resolution:"W".concat(e.w,"_H").concat(e.h),fps:"FPS_".concat(e.fps)}),t),this._callAppListener("onCDNInfoEnable",{resolution:"W".concat(e.w,"_H").concat(e.h),fps:"FPS_".concat(e.fps)})),r=this._CDNUris.w&&e.w&&this._CDNUris.w!==e.w,n=this._CDNUris.h&&e.h&&this._CDNUris.h!==e.h,o=this._CDNUris.fps&&e.fps&&this._CDNUris.fps!==e.fps,(r||n||o)&&(this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O,JSON.stringify({eventType:"onCDNInfoChange",resolution:"W".concat(e.w,"_H").concat(e.h),fps:"FPS_".concat(e.fps)}),t),this._callAppListener("onCDNInfoChange",{resolution:"W".concat(e.w,"_H").concat(e.h),fps:"FPS_".concat(e.fps)})),this._CDNUris=e,[2])}))}))}}),Object.defineProperty(t.prototype,"_getCDNPlayUrl",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,a,s,u,l,d,_,p,f,h,b,R,g,m,C;return c(this,(function(c){switch(c.label){case 0:return r=e.w,n=e.h,a=e.fps,s=this._initOptions.pullInnerCDNProtocol||exports.RCInnerCDNPullKind.FLV,u=this._initOptions.pullInnerCDNUseHttps===exports.RCInnerCDNPullIsHttps.NOT_HTTPS?exports.RCInnerCDNPullIsHttps.NOT_HTTPS:exports.RCInnerCDNPullIsHttps.HTTPS,this._CDNUris.url?(l={"App-Key":this._context.getAppkey(),Token:this._joinResData.token,RoomId:this.getRoomId(),UserId:this._crtUserId,SessionId:this.getSessionId()},d=[],_=this._CDNUris,p=_.w,f=void 0===p?0:p,h=_.h,f/(void 0===h?1:h)>1?(r&&d.push("w=".concat(r)),n&&d.push("h=".concat(n))):(r&&d.push("h=".concat(r)),n&&d.push("w=".concat(n))),a&&d.push("fps=".concat(a)),d.push("kind=".concat(s)),d.push("is_https=".concat(u)),b=d.join("&"),R="".concat(this._CDNUris.url,"?"),b&&(R+=b),[4,this._service.getCDNResourceInfo(l,R,t)]):(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.CDN_RESOURCE_IS_EMPTY,msg:"cdn_uris url is empty, the anchor need to open or push CDN"}),t),[2,{code:exports.RCRTCCode.CDN_RESOURCE_IS_EMPTY}]);case 1:return g=c.sent(),m=g.code,C=g.res,m!==exports.RCRTCCode.SUCCESS?[2,{code:m}]:[2,{code:m,CDNPlayUrl:null==C?void 0:C.data.pull_url}]}}))}))}}),Object.defineProperty(t.prototype,"getCDNPlayUrl",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,a,s,u,l;return c(this,(function(c){return r=this._logger.createTraceId(),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_T,JSON.stringify({resolution:e,fps:t}),r),e&&!Rt(e)?(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> resolution"}),r),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):t&&!gt(t)?(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_GET_CDN_PLAY_URL_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> fps"}),r),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):(n=e?bt(e):{width:null,height:null},a=n.width,s=n.height,u=t?mt(t):null,l={},a&&(l.w=a),s&&(l.h=s),u&&(l.fps=u),[2,this._getCDNPlayUrl(l,r)])}))}))}}),Object.defineProperty(t.prototype,"subscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t=this;return c(this,(function(r){return[2,Vs((function(){return t._subscribeHandle(e,!1,!0)}),"audience-sub")]}))}))}}),Object.defineProperty(t.prototype,"__unsubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,s,u;return c(this,(function(c){return r=Date.now(),n=xa.UNSUB,s=this._logger.createTraceId(),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_UNSUBSCRIBE_T,JSON.stringify({trackIds:t.map((function(e){return e.getTrackId()}))}),s),this._assertRoomDestroyed()?(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_UNSUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED,msg:"room destroyed"}),s),[2,{code:exports.RCRTCCode.ROOM_HAS_BEEN_DESTROYED}]):e.validate("tracks",t,(function(){return e.isArray(t)&&t.length>0&&t.every((function(e){return e instanceof tt}))}),!0)?(u=this._subscribedList.map((function(e){return a({},e)})).filter((function(e){return t.every((function(t){return t.getTrackId()!==e.track.getTrackId()}))})),this._polarisReport.sendR2(Ea.SUBSCRIBE,Sa.END,t.map((function(e){return e.getTrackId()}))),[2,this._updateSubListHandle(u,s,r,n,!1)]):(this._logger.error(i.L_AUDIENCE_LIVING_ROOM_UNSUBSCRIBE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> tracks"}),s),[2,{code:exports.RCRTCCode.PARAMS_ERROR}])}))}))}}),Object.defineProperty(t.prototype,"unsubscribe",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t=this;return c(this,(function(r){return[2,Vs((function(){return t.__unsubscribe(e)}),"audience-unsub")]}))}))}}),Object.defineProperty(t.prototype,"__destroy",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t;return s(this,void 0,void 0,(function(){return c(this,(function(r){switch(r.label){case 0:return this._destroyed?[2]:(this._destroyed=!0,e?[4,this._context.quitLivingRoomAsAudience(this._roomId)]:[3,2]);case 1:r.sent(),r.label=2;case 2:return[4,this._service.broadcastExit(this._getReqHeaders())];case 3:return r.sent(),null===(t=this._pc)||void 0===t||t.destroy(),this._context.registerRTCSignalListener(),[2]}}))}))}}),Object.defineProperty(t.prototype,"getRemoteTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._remoteTracks[e]}}),Object.defineProperty(t.prototype,"getLocalTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return{}}}),Object.defineProperty(t.prototype,"__onReconnected",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this._logger.createTraceId(),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_IM_RECONNECTED_T,void 0,t),[4,this._context.joinLivingRoomAsAudience(this._roomId,exports.RTCMode.LIVE)];case 1:return r.sent().code!==e.ErrorCode.SUCCESS&&this._logger.error(i.L_AUDIENCE_LIVING_ROOM_IM_RECONNECTED_R,"status: ".concat(o.FAILED),t),this._logger.info(i.L_AUDIENCE_LIVING_ROOM_IM_RECONNECTED_R,"status: ".concat(o.SUCCESSED),t),[2]}}))}))}}),Object.defineProperty(t.prototype,"registerRoomEventListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._appListener=e}}),Object.defineProperty(t.prototype,"onAudioLevelChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){this._logger.info(i.L_AUDIENCE_LIVING_ROOM_CALL_APP_LISTENER_O),this._audioLevelReport.onAudioLevelChange(e)}}),Object.defineProperty(t.prototype,"registerReportListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._reportListener=e}}),Object.defineProperty(t.prototype,"getRoomId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._roomId}}),Object.defineProperty(t.prototype,"getCrtUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._crtUserId}}),Object.defineProperty(t.prototype,"getSessionId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._sessionId}}),Object.defineProperty(t.prototype,"getRemoteUserIds",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._roomAnchorList}}),Object.defineProperty(t.prototype,"getRemoteTracksByUserId",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=[];for(var r in this._remoteTracks){var n=this._remoteTracks[r];n.getUserId()===e&&t.push(n)}return t}}),Object.defineProperty(t.prototype,"getRemoteTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this,t=[],r=[];for(var n in this._remoteTracks){if(2===r.length)break;var i=this._remoteTracks[n];i.isMCUTrack()&&r.push(i)}return this._roomAnchorList.forEach((function(r){t.push.apply(t,d([],l(e.getRemoteTracksByUserId(r)),!1))})),d(d([],l(r),!1),l(t),!1)}}),Object.defineProperty(t.prototype,"getRemoteRTCTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[];for(var t in this._remoteTracks){var r=this._remoteTracks[t];r.isMCUTrack()||e.push(r)}return e}}),Object.defineProperty(t.prototype,"getRemoteMCUTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=[];for(var t in this._remoteTracks){var r=this._remoteTracks[t];r.isMCUTrack()&&e.push(r)}return e}}),Object.defineProperty(t.prototype,"getCDNInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._CDNUris.w?{resolution:"W".concat(this._CDNUris.w,"_H").concat(this._CDNUris.h),fps:"FPS_".concat(this._CDNUris.fps),CDNEnable:this._CDNUris.enableInnerCDN}:{CDNEnable:!1}}}),Object.defineProperty(t.prototype,"getClientSessionId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._clientSessionId}}),t}();!function(e){e[e.AUTOMATIC=0]="AUTOMATIC",e[e.MANUAL=1]="MANUAL"}(Js||(Js={}));var Ks,Ws,Ys=function(){function t(e){Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isElectron",{enumerable:!0,configurable:!0,writable:!0,value:/Electron/.test(navigator.userAgent)}),this._logger=e.logger}return Object.defineProperty(t.prototype,"_getMediaStream",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===t&&(t="getUserMedia"),s(this,void 0,void 0,(function(){var r,n,o;return c(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),r=this.setConstraintsConfig(e),[4,navigator.mediaDevices[t](r)];case 1:return n=a.sent(),[2,{code:exports.RCRTCCode.SUCCESS,stream:n}];case 2:return o=a.sent(),this._logger.error(i.L_GET_MEDIA_STREAM_E,JSON.stringify({name:o.name,message:o.message})),"Permission denied"===o.message?[2,{code:exports.RCRTCCode.BROWSER_PERMISSION_DENIED}]:"Permission denied by system"===o.message?[2,{code:exports.RCRTCCode.SYSTEM_PERMISSION_DENIED}]:[3,3];case 3:return[2,{code:"getUserMedia"===t?exports.RCRTCCode.GET_USER_MEDIA_FAILED:exports.RCRTCCode.GET_DISPLAY_MEDIA_FAILED}]}}))}))}}),Object.defineProperty(t.prototype,"_getMediaStreamErrorReason",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t="";return e===exports.RCRTCCode.BROWSER_PERMISSION_DENIED&&(t="Permission denied"),e===exports.RCRTCCode.SYSTEM_PERMISSION_DENIED&&(t="Permission denied by system"),t}}),Object.defineProperty(t.prototype,"setConstraintsConfig",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t,r;if((null==e?void 0:e.audio)&&!this._isElectron){"boolean"==typeof e.audio&&(e.audio={});var n=null===(r=(t=navigator.mediaDevices).getSupportedConstraints)||void 0===r?void 0:r.call(t);(null==n?void 0:n.noiseSuppression)&&(e.audio.noiseSuppression=!!n.noiseSuppression),(null==n?void 0:n.autoGainControl)&&(e.audio.autoGainControl=!!n.autoGainControl),(null==n?void 0:n.echoCancellation)&&(e.audio.echoCancellation=!!n.echoCancellation),this._logger.info(i.L_SET_AUDIO_CONSTRAINTS_O,"browser supported -> ".concat(JSON.stringify(n)))}return e}}),Object.defineProperty(t.prototype,"createMicrophoneAudioTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===e&&(e="RongCloudRTC"),s(this,void 0,void 0,(function(){var r,n,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return at(e)?(r=this._context.getCurrentId())?[4,this._getMediaStream({audio:{deviceId:null==t?void 0:t.micphoneId,sampleRate:null==t?void 0:t.sampleRate,noiseSuppression:null==t?void 0:t.noiseSuppression,echoCancellation:null==t?void 0:t.echoCancellation,autoGainControl:null==t?void 0:t.autoGainControl}})]:(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS}]);case 1:return n=c.sent(),a=n.stream,(s=n.code)!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:s,msg:this._getMediaStreamErrorReason(s)})),[2,{code:s}]):(u=a.getAudioTracks()[0],l=new Ze(this._logger,e,r,u),this._logger.info(i.L_RTC_CLIENT_CREATE_MICROPHONE_AUDIO_TRACK_O,JSON.stringify({status:o.SUCCESSED,trackId:l.getTrackId()})),[2,{code:s,track:l}])}}))}))}}),Object.defineProperty(t.prototype,"createCameraVideoTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===e&&(e="RongCloudRTC"),s(this,void 0,void 0,(function(){var r,n,a,s,u,l,d,_,p,f;return c(this,(function(c){switch(c.label){case 0:return at(e)?(r=this._context.getCurrentId())?(n=Rt(null==t?void 0:t.resolution)?t.resolution:exports.RCResolution.W640_H480,a=bt(n),s=a.width,u=a.height,[4,this._getMediaStream({video:{deviceId:null==t?void 0:t.cameraId,frameRate:mt((null==t?void 0:t.frameRate)||exports.RCFrameRate.FPS_15),width:s,height:u,facingMode:null==t?void 0:t.faceMode}})]):(this._logger.error(i.L_RTC_CLIENT_CREATE_CAMERA_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_CAMERA_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS}]);case 1:return l=c.sent(),d=l.stream,(_=l.code)!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_CREATE_CAMERA_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:_,msg:this._getMediaStreamErrorReason(_)})),[2,{code:_}]):(p=d.getVideoTracks()[0],f=new Xe(this._logger,e,r,p),this._logger.info(i.L_RTC_CLIENT_CREATE_CAMERA_VIDEO_TRACK_O,JSON.stringify({status:o.SUCCESSED,trackId:f.getTrackId()})),[2,{code:_,track:f}])}}))}))}}),Object.defineProperty(t.prototype,"createMicrophoneAndCameraTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r,n,a,u;return void 0===e&&(e="RongCloudRTC"),s(this,void 0,void 0,(function(){var s,l,d,_,p,f,h,b,R,g,m=this;return c(this,(function(c){switch(c.label){case 0:return s=[],at(e)?(l=this._context.getCurrentId())?(d=Rt(null===(r=null==t?void 0:t.video)||void 0===r?void 0:r.resolution)?t.video.resolution:exports.RCResolution.W640_H480,_=bt(d),p=_.width,f=_.height,h=null==t?void 0:t.audio,[4,this._getMediaStream({video:{deviceId:null===(n=null==t?void 0:t.video)||void 0===n?void 0:n.cameraId,frameRate:mt((null===(a=null==t?void 0:t.video)||void 0===a?void 0:a.frameRate)||exports.RCFrameRate.FPS_15),width:p,height:f,facingMode:null===(u=null==t?void 0:t.video)||void 0===u?void 0:u.faceMode},audio:{deviceId:null==h?void 0:h.micphoneId,sampleRate:null==h?void 0:h.sampleRate,noiseSuppression:null==h?void 0:h.noiseSuppression,echoCancellation:null==h?void 0:h.echoCancellation,autoGainControl:null==h?void 0:h.autoGainControl}})]):(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AND_CAMERA_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID,tracks:s}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AND_CAMERA_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS,tracks:s}]);case 1:return b=c.sent(),R=b.stream,(g=b.code)!==exports.RCRTCCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_CREATE_MICROPHONE_AND_CAMERA_TRACKS_O,JSON.stringify({status:o.FAILED,code:g,msg:this._getMediaStreamErrorReason(g)})),[2,{code:g,tracks:s}]):(R.getTracks().forEach((function(t){"video"===t.kind?s.push(new Xe(m._logger,e,l,t)):s.unshift(new Ze(m._logger,e,l,t))})),this._logger.info(i.L_RTC_CLIENT_CREATE_MICROPHONE_AND_CAMERA_TRACKS_O,JSON.stringify({status:o.SUCCESSED,trackIds:s.map((function(e){return e.getTrackId()}))})),[2,{code:g,tracks:s}])}}))}))}}),Object.defineProperty(t.prototype,"createScreenVideoTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===e&&(e="screenshare"),s(this,void 0,void 0,(function(){var r;return c(this,(function(n){switch(n.label){case 0:return[4,this._createScreenTracks(e,!1,i.L_RTC_CLIENT_CREATE_SCREEN_VIDEO_TRACK_O,t)];case 1:return(r=n.sent()).code===exports.RCRTCCode.SUCCESS?[2,{code:r.code,track:r.tracks[0]}]:[2,r]}}))}))}}),Object.defineProperty(t.prototype,"createScreenWithAudioTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return void 0===e&&(e="screenshare"),s(this,void 0,void 0,(function(){return c(this,(function(r){return[2,this._createScreenTracks(e,!0,i.L_RTC_CLIENT_CREATE_SCREEN_VIDEO_AND_AUDIO_TRACKS_O,t)]}))}))}}),Object.defineProperty(t.prototype,"_createScreenTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return s(this,void 0,void 0,(function(){var a,s,u,l,d,_,p,f,h,b,R,g;return c(this,(function(c){switch(c.label){case 0:return at(e)?(a=this._context.getCurrentId())?Ot()?(s=/macintosh|mac os x/i.test(navigator.userAgent),u=(!this._isElectron||!s)&&t,l=Rt(null==n?void 0:n.resolution)?n.resolution:exports.RCResolution.W1280_H720,this._isElectron?[4,this._createElectronScreenStream(t,r,l,null==n?void 0:n.chromeMediaSourceId)]:[3,2]):(this._logger.error(i.L_RTC_CLIENT_CREATE_SCREEN_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.BROWSER_NOT_SUPPORT,msg:"browser not support"})),[2,{code:exports.RCRTCCode.BROWSER_NOT_SUPPORT}]):(this._logger.error(r,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID}]):(this._logger.error(r,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS}]);case 1:return f=c.sent(),[3,4];case 2:return[4,this._createWebScreenStream(t,l,null==n?void 0:n.frameRate)];case 3:f=c.sent(),c.label=4;case 4:return _=(d=f).stream,(p=d.code)!==exports.RCRTCCode.SUCCESS?(this._logger.error(r,JSON.stringify({status:o.FAILED,code:p,msg:this._getMediaStreamErrorReason(p)})),[2,{code:p}]):(h=_.getVideoTracks()[0],b=new $e(this._logger,e,a,h),R=[b],u&&(g=_.getAudioTracks()[0])&&R.push(new et(this._logger,e,a,g)),this._logger.info(r,JSON.stringify({status:o.SUCCESSED,trackIds:R.map((function(e){return e.getTrackId()}))})),[2,{code:p,tracks:R}])}}))}))}}),Object.defineProperty(t.prototype,"_createElectronScreenStream",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,i){var a,u;return s(this,void 0,void 0,(function(){var s,l,d,_,p,f,h;return c(this,(function(c){return s=/macintosh|mac os x/i.test(navigator.userAgent),this._isElectron&&s&&t&&this._logger.warn(r,JSON.stringify({status:o.INFO,code:exports.RCRTCCode.MAC_IN_ELECTRON_NOT_SUPPORT_SCREEN_SHARE_WITH_AUDIO,msg:"mac in electron not support screen share with audio"})),l=(!this._isElectron||!s)&&t,!this._isElectron||e.isUndefined(i)||e.isString(i)?(d=bt(n),_=d.width,p=d.height,f={mandatory:{chromeMediaSourceId:i,chromeMediaSource:"desktop",minWidth:_,maxWidth:_,minHeight:p,maxHeight:p}},!i&&this._isElectron&&(null===(a=f.mandatory)||void 0===a||delete a.chromeMediaSourceId),h=null,l&&this._isElectron&&(null===(u=f.mandatory)||void 0===u||delete u.chromeMediaSourceId,h={mandatory:{chromeMediaSource:"desktop"}}),[2,this._getMediaStream({video:f,audio:h||l},"getUserMedia")]):(this._logger.error(r,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> options.chromeMediaSourceId type is string"})),[2,{code:exports.RCRTCCode.PARAMS_ERROR}])}))}))}}),Object.defineProperty(t.prototype,"_createWebScreenStream",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n,i,o,a;return c(this,(function(s){return n=bt(t),i=n.width,o=n.height,a={frameRate:mt(r||exports.RCFrameRate.FPS_15),width:i,height:o},[2,this._getMediaStream({video:a,audio:e},"getDisplayMedia")]}))}))}}),Object.defineProperty(t.prototype,"createLocalAudioTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n;return c(this,(function(a){return at(e)?t&&"[object MediaStreamTrack]"===t.toString()&&"audio"===t.kind?(r=this._context.getCurrentId())?(n=new We(this._logger,e,r,t),this._logger.info(i.L_RTC_CLIENT_CREATE_LOCAL_AUDIO_TRACK_O,JSON.stringify({status:o.SUCCESSED,trackId:n.getTrackId()})),[2,{code:exports.RCRTCCode.SUCCESS,track:n}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.CREATE_CUSTOM_TRACK_FAILED,msg:"params track is not MediaStreamTrack or kind is not audio"})),[2,{code:exports.RCRTCCode.CREATE_CUSTOM_TRACK_FAILED}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_AUDIO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS}])}))}))}}),Object.defineProperty(t.prototype,"createLocalVideoTrack",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n;return c(this,(function(a){return at(e)?t&&t instanceof MediaStreamTrack&&"video"===t.kind?(r=this._context.getCurrentId())?(n=new Ye(this._logger,e,r,t),this._logger.info(i.L_RTC_CLIENT_CREATE_LOCAL_VIDEO_TRACK_O,JSON.stringify({status:o.SUCCESSED,trackId:n.getTrackId()})),[2,{code:exports.RCRTCCode.SUCCESS,track:n}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.CREATE_CUSTOM_TRACK_FAILED,msg:"params track is not MediaStreamTrack or kind is not video"})),[2,{code:exports.RCRTCCode.CREATE_CUSTOM_TRACK_FAILED}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_VIDEO_TRACK_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS}])}))}))}}),Object.defineProperty(t.prototype,"_validateCreateLocalFileTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){if(!at(t))return this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),{code:exports.RCRTCCode.INVALID_TAGS,tracks:[]};if(!vt())return this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.BROWSER_NOT_SUPPORT,msg:"browser not support"})),{code:exports.RCRTCCode.BROWSER_NOT_SUPPORT,tracks:[]};var n=r instanceof File?URL.createObjectURL(r):r;return e.isHttpUrl(n)||/^blob:/.test(n)?this._context.getCurrentId()?{code:exports.RCRTCCode.SUCCESS,tracks:[],url:n}:(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),{code:exports.RCRTCCode.INVALID_USER_ID,tracks:[]}):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> file"})),{code:exports.RCRTCCode.PARAMS_ERROR,tracks:[]})}}),Object.defineProperty(t.prototype,"createLocalFileTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,n){return s(this,void 0,void 0,(function(){var a,s,u=this;return c(this,(function(c){return(a=this._validateCreateLocalFileTracks(e,r)).code!==exports.RCRTCCode.SUCCESS?[2,a]:(s=this._context.getCurrentId(),[2,new Promise((function(r){var c=document.createElement("video");(null==n?void 0:n.withoutAudio)&&(c.muted=!0),c.onloadedmetadata=function(){var a,d=[];try{var _=c.mozCaptureStream?"mozCaptureStream":"captureStream";a=c[_]()}catch(e){u._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.CREATE_FILE_TRACK_FAILED,msg:"captureSteam error -> ".concat(JSON.stringify(e))})),r({code:exports.RCRTCCode.CREATE_FILE_TRACK_FAILED,tracks:d})}var p=l(t.getTracksWithOptions(a,n),2),f=p[0],h=p[1];f&&d.push(new Qe(u._logger,e,s,f,c)),h&&d.push(new qe(u._logger,e,s,h,c)),0===d.length&&(c.pause(),c.src=""),c.onerror=null,u._logger.info(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.SUCCESSED,trackIds:d.map((function(e){return e.getTrackId()}))})),r({code:exports.RCRTCCode.SUCCESS,tracks:d})},c.onerror=function(){u._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_FILE_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.CREATE_FILE_TRACK_FAILED,msg:"Failed to create file stream, video onerror"})),r({code:exports.RCRTCCode.CREATE_FILE_TRACK_FAILED,tracks:[]})},c.src=a.url,c.loop=!0,c.play()}))])}))}))}}),Object.defineProperty(t.prototype,"createLocalTracks",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,n){return s(this,void 0,void 0,(function(){var a,s,u,d,_;return c(this,(function(c){return a=[],at(e)?r instanceof MediaStream?(s=this._context.getCurrentId())?(u=l(t.getTracksWithOptions(r,n),2),d=u[0],_=u[1],d&&a.push(new We(this._logger,e,s,d)),_&&a.push(new Ye(this._logger,e,s,_)),this._logger.info(i.L_RTC_CLIENT_CREATE_LOCAL_TRACKS_O,JSON.stringify({status:o.SUCCESSED,trackIds:a.map((function(e){return e.getTrackId()}))})),[2,{code:exports.RCRTCCode.SUCCESS,tracks:a}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_USER_ID,msg:"invalid IM connection,invalid userId"})),[2,{code:exports.RCRTCCode.INVALID_USER_ID,tracks:a}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> stream"})),[2,{code:exports.RCRTCCode.PARAMS_ERROR,tracks:a}]):(this._logger.error(i.L_RTC_CLIENT_CREATE_LOCAL_TRACKS_O,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.INVALID_TAGS,msg:"invalid tag"})),[2,{code:exports.RCRTCCode.INVALID_TAGS,tracks:a}])}))}))}}),Object.defineProperty(t,"getTracksWithOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var r=[];return r[0]=(null==t?void 0:t.withoutAudio)?void 0:e.getAudioTracks()[0],r[1]=(null==t?void 0:t.withoutVideo)?void 0:e.getVideoTracks()[0],r}}),t}(),zs=function(t){function n(e,r,n){var i=t.call(this,e)||this;return Object.defineProperty(i,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(i,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(i,"_options",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(i,"_service",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(i,"_crtRoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(i,"_audience",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(i,"_crtAudienceLivingRoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Oo.setSdpSemantics(n.sdpSemantics||"unified-plan",i._logger),i._service=new to(i._runtime,i._context,i._options.mediaServer,i._options.timeout),i._context.registerConnectionStateChangeListener(i._onIMStatusChange.bind(i)),i._context.registerDestroyListener(i._onIMUninit.bind(i)),i._context.registerMessageListener(i._handleMessage.bind(i)),i._context.getPluginContext().onnavidatachange=i.naviDataChange.bind(i),i}return r(n,t),Object.defineProperty(n.prototype,"_handleMessage",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(t.conversationType!==e.ConversationType.RTC_ROOM)return!1;var r=this._logger.createTraceId();this._crtRoom instanceof Ms&&this._getJoinedPKRoomList().forEach((function(e){e.__parseInnerMessage(t,r)}));return this._logger.info(i.L_RTC_CLIENT_MESSAGE_O,JSON.stringify({status:o.SUCCESSED,message:t}),r),this._crtRoom?(this._crtRoom.__parseInnerMessage(t,r),!0):(this._logger.warn(i.L_RTC_CLIENT_MESSAGE_O,JSON.stringify({status:o.FAILED,message:"the crtRoom is empty"}),r),!0)}}),Object.defineProperty(n.prototype,"naviDataChange",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this._logger.info(i.L_RTC_CLIENT_NAVI_CHANGE_O,"on navi change data => ".concat(JSON.stringify(e))),this._service.detectorMediaSever()}}),Object.defineProperty(n.prototype,"_getJoinedPKRoomList",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e=this._crtRoom.getRoomPKHandler(),t=e.code,r=e.roomPKHandler;if(t===exports.RCRTCCode.SUCCESS&&r){var n=r.getJoinedPKRooms()||{};return Object.values(n)}return[]}}),Object.defineProperty(n.prototype,"getCurrentId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._context.getCurrentId()}}),Object.defineProperty(n.prototype,"joinCrossRTCRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){return void 0===i&&(i=exports.RTCMode.CROSS_MUTI),s(this,void 0,void 0,(function(){return c(this,(function(n){return console.warn("joinCrossRTCRoom is deprecated, use joinRTCRoomWithOptions instead"),[2,this.joinRTCRoomWithOptions(e,{joinType:t,userData:r,mode:exports.RTCMode.CROSS_MUTI})]}))}))}}),Object.defineProperty(n.prototype,"joinRTCRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){return void 0===i&&(i=exports.RTCMode.RTC),s(this,void 0,void 0,(function(){return c(this,(function(n){return console.warn("joinRTCRoom is deprecated, use joinRTCRoomWithOptions instead"),[2,this.joinRTCRoomWithOptions(e,{mode:i,joinType:t,userData:r})]}))}))}}),Object.defineProperty(n.prototype,"joinRTCRoomWithOptions",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r,n,a,s=this;return c(this,(function(c){switch(c.label){case 0:return r=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_JOIN_RTC_ROOM_T,JSON.stringify({roomId:e,options:t}),r),this._crtRoom?(this._logger.error(i.L_RTC_CLIENT_JOIN_RTC_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly"}),r),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):[4,(n=this._crtRoom=new xs(this._context,this._runtime,e,this._service,this._options,null==t?void 0:t.mode,null==t?void 0:t.encrypt)).__innerInit((null==t?void 0:t.mode)||exports.RTCMode.RTC,null==t?void 0:t.joinType,void 0,void 0,null==t?void 0:t.userData,r)];case 1:return(a=c.sent().code)!==exports.RCRTCCode.SUCCESS?(this._crtRoom=null,[2,{code:a}]):(n.once(vs,(function(){s._crtRoom=null})),[2,{code:a,room:n,userIds:n.getRemoteUserIds(),tracks:n.getRemoteTracks()}])}}))}))}}),Object.defineProperty(n.prototype,"joinLivingRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,a){return s(this,void 0,void 0,(function(){var a,s,u,l,d=this;return c(this,(function(c){switch(c.label){case 0:return a=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_T,JSON.stringify({roomId:e,livingType:t,joinType:r,outerUserDatas:n}),a),this._crtRoom?(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly -> roomId: ".concat(e)}),a),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):[4,(s=this._crtRoom=new Ms(this._context,this._runtime,e,this._service,this._options,t,!1,!0)).__innerInit(exports.RTCMode.LIVE,r,t,void 0,n,a)];case 1:return(u=c.sent().code)!==exports.RCRTCCode.SUCCESS?(this._crtRoom=null,[2,{code:u}]):(s.once(vs,(function(){d._crtRoom=null})),l={code:u,room:s,userIds:s.getRemoteUserIds(),tracks:s.getRemoteTracks()},s.__getCDNPushMode()===Js.MANUAL&&Object.assign(l,{CDNEnable:s.__getCDNEnable()}),[2,l])}}))}))}}),Object.defineProperty(n.prototype,"getAudienceClient",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return this._audience||(this._audience=new Fs(this._context,this._runtime,this._options)),this._logger.info(i.L_RTC_CLIENT_GET_AUDIENCE_CLIENT_O),this._audience}}),Object.defineProperty(n.prototype,"_onIMStatusChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){if(this._logger.info(i.L_RTC_CLIENT_IM_CONNECTION_STATE_S,JSON.stringify({status:t,code:r,desc:e.RCConnectionStatus[t]})),t===e.RCConnectionStatus.DISCONNECTED){if(this._crtRoom){var n=exports.RCKickReason.IM_DISCONNECTED;r===e.ErrorCode.RC_DISCONN_KICK?n=exports.RCKickReason.OTHER_CLIENT_IM_CONNECTED:2===r&&(n=exports.RCKickReason.IM_LOGOUT),this._crtRoom.__kickoff(!0,{users:[{userId:this._context.getCurrentId(),type:n}]})}}else if(t===e.RCConnectionStatus.CONNECTED){if(this._service.detectorMediaSever(),this._crtRoom instanceof Ms)this._getJoinedPKRoomList().forEach((function(e){e.__onReconnected()}));this._crtRoom&&this._crtRoom.__onReconnected()}}}),Object.defineProperty(n.prototype,"_onIMUninit",{enumerable:!1,configurable:!0,writable:!0,value:function(){var e;this._logger.info(i.L_RTC_CLIENT_DESTROY_S,JSON.stringify({msg:"TODO -> on IM client ondestroy"})),null===(e=this._crtRoom)||void 0===e||e.__destroy(!0)}}),Object.defineProperty(n.prototype,"leaveRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t;return s(this,void 0,void 0,(function(){var r;return c(this,(function(n){switch(n.label){case 0:return r=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_LEAVE_ROOM_T,JSON.stringify({roomId:e.getRoomId()}),r),this._crtRoom?[4,this._crtRoom.__destroy(!0)]:(this._logger.warn(i.L_RTC_CLIENT_LEAVE_ROOM_R,JSON.stringify({status:o.FAILED,msg:"Room does not exist, without leave"}),r),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return n.sent(),this._service.detectorMediaSever(),this._logger.info(i.L_RTC_CLIENT_LEAVE_ROOM_R,JSON.stringify({status:o.SUCCESSED,roomId:null===(t=this._crtRoom)||void 0===t?void 0:t.getRoomId()}),r),this._crtRoom=null,[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"joinLivingRoomAsAudience",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var n,a,s,u,l,d;return c(this,(function(c){switch(c.label){case 0:return n=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_T,JSON.stringify({roomId:t,livingType:r}),n),this._service.detectorMediaSever(),It(this._context.getNaviInfo())?(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR,msg:"package environment error"}),n),[2,{code:exports.RCRTCCode.PACKAGE_ENVIRONMENT_ERROR}]):e.validate("roomId",t,e.notEmptyString,!0)&&e.validate("livingType",r,(function(e){return e===exports.RCLivingType.AUDIO||e===exports.RCLivingType.VIDEO}))?this._crtAudienceLivingRoom?(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly"}),n),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):this._service.getNaviMS().length?[4,this._context.joinLivingRoomAsAudience(t,exports.RTCMode.LIVE,r)]:(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER,msg:"No audio / video server address available"}),n),[2,{code:exports.RCRTCCode.NOT_OPEN_VIDEO_AUDIO_SERVER}]):(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> roomId or livingType"}),n),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return a=c.sent(),s=a.code,u=a.data,s!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:s,msg:"signal error -> audience join room"}),n),[2,{code:exports.RCRTCCode.SIGNAL_AUDIENCE_JOIN_ROOM_FAILED}]):(l=Zi(),d=new Hs(this._context,this._runtime,this._options,t,u,r,l),this._crtAudienceLivingRoom=d,this._logger.info(i.L_RTC_CLIENT_JOIN_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.SUCCESSED,roomData:u}),n),[2,{room:d,code:exports.RCRTCCode.SUCCESS,userIds:d.getRemoteUserIds(),RTCTracks:d.getRemoteRTCTracks(),MCUTracks:d.getRemoteMCUTracks(),CDNUris:d.getCDNInfo()}])}}))}))}}),Object.defineProperty(n.prototype,"leaveLivingRoomAsAudience",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_T,JSON.stringify({roomId:e.getRoomId(),userId:this._context.getCurrentId()}),t),this._crtAudienceLivingRoom?this._crtAudienceLivingRoom!==e?(this._logger.error(i.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> room"}),t),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):[4,this._crtAudienceLivingRoom.__destroy(!0)]:(this._logger.warn(i.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.FAILED,msg:"Room does not exist, without leave"}),t),[2,{code:exports.RCRTCCode.SUCCESS}]);case 1:return r.sent(),this._crtAudienceLivingRoom=null,this._logger.info(i.L_RTC_CLIENT_LEAVE_LIVING_ROOM_AS_AUDIENCE_R,JSON.stringify({status:o.SUCCESSED}),t),[2,{code:exports.RCRTCCode.SUCCESS}]}}))}))}}),Object.defineProperty(n.prototype,"upgradeToAnchorRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,a,s,u,l=this;return c(this,(function(c){switch(c.label){case 0:return r=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_T,void 0,r),e.validate("room",t,(function(){return t instanceof Hs}),!0)?(n=t.getRoomId(),this._crtRoom?(this._logger.error(i.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly",roomId:n}),r),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):[4,(a=this._crtRoom=new Ms(this._context,this._runtime,n,this._service,this._options,t.livingType,!0,!0,t.getClientSessionId())).__innerInitByIdentityChange(r)]):(this._logger.error(i.L_RTC_CLIENT_UPGRADE_TO_ANCHOR_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> room"}),r),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]);case 1:return(s=c.sent())!==e.ErrorCode.SUCCESS?(this._crtRoom=null,[2,{code:s}]):(a.once(vs,(function(){l._crtRoom=null})),[4,this._crtAudienceLivingRoom.__destroy(!1)]);case 2:return c.sent(),this._crtAudienceLivingRoom=null,u={room:a,code:exports.RCRTCCode.SUCCESS,userIds:a.getRemoteUserIds(),tracks:a.getRemoteTracks()},a.__getCDNPushMode()===Js.MANUAL&&Object.assign(u,{CDNEnable:a.__getCDNEnable()}),[2,u]}}))}))}}),Object.defineProperty(n.prototype,"downgradeToAudienceRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return r=this._logger.createTraceId(),this._logger.info(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_T,JSON.stringify({roomId:t._roomId,userId:this._context.getCurrentId()}),r),t.isMainRoom()?e.validate("room",t,(function(){return t instanceof Ms}),!0)?this._crtAudienceLivingRoom?(this._logger.error(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.REPERT_JOIN_ROOM,msg:"Join the room repeatedly"}),r),[2,{code:exports.RCRTCCode.REPERT_JOIN_ROOM}]):[4,this._context.rtcIdentityChange(t._roomId,As.AnchorToViewer,t.getLivingType())]:(this._logger.error(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.PARAMS_ERROR,msg:"params error -> room"}),r),[2,{code:exports.RCRTCCode.PARAMS_ERROR}]):(this._logger.error(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM,msg:"the `downgradeToAudienceRoom` is disabled in PK room"}),r),[2,{code:exports.RCRTCCode.THE_FUNCTION_IS_DISABLED_IN_PKROOM}]);case 1:return n=c.sent(),a=n.code,s=n.data,a!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R,JSON.stringify({status:o.FAILED,code:exports.RCRTCCode.SIGNAL_ROOM_CHANGE_IDENTITY_FAILED}),r),[2,{code:exports.RCRTCCode.SIGNAL_ROOM_CHANGE_IDENTITY_FAILED}]):(this._logger.info(i.L_RTC_CLIENT_DOWNGRADE_TO_AUDIENCE_ROOM_R,JSON.stringify({status:o.SUCCESSED,roomData:s}),r),u=t.getClientSessionId(),l=new Hs(this._context,this._runtime,this._options,t._roomId,s,t.getLivingType(),u),this._crtAudienceLivingRoom=l,this._crtRoom.__destroy(!1),this._crtRoom=null,[2,{room:l,code:exports.RCRTCCode.SUCCESS,userIds:l.getRemoteUserIds(),RTCTracks:l.getRemoteRTCTracks(),MCUTracks:l.getRemoteMCUTracks(),CDNUris:l.getCDNInfo()}])}}))}))}}),Object.defineProperty(n.prototype,"getJoinedRoomInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){return s(this,void 0,void 0,(function(){var t,r,n,a,s;return c(this,(function(c){switch(c.label){case 0:return t=this._logger.createTraceId(),r=this._context.getCurrentId(),this._logger.error(i.L_RTC_CLIENT_GET_JOINED_ROOM_INFO_T,JSON.stringify({userId:r}),t),[4,this._context.getRTCJoinedUserInfo(r)];case 1:return n=c.sent(),a=n.code,s=n.data,a!==e.ErrorCode.SUCCESS?(this._logger.error(i.L_RTC_CLIENT_GET_JOINED_ROOM_INFO_R,JSON.stringify({status:o.FAILED,code:a}),t),[2,{code:a}]):(this._logger.info(i.L_RTC_CLIENT_GET_JOINED_ROOM_INFO_R,JSON.stringify({status:o.SUCCESSED,roomInfo:s}),t),[2,{code:exports.RCRTCCode.SUCCESS,data:s}])}}))}))}}),n}(Ys);exports.RTCJoinType=void 0,(Ks=exports.RTCJoinType||(exports.RTCJoinType={}))[Ks.KICK=0]="KICK",Ks[Ks.REFUSE=1]="REFUSE",Ks[Ks.COEXIST=2]="COEXIST";var qs,Qs="rtcRJoin_data",Zs="rtcRExit",Xs="rtcRInfo",$s="rtcUData",ec="rtcUDel",tc="rtcSetData",rc="userSetData",nc="rtcQryData",ic="rtcDelData",oc="rtcToken",ac="rtcUserState",sc="rtcUList",cc="viewerJoinR",uc="viewerExitR",lc="rtcPullKv",dc="rtcIdentityChange",_c="rtcInvite",pc="rtcCancelInvite",fc="rtcInviteAnswer",hc="rtcEndInvite",bc="rtcQueryJoined",Rc="rtcPullRoomStatus",gc="reportsdk",mc="rtcPing";!function(e){e.RtcInput="RtcInput",e.RtcOutput="RtcOutput",e.RtcUserListOutput="RtcUserListOutput",e.SetUserStatusInput="SetUserStatusInput",e.RtcSetDataInput="RtcSetDataInput",e.RtcUserSetDataInput="RtcUserSetDataInput",e.RtcDataInput="RtcDataInput",e.RtcSetOutDataInput="RtcSetOutDataInput",e.MCFollowInput="MCFollowInput",e.RtcTokenOutput="RtcTokenOutput",e.RtcQryOutput="RtcQryOutput",e.RtcQryUserOutDataInput="RtcQryUserOutDataInput",e.RtcUserOutDataOutput="RtcUserOutDataOutput",e.RtcQueryListInput="RtcQueryListInput",e.RtcRoomInfoOutput="RtcRoomInfoOutput",e.RtcValueInfo="RtcValueInfo",e.RtcKeyDeleteInput="RtcKeyDeleteInput",e.RtcNotifyMsg="RtcNotifyMsg",e.RtcPullKV="RtcPullKV",e.RtcKVOutput="RtcKVOutput",e.RtcQueryUserJoinedInput="RtcQueryUserJoinedInput",e.RtcQueryUserJoinedOutput="RtcQueryUserJoinedOutput",e.RtcViewerJoinedOutput="RtcViewerJoinedOutput",e.RtcInviteInput="RtcInviteInput",e.RtcCancelInviteInput="RtcCancelInviteInput",e.RtcInviteAnswerInput="RtcInviteAnswerInput",e.RtcEndInviteInput="RtcEndInviteInput",e.RtcRoomStatusInput="RtcRoomStatusInput",e.RtcRoomStatusOutput="RtcRoomStatusOutput",e.RtcReportSDKInput="RtcReportSDKInput",e.RtcPBPolaris="RCRTCPBPolaris",e.RtcPBR1Info="RCRTCPBR1Info",e.RtcPBR2Info="RCRTCPBR2Info",e.RtcPBR3Info="RCRTCPBR3Info",e.RtcPBR4Info="RCRTCPBR4Info",e.RtcPBStatusInfo="RCRTCPBStatusInfo",e.RtcPBStreamInfo="RCRTCPBStreamInfo"}(qs||(qs={}));var Cc,vc=((Ws={})[qs.RtcInput]=["roomType","broadcastType","extraInnerData","needSysChatroom","identityChangeType","joinType","innerDatas","outerDatas","supportNtf"],Ws[qs.RtcOutput]=["version"],Ws[qs.RtcUserListOutput]=["users","token","sessionId","roomInfo","version"],Ws[qs.SetUserStatusInput]=["status"],Ws[qs.RtcSetDataInput]=["interior","target","key","value","objectName","content"],Ws[qs.RtcUserSetDataInput]=["valueInfo","objectName","content"],Ws[qs.RtcDataInput]=["interior","target","key","objectName","content"],Ws[qs.RtcSetOutDataInput]=["target","valueInfo","objectName","content"],Ws[qs.MCFollowInput]=["state"],Ws[qs.RtcTokenOutput]=["rtcToken"],Ws[qs.RtcQryOutput]=["outInfo"],Ws[qs.RtcQryUserOutDataInput]=["userId"],Ws[qs.RtcUserOutDataOutput]=["user"],Ws[qs.RtcQueryListInput]=["order"],Ws[qs.RtcRoomInfoOutput]=["roomId","roomData","userCount","list"],Ws[qs.RtcValueInfo]=["key","value"],Ws[qs.RtcKeyDeleteInput]=["key"],Ws[qs.RtcNotifyMsg]=["type","time","roomId"],Ws[qs.RtcPullKV]=["timestamp","roomId"],Ws[qs.RtcKVOutput]=["entries","bFullUpdate","syncTime"],Ws[qs.RtcQueryUserJoinedInput]=["userId"],Ws[qs.RtcQueryUserJoinedOutput]=["info"],Ws[qs.RtcInviteInput]=["invitedUserId","timeoutTime","invitedRoomId","inviteInfo","inviteSessionId"],Ws[qs.RtcCancelInviteInput]=["invitedUserId","invitedRoomId","inviteInfo","inviteSessionId"],Ws[qs.RtcInviteAnswerInput]=["inviteUserId","answerCode","inviteRoomId","inviteSessionId","content","key","value"],Ws[qs.RtcEndInviteInput]=["inviteRoomId","inviteSessionId","inviteContent","inviteRoomKeys"],Ws[qs.RtcRoomStatusInput]=["version"],Ws[qs.RtcRoomStatusOutput]=["bFullStatus","version","usersData","roomStatus"],Ws[qs.RtcReportSDKInput]=["sdkInfo"],Ws[qs.RtcPBPolaris]=["type","appKey","sessionId","roomId","roomCreateTime","userId","userRole","joinTime","signalDataCenter","r1Info","r2Info","r3Info","r4Info"],Ws[qs.RtcPBR1Info]=["joinTime","rtcVersion","imVersion","platform","device","os","browserName","browserVersion"],Ws[qs.RtcPBR2Info]=["joinTime","sendTime","rtcActionType","rtcActionStatus","trackId"],Ws[qs.RtcPBR3Info]=["info"],Ws[qs.RtcPBR4Info]=["info"],Ws[qs.RtcPBStatusInfo]=["joinTime","receiveTime","totalBitRate","appCPUUsage","systemCPUUsage","systemCPUFrequency","networkStatus","googleRTTNetwork","ipAddress","useReceiveBroadBand","useSendBroadBand","packetLossCount","streams"],Ws[qs.RtcPBStreamInfo]=["trackId","codeName","volume","samplingRate","bitRate","packetLossRate","frameRate","resolution","blockTime","jitterData","nAckCount","pliCount","googleRTTTotalTime","isReceiveFirstFrameRate","codeType","isEnabled"],Ws),Oc="\npackage Modules;\nmessage probuf {\n enum JoinType {\n KICK = 0; //踢前一个设备\n REFUSE = 1; //当前加入拒绝\n COEXIST = 2; //两个设备共存\n }\n enum targetType {\n ROOM =1 ;\n PERSON = 2;\n }\n message ".concat(qs.SetUserStatusInput,"\n {\n optional int32 status=1;\n }\n message ").concat(qs.MCFollowInput,"\n {\n required string state = 1;\n }\n message ").concat(qs.RtcQueryListInput,"{\n optional int32 order=1;\n }\n message ").concat(qs.RtcKeyDeleteInput,"{\n repeated string key=1;\n }\n message ").concat(qs.RtcValueInfo,"{\n required string key=1;\n required string value=2;\n }\n message RtcUserInfo{\n required string userId=1;\n repeated ").concat(qs.RtcValueInfo," userData=2; //用户资源信息\n }\n message ").concat(qs.RtcRoomStatusInput,"{ // rtc 和 living room 拉房间资源状态使用的参数\n required int64 version =1; //当前客户端最大的房间状态的version\n }\n message ").concat(qs.RtcRoomStatusOutput,"{ // rtc 和 living room 拉房间资源状态返回的数据\n required bool bFullStatus =1; //标识此次给的数据是否是全量数据\n required int64 version =2; //当前获取后房间的最大版本号\n repeated RtcUserInfo usersData=3;//如果是全量数据,这个不为空,给的是房间全部的人以及发布的资源\n repeated RtcRoomStatus roomStatus=4;//房间增量数据\n }\n message RtcRoomStatus{ //房间状态变动\n required string userId = 1;//用户ID\n required int32 event = 2;//房间状态变更的event(人员加入/退出/离线/发布资源) (0:加入;1:离开;2:离线;3:资源变动) \n required int64 time = 3;//本次变更的版本号\n repeated RtcValueInfo userData = 4;//用户变更的资源(event为0或者3时可能有值)\n optional int32 switchRoleType = 5;//如果是切换角色导致的加入房间或退出房间的类型\n optional string extra = 6;\n }\n message ").concat(qs.RtcUserListOutput,"{\n repeated RtcUserInfo users=1;\n optional string token=2;\n optional string sessionId=3;\n repeated RtcValueInfo roomInfo = 4; //房间key value\n repeated RtcKVEntity entries = 5;//直播KV属性对象集合\n optional int64 syncTime = 6;//所有属性的最大时间戳(下次拉取KV时用)。\n optional int32 offlineKickTime = 7;//server超时踢人时间,默认60s\n repeated string codeFormat = 8; //当前房间用户支持的编码交集\n optional int64 roomCreateTime = 9;//房间创建时间\n optional int64 userJoinTime = 10;//用户加入房间\n optional int64 version = 11;//当前房间的版本号\n }\n message RtcRoomInfoOutput{\n optional string roomId = 1;\n repeated ").concat(qs.RtcValueInfo," roomData = 2;\n optional int32 userCount = 3;\n repeated RtcUserInfo list=4;\n }\n message ").concat(qs.RtcInput,"{\n required int32 roomType=1;\n optional int32 broadcastType=2;\n optional RtcValueInfo extraInnerData = 3;\n optional bool needSysChatroom = 4; //是否需要同步聊天室\n optional IdentityChangeType identityChangeType = 5; //身份变更类型\n optional JoinType joinType = 6; // 加入房间类型\n repeated ").concat(qs.RtcValueInfo," innerDatas = 7; //用户内部inner数据,角色或者连麦信息等\n repeated ").concat(qs.RtcValueInfo," outerDatas = 8; //用户内部outer数据,自定义数据结构RtcInput。\n optional bool supportNtf = 9; //是否支持房间状态的变更通过通知拉取的方式获取\n }\n message ").concat(qs.RtcQryOutput,"{\n repeated ").concat(qs.RtcValueInfo," outInfo=1;\n }\n message ").concat(qs.RtcDataInput,"{\n required bool interior=1;\n required targetType target=2;\n repeated string key=3;\n optional string objectName=4;\n optional string content=5;\n }\n message ").concat(qs.RtcSetDataInput,"{\n required bool interior=1;\n required targetType target=2;\n required string key=3;\n required string value=4;\n optional string objectName=5;\n optional string content=6;\n }\n message ").concat(qs.RtcUserSetDataInput," {\n repeated ").concat(qs.RtcValueInfo," valueInfo = 1;\n required string objectName = 2;\n repeated ").concat(qs.RtcValueInfo," content = 3;\n }\n message RtcQryInput{\n required bool isInterior=1;\n required targetType target=2;\n repeated string key=3;\n }\n message RtcDelDataInput{\n repeated string key=1;\n required bool isInterior=2;\n required targetType target=3;\n }\n message RtcOutput\n {\n optional int32 nothing=1;\n optional int64 version=2;\n }\n message ").concat(qs.RtcTokenOutput,"{\n required string rtcToken=1;\n }\n message ").concat(qs.RtcSetOutDataInput,"{\n required targetType target=1;\n repeated ").concat(qs.RtcValueInfo," valueInfo=2;\n optional string objectName=3;\n optional string content=4;\n }\n message ").concat(qs.RtcQryUserOutDataInput,"{\n repeated string userId = 1;\n }\n message ").concat(qs.RtcUserOutDataOutput,"{\n repeated RtcUserInfo user = 1;\n }\n message ").concat(qs.RtcNotifyMsg," \n {\n required int32 type= 1; //(通知类型 1:rtc房间状态KV变更通知)\n optional int64 time= 2; //消息产生时间\n optional string roomId=3; //主播房间id\n }\n message ").concat(qs.RtcPullKV,"\n {\n required int64 timestamp = 1;\n required string roomId = 2;\n }\n message RtcKVEntity \n {\n required string key = 1;\n required string value = 2;\n optional int32 status = 3;\n optional int64 timestamp = 4;\n optional string uid = 5;\n }\n message ").concat(qs.RtcKVOutput,"\n {\n repeated RtcKVEntity entries = 1;\n optional bool bFullUpdate = 2;\n optional int64 syncTime = 3; \n }\n enum IdentityChangeType \n {\n AnchorToViewer = 1; //1为主播变观众\n ViewerToAnchor = 2; //2为观众变主播\n }\n message ").concat(qs.RtcQueryUserJoinedInput,"\n {\n required string userId = 1;\n }\n message RtcJoinedInfo\n {\n required string deviceId = 1; //设备ID\n required string roomId = 2; //加入的房间ID\n optional int64 joinTime = 3; //加入的时间\n }\n message ").concat(qs.RtcQueryUserJoinedOutput,"\n {\n repeated RtcJoinedInfo info = 1;\n }\n message ").concat(qs.RtcViewerJoinedOutput,"\n {\n required string rtcToken=1;\n repeated RtcKVEntity entries = 2;//KV属性对象集合\n optional int64 syncTime = 3;//所有属性的最大时间戳(下次拉取KV时用)。\n optional string sessionId=4;\n optional int64 roomCreateTime = 5;//房间创建时间\n optional int64 userJoinTime = 6;//用户加入房间\n }\n message ").concat(qs.RtcInviteInput,"\n {\n required string invitedUserId=1; //被邀请的人的uid\n optional int32 timeoutTime=2; //邀请超时时间(秒),默认三十秒\n required string invitedRoomId=3; //被邀请的房间\n required string inviteInfo=4; //邀请的信息(包含邀请人,被邀请人,各自userid)客户端定义好.协议栈和server透传\n required string inviteSessionId= 5; //客户端保证唯一性(建议roomid_userid_时间戳_随机数)\n }\n message ").concat(qs.RtcCancelInviteInput,"\n {\n required string invitedUserId=1; //被邀请的人的uid\n required string invitedRoomId=2; //被邀请的房间\n required string inviteInfo=3; //取消邀请的信息(包含邀请人,被邀请人,各自userid)客户端定义好.协议栈和server透传\n required string inviteSessionId=4; //邀请的sessionId,客户端发起邀请时产生\n }\n message ").concat(qs.RtcInviteAnswerInput,"\n {\n required string inviteUserId=1; //邀请的人的uid\n required int32 answerCode=2; //是否接受连麦邀请.0为拒绝,1为接受\n required string inviteRoomId=3; //邀请的房间\n required string inviteSessionId=4; //邀请的sessionId\n required string content=5; //需要转发的content\n optional string key=6; //如果接受的话,需要加这个字段,放在room级别的k和v,新加入房间的能拉取到\n optional string value=7; //如果接受的话,需要加这个字段,放在room级别的k和v,新加入房间的能拉取到\n }\n message ").concat(qs.RtcEndInviteInput,"\n {\n required string inviteRoomId=1; //邀请的房间\n required string inviteSessionId=2; //邀请的sessionId\n required string inviteContent=3; //结束连麦的信息(需要透传给房间内其他人)\n repeated string inviteRoomKeys=4; //需要删除连麦的信息的key\n }\n message ").concat(qs.RtcReportSDKInput,' {\n required string sdkInfo=1; // 用户集成的 sdk 信息,json 格式 {"web-rtc": "4.0.3.7"}\n }\n // ---- 北极星数据上报 -------\n message ').concat(qs.RtcPBPolaris," {\n required string type = 1;//上报数据类型 R1-R4\n required string appKey = 2;\n required string sessionId = 3;//房间通话id\n required string roomId = 4;\n required int64 roomCreateTime = 5;//房间创建时间\n required string userId = 6;\n required int32 userRole = 7;\n required int64 joinTime = 8;\n required string signalDataCenter = 9;//signal数据中心\n optional ").concat(qs.RtcPBR1Info," r1Info = 10;\n optional ").concat(qs.RtcPBR2Info," r2Info = 11;\n optional ").concat(qs.RtcPBR3Info," r3Info = 12;\n optional ").concat(qs.RtcPBR4Info," r4Info = 13;\n }\n message ").concat(qs.RtcPBR1Info," {\n required int64 joinTime = 1;//用户加入房间的时间\n required string rtcVersion = 2;//Rtc版本号\n required string imVersion = 3;//IM SDK 版本\n required string platform = 4;//平台(如:Android、iOS、Web)\n required string device = 5; //设备信息(手机名称+型号)\n required string os = 6;//系统版本(手机系统版本)\n optional string browserName = 7; //浏览器名称, 没有用 -1 表示\n optional string browserVersion = 8;//浏览器版本, 没有用 -1 表示\n optional int64 receiveTime = 9; // 发送数据的时间\n }\n message ").concat(qs.RtcPBR2Info," {\n required int64 joinTime = 1;\n required int64 sendTime = 2;\n required string rtcActionType = 3;//发布类型 subscribe : 订阅 publish : 发布\n required string rtcActionStatus = 4;//发布状态 begin : 开始 tend : 结束\n repeated string trackId = 5;\n optional int64 receiveTime = 6; // 发送数据的时间\n }\n message ").concat(qs.RtcPBR3Info," {\n required ").concat(qs.RtcPBStatusInfo," info = 1;\n }\n message ").concat(qs.RtcPBR4Info," {\n required ").concat(qs.RtcPBStatusInfo," info = 1;\n }\n message ").concat(qs.RtcPBStatusInfo," {\n optional int64 joinTime = 1;//用户加入房间的时间\n optional int64 receiveTime = 2;//用户发布数据流的时间(毫秒),暂时由客户端生成,后期如果有问题服务端做兜底处理\n optional int64 totalBitRate = 3;//总码率\n optional float appCPUUsage = 4;//APP CPU占用率\n optional float systemCPUUsage = 5;////系统 CPU占用率\n optional float systemCPUFrequency = 6;//系统CPU频率 (安卓8.0以上)\n optional string networkStatus = 7;//实时网络状态(2g、3g、4g、wifi)\n optional int32 googleRTTNetwork = 8;//Goog rtt 网络延迟\n optional string ipAddress = 9;//ip地址\n optional string useReceiveBroadBand = 10; //可接收带宽(单位: bit)\n optional string useSendBroadBand = 11;//可用发送带宽(单位: bit)\n optional string packetLossCount = 12;//丢包数\n repeated ").concat(qs.RtcPBStreamInfo," streams = 13;\n }\n message ").concat(qs.RtcPBStreamInfo," {\n required string trackId = 1;\n optional string codeName = 2;//编解码名称\n optional string volume = 3;//音频播放音量\n optional int32 samplingRate = 4; //音频采样率\n optional float bitRate = 5;//下行码率\n optional float packetLossRate = 6;\n optional int32 frameRate = 7;//视频接收帧率(单位:fps)\n optional string resolution = 8;//视频分辨率(格式:640*480)\n optional int64 blockTime = 9;//接收卡顿(间隔时间, 单位: ms)\n optional int32 jitterData = 10;//jitter数据抖动\n optional string nAckCount = 11;//nack数量\n optional string pliCount = 12; //PLI请求数\n optional int64 googleRTTTotalTime = 13; //googRtt往返时长\n optional int32 isReceiveFirstFrameRate = 14;//第一个关键帧是否正常收到\n optional string codeType = 15;//编码方式\n optional int32 isEnabled = 16; //当前流的状态是否可用\n }\n // ---- 北极星数据上报 -------\n}\n"),Tc=function(e,t,r,n,i,o,a){var s=i?Object.keys(i).map((function(t){return e.encode(qs.RtcValueInfo,{key:t,value:i[t]},!0)})):void 0,c=o?Object.keys(o).map((function(t){return e.encode(qs.RtcValueInfo,{key:t,value:o[t]},!0)})):void 0;return e.encode(qs.RtcInput,{roomType:t,broadcastType:r,joinType:n,innerDatas:s,outerDatas:c,supportNtf:a})},Ec=function(t,r){var n=t.decode(qs.RtcUserListOutput,r),i=n.users,o=n.token,a=n.sessionId,s=n.roomInfo,c=n.entries,u=n.offlineKickTime,l=void 0===u?60:u,d=n.codeFormat,_=n.roomCreateTime,p=n.userJoinTime,f=n.version,h={};return e.forEach(i,(function(t){var r=t.userId,n=t.userData,i={};e.forEach(n,(function(e){var t=e.key,r=e.value;i[t]=r})),h[r]=i})),{users:h,token:o,sessionId:a,roomInfo:s,kvEntries:c,offlineKickTime:l,codeFormat:d,roomCreateTime:Pt(_),userJoinTime:Pt(p),version:f}},Sc=function(){function t(e,t,r){Object.defineProperty(this,"context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"logger",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"codec",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"roomCreateTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"userJoinTime",{enumerable:!0,configurable:!0,writable:!0,value:0})}return Object.defineProperty(t.prototype,"joinRTCRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,i,o,a,u){return s(this,void 0,void 0,(function(){var s,l,d,_,p,f,h,b,R,g,m,C,v,O;return c(this,(function(c){switch(c.label){case 0:return s=Tc(this.codec,r,n,i,o,a,u),[4,this.context.rtcSignaling(t,Qs,!0,s)];case 1:return l=c.sent(),d=l.code,_=l.buffer,d===e.ErrorCode.SUCCESS&&_?(p=Ec(this.codec,_),f=p.users,h=p.token,b=p.sessionId,R=p.roomInfo,g=p.kvEntries,m=p.offlineKickTime,C=p.roomCreateTime,v=p.userJoinTime,O=p.version,this.roomCreateTime=C,this.userJoinTime=v,[2,{code:d,data:{users:f,token:h,sessionId:b,roomInfo:R,kvEntries:g,offlineKickTime:m,version:O}}]):[2,{code:d,data:p}]}}))}))}}),Object.defineProperty(t.prototype,"quitRTCRoom",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this.codec.encode(qs.SetUserStatusInput,{status:0}),[4,this.context.rtcSignaling(e,Zs,!0,t)];case 1:return[2,r.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"getRTCRoomInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,a;return c(this,(function(s){switch(s.label){case 0:return r=this.codec.encode(qs.RtcQueryListInput,{order:2}),[4,this.context.rtcSignaling(t,Xs,!0,r)];case 1:return n=s.sent(),i=n.code,o=n.buffer,i===e.ErrorCode.SUCCESS&&o&&(a=this.codec.decode(qs.RtcRoomInfoOutput,o)),[2,{code:i,data:a}]}}))}))}}),Object.defineProperty(t.prototype,"getRTCUserInfoList",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,a,s;return c(this,(function(c){switch(c.label){case 0:return r=this.codec.encode(qs.RtcQueryListInput,{order:2}),[4,this.context.rtcSignaling(t,$s,!0,r)];case 1:return n=c.sent(),i=n.code,o=n.buffer,i===e.ErrorCode.SUCCESS&&o&&(s=Ec(this.codec,o),a={users:s.users}),[2,{code:i,data:a}]}}))}))}}),Object.defineProperty(t.prototype,"getRTCUserInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(e){throw new Error("Method not implemented.")}}),Object.defineProperty(t.prototype,"removeRTCUserInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r;return c(this,(function(n){switch(n.label){case 0:return r=this.codec.encode(qs.RtcKeyDeleteInput,{key:t}),[4,this.context.rtcSignaling(e,ec,!1,r)];case 1:return[2,n.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"setRTCData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i,o){return s(this,void 0,void 0,(function(){var a;return c(this,(function(s){switch(s.label){case 0:return a=this.codec.encode(qs.RtcSetDataInput,{interior:n,target:i,key:t,value:r,objectName:null==o?void 0:o.name,content:null==o?void 0:o.content}),[4,this.context.rtcSignaling(e,tc,!1,a)];case 1:return[2,s.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"setRTCTotalRes",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i,o){return s(this,void 0,void 0,(function(){var a,s,u=this;return c(this,(function(c){switch(c.label){case 0:return a={objectName:n,content:[],valueInfo:[this.codec.encode(qs.RtcValueInfo,{key:"uris",value:r},!0)]},t.forEach((function(e){var t=u.codec.encode(qs.RtcValueInfo,{key:e.name,value:e.content},!0);a.content.push(t)})),i&&a.valueInfo.push(this.codec.encode(qs.RtcValueInfo,{key:"mcu_uris",value:i},!0)),o&&a.valueInfo.push(this.codec.encode(qs.RtcValueInfo,{key:"cdn_uris",value:o},!0)),s=this.codec.encode(qs.RtcUserSetDataInput,a),[4,this.context.rtcSignaling(e,rc,!0,s)];case 1:return[2,c.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"setRTCCDNUris",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return s(this,void 0,void 0,(function(){var n;return c(this,(function(i){switch(i.label){case 0:return n=this.codec.encode(qs.RtcUserSetDataInput,{objectName:t,valueInfo:this.codec.encode(qs.RtcValueInfo,{key:"cdn_uris",value:r},!0)}),[4,this.context.rtcSignaling(e,rc,!0,n)];case 1:return[2,i.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"getRTCData",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,i){return s(this,void 0,void 0,(function(){var o,a,s,u,l,d;return c(this,(function(c){switch(c.label){case 0:return o=this.codec.encode(qs.RtcDataInput,{interior:n,target:i,key:r}),[4,this.context.rtcSignaling(t,nc,!0,o)];case 1:return a=c.sent(),s=a.code,u=a.buffer,s===e.ErrorCode.SUCCESS&&u?(l=this.codec.decode(qs.RtcQryOutput,u).outInfo,d={},l.forEach((function(e){d[e.key]=e.value})),[2,{code:s,data:d}]):[2,{code:s}]}}))}))}}),Object.defineProperty(t.prototype,"removeRTCData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n,i){return s(this,void 0,void 0,(function(){var o;return c(this,(function(a){switch(a.label){case 0:return o=this.codec.encode(qs.RtcDataInput,{interior:r,target:n,key:t,objectName:(null==i?void 0:i.name)||"",content:(null==i?void 0:i.content)||""}),[4,this.context.rtcSignaling(e,ic,!1,o)];case 1:return[2,a.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"setRTCOutData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r,n){return s(this,void 0,void 0,(function(){return c(this,(function(e){throw new Error("JSEngine's method not implemented.")}))}))}}),Object.defineProperty(t.prototype,"getRTCOutData",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){return c(this,(function(e){throw new Error("JSEngine's method not implemented.")}))}))}}),Object.defineProperty(t.prototype,"getRTCToken",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var i,o,a,s,u;return c(this,(function(c){switch(c.label){case 0:return i=Tc(this.codec,r,n),[4,this.context.rtcSignaling(t,oc,!0,i)];case 1:return o=c.sent(),a=o.code,s=o.buffer,a===e.ErrorCode.SUCCESS&&s?(u=this.codec.decode(qs.RtcTokenOutput,s).rtcToken,[2,{code:a,data:{rtcToken:u}}]):[2,{code:a}]}}))}))}}),Object.defineProperty(t.prototype,"setRTCState",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){return s(this,void 0,void 0,(function(){var r;return c(this,(function(n){switch(n.label){case 0:return r=this.codec.encode(qs.MCFollowInput,{state:t}),[4,this.context.rtcSignaling(e,ac,!0,r)];case 1:return[2,n.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"setRTCStateByHttp",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n,i){return s(this,void 0,void 0,(function(){var o,s,u;return c(this,(function(c){switch(c.label){case 0:o=function(e,t,r){var n=t.type,i=t.appKey,o=t.sessionId,s=t.roomId,c=t.roomCreateTime,u=t.userId,l=t.userRole,d=t.joinTime,_=t.signalDataCenter,p=t.r1Info,f=t.r2Info,h=t.r3Info,b=t.r4Info,R={type:n,appKey:i,sessionId:o,roomId:s,roomCreateTime:c,userId:u,userRole:l,joinTime:d,signalDataCenter:_};if(r===fs.R1&&p){var g=e.encode(qs.RtcPBR1Info,p,!0);return e.encode(qs.RtcPBPolaris,a(a({},R),{r1Info:g}))}if(r===fs.R2&&f){var m=e.encode(qs.RtcPBR2Info,f,!0);return e.encode(qs.RtcPBPolaris,a(a({},R),{r2Info:m}))}if(r===fs.R3&&h){var C=(E=h.info).streams,v=Array.isArray(C)&&C.map((function(t){return t&&e.encode(qs.RtcPBStreamInfo,t,!0)})),O=e.encode(qs.RtcPBStatusInfo,a(a({},E),{streams:v}),!0),T=e.encode(qs.RtcPBR3Info,{info:O},!0);return e.encode(qs.RtcPBPolaris,a(a({},R),{r3Info:T}))}if(r===fs.R4&&b){C=(E=b.info).streams,v=Array.isArray(C)&&C.map((function(t){return t&&e.encode(qs.RtcPBStreamInfo,t,!0)})),O=e.encode(qs.RtcPBStatusInfo,a(a({},E),{streams:v}),!0);var E,S=e.encode(qs.RtcPBR4Info,{info:O},!0);return e.encode(qs.RtcPBPolaris,a(a({},R),{r4Info:S}))}return{}}(this.codec,n,i),s=t,/^https:\/\//.test(t)||(s="https://".concat(t)),c.label=1;case 1:return c.trys.push([1,3,,4]),[4,r.httpReq({url:"".concat(s,"/rtc/logserver/polaris"),body:o,method:e.HttpMethod.POST,headers:{jwt:to.jwtToken},timeout:2e3})];case 2:if(!(u=c.sent()).data)throw new Error("http request fail");return[2,JSON.parse(u.data).resultCode];case 3:return c.sent(),[2,ps.REPORT_FAIL];case 4:return[2]}}))}))}}),Object.defineProperty(t.prototype,"getRTCUserList",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,a;return c(this,(function(s){switch(s.label){case 0:return r=this.codec.encode(qs.RtcQueryListInput,{order:2}),[4,this.context.rtcSignaling(t,sc,!0,r)];case 1:return n=s.sent(),i=n.code,o=n.buffer,i===e.ErrorCode.SUCCESS&&o?(a=Ec(this.codec,o),[2,{code:i,data:a}]):[2,{code:i}]}}))}))}}),Object.defineProperty(t.prototype,"joinLivingRoomAsAudience",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var i,o,a,s,u,l,d,_,p;return c(this,(function(c){switch(c.label){case 0:return i=Tc(this.codec,r,n),[4,this.context.rtcSignaling(t,cc,!0,i)];case 1:return o=c.sent(),a=o.code,s=o.buffer,a===e.ErrorCode.SUCCESS&&s?(u=this.codec.decode(qs.RtcViewerJoinedOutput,s),l=u.rtcToken,d=u.entries,_=u.roomCreateTime,p=u.userJoinTime,this.roomCreateTime=Pt(_),this.userJoinTime=Pt(p),[2,{code:a,data:{token:l,kvEntries:d}}]):[2,{code:a}]}}))}))}}),Object.defineProperty(t.prototype,"quitLivingRoomAsAudience",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t;return c(this,(function(r){switch(r.label){case 0:return t=this.codec.encode(qs.SetUserStatusInput,{status:0}),[4,this.context.rtcSignaling(e,uc,!0,t)];case 1:return[2,r.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"rtcIdentityChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var i,o,a,s,u;return c(this,(function(c){switch(c.label){case 0:return i=this.codec.encode(qs.RtcInput,{roomType:exports.RTCMode.LIVE,broadcastType:n,identityChangeType:r,needSysChatroom:!1}),[4,this.context.rtcSignaling(t,dc,!0,i)];case 1:return o=c.sent(),a=o.code,s=o.buffer,a===e.ErrorCode.SUCCESS&&s?(u=Ec(this.codec,s),[2,{code:a,data:u}]):[2,{code:a}]}}))}))}}),Object.defineProperty(t.prototype,"requestRoomPK",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a,s;return c(this,(function(c){switch(c.label){case 0:return t=e.invitedRoomId,r=e.invitedUserId,n=e.inviteSessionId,i=e.inviteTimeout,o=e.inviteInfo,a=e.roomId,s=this.codec.encode(qs.RtcInviteInput,{invitedRoomId:t,invitedUserId:r,inviteSessionId:n,timeoutTime:i,inviteInfo:o}),[4,this.context.rtcSignaling(a,_c,!0,s)];case 1:return[2,c.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"cancelRoomPK",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a;return c(this,(function(s){switch(s.label){case 0:return t=e.invitedRoomId,r=e.invitedUserId,n=e.inviteSessionId,i=e.inviteInfo,o=e.roomId,a=this.codec.encode(qs.RtcCancelInviteInput,{invitedRoomId:t,invitedUserId:r,inviteSessionId:n,inviteInfo:i}),[4,this.context.rtcSignaling(o,pc,!0,a)];case 1:return[2,s.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"responseRoomPK",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return t=e.inviteUserId,r=e.inviteRoomId,n=e.inviteSessionId,i=e.content,o=e.key,a=e.value,s=e.agree,u=e.roomId,l=this.codec.encode(qs.RtcInviteAnswerInput,{inviteUserId:t,inviteRoomId:r,inviteSessionId:n,content:i,key:o,value:a,answerCode:s?1:0}),[4,this.context.rtcSignaling(u,fc,!0,l)];case 1:return[2,c.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"endRoomPK",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return s(this,void 0,void 0,(function(){var t,r,n,i,o,a;return c(this,(function(s){switch(s.label){case 0:return t=e.endRoomId,r=e.sessionId,n=e.content,i=e.keys,o=e.roomId,a=this.codec.encode(qs.RtcEndInviteInput,{inviteRoomId:t,inviteSessionId:r,inviteContent:n,inviteRoomKeys:i}),[4,this.context.rtcSignaling(o,hc,!0,a)];case 1:return[2,s.sent().code]}}))}))}}),Object.defineProperty(t.prototype,"getRTCJoinedUserInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,a;return c(this,(function(s){switch(s.label){case 0:return r=this.codec.encode(qs.RtcQueryUserJoinedInput,{userId:t}),[4,this.context.rtcSignaling("",bc,!0,r)];case 1:return n=s.sent(),i=n.code,o=n.buffer,i===e.ErrorCode.SUCCESS&&o?(a=this.codec.decode(qs.RtcQueryUserJoinedOutput,o).info||[],[2,{code:i,data:a.map((function(e){return{deviceId:e.deviceId,roomId:e.roomId,joinTime:Pt(e.joinTime)}}))}]):[2,{code:i}]}}))}))}}),Object.defineProperty(t.prototype,"pullRTCRoomEntry",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return s(this,void 0,void 0,(function(){var r,n,i,o,s,u,l;return c(this,(function(c){switch(c.label){case 0:return r=this.codec.encode(qs.RtcPullKV,{timestamp:0,roomId:t}),[4,this.context.rtcSignaling(t,lc,!0,r)];case 1:return n=c.sent(),i=n.code,o=n.buffer,i!==e.ErrorCode.SUCCESS?[2,{code:i}]:(s=this.codec.decode(qs.RtcKVOutput,o),u=s.entries,l=s.syncTime,u=(u||[]).map((function(e){return a(a({},e),{timestamp:Pt(e.timestamp)})})),[2,{code:i,data:{kvEntries:u,syncTime:Pt(l)}}])}}))}))}}),Object.defineProperty(t.prototype,"pullRTCRoomStatus",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r){return s(this,void 0,void 0,(function(){var n,i,o,a,s;return c(this,(function(c){switch(c.label){case 0:return n=this.codec.encode(qs.RtcRoomStatusInput,{version:r}),[4,this.context.rtcSignaling(t,Rc,!0,n)];case 1:return i=c.sent(),o=i.code,a=i.buffer,o!==e.ErrorCode.SUCCESS?[2,{code:o}]:(s=this.codec.decode(qs.RtcRoomStatusOutput,a),[2,{code:o,data:s}])}}))}))}}),Object.defineProperty(t.prototype,"decodeRtcNotify",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.codec.decode(qs.RtcNotifyMsg,e),r=t.time,n=t.type,i=t.roomId;return{time:Pt(r),type:n,roomId:i}}}),Object.defineProperty(t.prototype,"getCurrentId",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context.getCurrentId()}}),Object.defineProperty(t.prototype,"getNaviInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context.getNaviInfo()}}),Object.defineProperty(t.prototype,"getConnectionStatus",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context.getConnectionStatus()}}),Object.defineProperty(t.prototype,"getAppkey",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context.getAppkey()}}),Object.defineProperty(t.prototype,"webRtcPing",{enumerable:!1,configurable:!0,writable:!0,value:function(t,r,n){return s(this,void 0,void 0,(function(){var i,o,a,s,u;return c(this,(function(c){switch(c.label){case 0:return i=this.codec.encode(qs.RtcInput,{roomType:r,broadcastType:n}),[4,this.context.rtcSignaling(t,mc,!0,i)];case 1:return o=c.sent(),a=o.code,s=o.buffer,a!==e.ErrorCode.SUCCESS?[2,{code:a}]:((u=this.codec.decode(qs.RtcOutput,s)).version=Pt(u.version),[2,{code:a,data:u}])}}))}))}}),Object.defineProperty(t.prototype,"rtcPing",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return/Electron/.test(navigator.userAgent)?this.context.rtcPingResVersion(e,t,r):this.webRtcPing(e,t,r)}}),Object.defineProperty(t.prototype,"sendMessage",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){return this.context.sendMessage(e,t,r)}}),Object.defineProperty(t.prototype,"registerRTCSignalListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.context.registerRTCSignalListener(e)}}),Object.defineProperty(t.prototype,"registerConnectionStateChangeListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.context.onconnectionstatechange=e}}),Object.defineProperty(t.prototype,"registerDisconnectListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.context.ondisconnect=e}}),Object.defineProperty(t.prototype,"registerDestroyListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.context.ondestroy=e}}),Object.defineProperty(t.prototype,"registerMessageListener",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.context.onmessage=e}}),Object.defineProperty(t.prototype,"getCoreVersion",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context.getCoreVersion()}}),Object.defineProperty(t.prototype,"getPluginContext",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.context}}),Object.defineProperty(t.prototype,"reportSDKInfo",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var t=this.codec.encode(qs.RtcReportSDKInput,{sdkInfo:JSON.stringify(e)});this.context.rtcSignaling("",gc,!0,t)}}),t}();!function(e){e.RTC="RTC"}(Cc||(Cc={})),e.VersionManage.add("rtclib","5.7.5-alpha.5");var Ic={tag:"RCRTC",verify:function(t){return"undefined"==typeof isSecureContext||isSecureContext?!!e.VersionManage.validEngine("5.7.2")||(console.error("The current engine version '".concat(e.VersionManage.getInfo().engine,"' error, plugin-rtc required engine version at least '").concat("5.7.2","'.")),!1):(console.error("Please use the https protocol or use `http://localhost` to open the page!"),!1)},setup:function(t,r,n){void 0===n&&(n={});var o=t.createLogger("RCRTC",Cc.RTC);if(n.logLevel&&o.setOutputLevel(n.logLevel),o.warn(i.L_INDEX_INSTALL_RTC_PLUGIN_O,JSON.stringify({"RCRTC Version":"5.7.5-alpha.5",Commit:"644e8f403668dd4c656975ed2385039063fc3221","browserInfo.browser":Ct.browser,"browserInfo.supportsUnifiedPlan":Ct.supportsUnifiedPlan,"browserInfo.version":Ct.version})),e.assert("options",n,e.AssertRules.OBJECT,!0),e.assert("options.mediaServer",n.mediaServer,(function(t){return!(!e.isHttpUrl(t)||"https:"===location.protocol&&!/^https/.test(t))})),e.assert("options.timeout",n.timeout,(function(t){return e.isNumber(t)&&t>=5e3&&t<=3e4})),e.assert("options.pingGap",n.pingGap,(function(t){return e.isNumber(t)&&t>=3e3&&t<=1e4})),n.AAAWorklet){e.assert("options.AAAWorklet",n.AAAWorklet,e.AssertRules.OBJECT,!0);var a=n.AAAWorklet,s=a.scriptUrl,c=a.wasmUrl;e.assert("AAAWorklet.scriptUrl",s,e.AssertRules.STRING,!0),e.assert("AAAWorklet.wasmUrl",c,e.AssertRules.STRING,!0),He.SCRIPT_URL=s,He.WASM_URL=c}return n.encryptor&&(e.assert("options.encrypt",n.encryptor,e.AssertRules.OBJECT,!0),e.assert("options.encrypt.encode",n.encryptor.encode,(function(e){return"function"==typeof e}),!0),e.assert("options.encrypt.encode",n.encryptor.encode,(function(e){return"function"==typeof e}),!0),bo.init(n.encryptor,o)),new zs(new Sc(t,o,t.createCodec(vc,Oc)),r,n)}},yc={transResolution:bt,transFrameRate:mt,parseTrackId:dt,ifSupportLocalFileTrack:vt,ifSupportScreenShare:Ot};exports.RCAbstractRoom=Os,exports.RCAudienceClient=Fs,exports.RCAudienceLivingRoom=Hs,exports.RCCameraVideoTrack=Xe,exports.RCLivingRoom=Ms,exports.RCLocalAudioTrack=We,exports.RCLocalFileAudioTrack=Qe,exports.RCLocalFileTrack=ze,exports.RCLocalFileVideoTrack=qe,exports.RCLocalTrack=Ke,exports.RCLocalVideoTrack=Ye,exports.RCMCUConfigBuilder=Is,exports.RCMediaStreamCapture=Ys,exports.RCMicphoneAudioTrack=Ze,exports.RCRTCClient=zs,exports.RCRTCRoom=xs,exports.RCRemoteAudioTrack=rt,exports.RCRemoteTrack=tt,exports.RCRemoteVideoTrack=nt,exports.RCScreenAudioTrack=et,exports.RCScreenVideoTrack=$e,exports.RCTag={DEFAULT:"RongCloudRTC"},exports.RCTrack=Ve,exports.device=Me,exports.helper=yc,exports.installer=Ic;