{"version":3,"sources":["webpack:///./src/components/CampaignRow/components/Avatar.vue","webpack:///./src/components/CampaignRow/components/Avatar.vue?0f1f","webpack:///./src/components/CampaignRow/components/Avatar.vue?a3a4","webpack:///./src/components/CampaignRow/components/Avatar.vue?82d8","webpack:///./node_modules/element-ui/packages/radio/src/radio-group.vue","webpack:///node_modules/element-ui/packages/radio/src/radio-group.vue","webpack:///./node_modules/element-ui/packages/radio/src/radio-group.vue?90fd","webpack:///./node_modules/element-ui/packages/radio/src/radio-group.vue?e8a4","webpack:///./node_modules/element-ui/packages/radio-group/index.js","webpack:///./src/plugins/element-ui/ElRadioGroup/index.js","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetAdPlaybackMode.vue","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetAdPlaybackMode.vue?6d8e","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetAdPlaybackMode.vue?b607","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetAdPlaybackMode.vue?0711","webpack:///./src/components/CampaignRow/components/Avatar.vue?4101","webpack:///src/views/Panel/components/Campaign.vue","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetStatus.vue","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetStatus.vue?0ce6","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetStatus.vue?b595","webpack:///./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetBoxSize.vue?f3d2","webpack:///./node_modules/element-ui/packages/radio/src/radio-button.vue","webpack:///node_modules/element-ui/packages/radio/src/radio-button.vue","webpack:///./node_modules/element-ui/packages/radio/src/radio-button.vue?7315","webpack:///./node_modules/element-ui/packages/radio/src/radio-button.vue?f82c","webpack:///./node_modules/element-ui/packages/radio-button/index.js","webpack:///./src/plugins/element-ui/ElRadioButton/index.js","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetBannerTimeout.vue","webpack:///src/views/Streamer/pages/StreamerWidget/components/WidgetBannerTimeout.vue","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetBannerTimeout.vue?dbb0","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetBannerTimeout.vue?a7f8","webpack:///./node_modules/lodash/now.js","webpack:///./src/components/WidgetPlatformSelect.vue","webpack:///./src/components/WidgetPlatformSelect.vue?6dec","webpack:///./src/components/WidgetPlatformSelect.vue?106a","webpack:///./src/components/WidgetPlatformSelect.vue?5817","webpack:///./node_modules/element-ui/packages/tabs/src/tab-bar.vue","webpack:///node_modules/element-ui/packages/tabs/src/tab-bar.vue","webpack:///./node_modules/element-ui/packages/tabs/src/tab-bar.vue?4360","webpack:///./node_modules/element-ui/packages/tabs/src/tab-bar.vue?a683","webpack:///node_modules/element-ui/packages/tabs/src/tab-nav.vue","webpack:///./node_modules/element-ui/packages/tabs/src/tab-nav.vue","webpack:///./node_modules/element-ui/packages/tabs/src/tabs.vue","webpack:///./node_modules/element-ui/packages/tabs/src/tab-nav.vue?67c1","webpack:///node_modules/element-ui/packages/tabs/src/tabs.vue","webpack:///./node_modules/element-ui/packages/tabs/src/tabs.vue?5f27","webpack:///./node_modules/element-ui/packages/tabs/index.js","webpack:///./src/plugins/element-ui/ElTabs/index.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///src/views/Streamer/pages/StreamerWidget/components/WidgetStatus.vue","webpack:///./node_modules/element-ui/packages/tabs/src/tab-pane.vue","webpack:///node_modules/element-ui/packages/tabs/src/tab-pane.vue","webpack:///./node_modules/element-ui/packages/tabs/src/tab-pane.vue?ab11","webpack:///./node_modules/element-ui/packages/tabs/src/tab-pane.vue?3994","webpack:///./node_modules/element-ui/packages/tab-pane/index.js","webpack:///./src/plugins/element-ui/ElTabPane/index.js","webpack:///./node_modules/laravel-echo/dist/echo.js","webpack:///./src/assets/img/obs-dock-no-campaigns.jpg","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetManualPlayback.vue?96a4","webpack:///./src/lib/pusher/constants/pusher-events.ts","webpack:///./src/components/CampaignRow/components/reasons/Moderator.vue?950d","webpack:///./src/plugins/element-ui/Loading/Loading.vue","webpack:///src/plugins/element-ui/Loading/Loading.vue","webpack:///./src/plugins/element-ui/Loading/Loading.vue?c17b","webpack:///./src/plugins/element-ui/Loading/Loading.vue?24f8","webpack:///./node_modules/element-ui/src/mixins/migrating.js","webpack:///./src/views/Panel/components/StatusSection.vue?e252","webpack:///src/views/Panel/components/Section.vue","webpack:///./src/views/Panel/index.vue?0477","webpack:///./node_modules/element-ui/packages/dialog/src/component.vue","webpack:///node_modules/element-ui/packages/dialog/src/component.vue","webpack:///./node_modules/element-ui/packages/dialog/src/component.vue?7b65","webpack:///./node_modules/element-ui/packages/dialog/src/component.vue?0b5b","webpack:///./node_modules/element-ui/packages/dialog/index.js","webpack:///./src/plugins/element-ui/ElDialog/index.js","webpack:///./node_modules/pusher-js/dist/web/pusher.js","webpack:///./src/views/Widget/constants/default-widget.ts","webpack:///./src/views/WidgetOld/Socket.js","webpack:///./src/views/Streamer/pages/StreamerCampaigns/store/index.js","webpack:///./src/lib/helpers/parseSlug.ts","webpack:///./node_modules/vue-types/dist/vue-types.m.js","webpack:///./src/components/Advice.vue?193e","webpack:///./src/lib/types/widget.ts","webpack:///./src/lib/types/campaign-type.ts","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./src/views/Panel/index.vue","webpack:///./src/views/Panel/components/CampaignsSection.vue","webpack:///./src/views/Panel/components/Campaign.vue","webpack:///./src/views/Panel/components/Campaign.vue?755e","webpack:///./src/views/Panel/components/Campaign.vue?abb7","webpack:///./src/views/Panel/components/Section.vue","webpack:///./src/views/Panel/components/Section.vue?0b3d","webpack:///./src/views/Panel/components/Section.vue?9ec2","webpack:///src/views/Panel/components/CampaignsSection.vue","webpack:///./src/views/Panel/components/CampaignsSection.vue?2648","webpack:///./src/views/Panel/components/CampaignsSection.vue?5511","webpack:///./src/views/Panel/components/Logger.vue","webpack:///src/views/Panel/components/Logger.vue","webpack:///./src/views/Panel/components/Logger.vue?8328","webpack:///./src/views/Panel/components/Logger.vue?0bb4","webpack:///./src/views/Panel/components/Powered.vue","webpack:///./src/views/Panel/components/Powered.vue?830b","webpack:///./src/views/Panel/components/ReloginMessage.vue","webpack:///./src/views/Panel/components/ReloginMessage.vue?f222","webpack:///./src/views/Panel/components/ReloginMessage.vue?3115","webpack:///./src/views/Panel/components/ReloginMessage.vue?3b91","webpack:///./src/views/Panel/components/SettingsSection.vue","webpack:///src/views/Panel/components/SettingsSection.vue","webpack:///./src/views/Panel/components/SettingsSection.vue?ae7a","webpack:///./src/views/Panel/components/SettingsSection.vue?7451","webpack:///./src/views/Panel/components/StatusSection.vue","webpack:///src/views/Panel/components/StatusSection.vue","webpack:///./src/views/Panel/components/StatusSection.vue?3cb7","webpack:///./src/views/Panel/components/StatusSection.vue?3485","webpack:///./src/views/Panel/components/Tabs.vue","webpack:///./src/views/Panel/components/Tabs.vue?af79","webpack:///./src/views/Panel/components/Tabs.vue?d11e","webpack:///src/views/Panel/index.vue","webpack:///./src/views/Panel/index.vue?0279","webpack:///./src/views/Panel/index.vue?a26f","webpack:///./src/components/WidgetPlatformSelect.vue?c5d1","webpack:///./src/views/Panel/components/Campaign.vue?8fad","webpack:///./src/components/CampaignRow/components/Tags.vue","webpack:///./src/lib/types/streamer-campaigns/brand-awareness.ts","webpack:///./src/components/CampaignRow/components/reasons/LowCTR.vue","webpack:///./src/components/CampaignRow/components/reasons/LowCTR.vue?2808","webpack:///./src/components/CampaignRow/components/reasons/LowCTR.vue?4a6e","webpack:///./src/components/CampaignRow/components/reasons/LowCTR.vue?79f5","webpack:///./src/components/CampaignRow/components/reasons/Moderator.vue","webpack:///./src/components/CampaignRow/components/reasons/Moderator.vue?f068","webpack:///./src/components/CampaignRow/components/reasons/Moderator.vue?e196","webpack:///./src/components/CampaignRow/components/reasons/Moderator.vue?0ba6","webpack:///./src/components/CampaignRow/components/Tags.vue?64fd","webpack:///./src/components/CampaignRow/components/Tags.vue?f181","webpack:///./src/components/CampaignRow/components/Tags.vue?514b","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetBoxSize.vue","webpack:///src/views/Streamer/pages/StreamerWidget/components/WidgetBoxSize.vue","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetBoxSize.vue?1442","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetBoxSize.vue?f3c4","webpack:///./node_modules/lodash/debounce.js","webpack:///./src/lib/types/log-events.ts","webpack:///./src/lib/types/pusher-events.ts","webpack:///./src/views/Widget/Debug/class/WidgetLogger.ts","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetChatbotSendPreview.vue","webpack:///src/views/Streamer/pages/StreamerWidget/components/WidgetChatbotSendPreview.vue","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetChatbotSendPreview.vue?ca24","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetChatbotSendPreview.vue?9fb2","webpack:///./node_modules/lodash/toNumber.js","webpack:///./src/plugins/vue-types/nullType.js","webpack:///./src/plugins/vue-types/index.js","webpack:///./src/components/CampaignRow/components/indicators/CampaignRowDailyLimit.vue","webpack:///./src/components/CampaignRow/components/indicators/CampaignRowDailyLimit.vue?e2e5","webpack:///./src/components/CampaignRow/components/indicators/CampaignRowDailyLimit.vue?9bbd","webpack:///./src/components/CampaignRow/components/indicators/CampaignRowDailyLimit.vue?5395","webpack:///./src/models/Widget.js","webpack:///./src/views/Streamer/store/widgetSettings.js","webpack:///./src/components/CampaignRow/components/reasons/LowCTR.vue?3033","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetManualPlayback.vue","webpack:///src/views/Streamer/pages/StreamerWidget/components/WidgetManualPlayback.vue","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetManualPlayback.vue?48d7","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetManualPlayback.vue?1c5a","webpack:///./src/views/Panel/components/Tabs.vue?3774","webpack:///./src/components/CampaignRow/components/Tags.vue?f943","webpack:///./src/views/WidgetOld/Debug/compress.js","webpack:///./src/views/WidgetOld/Debug/decompress.js","webpack:///./src/views/WidgetOld/Debug/cachedLog.js","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetAdvertisingPosition.vue","webpack:///src/views/Streamer/pages/StreamerWidget/components/WidgetAdvertisingPosition.vue","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetAdvertisingPosition.vue?17ef","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetAdvertisingPosition.vue?7f64","webpack:///./src/views/Panel/components/ReloginMessage.vue?eb1e","webpack:///./src/components/Advice.vue","webpack:///./src/components/Advice.vue?9ed0","webpack:///./src/components/Advice.vue?019c","webpack:///./src/components/Advice.vue?eb4f","webpack:///./node_modules/element-ui/src/utils/after-leave.js","webpack:///./src/views/Panel/components/CampaignsSection.vue?9e68","webpack:///./src/plugins/element-ui/Loading/index.js","webpack:///./src/views/Panel/components/Section.vue?e180","webpack:///./src/components/CampaignRow/components/indicators/CampaignRowDailyLimit.vue?9d5f","webpack:///./src/lib/types/campaign-status.ts","webpack:///src/views/Panel/components/Tabs.vue","webpack:///./node_modules/lodash/isNull.js","webpack:///./src/views/Panel/components/Logger.vue?a2fa","webpack:///./src/views/Panel/components/SettingsSection.vue?c0d0","webpack:///./src/lib/types/ad-format.ts","webpack:///./src/lib/helpers/isSsp.ts","webpack:///./node_modules/element-ui/src/mixins/emitter.js","webpack:///./src/components/WidgetPlatformSelect.vue?b159","webpack:///./src/views/Streamer/pages/StreamerWidget/components/WidgetStatus.vue?47c0","webpack:///./src/views/Panel/components/Powered.vue?2c73"],"names":["render","_vm","this","_c","_self","_setup","_setupProxy","staticClass","style","staticRenderFns","_defineComponent","__name","props","campaign","setup","__props","computed","logo","__sfc","component","_elTag","tag","attrs","on","handleKeydown","_t","keyCode","Object","freeze","LEFT","UP","RIGHT","DOWN","name","componentName","inject","elFormItem","default","mixins","Emitter","value","size","String","fill","textColor","disabled","Boolean","_elFormItemSize","elFormItemSize","$vnode","data","radioGroupSize","$ELEMENT","created","$on","$emit","mounted","radios","$el","querySelectorAll","firstLabel","some","call","radio","checked","tabIndex","methods","e","target","className","nodeName","length","index","indexOf","roleRadios","stopPropagation","preventDefault","click","focus","watch","dispatch","RadioGroup","install","Vue","vm","$userDomain","DomainNames","STREAMO","ElFormItem","locale","adPlaybackMode","ElRadioGroup","model","widget","mode","callback","$$v","$set","expression","ElRadioButton","_v","_s","playbackModeAuto","playbackModeManual","_e","$store","getters","useRootLocale","checkAvailableModes","onMounted","deep","components","Avatar","Tags","CampaignRowDailyLimit","VueTypes","object","localeName","title","type","label","_extends","assign","bind","a","b","c","arguments","d","prototype","hasOwnProperty","apply","normalMerge","toArrayMerge","functionalMerge","mergeJsxProps","reduce","Array","concat","f","g","h","i","mergeFn","module","exports","class","isDisabled","$event","_k","key","directives","rawName","domProps","_q","handleChange","activeStyle","$slots","elForm","get","_radioGroup","set","parent","$parent","$options","backgroundColor","borderColor","boxShadow","color","$nextTick","RadioButton","selectTheme","frequency","per15min","per30min","perHour","ElSelect","ElOption","string","_ref","_ref2","$rootLocale","minutes","root","now","Date","scopedSlots","_u","fn","platform","proxy","twitch","youtube","trovo","state","auth","rootTabs","tabPosition","barStyle","tabs","offset","tabSize","sizeName","sizeDir","firstUpperCase","str","toLowerCase","replace","L","toUpperCase","every","tab","arrayFind","$refs","t","id","paneName","active","tabStyles","window","getComputedStyle","parseFloat","paddingLeft","paddingRight","transform","msTransform","webkitTransform","noop","TabBar","panes","currentName","editable","onTabClick","Function","onTabRemove","stretch","scrollable","navOffset","isFocus","focusable","navStyle","dir","scrollPrev","containerSize","navScroll","currentOffset","newOffset","scrollNext","navSize","nav","scrollToActiveTab","activeTab","querySelector","isHorizontal","activeTabBounding","getBoundingClientRect","navScrollBounding","maxOffset","offsetWidth","width","offsetHeight","height","left","right","top","bottom","Math","max","min","update","prev","next","changeTab","nextIndex","currentIndex","tabList","currentTarget","setFocus","removeFocus","visibilityChangeHandler","visibility","document","visibilityState","setTimeout","windowBlurHandler","windowFocusHandler","updated","scrollBtn","_l","pane","tabName","closable","isClosable","btnClose","ev","tabLabelContent","tabindex","blur","addResizeListener","addEventListener","beforeDestroy","removeResizeListener","removeEventListener","TabNav","activeName","addable","beforeLeave","provide","setCurrentName","_","calcPaneInstances","isForceUpdate","undefined","paneSlots","filter","vnode","componentOptions","Ctor","options","map","componentInstance","panesChanged","handleTabClick","event","handleTabRemove","handleTabAdd","changeCurrentName","before","then","newButton","navData","ref","header","_mergeJSXProps","panels","ElTabs","Tabs","reWhitespace","trimmedEndIndex","test","charAt","ElTag","fieldName","isRequired","enabled","_ref3","_ref4","lazy","loaded","labelContent","TabPane","_typeof","obj","Symbol","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","source","_inherits","subClass","superClass","create","_setPrototypeOf","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","valueOf","_assertThisInitialized","self","ReferenceError","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","result","Super","NewTarget","Channel","listen","stopListening","EventFormatter","namespace","setNamespace","substr","PusherChannel","_Channel","_super","pusher","_this","eventFormatter","subscribe","subscription","unsubscribe","format","_this2","bind_global","startsWith","formattedEvent","substring","unbind","unbind_global","status","PusherPrivateChannel","_PusherChannel","eventName","channels","trigger","PusherEncryptedPrivateChannel","PusherPresenceChannel","keys","members","k","member","info","SocketIoChannel","socket","events","listeners","emit","channel","unbindEvent","forEach","cb","push","_this3","removeListener","SocketIoPrivateChannel","_SocketIoChannel","SocketIoPresenceChannel","_SocketIoPrivateChann","m","user_info","NullChannel","NullPrivateChannel","_NullChannel","NullPresenceChannel","Connector","_defaultOptions","headers","authEndpoint","userAuthentication","endpoint","broadcaster","csrfToken","bearerToken","host","setOptions","connect","token","selector","getAttribute","PusherConnector","_Connector","client","Pusher","signin","leaveChannel","connection","socket_id","disconnect","SocketIoConnector","io","getSocketIO","values","Error","NullConnector","Echo","withoutInterceptors","registerInterceptors","_channel","connector","presenceChannel","leave","privateChannel","encryptedPrivateChannel","socketId","http","registerVueRequestInterceptor","axios","registerAxiosRequestInterceptor","jQuery","registerjQueryAjaxSetup","Turbo","registerTurboRequestInterceptor","interceptors","request","use","config","ajax","ajaxPrefilter","originalOptions","xhr","setRequestHeader","_this4","detail","fetchOptions","SUBSCRIPTION_COUNT","WIDGET_UPDATED","WIDGET_REFRESH","MANUAL_LAUNCH","AUTO_LAUNCH","DEMO_REAL_LAUNCH","DEMO_LAUNCH","DEMO_REFERRAL_LAUNCH","FETCHING_AD","REFERRAL_LAUNCH","CHATBOT_MESSAGE_SENT","FREEMIUM_PREVIEW","FREEMIUM_SETUP","CHATBOT_DISCONNECT","CONVERTION_ALERT","handleAfterLeave","visible","customClass","fullscreen","background","loadingSpinnerClasses","spinner","text","floatLoading","setText","count","afterEnter","afterLeave","handleWrapperClick","center","showClose","handleClose","rendered","footer","Popup","emitter","Migrating","modal","modalAppendToBody","appendToBody","lockScroll","closeOnClickModal","closeOnPressEscape","beforeClose","destroyOnClose","closed","val","updatePopper","dialog","scrollTop","body","appendChild","marginTop","getMigratingConfig","hide","cancel","broadcast","open","destroyed","parentNode","removeChild","ElDialog","Dialog","factory","modules","installedModules","__webpack_require__","moduleId","l","getter","r","toStringTag","__esModule","ns","n","property","s","__extends","extendStatics","__","INVALID_BYTE","Coder","_paddingCharacter","encodedLength","encode","out","_encodeByte","maxDecodedLength","decodedLength","_getPaddingLength","decode","Uint8Array","paddingLength","op","haveBad","v0","v1","v2","v3","_decodeChar","charCodeAt","fromCharCode","stdCoder","URLSafeCoder","urlSafeCoder","encodeURLSafe","decodeURLSafe","INVALID_UTF16","INVALID_UTF8","arr","pos","chars","n1","n2","n3","join","__webpack_exports__","AuthRequestType","ScriptReceiverFactory","prefix","lastId","number","called","callbackWrapper","remove","receiver","ScriptReceivers","Defaults","VERSION","PROTOCOL","wsPort","wssPort","wsPath","httpHost","httpPort","httpsPort","httpPath","stats_host","authTransport","activityTimeout","pongTimeout","unavailableTimeout","cluster","transport","channelAuthorization","cdn_http","cdn_https","dependency_suffix","defaults","dependency_loader_DependencyLoader","DependencyLoader","receivers","loading","load","runtime","createScriptRequest","getPath","error","callbacks","successCallback","wasSuccessful","cleanup","send","getRoot","cdn","protocol","getDocument","location","useTLS","version","suffix","dependency_loader","DependenciesReceivers","Dependencies","urlStore","baseUrl","urls","authenticationEndpoint","path","authorizationEndpoint","javascriptQuickStart","triggeringClientEvents","encryptedChannelSupport","fullUrl","buildLogSuffix","url","urlPrefix","urlObj","url_store","BadEventName","msg","_newTarget","BadChannelName","RequestTimedOut","TransportPriorityTooLow","TransportClosed","UnsupportedFeature","UnsupportedTransport","UnsupportedStrategy","HTTPAuthError","context","query","authOptions","authRequestType","createXHR","headerName","headersProvider","dynamicHeaders","onreadystatechange","readyState","parsed","JSON","parse","responseText","toString","UserAuthentication","ChannelAuthorization","xhr_auth","btoa","utob","b64chars","b64tab","base64_i","cb_utob","cc","u","cb_encode","ccc","padlen","ord","Timer","clear","delay","timer","isRunning","ensureAborted","abstract_timer","timers_extends","timers_clearTimeout","clearTimeout","timers_clearInterval","clearInterval","OneOffTimer","PeriodicTimer","setInterval","Util","defer","method","args","_i","boundArguments","slice","util","extend","sources","extensions","stringify","safeJSONStringify","arrayIndexOf","array","item","nativeIndexOf","objectApply","mapObject","filterObject","flatten","any","collections_all","encodeParamsObject","encodeURIComponent","buildQueryString","params","decycleObject","objects","paths","derez","nu","$ref","logger_Logger","Logger","globalLog","message","console","log","debug","warn","globalLogWarn","globalLogError","defaultLoggingFunction","core_pusher","logToConsole","logger","jsonp","callbackName","nextAuthCallbackID","script","createElement","auth_callbacks","callback_name","src","head","getElementsByTagName","documentElement","insertBefore","firstChild","jsonp_auth","ScriptRequest","errorString","charset","onerror","onload","async","attachEvent","navigator","userAgent","errorScript","nextSibling","script_request","jsonp_request_JSONPRequest","JSONPRequest","jsonp_request","getAgent","sender","scheme","createJSONPRequest","jsonp_timeline_jsonp","jsonp_timeline","getGenericURL","baseScheme","hostTLS","hostNonTLS","getGenericPath","queryString","ws","getInitial","sockjs","callback_registry_CallbackRegistry","CallbackRegistry","_callbacks","add","prefixedEventName","names","removeCallback","removeAllCallbacks","binding","callback_registry","dispatcher_Dispatcher","Dispatcher","failThrough","global_callbacks","unbind_all","metadata","dispatcher","transport_connection_extends","transport_connection_TransportConnection","TransportConnection","hooks","priority","initialize","transportConnectionInitializer","timeline","generateUniqueID","handlesActivityChecks","supportsPing","getSocket","onError","changeState","bindListeners","close","ping","onOpen","beforeOpen","onopen","buildTimelineMessage","onClose","closeEvent","code","reason","wasClean","unbindListeners","onMessage","onActivity","onclose","onmessage","onactivity","cid","transport_connection","transport_Transport","Transport","isSupported","environment","createConnection","transports_transport","WSTransport","isInitialized","getWebSocketAPI","createWebSocket","httpConfiguration","streamingConfiguration","HTTPFactory","createStreamingSocket","pollingConfiguration","createPollingSocket","xhrConfiguration","isXHRSupported","XHRStreamingTransport","XHRPollingTransport","Transports","xhr_streaming","xhr_polling","transports","SockJSTransport","file","SockJS","js_path","ignore_null_origin","ignoreNullOrigin","xdrConfiguration","yes","isXDRSupported","XDRStreamingTransport","XDRPollingTransport","xdr_streaming","xdr_polling","transports_transports","net_info_extends","NetInfo","isOnline","onLine","net_info_Network","assistant_to_the_transport_manager_AssistantToTheTransportManager","AssistantToTheTransportManager","manager","minPingDelay","maxPingDelay","pingDelay","openTimestamp","onClosed","reportDeath","lifespan","isAlive","assistant_to_the_transport_manager","Protocol","decodeMessage","messageEvent","messageData","pusherEventData","pusherEvent","user_id","encodeMessage","processHandshake","activity_timeout","action","getCloseAction","getCloseError","protocol_protocol","connection_extends","connection_Connection","Connection","send_event","activity","handleCloseEvent","listener","connection_connection","handshake_Handshake","Handshake","finish","connection_handshake","timeline_sender_TimelineSender","TimelineSender","isEmpty","TimelineTransport","timeline_sender","channel_extends","channel_Channel","subscribed","subscriptionPending","subscriptionCancelled","authorize","handleEvent","handleSubscriptionSucceededEvent","handleSubscriptionCountEvent","subscription_count","subscriptionCount","channel_data","cancelSubscription","reinstateSubscription","channels_channel","private_channel_extends","PrivateChannel","channelAuthorizer","channelName","private_channel","members_Members","Members","reset","each","setMyID","myID","onSubscription","subscriptionData","presence","hash","me","addMember","memberData","removeMember","presence_channel_extends","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","rejected","done","__generator","y","sent","trys","ops","verb","v","pop","presence_channel_PresenceChannel","PresenceChannel","authData","channelData","_a","user","signinDonePromise","user_data","handleInternalEvent","addedMember","removedMember","presence_channel","utf8","base64","encrypted_channel_extends","encrypted_channel_EncryptedChannel","EncryptedChannel","nacl","sharedSecret","handleEncryptedEvent","ciphertext","nonce","cipherText","secretbox","overheadLength","nonceLength","bytes","getDataToEmit","raw","encrypted_channel","connection_manager_extends","connection_manager_ConnectionManager","ConnectionManager","usingTLS","errorCallbacks","buildErrorCallbacks","connectionCallbacks","buildConnectionCallbacks","handshakeCallbacks","buildHandshakeCallbacks","Network","getNetwork","netinfo","retryIn","sendActivityCheck","updateStrategy","runner","strategy","updateState","startConnecting","setUnavailableTimer","disconnectInternally","isUsingTLS","handshake","handshakeError","abortConnecting","abort","clearRetryTimer","clearUnavailableTimer","abandonConnection","getStrategy","round","retryTimer","unavailableTimer","stopActivityCheck","activityTimer","pong_timed_out","resetActivityCheck","shouldRetry","connected","Infinity","setConnection","withErrorEmitted","tls_only","refused","backoff","retry","newState","previousState","newStateDescription","previous","current","connection_manager","channels_Channels","Channels","createChannel","all","find","createEncryptedChannel","errMsg","createPrivateChannel","createPresenceChannel","Factory","createChannels","createConnectionManager","createTimelineSender","createHandshake","createAssistantToTheTransportManager","transport_manager_TransportManager","TransportManager","livesLeft","lives","getAssistant","transport_manager","sequential_strategy_SequentialStrategy","SequentialStrategy","strategies","loop","failFast","timeout","timeoutLimit","minPriority","tryNextStrategy","tryStrategy","forceMinPriority","sequential_strategy","best_connected_ever_strategy_BestConnectedEverStrategy","BestConnectedEverStrategy","runners","allRunnersFailed","best_connected_ever_strategy","callbackBuilder","rs","abortRunner","aborted","cached_strategy_CachedStrategy","CachedStrategy","ttl","fetchTransportCache","timestamp","cached","latency","startTimestamp","flushTransportCache","storeTransportCache","cached_strategy","getTransportCacheKey","storage","getLocalStorage","serializedCache","delayed_strategy_DelayedStrategy","DelayedStrategy","delayed_strategy","IfStrategy","trueBranch","falseBranch","branch","if_strategy","FirstConnectedStrategy","first_connected_strategy","testSupportsStrategy","State","getDefaultStrategy","baseOptions","defineTransport","definedTransports","defineTransportStrategy","wsStrategy","ws_options","wsHost","wss_options","sockjs_options","timeouts","ws_manager","streaming_manager","ws_transport","wss_transport","sockjs_transport","xhr_streaming_transport","xdr_streaming_transport","xhr_polling_transport","xdr_polling_transport","ws_loop","wss_loop","sockjs_loop","streaming_loop","polling_loop","http_loop","http_fallback_loop","default_strategy","transport_connection_initializer","http_xdomain_request_hooks","getRequest","xdr","XDomainRequest","ontimeout","onprogress","onChunk","abortRequest","http_xdomain_request","http_request_extends","MAX_BUFFER_LENGTH","http_request_HTTPRequest","HTTPRequest","start","payload","position","unloader","addUnloadListener","removeUnloadListener","chunk","advanceBuffer","isBufferTooLong","buffer","unreadData","endOfLinePosition","http_request","autoIncrement","http_socket_HTTPSocket","HTTPSocket","session","randomNumber","randomString","getLocation","CONNECTING","openStream","sendRaw","sendHeartbeat","OPEN","createSocketRequest","getUniqueURL","getSendURL","reconnect","closeStream","CLOSED","onEvent","onHeartbeat","hostname","base","replaceHost","stream","getReceiveURL","onFinished","parts","exec","separator","urlParts","randomInt","http_socket","http_streaming_socket_hooks","http_streaming_socket","http_polling_socket_hooks","http_polling_socket","http_xhr_request_hooks","getXHRAPI","http_xhr_request","HTTP","createSocket","createRequest","http_http","createXDR","TimelineLevel","web_http_http","Runtime","XMLHttpRequest","WebSocket","MozWebSocket","PusherClass","initializeOnDocumentBody","onDocumentBody","ready","getProtocol","getAuthorizers","localStorage","createXMLHttpRequest","createMicrosoftXHR","ActiveXObject","withCredentials","documentProtocol","detachEvent","random","crypto","getRandomValues","Uint32Array","pow","floor","timeline_level","timeline_Timeline","Timeline","uniqueID","level","limit","shift","ERROR","INFO","DEBUG","sendfn","bundle","lib","features","timeline_timeline","transport_strategy_TransportStrategy","TransportStrategy","failAttempt","onInitialized","serializedTransport","transport_strategy","strategy_builder_Transports","strategy_builder_defineTransport","transportClass","enabledTransports","disabledTransports","strategy_builder_UnsupportedStrategy","deferred","composeChannelQuery","paramsProvider","dynamicParams","UserAuthenticator","user_authenticator","channel_authorizer_composeChannelQuery","ChannelAuthorizer","channel_authorizer","ChannelAuthorizerProxy","channelAuthorizerGenerator","deprecatedAuthorizerOptions","__assign","getConfig","opts","statsHost","enableStats","getEnableStatsConfig","getHttpHost","shouldUseTLS","getWebsocketHost","userAuthenticator","buildUserAuthenticator","buildChannelAuthorizer","timelineParams","getWebsocketHostFromCluster","forceTLS","disableStats","buildChannelAuth","customHandler","authorizer","watchlist_extends","watchlist_WatchlistFacade","WatchlistFacade","bindWatchlistInternalEvent","watchlistEvent","watchlist","flatPromise","promise","res","rej","flat_promise","user_extends","user_UserFacade","UserFacade","signin_requested","serverToUserChannel","_signinDoneResolve","_onAuthorize","err","_cleanup","_signin","_newSigninPromiseIfNeeded","_onSigninSuccess","_subscribeChannels","ensure_subscribed","setDone","pusher_Pusher","app_key","checkAppKey","global_emitter","sessionID","getClientFeatures","timelineSender","subscribeAll","internal","instances","isReady","allChannels","timelineSenderTimer","event_name","channel_name","defaultWidget","obsDockSlug","slug","boxSize","referralPromotion","advertising","AdvertisingMode","AUTO","AdvertisingPosition","LEFT_TOP_CORNER","leaderboard","LeaderboardPosition","TOP","adManualEnabled","ignoreCategories","botEnabled","extensionEnabled","nightbot","moderator","streamer","vkplay","relogin","bsRequired","allowAdultContent","sspTextFrequency","Socket","init","process","post","private","namespaced","visibleCampaignsSidebar","completedCampaigns","page","total","counters","completed","incompleted","campaigns","campaignType","prerollCampaigns","campaignProductLink","mutations","setCampaigns","setPrerollCampaigns","setCompletedCampaigns","setCompletedCampaignsPage","setCampaign","toggleLoading","toggleCampaignsSidebar","setCampaignType","setCampaignProductLink","actions","commit","rootGetters","toggling","brandisExtensionActive","enableSspInstreamAds","enableChatbotTextAds","_brandAwarenessCampai","brandAwarenessCampaigns","Api","inactive","future","unavailable","permormanceCampaigns","isDemo","demo","_ref5","_ref6","_ref7","parseSlug","_ref8","showCampaignsSidebar","_ref9","_state$campaign","hideCampaignsSidebar","_ref10","_ref11","_res$data","_res$data2","_ref12","activeCampaigns","_ref13","futureCampaigns","_ref14","inactiveCampaigns","_ref15","unavailableCampaigns","_ref16","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_ref23","Types","Kinds","Formats","kind","split","isArray","match","Number","isInteger","isFinite","O","j","T","_vueTypes_name","required","validator","w","defineProperties","def","getOwnPropertyNames","getOwnPropertyDescriptor","__original","x","A","E","N","q","S","V","F","D","Y","B","I","J","M","R","$","_vueTypes_isLoose","z","validate","func","bool","integer","C","custom","oneOf","instanceOf","oneOfType","arrayOf","objectOf","shape","utils","toType","G","Campaign","reTrimStart","baseTrim","authError","platformSelectTitle","filtered","require","comeBack","Section","WidgetPlatformSelect","none","impressions","daily_limit","rest_limit_percent","copyLog","isPressed","logCopied","ElButton","encodedLog","$clipboard","Advice","description","domain","previewCaption","locationCaption","ElForm","WidgetChatbotSendPreview","WidgetAdPlaybackMode","WidgetManualPlayback","WidgetBannerTimeout","WidgetBoxSize","WidgetAdvertisingPosition","displayWarning","chatbotEnabled","statusesMustBeOn","WidgetStatus","Powered","StatusSection","SettingsSection","CampaignsSection","ReloginMessage","platformIsChanged","$route","advertising_mode","prevValue","setMode","beforeCreate","hasModule","registerModule","widgetSettingsStore","campaignsStore","fetchStreamer","fetchDictionaries","setLocale","fetch","initSocket","mapActions","setToken","$root","$i18n","setItem","WidgetLogger","updateData","CampaignBlockReason","tags","cardFor","needsExtension","twitchExtensionLink","setupExtension","checkExtendionStatus","checkExtension","PREROLL","includes","isBlocked","LowCTR","Moderator","reasons","lowCTR","lowCTRLink","href","useRootLocaleObj","blocked_reason","LOW_CTR","MODERATOR","CampaignStatus","ACTIVE","brandisExtensionChecking","_b","pip","_d","undefinedFormat","dailyLimitDepleted","daily_action_limit","today","today_limit","actionBonus","dailyActionsLimitDepleted","totalLimitDepleted","extension","adset_ready","performanceDailyDepleted","duration","items","localePath","$t","seconds","isObject","toNumber","FUNC_ERROR_TEXT","nativeMax","nativeMin","debounce","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","flush","debounced","isInvoking","LogEvents","PusherEvents","cachedLog","onPushLog","newWidget","payloadToWidgetAdapter","compareWidgets","pushLog","UPDATE_WIDGET","oldWidget","MANUAL_START","FETCHED_CREATIVES","AUTO_START","FETCHED_REFERRAL_CREATIVES","FETCHED_DEMO_CREATIVES","DEMO_START","creatives","dateTime","moment","save","deleteLog","delete","successfullySent","sending","sendPreview","success","static","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","isBinary","isNull","sensibleDefaults","dailyLimit","isSspFormat","numberToRanks","strategy_payment","daily_limit_rest","of","Widget","BaseModel","super","debouncedUpdate","prop","_defineProperty","ad_manual_enable","advertising_frequency","advertising_position","leaderboard_position","ignore_categories","widget_active","stream_active","stream_delay","extension_active","bot_active","box_size","nightbot_twitch_connected","nightbot_twitch_moderator","nightbot_youtube_connected","nightbot_youtube_moderator","nightbot_trovo_connected","nightbot_trovo_moderator","slug_obs_dock","referral_promotion","brandis_extension_active","allow_adult_content","enable_chatbot_text_ads","enable_ssp_instream_ads","ssp_text_frequency","checkingChatbot","togglingChatbot","sendingMessage","setWidget","toggleCheckingChatbot","toggleTogglingChatbot","toggleSendingMessage","toggleBrandisExtensionStatus","toggleBrandisExtensionChecking","toggleChatbot","chatbotTwitchConnected","Analytic","vkgoal","fbq","chatbotYoutubeConnected","chatbotTrovoConnected","changed","activation","obsDockUrl","origin","slugObsDock","brandisExtensionStatus","adManualEnable","onClick","escapeRegExp","stringifyedData","splitted","overlaps","sortedOverlaps","sort","compressed","overlap","isShortAndFrequent","isLongAndRare","RegExp","saveLog","widgets","getCachedWidgets","getTime","compress","cacheWidgets","getCachedLog","decompress","getItem","clearExpired","expired","advertisingPosition","positions","adPositions","isMobile","mobileVisible","onDialogClose","hideLabel","computedLabel","emits","$isMobile","hint","attention","afterLeaveCallback","once","$once","speed","Mask","Loading","el","nextTick","modifiers","originalPosition","getStyle","originalOverflow","maskStyle","zIndex","PopupManager","nextZIndex","addClass","mask","insertDom","removeClass","scroll","domVisible","hiding","lock","domInserted","textExr","spinnerExr","backgroundExr","customClassExr","hasAttribute","oldValue","CompletedCampaignStatus","ElTabPane","AdFormat","YANDEX_FS","YANDEX_PF","YANDEX_TEXT","isSspMediaFormat","$children","child"],"mappings":"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","file":"js/chunk-5bbbc006.4162fd2f.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"campaign-row-avatar\"},[_c('div',{staticClass:\"campaign-row-avatar__image\",style:(_setup.style)})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue'\n\nimport { IStreamerAwarenessCampaign, IStreamerCompletedAwarenessCampaign } from 'lib/types/streamer-campaigns/brand-awareness'\nimport { IStreamerPerformanceCampaign } from 'lib/types/streamer-campaigns/performance'\n\n\nexport default /*#__PURE__*/_defineComponent({\n  __name: 'Avatar',\n  props: {\n    campaign: null\n  },\n  setup(__props: any) {\n\nconst props = __props as {\n  campaign: IStreamerAwarenessCampaign | IStreamerCompletedAwarenessCampaign | IStreamerPerformanceCampaign\n}\n\n\n\nconst style = computed(() => `background-image: url(${props.campaign.logo})`)\n\nreturn { __sfc: true,props, style }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Avatar.vue?vue&type=template&id=01a2092a&scoped=true&\"\nimport script from \"./Avatar.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Avatar.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Avatar.vue?vue&type=style&index=0&id=01a2092a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"01a2092a\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm._elTag,{tag:\"component\",staticClass:\"el-radio-group\",attrs:{\"role\":\"radiogroup\"},on:{\"keydown\":_vm.handleKeydown}},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <component\n    :is=\"_elTag\"\n    class=\"el-radio-group\"\n    role=\"radiogroup\"\n    @keydown=\"handleKeydown\"\n  >\n    <slot></slot>\n  </component>\n</template>\n<script>\n  import Emitter from 'element-ui/src/mixins/emitter';\n\n  const keyCode = Object.freeze({\n    LEFT: 37,\n    UP: 38,\n    RIGHT: 39,\n    DOWN: 40\n  });\n  export default {\n    name: 'ElRadioGroup',\n\n    componentName: 'ElRadioGroup',\n\n    inject: {\n      elFormItem: {\n        default: ''\n      }\n    },\n\n    mixins: [Emitter],\n\n    props: {\n      value: {},\n      size: String,\n      fill: String,\n      textColor: String,\n      disabled: Boolean\n    },\n\n    computed: {\n      _elFormItemSize() {\n        return (this.elFormItem || {}).elFormItemSize;\n      },\n      _elTag() {\n        let tag = (this.$vnode.data || {}).tag;\n        if (!tag || tag === 'component') tag = 'div';\n        return tag;\n      },\n      radioGroupSize() {\n        return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n      }\n    },\n\n    created() {\n      this.$on('handleChange', value => {\n        this.$emit('change', value);\n      });\n    },\n    mounted() {\n      // 当radioGroup没有默认选项时,第一个可以选中Tab导航\n      const radios = this.$el.querySelectorAll('[type=radio]');\n      const firstLabel = this.$el.querySelectorAll('[role=radio]')[0];\n      if (![].some.call(radios, radio => radio.checked) && firstLabel) {\n        firstLabel.tabIndex = 0;\n      }\n    },\n    methods: {\n      handleKeydown(e) { // 左右上下按键 可以在radio组内切换不同选项\n        const target = e.target;\n        const className = target.nodeName === 'INPUT' ? '[type=radio]' : '[role=radio]';\n        const radios = this.$el.querySelectorAll(className);\n        const length = radios.length;\n        const index = [].indexOf.call(radios, target);\n        const roleRadios = this.$el.querySelectorAll('[role=radio]');\n        switch (e.keyCode) {\n          case keyCode.LEFT:\n          case keyCode.UP:\n            e.stopPropagation();\n            e.preventDefault();\n            if (index === 0) {\n              roleRadios[length - 1].click();\n              roleRadios[length - 1].focus();\n            } else {\n              roleRadios[index - 1].click();\n              roleRadios[index - 1].focus();\n            }\n            break;\n          case keyCode.RIGHT:\n          case keyCode.DOWN:\n            if (index === (length - 1)) {\n              e.stopPropagation();\n              e.preventDefault();\n              roleRadios[0].click();\n              roleRadios[0].focus();\n            } else {\n              roleRadios[index + 1].click();\n              roleRadios[index + 1].focus();\n            }\n            break;\n          default:\n            break;\n        }\n      }\n    },\n    watch: {\n      value(value) {\n        this.dispatch('ElFormItem', 'el.form.change', [this.value]);\n      }\n    }\n  };\n</script>\n\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./radio-group.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./radio-group.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./radio-group.vue?vue&type=template&id=3885214a&\"\nimport script from \"./radio-group.vue?vue&type=script&lang=js&\"\nexport * from \"./radio-group.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import RadioGroup from '../radio/src/radio-group.vue';\n\n/* istanbul ignore next */\nRadioGroup.install = function(Vue) {\n  Vue.component(RadioGroup.name, RadioGroup);\n};\n\nexport default RadioGroup;\n","import 'element/css/radio-group.scss'\n\nimport RadioGroup from 'element-ui/packages/radio-group'\n\nexport default RadioGroup\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.vm.$userDomain !== _setup.DomainNames.STREAMO)?_c(_setup.ElFormItem,{attrs:{\"label\":_setup.locale.adPlaybackMode}},[_c(_setup.ElRadioGroup,{model:{value:(_setup.widget.mode),callback:function ($$v) {_vm.$set(_setup.widget, \"mode\", $$v)},expression:\"widget.mode\"}},[_c(_setup.ElRadioButton,{attrs:{\"label\":\"auto\"}},[_vm._v(\" \"+_vm._s(_setup.locale.playbackModeAuto)+\" \")]),_c(_setup.ElRadioButton,{attrs:{\"label\":\"manual\"}},[_vm._v(\" \"+_vm._s(_setup.locale.playbackModeManual)+\" \")])],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport ElFormItem from 'element/ElFormItem'\nimport ElRadioButton from 'element/ElRadioButton'\nimport ElRadioGroup from 'element/ElRadioGroup'\nimport { useRootLocale } from 'lib/helpers/useLocale'\nimport { DomainNames } from 'lib/types/domain'\nimport { computed, onMounted, watch } from 'vue'\n\nimport { vm } from '@/main'\n\n\nexport default /*#__PURE__*/_defineComponent({\n  __name: 'WidgetAdPlaybackMode',\n  setup(__props) {\n\nconst widget = computed(() => vm.$store.getters['widgetSettings/widget'])\nconst locale = computed(() => ({\n  playbackModeAuto: useRootLocale('views.streamer.widget.advertSettings.playbackModeAuto'),\n  playbackModeManual: useRootLocale('views.streamer.widget.advertSettings.playbackModeManual'),\n  adPlaybackMode: useRootLocale('views.streamer.widget.advertSettings.adPlaybackMode'),\n}))\n\nconst checkAvailableModes = () => {\n  if (widget.value.mode === 'manual' && vm.$userDomain === DomainNames.STREAMO) {\n    widget.value.mode = 'auto'\n  }\n}\n\nonMounted(() => {\n  checkAvailableModes()\n})\n\nwatch(widget, () => {\n  checkAvailableModes()\n}, { deep: true })\n\nreturn { __sfc: true,widget, locale, checkAvailableModes, ElFormItem, ElRadioButton, ElRadioGroup, DomainNames, vm }\n}\n\n})","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAdPlaybackMode.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAdPlaybackMode.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./WidgetAdPlaybackMode.vue?vue&type=template&id=212e6118&\"\nimport script from \"./WidgetAdPlaybackMode.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./WidgetAdPlaybackMode.vue?vue&type=script&setup=true&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&id=01a2092a&prod&lang=scss&scoped=true&\"","<template>\n  <div class=\"campaign\">\n    <div class=\"campaign__inner\">\n      <div class=\"campaign__left\">\n        <Avatar :campaign=\"campaign\" />\n      </div>\n      <div class=\"campaign__right\">\n        <div class=\"campaign__right-top\">\n          <div class=\"text-m-regular campaign__title\">\n            {{ campaign.title }}\n          </div>\n        </div>\n        <Tags :campaign=\"campaign\" />\n        <CampaignRowDailyLimit :campaign=\"campaign\" />\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport Avatar from 'components/CampaignRow/components/Avatar'\nimport CampaignRowDailyLimit from 'components/CampaignRow/components/indicators/CampaignRowDailyLimit.vue'\nimport Tags from 'components/CampaignRow/components/Tags'\n\nexport default {\n  name: 'CampaignRow',\n\n  components: {\n    Avatar,\n    Tags,\n    CampaignRowDailyLimit,\n  },\n\n  props: {\n    campaign: VueTypes.object,\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.campaign {\n  width: 100%;\n  transition: $--all-transition;\n\n  &:not(:last-child) {\n    .campaign__inner {\n      border-bottom: 1px solid #4D4D4D;\n    }\n  }\n\n  &:first-child {\n    .campaign__inner {\n      padding-top: 0;\n    }\n  }\n\n  &__inner {\n    display: flex;\n    padding: 16px 0;\n  }\n\n  &__left {\n    flex-shrink: 0;\n    margin-right: 16px;\n  }\n\n  &__right {\n    width: calc(100% - 80px);\n\n    &-top {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 8px;\n    }\n  }\n\n  &__title {\n    color: white;\n  }\n\n  ::v-deep {\n    .campaign-row-limit {\n      display: flex;\n\n      .text-caption {\n        margin-right: 5px;\n\n        &:after {\n          content: ':';\n        }\n      }\n    }\n    .campaign-row-limit * {\n      font-size: 12px;\n      line-height: 14px;\n      color: white;\n    }\n\n    .campaign-row-tags {\n      margin-bottom: 8px;\n\n      &__item_primary {\n        background-color: rgba(38, 111, 254, 0.2);\n        color: #198CFE;\n      }\n    }\n  }\n}\n</style>\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"widget-status\"},[(_vm.localeName)?_c('div',{staticClass:\"widget-status__title\"},[_vm._v(\" \"+_vm._s(_vm.locale.title)+\": \")]):_vm._e(),_c('div',{staticClass:\"widget-status__label\"},[_c('ElTag',{attrs:{\"size\":\"mini\",\"effect\":\"dark\",\"type\":_vm.type}},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetStatus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetStatus.vue?vue&type=template&id=784fb148&scoped=true&\"\nimport script from \"./WidgetStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetStatus.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetStatus.vue?vue&type=style&index=0&id=784fb148&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"784fb148\",\n  null\n  \n)\n\nexport default component.exports","\"use strict\";function _extends(){return _extends=Object.assign?Object.assign.bind():function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}var normalMerge=[\"attrs\",\"props\",\"domProps\"],toArrayMerge=[\"class\",\"style\",\"directives\"],functionalMerge=[\"on\",\"nativeOn\"],mergeJsxProps=function(a){return a.reduce(function(c,a){for(var b in a)if(!c[b])c[b]=a[b];else if(-1!==normalMerge.indexOf(b))c[b]=_extends({},c[b],a[b]);else if(-1!==toArrayMerge.indexOf(b)){var d=c[b]instanceof Array?c[b]:[c[b]],e=a[b]instanceof Array?a[b]:[a[b]];c[b]=[].concat(d,e)}else if(-1!==functionalMerge.indexOf(b)){for(var f in a[b])if(c[b][f]){var g=c[b][f]instanceof Array?c[b][f]:[c[b][f]],h=a[b][f]instanceof Array?a[b][f]:[a[b][f]];c[b][f]=[].concat(g,h)}else c[b][f]=a[b][f];}else if(\"hook\"===b)for(var i in a[b])c[b][i]=c[b][i]?mergeFn(c[b][i],a[b][i]):a[b][i];else c[b]=a[b];return c},{})},mergeFn=function(a,b){return function(){a&&a.apply(this,arguments),b&&b.apply(this,arguments)}};module.exports=mergeJsxProps;\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetBoxSize.vue?vue&type=style&index=0&id=87f64058&prod&lang=scss&scoped=true&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('label',{staticClass:\"el-radio-button\",class:[\n    _vm.size ? 'el-radio-button--' + _vm.size : '',\n    { 'is-active': _vm.value === _vm.label },\n    { 'is-disabled': _vm.isDisabled },\n    { 'is-focus': _vm.focus }\n  ],attrs:{\"role\":\"radio\",\"aria-checked\":_vm.value === _vm.label,\"aria-disabled\":_vm.isDisabled,\"tabindex\":_vm.tabIndex},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;$event.stopPropagation();$event.preventDefault();_vm.value = _vm.isDisabled ? _vm.value : _vm.label}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"el-radio-button__orig-radio\",attrs:{\"type\":\"radio\",\"name\":_vm.name,\"disabled\":_vm.isDisabled,\"tabindex\":\"-1\",\"autocomplete\":\"off\"},domProps:{\"value\":_vm.label,\"checked\":_vm._q(_vm.value,_vm.label)},on:{\"change\":[function($event){_vm.value=_vm.label},_vm.handleChange],\"focus\":function($event){_vm.focus = true},\"blur\":function($event){_vm.focus = false}}}),_c('span',{staticClass:\"el-radio-button__inner\",style:(_vm.value === _vm.label ? _vm.activeStyle : null),on:{\"keydown\":function($event){$event.stopPropagation();}}},[_vm._t(\"default\"),(!_vm.$slots.default)?[_vm._v(_vm._s(_vm.label))]:_vm._e()],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <label\n    class=\"el-radio-button\"\n    :class=\"[\n      size ? 'el-radio-button--' + size : '',\n      { 'is-active': value === label },\n      { 'is-disabled': isDisabled },\n      { 'is-focus': focus }\n    ]\"\n    role=\"radio\"\n    :aria-checked=\"value === label\"\n    :aria-disabled=\"isDisabled\"\n    :tabindex=\"tabIndex\"\n    @keydown.space.stop.prevent=\"value = isDisabled ? value : label\"\n  >\n    <input\n      class=\"el-radio-button__orig-radio\"\n      :value=\"label\"\n      type=\"radio\"\n      v-model=\"value\"\n      :name=\"name\"\n      @change=\"handleChange\"\n      :disabled=\"isDisabled\"\n      tabindex=\"-1\"\n      @focus=\"focus = true\"\n      @blur=\"focus = false\"\n      autocomplete=\"off\"\n    >\n    <span\n      class=\"el-radio-button__inner\"\n      :style=\"value === label ? activeStyle : null\"\n      @keydown.stop>\n      <slot></slot>\n      <template v-if=\"!$slots.default\">{{label}}</template>\n    </span>\n  </label>\n</template>\n<script>\n  import Emitter from 'element-ui/src/mixins/emitter';\n\n  export default {\n    name: 'ElRadioButton',\n\n    mixins: [Emitter],\n\n    inject: {\n      elForm: {\n        default: ''\n      },\n      elFormItem: {\n        default: ''\n      }\n    },\n\n    props: {\n      label: {},\n      disabled: Boolean,\n      name: String\n    },\n    data() {\n      return {\n        focus: false\n      };\n    },\n    computed: {\n      value: {\n        get() {\n          return this._radioGroup.value;\n        },\n        set(value) {\n          this._radioGroup.$emit('input', value);\n        }\n      },\n      _radioGroup() {\n        let parent = this.$parent;\n        while (parent) {\n          if (parent.$options.componentName !== 'ElRadioGroup') {\n            parent = parent.$parent;\n          } else {\n            return parent;\n          }\n        }\n        return false;\n      },\n      activeStyle() {\n        return {\n          backgroundColor: this._radioGroup.fill || '',\n          borderColor: this._radioGroup.fill || '',\n          boxShadow: this._radioGroup.fill ? `-1px 0 0 0 ${this._radioGroup.fill}` : '',\n          color: this._radioGroup.textColor || ''\n        };\n      },\n      _elFormItemSize() {\n        return (this.elFormItem || {}).elFormItemSize;\n      },\n      size() {\n        return this._radioGroup.radioGroupSize || this._elFormItemSize || (this.$ELEMENT || {}).size;\n      },\n      isDisabled() {\n        return this.disabled || this._radioGroup.disabled || (this.elForm || {}).disabled;\n      },\n      tabIndex() {\n        return (this.isDisabled || (this._radioGroup && this.value !== this.label)) ? -1 : 0;\n      }\n    },\n\n    methods: {\n      handleChange() {\n        this.$nextTick(() => {\n          this.dispatch('ElRadioGroup', 'handleChange', this.value);\n        });\n      }\n    }\n  };\n</script>\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./radio-button.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./radio-button.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./radio-button.vue?vue&type=template&id=4e200f8e&\"\nimport script from \"./radio-button.vue?vue&type=script&lang=js&\"\nexport * from \"./radio-button.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import RadioButton from '../radio/src/radio-button.vue';\n\n/* istanbul ignore next */\nRadioButton.install = function(Vue) {\n  Vue.component(RadioButton.name, RadioButton);\n};\n\nexport default RadioButton;\n","import 'element/css/radio-button.scss'\n\nimport RadioButton from 'element-ui/packages/radio-button'\n\nexport default RadioButton\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ElFormItem',{attrs:{\"label\":_vm.locale.label}},[_c('ElSelect',{class:_vm.selectTheme,attrs:{\"popper-class\":_vm.selectTheme},model:{value:(_vm.widget.frequency),callback:function ($$v) {_vm.$set(_vm.widget, \"frequency\", $$v)},expression:\"widget.frequency\"}},[_c('ElOption',{attrs:{\"label\":_vm.locale.per15min,\"value\":15}}),_c('ElOption',{attrs:{\"label\":_vm.locale.per30min,\"value\":30}}),_c('ElOption',{attrs:{\"label\":_vm.locale.perHour,\"value\":60}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <ElFormItem :label=\"locale.label\">\n    <ElSelect\n      v-model=\"widget.frequency\"\n      :class=\"selectTheme\"\n      :popper-class=\"selectTheme\"\n    >\n      <ElOption\n        :label=\"locale.per15min\"\n        :value=\"15\"\n      />\n      <ElOption\n        :label=\"locale.per30min\"\n        :value=\"30\"\n      />\n      <ElOption\n        :label=\"locale.perHour\"\n        :value=\"60\"\n      />\n    </ElSelect>\n  </ElFormItem>\n</template>\n\n<script>\nimport ElFormItem from 'element/ElFormItem'\nimport ElOption from 'element/ElOption'\nimport ElSelect from 'element/ElSelect'\nimport VueTypes from 'vue-types'\n\nexport default {\n  components: {\n    ElSelect,\n    ElOption,\n    ElFormItem,\n  },\n\n  props: {\n    selectTheme: VueTypes.string,\n  },\n\n  computed: {\n    widget: ({ $store }) => $store.getters['widgetSettings/widget'],\n    locale: ({ $rootLocale }) => ({\n      label: $rootLocale('views.streamer.widget.advertSettings.bannerTimeout'),\n      per15min: $rootLocale('helpers.perMin', { minutes: '15' }),\n      per30min: $rootLocale('helpers.perMin', { minutes: '30' }),\n      perHour: $rootLocale('helpers.perHour'),\n    }),\n  },\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetBannerTimeout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetBannerTimeout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetBannerTimeout.vue?vue&type=template&id=5be2c608&\"\nimport script from \"./WidgetBannerTimeout.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetBannerTimeout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nmodule.exports = now;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.ElSelect,{staticClass:\"widget-platform-select\",class:_vm.selectTheme,attrs:{\"popper-class\":`widget-platform-select-popper ${_vm.selectTheme}`},scopedSlots:_vm._u([{key:\"prefix\",fn:function(){return [(_setup.widget.platform === 'twitch')?_c('SvgIcon',{staticClass:\"widget-platform-select__prefix-icon _twitch\",attrs:{\"name\":\"twitch-icon\",\"width\":\"20\",\"height\":\"20\"}}):_vm._e(),(_setup.widget.platform === 'youtube')?_c('SvgIcon',{staticClass:\"widget-platform-select__prefix-icon _youtube\",attrs:{\"name\":\"youtube-icon\",\"width\":\"20\",\"height\":\"20\"}}):_vm._e(),(_setup.widget.platform === 'trovo')?_c('SvgIcon',{staticClass:\"widget-platform-select__prefix-icon _trovo\",attrs:{\"name\":\"trovo-icon\",\"width\":\"20\",\"height\":\"20\"}}):_vm._e()]},proxy:true}]),model:{value:(_setup.widget.platform),callback:function ($$v) {_vm.$set(_setup.widget, \"platform\", $$v)},expression:\"widget.platform\"}},[_c(_setup.ElOption,{attrs:{\"disabled\":!_setup.twitch,\"label\":\"Twitch\",\"value\":\"twitch\"}},[_c('SvgIcon',{staticClass:\"widget-platform-select__option-icon _twitch\",attrs:{\"name\":\"twitch-icon\",\"width\":\"20px\",\"height\":\"20px\"}}),_vm._v(\" Twitch \")],1),_c(_setup.ElOption,{attrs:{\"disabled\":!_setup.youtube,\"label\":\"Youtube\",\"value\":\"youtube\"}},[_c('SvgIcon',{staticClass:\"widget-platform-select__option-icon _youtube\",attrs:{\"name\":\"youtube-icon\",\"width\":\"20px\",\"height\":\"20px\"}}),_vm._v(\" Youtube \")],1),_c(_setup.ElOption,{attrs:{\"disabled\":!_setup.trovo,\"label\":\"Trovo\",\"value\":\"trovo\"}},[_c('SvgIcon',{staticClass:\"widget-platform-select__option-icon _trovo\",attrs:{\"name\":\"trovo-icon\",\"width\":\"20px\",\"height\":\"20px\"}}),_vm._v(\" Trovo \")],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue'\n\nimport { vm } from '@/main'\n\nimport ElOption from 'element/ElOption'\nimport ElSelect from 'element/ElSelect'\n\n\nexport default /*#__PURE__*/_defineComponent({\n  __name: 'WidgetPlatformSelect',\n  props: {\n    selectTheme: null\n  },\n  setup(__props: any) {\n\n\n\nconst widget = computed(() => vm.$store.getters['widgetSettings/widget'])\nconst twitch = computed(() => vm.$store.state.auth.twitch)\nconst youtube = computed(() => vm.$store.state.auth.youtube)\nconst trovo = computed(() => vm.$store.state.auth.trovo)\n\nreturn { __sfc: true,widget, twitch, youtube, trovo, ElOption, ElSelect }\n}\n\n})","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetPlatformSelect.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetPlatformSelect.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./WidgetPlatformSelect.vue?vue&type=template&id=16a03c08&scoped=true&\"\nimport script from \"./WidgetPlatformSelect.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./WidgetPlatformSelect.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./WidgetPlatformSelect.vue?vue&type=style&index=0&id=16a03c08&prod&lang=scss&scoped=true&\"\nimport style1 from \"./WidgetPlatformSelect.vue?vue&type=style&index=1&id=16a03c08&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"16a03c08\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"el-tabs__active-bar\",class:`is-${ _vm.rootTabs.tabPosition }`,style:(_vm.barStyle)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"el-tabs__active-bar\" :class=\"`is-${ rootTabs.tabPosition }`\" :style=\"barStyle\"></div>\n</template>\n<script>\n  import { arrayFind } from 'element-ui/src/utils/util';\n  export default {\n    name: 'TabBar',\n\n    props: {\n      tabs: Array\n    },\n\n    inject: ['rootTabs'],\n\n    computed: {\n      barStyle: {\n        get() {\n          let style = {};\n          let offset = 0;\n          let tabSize = 0;\n          const sizeName = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'width' : 'height';\n          const sizeDir = sizeName === 'width' ? 'x' : 'y';\n          const firstUpperCase = str => {\n            return str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase());\n          };\n          this.tabs.every((tab, index) => {\n            let $el = arrayFind(this.$parent.$refs.tabs || [], t => t.id.replace('tab-', '') === tab.paneName);\n            if (!$el) { return false; }\n\n            if (!tab.active) {\n              offset += $el[`client${firstUpperCase(sizeName)}`];\n              return true;\n            } else {\n              tabSize = $el[`client${firstUpperCase(sizeName)}`];\n              const tabStyles = window.getComputedStyle($el);\n              if (sizeName === 'width' && this.tabs.length > 1) {\n                tabSize -= parseFloat(tabStyles.paddingLeft) + parseFloat(tabStyles.paddingRight);\n              }\n              if (sizeName === 'width') {\n                offset += parseFloat(tabStyles.paddingLeft);\n              }\n              return false;\n            }\n          });\n\n          const transform = `translate${firstUpperCase(sizeDir)}(${offset}px)`;\n          style[sizeName] = tabSize + 'px';\n          style.transform = transform;\n          style.msTransform = transform;\n          style.webkitTransform = transform;\n\n          return style;\n        }\n      }\n    }\n  };\n</script>\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./tab-bar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./tab-bar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tab-bar.vue?vue&type=template&id=d5d6a716&\"\nimport script from \"./tab-bar.vue?vue&type=script&lang=js&\"\nexport * from \"./tab-bar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<script>\n  import TabBar from './tab-bar';\n  import { addResizeListener, removeResizeListener } from 'element-ui/src/utils/resize-event';\n\n  function noop() {}\n  const firstUpperCase = str => {\n    return str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase());\n  };\n\n  export default {\n    name: 'TabNav',\n\n    components: {\n      TabBar\n    },\n\n    inject: ['rootTabs'],\n\n    props: {\n      panes: Array,\n      currentName: String,\n      editable: Boolean,\n      onTabClick: {\n        type: Function,\n        default: noop\n      },\n      onTabRemove: {\n        type: Function,\n        default: noop\n      },\n      type: String,\n      stretch: Boolean\n    },\n\n    data() {\n      return {\n        scrollable: false,\n        navOffset: 0,\n        isFocus: false,\n        focusable: true\n      };\n    },\n\n    computed: {\n      navStyle() {\n        const dir = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'X' : 'Y';\n        return {\n          transform: `translate${dir}(-${this.navOffset}px)`\n        };\n      },\n      sizeName() {\n        return ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'width' : 'height';\n      }\n    },\n\n    methods: {\n      scrollPrev() {\n        const containerSize = this.$refs.navScroll[`offset${firstUpperCase(this.sizeName)}`];\n        const currentOffset = this.navOffset;\n\n        if (!currentOffset) return;\n\n        let newOffset = currentOffset > containerSize\n          ? currentOffset - containerSize\n          : 0;\n\n        this.navOffset = newOffset;\n      },\n      scrollNext() {\n        const navSize = this.$refs.nav[`offset${firstUpperCase(this.sizeName)}`];\n        const containerSize = this.$refs.navScroll[`offset${firstUpperCase(this.sizeName)}`];\n        const currentOffset = this.navOffset;\n\n        if (navSize - currentOffset <= containerSize) return;\n\n        let newOffset = navSize - currentOffset > containerSize * 2\n          ? currentOffset + containerSize\n          : (navSize - containerSize);\n\n        this.navOffset = newOffset;\n      },\n      scrollToActiveTab() {\n        if (!this.scrollable) return;\n        const nav = this.$refs.nav;\n        const activeTab = this.$el.querySelector('.is-active');\n        if (!activeTab) return;\n        const navScroll = this.$refs.navScroll;\n        const isHorizontal = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1;\n        const activeTabBounding = activeTab.getBoundingClientRect();\n        const navScrollBounding = navScroll.getBoundingClientRect();\n        const maxOffset = isHorizontal\n          ? nav.offsetWidth - navScrollBounding.width\n          : nav.offsetHeight - navScrollBounding.height;\n        const currentOffset = this.navOffset;\n        let newOffset = currentOffset;\n\n        if (isHorizontal) {\n          if (activeTabBounding.left < navScrollBounding.left) {\n            newOffset = currentOffset - (navScrollBounding.left - activeTabBounding.left);\n          }\n          if (activeTabBounding.right > navScrollBounding.right) {\n            newOffset = currentOffset + activeTabBounding.right - navScrollBounding.right;\n          }\n        } else {\n          if (activeTabBounding.top < navScrollBounding.top) {\n            newOffset = currentOffset - (navScrollBounding.top - activeTabBounding.top);\n          }\n          if (activeTabBounding.bottom > navScrollBounding.bottom) {\n            newOffset = currentOffset + (activeTabBounding.bottom - navScrollBounding.bottom);\n          }\n        }\n        newOffset = Math.max(newOffset, 0);\n        this.navOffset = Math.min(newOffset, maxOffset);\n      },\n      update() {\n        if (!this.$refs.nav) return;\n        const sizeName = this.sizeName;\n        const navSize = this.$refs.nav[`offset${firstUpperCase(sizeName)}`];\n        const containerSize = this.$refs.navScroll[`offset${firstUpperCase(sizeName)}`];\n        const currentOffset = this.navOffset;\n\n        if (containerSize < navSize) {\n          const currentOffset = this.navOffset;\n          this.scrollable = this.scrollable || {};\n          this.scrollable.prev = currentOffset;\n          this.scrollable.next = currentOffset + containerSize < navSize;\n          if (navSize - currentOffset < containerSize) {\n            this.navOffset = navSize - containerSize;\n          }\n        } else {\n          this.scrollable = false;\n          if (currentOffset > 0) {\n            this.navOffset = 0;\n          }\n        }\n      },\n      changeTab(e) {\n        const keyCode = e.keyCode;\n        let nextIndex;\n        let currentIndex, tabList;\n        if ([37, 38, 39, 40].indexOf(keyCode) !== -1) { // 左右上下键更换tab\n          tabList = e.currentTarget.querySelectorAll('[role=tab]');\n          currentIndex = Array.prototype.indexOf.call(tabList, e.target);\n        } else {\n          return;\n        }\n        if (keyCode === 37 || keyCode === 38) { // left\n          if (currentIndex === 0) { // first\n            nextIndex = tabList.length - 1;\n          } else {\n            nextIndex = currentIndex - 1;\n          }\n        } else { // right\n          if (currentIndex < tabList.length - 1) { // not last\n            nextIndex = currentIndex + 1;\n          } else {\n            nextIndex = 0;\n          }\n        }\n        tabList[nextIndex].focus(); // 改变焦点元素\n        tabList[nextIndex].click(); // 选中下一个tab\n        this.setFocus();\n      },\n      setFocus() {\n        if (this.focusable) {\n          this.isFocus = true;\n        }\n      },\n      removeFocus() {\n        this.isFocus = false;\n      },\n      visibilityChangeHandler() {\n        const visibility = document.visibilityState;\n        if (visibility === 'hidden') {\n          this.focusable = false;\n        } else if (visibility === 'visible') {\n          setTimeout(() => {\n            this.focusable = true;\n          }, 50);\n        }\n      },\n      windowBlurHandler() {\n        this.focusable = false;\n      },\n      windowFocusHandler() {\n        setTimeout(() => {\n          this.focusable = true;\n        }, 50);\n      }\n    },\n\n    updated() {\n      this.update();\n    },\n\n    render(h) {\n      const {\n        type,\n        panes,\n        editable,\n        stretch,\n        onTabClick,\n        onTabRemove,\n        navStyle,\n        scrollable,\n        scrollNext,\n        scrollPrev,\n        changeTab,\n        setFocus,\n        removeFocus\n      } = this;\n      const scrollBtn = scrollable\n        ? [\n          <span class={['el-tabs__nav-prev', scrollable.prev ? '' : 'is-disabled']} on-click={scrollPrev}><i class=\"el-icon-arrow-left\"></i></span>,\n          <span class={['el-tabs__nav-next', scrollable.next ? '' : 'is-disabled']} on-click={scrollNext}><i class=\"el-icon-arrow-right\"></i></span>\n        ] : null;\n\n      const tabs = this._l(panes, (pane, index) => {\n        let tabName = pane.name || pane.index || index;\n        const closable = pane.isClosable || editable;\n\n        pane.index = `${index}`;\n\n        const btnClose = closable\n          ? <span class=\"el-icon-close\" on-click={(ev) => { onTabRemove(pane, ev); }}></span>\n          : null;\n\n        const tabLabelContent = pane.$slots.label || pane.label;\n        const tabindex = pane.active ? 0 : -1;\n        return (\n          <div\n            class={{\n              'el-tabs__item': true,\n              [`is-${ this.rootTabs.tabPosition }`]: true,\n              'is-active': pane.active,\n              'is-disabled': pane.disabled,\n              'is-closable': closable,\n              'is-focus': this.isFocus\n            }}\n            id={`tab-${tabName}`}\n            key={`tab-${tabName}`}\n            aria-controls={`pane-${tabName}`}\n            role=\"tab\"\n            aria-selected={ pane.active }\n            ref=\"tabs\"\n            tabindex={tabindex}\n            refInFor\n            on-focus={ ()=> { setFocus(); }}\n            on-blur ={ ()=> { removeFocus(); }}\n            on-click={(ev) => { removeFocus(); onTabClick(pane, tabName, ev); }}\n            on-keydown={(ev) => { if (closable && (ev.keyCode === 46 || ev.keyCode === 8)) { onTabRemove(pane, ev);} }}\n          >\n            {tabLabelContent}\n            {btnClose}\n          </div>\n        );\n      });\n      return (\n        <div class={['el-tabs__nav-wrap', scrollable ? 'is-scrollable' : '', `is-${ this.rootTabs.tabPosition }`]}>\n          {scrollBtn}\n          <div class={['el-tabs__nav-scroll']} ref=\"navScroll\">\n            <div\n              class={['el-tabs__nav', `is-${ this.rootTabs.tabPosition }`, stretch && ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'is-stretch' : '']}\n              ref=\"nav\"\n              style={navStyle}\n              role=\"tablist\"\n              on-keydown={ changeTab }\n            >\n              {!type ? <tab-bar tabs={panes}></tab-bar> : null}\n              {tabs}\n            </div>\n          </div>\n        </div>\n      );\n    },\n\n    mounted() {\n      addResizeListener(this.$el, this.update);\n      document.addEventListener('visibilitychange', this.visibilityChangeHandler);\n      window.addEventListener('blur', this.windowBlurHandler);\n      window.addEventListener('focus', this.windowFocusHandler);\n      setTimeout(() => {\n        this.scrollToActiveTab();\n      }, 0);\n    },\n\n    beforeDestroy() {\n      if (this.$el && this.update) removeResizeListener(this.$el, this.update);\n      document.removeEventListener('visibilitychange', this.visibilityChangeHandler);\n      window.removeEventListener('blur', this.windowBlurHandler);\n      window.removeEventListener('focus', this.windowFocusHandler);\n    }\n  };\n</script>\n","var render, staticRenderFns\nimport script from \"./tab-nav.vue?vue&type=script&lang=js&\"\nexport * from \"./tab-nav.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./tabs.vue?vue&type=script&lang=js&\"\nexport * from \"./tabs.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./tab-nav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./tab-nav.vue?vue&type=script&lang=js&\"","<script>\n  import TabNav from './tab-nav';\n\n  export default {\n    name: 'ElTabs',\n\n    components: {\n      TabNav\n    },\n\n    props: {\n      type: String,\n      activeName: String,\n      closable: Boolean,\n      addable: Boolean,\n      value: {},\n      editable: Boolean,\n      tabPosition: {\n        type: String,\n        default: 'top'\n      },\n      beforeLeave: Function,\n      stretch: Boolean\n    },\n\n    provide() {\n      return {\n        rootTabs: this\n      };\n    },\n\n    data() {\n      return {\n        currentName: this.value || this.activeName,\n        panes: []\n      };\n    },\n\n    watch: {\n      activeName(value) {\n        this.setCurrentName(value);\n      },\n      value(value) {\n        this.setCurrentName(value);\n      },\n      currentName(value) {\n        if (this.$refs.nav) {\n          this.$nextTick(() => {\n            this.$refs.nav.$nextTick(_ => {\n              this.$refs.nav.scrollToActiveTab();\n            });\n          });\n        }\n      }\n    },\n\n    methods: {\n      calcPaneInstances(isForceUpdate = false) {\n        if (this.$slots.default) {\n          const paneSlots = this.$slots.default.filter(vnode => vnode.tag &&\n            vnode.componentOptions && vnode.componentOptions.Ctor.options.name === 'ElTabPane');\n          // update indeed\n          const panes = paneSlots.map(({ componentInstance }) => componentInstance);\n          const panesChanged = !(panes.length === this.panes.length && panes.every((pane, index) => pane === this.panes[index]));\n          if (isForceUpdate || panesChanged) {\n            this.panes = panes;\n          }\n        } else if (this.panes.length !== 0) {\n          this.panes = [];\n        }\n      },\n      handleTabClick(tab, tabName, event) {\n        if (tab.disabled) return;\n        this.setCurrentName(tabName);\n        this.$emit('tab-click', tab, event);\n      },\n      handleTabRemove(pane, ev) {\n        if (pane.disabled) return;\n        ev.stopPropagation();\n        this.$emit('edit', pane.name, 'remove');\n        this.$emit('tab-remove', pane.name);\n      },\n      handleTabAdd() {\n        this.$emit('edit', null, 'add');\n        this.$emit('tab-add');\n      },\n      setCurrentName(value) {\n        const changeCurrentName = () => {\n          this.currentName = value;\n          this.$emit('input', value);\n        };\n        if (this.currentName !== value && this.beforeLeave) {\n          const before = this.beforeLeave(value, this.currentName);\n          if (before && before.then) {\n            before\n              .then(() => {\n                changeCurrentName();\n                this.$refs.nav && this.$refs.nav.removeFocus();\n              }, () => {\n                // https://github.com/ElemeFE/element/pull/14816\n                // ignore promise rejection in `before-leave` hook\n              });\n          } else if (before !== false) {\n            changeCurrentName();\n          }\n        } else {\n          changeCurrentName();\n        }\n      }\n    },\n\n    render(h) {\n      let {\n        type,\n        handleTabClick,\n        handleTabRemove,\n        handleTabAdd,\n        currentName,\n        panes,\n        editable,\n        addable,\n        tabPosition,\n        stretch\n      } = this;\n\n      const newButton = editable || addable\n        ? (\n          <span\n            class=\"el-tabs__new-tab\"\n            on-click={ handleTabAdd }\n            tabindex=\"0\"\n            on-keydown={ (ev) => { if (ev.keyCode === 13) { handleTabAdd(); }} }\n          >\n            <i class=\"el-icon-plus\"></i>\n          </span>\n        )\n        : null;\n\n      const navData = {\n        props: {\n          currentName,\n          onTabClick: handleTabClick,\n          onTabRemove: handleTabRemove,\n          editable,\n          type,\n          panes,\n          stretch\n        },\n        ref: 'nav'\n      };\n      const header = (\n        <div class={['el-tabs__header', `is-${tabPosition}`]}>\n          {newButton}\n          <tab-nav { ...navData }></tab-nav>\n        </div>\n      );\n      const panels = (\n        <div class=\"el-tabs__content\">\n          {this.$slots.default}\n        </div>\n      );\n\n      return (\n        <div class={{\n          'el-tabs': true,\n          'el-tabs--card': type === 'card',\n          [`el-tabs--${tabPosition}`]: true,\n          'el-tabs--border-card': type === 'border-card'\n        }}>\n          { tabPosition !== 'bottom' ? [header, panels] : [panels, header] }\n        </div>\n      );\n    },\n  \n    created() {\n      if (!this.currentName) {\n        this.setCurrentName('0');\n      }\n\n      this.$on('tab-nav-update', this.calcPaneInstances.bind(null, true));\n    },\n\n    mounted() {\n      this.calcPaneInstances();\n    },\n\n    updated() {\n      this.calcPaneInstances();\n    }\n  };\n</script>\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./tabs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./tabs.vue?vue&type=script&lang=js&\"","import ElTabs from './src/tabs';\n\n/* istanbul ignore next */\nElTabs.install = function(Vue) {\n  Vue.component(ElTabs.name, ElTabs);\n};\n\nexport default ElTabs;\n","import 'element/css/tabs.scss'\n\nimport Tabs from 'element-ui/packages/tabs'\n\nexport default Tabs\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","<template>\n  <div class=\"widget-status\">\n    <div\n      v-if=\"localeName\"\n      class=\"widget-status__title\"\n    >\n      {{ locale.title }}:\n    </div>\n    <div class=\"widget-status__label\">\n      <ElTag\n        size=\"mini\"\n        effect=\"dark\"\n        :type=\"type\"\n      >\n        {{ label }}\n      </ElTag>\n    </div>\n  </div>\n</template>\n\n<script>\nimport ElTag from 'element/ElTag'\nexport default {\n  components: {\n    ElTag,\n  },\n\n  props: {\n    localeName: VueTypes.string,\n    fieldName: VueTypes.string.isRequired,\n  },\n\n  computed: {\n    locale: ({ $rootLocale, localeName }) => ({\n      enabled: $rootLocale('views.streamer.widget.header.enabled'),\n      disabled: $rootLocale('views.streamer.widget.header.disabled'),\n      title: $rootLocale(`views.streamer.widget.header.${localeName}`),\n    }),\n    widget: ({ $store }) => $store.getters['widgetSettings/widget'],\n    type: ({ widget, fieldName }) => widget[fieldName] ? 'success' : 'danger',\n    label: ({ widget, locale, fieldName }) => widget[fieldName] ? locale.enabled : locale.disabled,\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.widget-status {\n  display: flex;\n  align-items: center;\n\n  @media (max-width: $--tablet-portrait) {\n    justify-content: space-between;\n  }\n\n  &__title {\n    margin-right: 8px;\n\n    @media (max-width: $--tablet-portrait) {\n      margin-right: 0;\n    }\n  }\n}\n</style>\n","var render = function render(){var _vm=this,_c=_vm._self._c;return ((!_vm.lazy || _vm.loaded) || _vm.active)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.active),expression:\"active\"}],staticClass:\"el-tab-pane\",attrs:{\"role\":\"tabpanel\",\"aria-hidden\":!_vm.active,\"id\":`pane-${_vm.paneName}`,\"aria-labelledby\":`tab-${_vm.paneName}`}},[_vm._t(\"default\")],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div\n    class=\"el-tab-pane\"\n    v-if=\"(!lazy || loaded) || active\"\n    v-show=\"active\"\n    role=\"tabpanel\"\n    :aria-hidden=\"!active\"\n    :id=\"`pane-${paneName}`\"\n    :aria-labelledby=\"`tab-${paneName}`\"\n  >\n    <slot></slot>\n  </div>\n</template>\n<script>\n  export default {\n    name: 'ElTabPane',\n\n    componentName: 'ElTabPane',\n\n    props: {\n      label: String,\n      labelContent: Function,\n      name: String,\n      closable: Boolean,\n      disabled: Boolean,\n      lazy: Boolean\n    },\n\n    data() {\n      return {\n        index: null,\n        loaded: false\n      };\n    },\n\n    computed: {\n      isClosable() {\n        return this.closable || this.$parent.closable;\n      },\n      active() {\n        const active = this.$parent.currentName === (this.name || this.index);\n        if (active) {\n          this.loaded = true;\n        }\n        return active;\n      },\n      paneName() {\n        return this.name || this.index;\n      }\n    },\n\n    updated() {\n      this.$parent.$emit('tab-nav-update');\n    }\n  };\n</script>\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./tab-pane.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./tab-pane.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./tab-pane.vue?vue&type=template&id=702b58b3&\"\nimport script from \"./tab-pane.vue?vue&type=script&lang=js&\"\nexport * from \"./tab-pane.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import TabPane from '../tabs/src/tab-pane.vue';\n\n/* istanbul ignore next */\nTabPane.install = function(Vue) {\n  Vue.component(TabPane.name, TabPane);\n};\n\nexport default TabPane;\n","import TabPane from 'element-ui/packages/tab-pane'\n\nexport default TabPane\n","function _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n    return typeof obj;\n  } : function (obj) {\n    return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n  }, _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  Object.defineProperty(Constructor, \"prototype\", {\n    writable: false\n  });\n  return Constructor;\n}\n\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  Object.defineProperty(subClass, \"prototype\", {\n    writable: false\n  });\n  if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n  if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n  if (Reflect.construct.sham) return false;\n  if (typeof Proxy === \"function\") return true;\n\n  try {\n    Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n  if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n    return call;\n  } else if (call !== void 0) {\n    throw new TypeError(\"Derived constructors may only return object or undefined\");\n  }\n\n  return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n  var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n  return function _createSuperInternal() {\n    var Super = _getPrototypeOf(Derived),\n        result;\n\n    if (hasNativeReflectConstruct) {\n      var NewTarget = _getPrototypeOf(this).constructor;\n\n      result = Reflect.construct(Super, arguments, NewTarget);\n    } else {\n      result = Super.apply(this, arguments);\n    }\n\n    return _possibleConstructorReturn(this, result);\n  };\n}\n\n/**\r\n * This class represents a basic channel.\r\n */\nvar Channel = /*#__PURE__*/function () {\n  function Channel() {\n    _classCallCheck(this, Channel);\n  }\n\n  _createClass(Channel, [{\n    key: \"listenForWhisper\",\n    value:\n    /**\r\n     * Listen for a whisper event on the channel instance.\r\n     */\n    function listenForWhisper(event, callback) {\n      return this.listen('.client-' + event, callback);\n    }\n    /**\r\n     * Listen for an event on the channel instance.\r\n     */\n\n  }, {\n    key: \"notification\",\n    value: function notification(callback) {\n      return this.listen('.Illuminate\\\\Notifications\\\\Events\\\\BroadcastNotificationCreated', callback);\n    }\n    /**\r\n     * Stop listening for a whisper event on the channel instance.\r\n     */\n\n  }, {\n    key: \"stopListeningForWhisper\",\n    value: function stopListeningForWhisper(event, callback) {\n      return this.stopListening('.client-' + event, callback);\n    }\n  }]);\n\n  return Channel;\n}();\n\n/**\r\n * Event name formatter\r\n */\nvar EventFormatter = /*#__PURE__*/function () {\n  /**\r\n   * Create a new class instance.\r\n   */\n  function EventFormatter(namespace) {\n    _classCallCheck(this, EventFormatter);\n\n    this.setNamespace(namespace);\n  }\n  /**\r\n   * Format the given event name.\r\n   */\n\n\n  _createClass(EventFormatter, [{\n    key: \"format\",\n    value: function format(event) {\n      if (event.charAt(0) === '.' || event.charAt(0) === '\\\\') {\n        return event.substr(1);\n      } else if (this.namespace) {\n        event = this.namespace + '.' + event;\n      }\n\n      return event.replace(/\\./g, '\\\\');\n    }\n    /**\r\n     * Set the event namespace.\r\n     */\n\n  }, {\n    key: \"setNamespace\",\n    value: function setNamespace(value) {\n      this.namespace = value;\n    }\n  }]);\n\n  return EventFormatter;\n}();\n\n/**\r\n * This class represents a Pusher channel.\r\n */\n\nvar PusherChannel = /*#__PURE__*/function (_Channel) {\n  _inherits(PusherChannel, _Channel);\n\n  var _super = _createSuper(PusherChannel);\n\n  /**\r\n   * Create a new class instance.\r\n   */\n  function PusherChannel(pusher, name, options) {\n    var _this;\n\n    _classCallCheck(this, PusherChannel);\n\n    _this = _super.call(this);\n    _this.name = name;\n    _this.pusher = pusher;\n    _this.options = options;\n    _this.eventFormatter = new EventFormatter(_this.options.namespace);\n\n    _this.subscribe();\n\n    return _this;\n  }\n  /**\r\n   * Subscribe to a Pusher channel.\r\n   */\n\n\n  _createClass(PusherChannel, [{\n    key: \"subscribe\",\n    value: function subscribe() {\n      this.subscription = this.pusher.subscribe(this.name);\n    }\n    /**\r\n     * Unsubscribe from a Pusher channel.\r\n     */\n\n  }, {\n    key: \"unsubscribe\",\n    value: function unsubscribe() {\n      this.pusher.unsubscribe(this.name);\n    }\n    /**\r\n     * Listen for an event on the channel instance.\r\n     */\n\n  }, {\n    key: \"listen\",\n    value: function listen(event, callback) {\n      this.on(this.eventFormatter.format(event), callback);\n      return this;\n    }\n    /**\r\n     * Listen for all events on the channel instance.\r\n     */\n\n  }, {\n    key: \"listenToAll\",\n    value: function listenToAll(callback) {\n      var _this2 = this;\n\n      this.subscription.bind_global(function (event, data) {\n        if (event.startsWith('pusher:')) {\n          return;\n        }\n\n        var namespace = _this2.options.namespace.replace(/\\./g, '\\\\');\n\n        var formattedEvent = event.startsWith(namespace) ? event.substring(namespace.length + 1) : '.' + event;\n        callback(formattedEvent, data);\n      });\n      return this;\n    }\n    /**\r\n     * Stop listening for an event on the channel instance.\r\n     */\n\n  }, {\n    key: \"stopListening\",\n    value: function stopListening(event, callback) {\n      if (callback) {\n        this.subscription.unbind(this.eventFormatter.format(event), callback);\n      } else {\n        this.subscription.unbind(this.eventFormatter.format(event));\n      }\n\n      return this;\n    }\n    /**\r\n     * Stop listening for all events on the channel instance.\r\n     */\n\n  }, {\n    key: \"stopListeningToAll\",\n    value: function stopListeningToAll(callback) {\n      if (callback) {\n        this.subscription.unbind_global(callback);\n      } else {\n        this.subscription.unbind_global();\n      }\n\n      return this;\n    }\n    /**\r\n     * Register a callback to be called anytime a subscription succeeds.\r\n     */\n\n  }, {\n    key: \"subscribed\",\n    value: function subscribed(callback) {\n      this.on('pusher:subscription_succeeded', function () {\n        callback();\n      });\n      return this;\n    }\n    /**\r\n     * Register a callback to be called anytime a subscription error occurs.\r\n     */\n\n  }, {\n    key: \"error\",\n    value: function error(callback) {\n      this.on('pusher:subscription_error', function (status) {\n        callback(status);\n      });\n      return this;\n    }\n    /**\r\n     * Bind a channel to an event.\r\n     */\n\n  }, {\n    key: \"on\",\n    value: function on(event, callback) {\n      this.subscription.bind(event, callback);\n      return this;\n    }\n  }]);\n\n  return PusherChannel;\n}(Channel);\n\n/**\r\n * This class represents a Pusher private channel.\r\n */\n\nvar PusherPrivateChannel = /*#__PURE__*/function (_PusherChannel) {\n  _inherits(PusherPrivateChannel, _PusherChannel);\n\n  var _super = _createSuper(PusherPrivateChannel);\n\n  function PusherPrivateChannel() {\n    _classCallCheck(this, PusherPrivateChannel);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(PusherPrivateChannel, [{\n    key: \"whisper\",\n    value:\n    /**\r\n     * Send a whisper event to other clients in the channel.\r\n     */\n    function whisper(eventName, data) {\n      this.pusher.channels.channels[this.name].trigger(\"client-\".concat(eventName), data);\n      return this;\n    }\n  }]);\n\n  return PusherPrivateChannel;\n}(PusherChannel);\n\n/**\r\n * This class represents a Pusher private channel.\r\n */\n\nvar PusherEncryptedPrivateChannel = /*#__PURE__*/function (_PusherChannel) {\n  _inherits(PusherEncryptedPrivateChannel, _PusherChannel);\n\n  var _super = _createSuper(PusherEncryptedPrivateChannel);\n\n  function PusherEncryptedPrivateChannel() {\n    _classCallCheck(this, PusherEncryptedPrivateChannel);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(PusherEncryptedPrivateChannel, [{\n    key: \"whisper\",\n    value:\n    /**\r\n     * Send a whisper event to other clients in the channel.\r\n     */\n    function whisper(eventName, data) {\n      this.pusher.channels.channels[this.name].trigger(\"client-\".concat(eventName), data);\n      return this;\n    }\n  }]);\n\n  return PusherEncryptedPrivateChannel;\n}(PusherChannel);\n\n/**\r\n * This class represents a Pusher presence channel.\r\n */\n\nvar PusherPresenceChannel = /*#__PURE__*/function (_PusherChannel) {\n  _inherits(PusherPresenceChannel, _PusherChannel);\n\n  var _super = _createSuper(PusherPresenceChannel);\n\n  function PusherPresenceChannel() {\n    _classCallCheck(this, PusherPresenceChannel);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(PusherPresenceChannel, [{\n    key: \"here\",\n    value:\n    /**\r\n     * Register a callback to be called anytime the member list changes.\r\n     */\n    function here(callback) {\n      this.on('pusher:subscription_succeeded', function (data) {\n        callback(Object.keys(data.members).map(function (k) {\n          return data.members[k];\n        }));\n      });\n      return this;\n    }\n    /**\r\n     * Listen for someone joining the channel.\r\n     */\n\n  }, {\n    key: \"joining\",\n    value: function joining(callback) {\n      this.on('pusher:member_added', function (member) {\n        callback(member.info);\n      });\n      return this;\n    }\n    /**\r\n     * Send a whisper event to other clients in the channel.\r\n     */\n\n  }, {\n    key: \"whisper\",\n    value: function whisper(eventName, data) {\n      this.pusher.channels.channels[this.name].trigger(\"client-\".concat(eventName), data);\n      return this;\n    }\n    /**\r\n     * Listen for someone leaving the channel.\r\n     */\n\n  }, {\n    key: \"leaving\",\n    value: function leaving(callback) {\n      this.on('pusher:member_removed', function (member) {\n        callback(member.info);\n      });\n      return this;\n    }\n  }]);\n\n  return PusherPresenceChannel;\n}(PusherChannel);\n\n/**\r\n * This class represents a Socket.io channel.\r\n */\n\nvar SocketIoChannel = /*#__PURE__*/function (_Channel) {\n  _inherits(SocketIoChannel, _Channel);\n\n  var _super = _createSuper(SocketIoChannel);\n\n  /**\r\n   * Create a new class instance.\r\n   */\n  function SocketIoChannel(socket, name, options) {\n    var _this;\n\n    _classCallCheck(this, SocketIoChannel);\n\n    _this = _super.call(this);\n    /**\r\n     * The event callbacks applied to the socket.\r\n     */\n\n    _this.events = {};\n    /**\r\n     * User supplied callbacks for events on this channel.\r\n     */\n\n    _this.listeners = {};\n    _this.name = name;\n    _this.socket = socket;\n    _this.options = options;\n    _this.eventFormatter = new EventFormatter(_this.options.namespace);\n\n    _this.subscribe();\n\n    return _this;\n  }\n  /**\r\n   * Subscribe to a Socket.io channel.\r\n   */\n\n\n  _createClass(SocketIoChannel, [{\n    key: \"subscribe\",\n    value: function subscribe() {\n      this.socket.emit('subscribe', {\n        channel: this.name,\n        auth: this.options.auth || {}\n      });\n    }\n    /**\r\n     * Unsubscribe from channel and ubind event callbacks.\r\n     */\n\n  }, {\n    key: \"unsubscribe\",\n    value: function unsubscribe() {\n      this.unbind();\n      this.socket.emit('unsubscribe', {\n        channel: this.name,\n        auth: this.options.auth || {}\n      });\n    }\n    /**\r\n     * Listen for an event on the channel instance.\r\n     */\n\n  }, {\n    key: \"listen\",\n    value: function listen(event, callback) {\n      this.on(this.eventFormatter.format(event), callback);\n      return this;\n    }\n    /**\r\n     * Stop listening for an event on the channel instance.\r\n     */\n\n  }, {\n    key: \"stopListening\",\n    value: function stopListening(event, callback) {\n      this.unbindEvent(this.eventFormatter.format(event), callback);\n      return this;\n    }\n    /**\r\n     * Register a callback to be called anytime a subscription succeeds.\r\n     */\n\n  }, {\n    key: \"subscribed\",\n    value: function subscribed(callback) {\n      this.on('connect', function (socket) {\n        callback(socket);\n      });\n      return this;\n    }\n    /**\r\n     * Register a callback to be called anytime an error occurs.\r\n     */\n\n  }, {\n    key: \"error\",\n    value: function error(callback) {\n      return this;\n    }\n    /**\r\n     * Bind the channel's socket to an event and store the callback.\r\n     */\n\n  }, {\n    key: \"on\",\n    value: function on(event, callback) {\n      var _this2 = this;\n\n      this.listeners[event] = this.listeners[event] || [];\n\n      if (!this.events[event]) {\n        this.events[event] = function (channel, data) {\n          if (_this2.name === channel && _this2.listeners[event]) {\n            _this2.listeners[event].forEach(function (cb) {\n              return cb(data);\n            });\n          }\n        };\n\n        this.socket.on(event, this.events[event]);\n      }\n\n      this.listeners[event].push(callback);\n      return this;\n    }\n    /**\r\n     * Unbind the channel's socket from all stored event callbacks.\r\n     */\n\n  }, {\n    key: \"unbind\",\n    value: function unbind() {\n      var _this3 = this;\n\n      Object.keys(this.events).forEach(function (event) {\n        _this3.unbindEvent(event);\n      });\n    }\n    /**\r\n     * Unbind the listeners for the given event.\r\n     */\n\n  }, {\n    key: \"unbindEvent\",\n    value: function unbindEvent(event, callback) {\n      this.listeners[event] = this.listeners[event] || [];\n\n      if (callback) {\n        this.listeners[event] = this.listeners[event].filter(function (cb) {\n          return cb !== callback;\n        });\n      }\n\n      if (!callback || this.listeners[event].length === 0) {\n        if (this.events[event]) {\n          this.socket.removeListener(event, this.events[event]);\n          delete this.events[event];\n        }\n\n        delete this.listeners[event];\n      }\n    }\n  }]);\n\n  return SocketIoChannel;\n}(Channel);\n\n/**\r\n * This class represents a Socket.io private channel.\r\n */\n\nvar SocketIoPrivateChannel = /*#__PURE__*/function (_SocketIoChannel) {\n  _inherits(SocketIoPrivateChannel, _SocketIoChannel);\n\n  var _super = _createSuper(SocketIoPrivateChannel);\n\n  function SocketIoPrivateChannel() {\n    _classCallCheck(this, SocketIoPrivateChannel);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(SocketIoPrivateChannel, [{\n    key: \"whisper\",\n    value:\n    /**\r\n     * Send a whisper event to other clients in the channel.\r\n     */\n    function whisper(eventName, data) {\n      this.socket.emit('client event', {\n        channel: this.name,\n        event: \"client-\".concat(eventName),\n        data: data\n      });\n      return this;\n    }\n  }]);\n\n  return SocketIoPrivateChannel;\n}(SocketIoChannel);\n\n/**\r\n * This class represents a Socket.io presence channel.\r\n */\n\nvar SocketIoPresenceChannel = /*#__PURE__*/function (_SocketIoPrivateChann) {\n  _inherits(SocketIoPresenceChannel, _SocketIoPrivateChann);\n\n  var _super = _createSuper(SocketIoPresenceChannel);\n\n  function SocketIoPresenceChannel() {\n    _classCallCheck(this, SocketIoPresenceChannel);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(SocketIoPresenceChannel, [{\n    key: \"here\",\n    value:\n    /**\r\n     * Register a callback to be called anytime the member list changes.\r\n     */\n    function here(callback) {\n      this.on('presence:subscribed', function (members) {\n        callback(members.map(function (m) {\n          return m.user_info;\n        }));\n      });\n      return this;\n    }\n    /**\r\n     * Listen for someone joining the channel.\r\n     */\n\n  }, {\n    key: \"joining\",\n    value: function joining(callback) {\n      this.on('presence:joining', function (member) {\n        return callback(member.user_info);\n      });\n      return this;\n    }\n    /**\r\n     * Send a whisper event to other clients in the channel.\r\n     */\n\n  }, {\n    key: \"whisper\",\n    value: function whisper(eventName, data) {\n      this.socket.emit('client event', {\n        channel: this.name,\n        event: \"client-\".concat(eventName),\n        data: data\n      });\n      return this;\n    }\n    /**\r\n     * Listen for someone leaving the channel.\r\n     */\n\n  }, {\n    key: \"leaving\",\n    value: function leaving(callback) {\n      this.on('presence:leaving', function (member) {\n        return callback(member.user_info);\n      });\n      return this;\n    }\n  }]);\n\n  return SocketIoPresenceChannel;\n}(SocketIoPrivateChannel);\n\n/**\r\n * This class represents a null channel.\r\n */\n\nvar NullChannel = /*#__PURE__*/function (_Channel) {\n  _inherits(NullChannel, _Channel);\n\n  var _super = _createSuper(NullChannel);\n\n  function NullChannel() {\n    _classCallCheck(this, NullChannel);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(NullChannel, [{\n    key: \"subscribe\",\n    value:\n    /**\r\n     * Subscribe to a channel.\r\n     */\n    function subscribe() {//\n    }\n    /**\r\n     * Unsubscribe from a channel.\r\n     */\n\n  }, {\n    key: \"unsubscribe\",\n    value: function unsubscribe() {//\n    }\n    /**\r\n     * Listen for an event on the channel instance.\r\n     */\n\n  }, {\n    key: \"listen\",\n    value: function listen(event, callback) {\n      return this;\n    }\n    /**\r\n     * Listen for all events on the channel instance.\r\n     */\n\n  }, {\n    key: \"listenToAll\",\n    value: function listenToAll(callback) {\n      return this;\n    }\n    /**\r\n     * Stop listening for an event on the channel instance.\r\n     */\n\n  }, {\n    key: \"stopListening\",\n    value: function stopListening(event, callback) {\n      return this;\n    }\n    /**\r\n     * Register a callback to be called anytime a subscription succeeds.\r\n     */\n\n  }, {\n    key: \"subscribed\",\n    value: function subscribed(callback) {\n      return this;\n    }\n    /**\r\n     * Register a callback to be called anytime an error occurs.\r\n     */\n\n  }, {\n    key: \"error\",\n    value: function error(callback) {\n      return this;\n    }\n    /**\r\n     * Bind a channel to an event.\r\n     */\n\n  }, {\n    key: \"on\",\n    value: function on(event, callback) {\n      return this;\n    }\n  }]);\n\n  return NullChannel;\n}(Channel);\n\n/**\r\n * This class represents a null private channel.\r\n */\n\nvar NullPrivateChannel = /*#__PURE__*/function (_NullChannel) {\n  _inherits(NullPrivateChannel, _NullChannel);\n\n  var _super = _createSuper(NullPrivateChannel);\n\n  function NullPrivateChannel() {\n    _classCallCheck(this, NullPrivateChannel);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(NullPrivateChannel, [{\n    key: \"whisper\",\n    value:\n    /**\r\n     * Send a whisper event to other clients in the channel.\r\n     */\n    function whisper(eventName, data) {\n      return this;\n    }\n  }]);\n\n  return NullPrivateChannel;\n}(NullChannel);\n\n/**\r\n * This class represents a null presence channel.\r\n */\n\nvar NullPresenceChannel = /*#__PURE__*/function (_NullChannel) {\n  _inherits(NullPresenceChannel, _NullChannel);\n\n  var _super = _createSuper(NullPresenceChannel);\n\n  function NullPresenceChannel() {\n    _classCallCheck(this, NullPresenceChannel);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(NullPresenceChannel, [{\n    key: \"here\",\n    value:\n    /**\r\n     * Register a callback to be called anytime the member list changes.\r\n     */\n    function here(callback) {\n      return this;\n    }\n    /**\r\n     * Listen for someone joining the channel.\r\n     */\n\n  }, {\n    key: \"joining\",\n    value: function joining(callback) {\n      return this;\n    }\n    /**\r\n     * Send a whisper event to other clients in the channel.\r\n     */\n\n  }, {\n    key: \"whisper\",\n    value: function whisper(eventName, data) {\n      return this;\n    }\n    /**\r\n     * Listen for someone leaving the channel.\r\n     */\n\n  }, {\n    key: \"leaving\",\n    value: function leaving(callback) {\n      return this;\n    }\n  }]);\n\n  return NullPresenceChannel;\n}(NullChannel);\n\nvar Connector = /*#__PURE__*/function () {\n  /**\r\n   * Create a new class instance.\r\n   */\n  function Connector(options) {\n    _classCallCheck(this, Connector);\n\n    /**\r\n     * Default connector options.\r\n     */\n    this._defaultOptions = {\n      auth: {\n        headers: {}\n      },\n      authEndpoint: '/broadcasting/auth',\n      userAuthentication: {\n        endpoint: '/broadcasting/user-auth',\n        headers: {}\n      },\n      broadcaster: 'pusher',\n      csrfToken: null,\n      bearerToken: null,\n      host: null,\n      key: null,\n      namespace: 'App.Events'\n    };\n    this.setOptions(options);\n    this.connect();\n  }\n  /**\r\n   * Merge the custom options with the defaults.\r\n   */\n\n\n  _createClass(Connector, [{\n    key: \"setOptions\",\n    value: function setOptions(options) {\n      this.options = _extends(this._defaultOptions, options);\n      var token = this.csrfToken();\n\n      if (token) {\n        this.options.auth.headers['X-CSRF-TOKEN'] = token;\n        this.options.userAuthentication.headers['X-CSRF-TOKEN'] = token;\n      }\n\n      token = this.options.bearerToken;\n\n      if (token) {\n        this.options.auth.headers['Authorization'] = 'Bearer ' + token;\n        this.options.userAuthentication.headers['Authorization'] = 'Bearer ' + token;\n      }\n\n      return options;\n    }\n    /**\r\n     * Extract the CSRF token from the page.\r\n     */\n\n  }, {\n    key: \"csrfToken\",\n    value: function csrfToken() {\n      var selector;\n\n      if (typeof window !== 'undefined' && window['Laravel'] && window['Laravel'].csrfToken) {\n        return window['Laravel'].csrfToken;\n      } else if (this.options.csrfToken) {\n        return this.options.csrfToken;\n      } else if (typeof document !== 'undefined' && typeof document.querySelector === 'function' && (selector = document.querySelector('meta[name=\"csrf-token\"]'))) {\n        return selector.getAttribute('content');\n      }\n\n      return null;\n    }\n  }]);\n\n  return Connector;\n}();\n\n/**\r\n * This class creates a connector to Pusher.\r\n */\n\nvar PusherConnector = /*#__PURE__*/function (_Connector) {\n  _inherits(PusherConnector, _Connector);\n\n  var _super = _createSuper(PusherConnector);\n\n  function PusherConnector() {\n    var _this;\n\n    _classCallCheck(this, PusherConnector);\n\n    _this = _super.apply(this, arguments);\n    /**\r\n     * All of the subscribed channel names.\r\n     */\n\n    _this.channels = {};\n    return _this;\n  }\n  /**\r\n   * Create a fresh Pusher connection.\r\n   */\n\n\n  _createClass(PusherConnector, [{\n    key: \"connect\",\n    value: function connect() {\n      if (typeof this.options.client !== 'undefined') {\n        this.pusher = this.options.client;\n      } else if (this.options.Pusher) {\n        this.pusher = new this.options.Pusher(this.options.key, this.options);\n      } else {\n        this.pusher = new Pusher(this.options.key, this.options);\n      }\n    }\n    /**\r\n     * Sign in the user via Pusher user authentication (https://pusher.com/docs/channels/using_channels/user-authentication/).\r\n     */\n\n  }, {\n    key: \"signin\",\n    value: function signin() {\n      this.pusher.signin();\n    }\n    /**\r\n     * Listen for an event on a channel instance.\r\n     */\n\n  }, {\n    key: \"listen\",\n    value: function listen(name, event, callback) {\n      return this.channel(name).listen(event, callback);\n    }\n    /**\r\n     * Get a channel instance by name.\r\n     */\n\n  }, {\n    key: \"channel\",\n    value: function channel(name) {\n      if (!this.channels[name]) {\n        this.channels[name] = new PusherChannel(this.pusher, name, this.options);\n      }\n\n      return this.channels[name];\n    }\n    /**\r\n     * Get a private channel instance by name.\r\n     */\n\n  }, {\n    key: \"privateChannel\",\n    value: function privateChannel(name) {\n      if (!this.channels['private-' + name]) {\n        this.channels['private-' + name] = new PusherPrivateChannel(this.pusher, 'private-' + name, this.options);\n      }\n\n      return this.channels['private-' + name];\n    }\n    /**\r\n     * Get a private encrypted channel instance by name.\r\n     */\n\n  }, {\n    key: \"encryptedPrivateChannel\",\n    value: function encryptedPrivateChannel(name) {\n      if (!this.channels['private-encrypted-' + name]) {\n        this.channels['private-encrypted-' + name] = new PusherEncryptedPrivateChannel(this.pusher, 'private-encrypted-' + name, this.options);\n      }\n\n      return this.channels['private-encrypted-' + name];\n    }\n    /**\r\n     * Get a presence channel instance by name.\r\n     */\n\n  }, {\n    key: \"presenceChannel\",\n    value: function presenceChannel(name) {\n      if (!this.channels['presence-' + name]) {\n        this.channels['presence-' + name] = new PusherPresenceChannel(this.pusher, 'presence-' + name, this.options);\n      }\n\n      return this.channels['presence-' + name];\n    }\n    /**\r\n     * Leave the given channel, as well as its private and presence variants.\r\n     */\n\n  }, {\n    key: \"leave\",\n    value: function leave(name) {\n      var _this2 = this;\n\n      var channels = [name, 'private-' + name, 'private-encrypted-' + name, 'presence-' + name];\n      channels.forEach(function (name, index) {\n        _this2.leaveChannel(name);\n      });\n    }\n    /**\r\n     * Leave the given channel.\r\n     */\n\n  }, {\n    key: \"leaveChannel\",\n    value: function leaveChannel(name) {\n      if (this.channels[name]) {\n        this.channels[name].unsubscribe();\n        delete this.channels[name];\n      }\n    }\n    /**\r\n     * Get the socket ID for the connection.\r\n     */\n\n  }, {\n    key: \"socketId\",\n    value: function socketId() {\n      return this.pusher.connection.socket_id;\n    }\n    /**\r\n     * Disconnect Pusher connection.\r\n     */\n\n  }, {\n    key: \"disconnect\",\n    value: function disconnect() {\n      this.pusher.disconnect();\n    }\n  }]);\n\n  return PusherConnector;\n}(Connector);\n\n/**\r\n * This class creates a connnector to a Socket.io server.\r\n */\n\nvar SocketIoConnector = /*#__PURE__*/function (_Connector) {\n  _inherits(SocketIoConnector, _Connector);\n\n  var _super = _createSuper(SocketIoConnector);\n\n  function SocketIoConnector() {\n    var _this;\n\n    _classCallCheck(this, SocketIoConnector);\n\n    _this = _super.apply(this, arguments);\n    /**\r\n     * All of the subscribed channel names.\r\n     */\n\n    _this.channels = {};\n    return _this;\n  }\n  /**\r\n   * Create a fresh Socket.io connection.\r\n   */\n\n\n  _createClass(SocketIoConnector, [{\n    key: \"connect\",\n    value: function connect() {\n      var _this2 = this;\n\n      var io = this.getSocketIO();\n      this.socket = io(this.options.host, this.options);\n      this.socket.on('reconnect', function () {\n        Object.values(_this2.channels).forEach(function (channel) {\n          channel.subscribe();\n        });\n      });\n      return this.socket;\n    }\n    /**\r\n     * Get socket.io module from global scope or options.\r\n     */\n\n  }, {\n    key: \"getSocketIO\",\n    value: function getSocketIO() {\n      if (typeof this.options.client !== 'undefined') {\n        return this.options.client;\n      }\n\n      if (typeof io !== 'undefined') {\n        return io;\n      }\n\n      throw new Error('Socket.io client not found. Should be globally available or passed via options.client');\n    }\n    /**\r\n     * Listen for an event on a channel instance.\r\n     */\n\n  }, {\n    key: \"listen\",\n    value: function listen(name, event, callback) {\n      return this.channel(name).listen(event, callback);\n    }\n    /**\r\n     * Get a channel instance by name.\r\n     */\n\n  }, {\n    key: \"channel\",\n    value: function channel(name) {\n      if (!this.channels[name]) {\n        this.channels[name] = new SocketIoChannel(this.socket, name, this.options);\n      }\n\n      return this.channels[name];\n    }\n    /**\r\n     * Get a private channel instance by name.\r\n     */\n\n  }, {\n    key: \"privateChannel\",\n    value: function privateChannel(name) {\n      if (!this.channels['private-' + name]) {\n        this.channels['private-' + name] = new SocketIoPrivateChannel(this.socket, 'private-' + name, this.options);\n      }\n\n      return this.channels['private-' + name];\n    }\n    /**\r\n     * Get a presence channel instance by name.\r\n     */\n\n  }, {\n    key: \"presenceChannel\",\n    value: function presenceChannel(name) {\n      if (!this.channels['presence-' + name]) {\n        this.channels['presence-' + name] = new SocketIoPresenceChannel(this.socket, 'presence-' + name, this.options);\n      }\n\n      return this.channels['presence-' + name];\n    }\n    /**\r\n     * Leave the given channel, as well as its private and presence variants.\r\n     */\n\n  }, {\n    key: \"leave\",\n    value: function leave(name) {\n      var _this3 = this;\n\n      var channels = [name, 'private-' + name, 'presence-' + name];\n      channels.forEach(function (name) {\n        _this3.leaveChannel(name);\n      });\n    }\n    /**\r\n     * Leave the given channel.\r\n     */\n\n  }, {\n    key: \"leaveChannel\",\n    value: function leaveChannel(name) {\n      if (this.channels[name]) {\n        this.channels[name].unsubscribe();\n        delete this.channels[name];\n      }\n    }\n    /**\r\n     * Get the socket ID for the connection.\r\n     */\n\n  }, {\n    key: \"socketId\",\n    value: function socketId() {\n      return this.socket.id;\n    }\n    /**\r\n     * Disconnect Socketio connection.\r\n     */\n\n  }, {\n    key: \"disconnect\",\n    value: function disconnect() {\n      this.socket.disconnect();\n    }\n  }]);\n\n  return SocketIoConnector;\n}(Connector);\n\n/**\r\n * This class creates a null connector.\r\n */\n\nvar NullConnector = /*#__PURE__*/function (_Connector) {\n  _inherits(NullConnector, _Connector);\n\n  var _super = _createSuper(NullConnector);\n\n  function NullConnector() {\n    var _this;\n\n    _classCallCheck(this, NullConnector);\n\n    _this = _super.apply(this, arguments);\n    /**\r\n     * All of the subscribed channel names.\r\n     */\n\n    _this.channels = {};\n    return _this;\n  }\n  /**\r\n   * Create a fresh connection.\r\n   */\n\n\n  _createClass(NullConnector, [{\n    key: \"connect\",\n    value: function connect() {//\n    }\n    /**\r\n     * Listen for an event on a channel instance.\r\n     */\n\n  }, {\n    key: \"listen\",\n    value: function listen(name, event, callback) {\n      return new NullChannel();\n    }\n    /**\r\n     * Get a channel instance by name.\r\n     */\n\n  }, {\n    key: \"channel\",\n    value: function channel(name) {\n      return new NullChannel();\n    }\n    /**\r\n     * Get a private channel instance by name.\r\n     */\n\n  }, {\n    key: \"privateChannel\",\n    value: function privateChannel(name) {\n      return new NullPrivateChannel();\n    }\n    /**\r\n     * Get a private encrypted channel instance by name.\r\n     */\n\n  }, {\n    key: \"encryptedPrivateChannel\",\n    value: function encryptedPrivateChannel(name) {\n      return new NullPrivateChannel();\n    }\n    /**\r\n     * Get a presence channel instance by name.\r\n     */\n\n  }, {\n    key: \"presenceChannel\",\n    value: function presenceChannel(name) {\n      return new NullPresenceChannel();\n    }\n    /**\r\n     * Leave the given channel, as well as its private and presence variants.\r\n     */\n\n  }, {\n    key: \"leave\",\n    value: function leave(name) {//\n    }\n    /**\r\n     * Leave the given channel.\r\n     */\n\n  }, {\n    key: \"leaveChannel\",\n    value: function leaveChannel(name) {//\n    }\n    /**\r\n     * Get the socket ID for the connection.\r\n     */\n\n  }, {\n    key: \"socketId\",\n    value: function socketId() {\n      return 'fake-socket-id';\n    }\n    /**\r\n     * Disconnect the connection.\r\n     */\n\n  }, {\n    key: \"disconnect\",\n    value: function disconnect() {//\n    }\n  }]);\n\n  return NullConnector;\n}(Connector);\n\n/**\r\n * This class is the primary API for interacting with broadcasting.\r\n */\n\nvar Echo = /*#__PURE__*/function () {\n  /**\r\n   * Create a new class instance.\r\n   */\n  function Echo(options) {\n    _classCallCheck(this, Echo);\n\n    this.options = options;\n    this.connect();\n\n    if (!this.options.withoutInterceptors) {\n      this.registerInterceptors();\n    }\n  }\n  /**\r\n   * Get a channel instance by name.\r\n   */\n\n\n  _createClass(Echo, [{\n    key: \"channel\",\n    value: function channel(_channel) {\n      return this.connector.channel(_channel);\n    }\n    /**\r\n     * Create a new connection.\r\n     */\n\n  }, {\n    key: \"connect\",\n    value: function connect() {\n      if (this.options.broadcaster == 'pusher') {\n        this.connector = new PusherConnector(this.options);\n      } else if (this.options.broadcaster == 'socket.io') {\n        this.connector = new SocketIoConnector(this.options);\n      } else if (this.options.broadcaster == 'null') {\n        this.connector = new NullConnector(this.options);\n      } else if (typeof this.options.broadcaster == 'function') {\n        this.connector = new this.options.broadcaster(this.options);\n      }\n    }\n    /**\r\n     * Disconnect from the Echo server.\r\n     */\n\n  }, {\n    key: \"disconnect\",\n    value: function disconnect() {\n      this.connector.disconnect();\n    }\n    /**\r\n     * Get a presence channel instance by name.\r\n     */\n\n  }, {\n    key: \"join\",\n    value: function join(channel) {\n      return this.connector.presenceChannel(channel);\n    }\n    /**\r\n     * Leave the given channel, as well as its private and presence variants.\r\n     */\n\n  }, {\n    key: \"leave\",\n    value: function leave(channel) {\n      this.connector.leave(channel);\n    }\n    /**\r\n     * Leave the given channel.\r\n     */\n\n  }, {\n    key: \"leaveChannel\",\n    value: function leaveChannel(channel) {\n      this.connector.leaveChannel(channel);\n    }\n    /**\r\n     * Leave all channels.\r\n     */\n\n  }, {\n    key: \"leaveAllChannels\",\n    value: function leaveAllChannels() {\n      for (var channel in this.connector.channels) {\n        this.leaveChannel(channel);\n      }\n    }\n    /**\r\n     * Listen for an event on a channel instance.\r\n     */\n\n  }, {\n    key: \"listen\",\n    value: function listen(channel, event, callback) {\n      return this.connector.listen(channel, event, callback);\n    }\n    /**\r\n     * Get a private channel instance by name.\r\n     */\n\n  }, {\n    key: \"private\",\n    value: function _private(channel) {\n      return this.connector.privateChannel(channel);\n    }\n    /**\r\n     * Get a private encrypted channel instance by name.\r\n     */\n\n  }, {\n    key: \"encryptedPrivate\",\n    value: function encryptedPrivate(channel) {\n      return this.connector.encryptedPrivateChannel(channel);\n    }\n    /**\r\n     * Get the Socket ID for the connection.\r\n     */\n\n  }, {\n    key: \"socketId\",\n    value: function socketId() {\n      return this.connector.socketId();\n    }\n    /**\r\n     * Register 3rd party request interceptiors. These are used to automatically\r\n     * send a connections socket id to a Laravel app with a X-Socket-Id header.\r\n     */\n\n  }, {\n    key: \"registerInterceptors\",\n    value: function registerInterceptors() {\n      if (typeof Vue === 'function' && Vue.http) {\n        this.registerVueRequestInterceptor();\n      }\n\n      if (typeof axios === 'function') {\n        this.registerAxiosRequestInterceptor();\n      }\n\n      if (typeof jQuery === 'function') {\n        this.registerjQueryAjaxSetup();\n      }\n\n      if ((typeof Turbo === \"undefined\" ? \"undefined\" : _typeof(Turbo)) === 'object') {\n        this.registerTurboRequestInterceptor();\n      }\n    }\n    /**\r\n     * Register a Vue HTTP interceptor to add the X-Socket-ID header.\r\n     */\n\n  }, {\n    key: \"registerVueRequestInterceptor\",\n    value: function registerVueRequestInterceptor() {\n      var _this = this;\n\n      Vue.http.interceptors.push(function (request, next) {\n        if (_this.socketId()) {\n          request.headers.set('X-Socket-ID', _this.socketId());\n        }\n\n        next();\n      });\n    }\n    /**\r\n     * Register an Axios HTTP interceptor to add the X-Socket-ID header.\r\n     */\n\n  }, {\n    key: \"registerAxiosRequestInterceptor\",\n    value: function registerAxiosRequestInterceptor() {\n      var _this2 = this;\n\n      axios.interceptors.request.use(function (config) {\n        if (_this2.socketId()) {\n          config.headers['X-Socket-Id'] = _this2.socketId();\n        }\n\n        return config;\n      });\n    }\n    /**\r\n     * Register jQuery AjaxPrefilter to add the X-Socket-ID header.\r\n     */\n\n  }, {\n    key: \"registerjQueryAjaxSetup\",\n    value: function registerjQueryAjaxSetup() {\n      var _this3 = this;\n\n      if (typeof jQuery.ajax != 'undefined') {\n        jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n          if (_this3.socketId()) {\n            xhr.setRequestHeader('X-Socket-Id', _this3.socketId());\n          }\n        });\n      }\n    }\n    /**\r\n     * Register the Turbo Request interceptor to add the X-Socket-ID header.\r\n     */\n\n  }, {\n    key: \"registerTurboRequestInterceptor\",\n    value: function registerTurboRequestInterceptor() {\n      var _this4 = this;\n\n      document.addEventListener('turbo:before-fetch-request', function (event) {\n        event.detail.fetchOptions.headers['X-Socket-Id'] = _this4.socketId();\n      });\n    }\n  }]);\n\n  return Echo;\n}();\n\nexport { Channel, Echo as default };\n","module.exports = __webpack_public_path__ + \"img/obs-dock-no-campaigns.249a32ea.jpg\";","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetManualPlayback.vue?vue&type=style&index=0&id=14eaf536&prod&lang=scss&scoped=true&\"","export const SUBSCRIPTION_COUNT = '.pusher:subscription_count'\n\nexport const WIDGET_UPDATED = '.widget.params.updated'\nexport const WIDGET_REFRESH = '.widget.refresh'\nexport const MANUAL_LAUNCH = '.manual.launch'\nexport const AUTO_LAUNCH = '.auto.launch'\nexport const DEMO_REAL_LAUNCH = '.demo.real.launch'\nexport const DEMO_LAUNCH = '.demo.launch'\nexport const DEMO_REFERRAL_LAUNCH = '.demo.referral.launch'\nexport const FETCHING_AD = '.fetching-ad'\nexport const REFERRAL_LAUNCH = '.referral.launch'\nexport const CHATBOT_MESSAGE_SENT = '.chatbot-message-sent'\nexport const FREEMIUM_PREVIEW = '.freemium-preview'\nexport const FREEMIUM_SETUP = '.freemium.params.setup'\nexport const CHATBOT_DISCONNECT = '.chatbot.disconnected'\nexport const CONVERTION_ALERT = '.conversion.alert.approved'\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moderator.vue?vue&type=style&index=0&id=01dfd404&prod&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('transition',{attrs:{\"name\":\"el-loading-fade\"},on:{\"after-leave\":_vm.handleAfterLeave}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"el-loading-mask\",class:[_vm.customClass, { 'is-fullscreen': _vm.fullscreen }],style:({ backgroundColor: _vm.background || '' })},[_c('div',{class:_vm.loadingSpinnerClasses},[(!_vm.spinner)?_c('svg',{staticClass:\"circular\",attrs:{\"viewBox\":\"25 25 50 50\"}},[_c('circle',{staticClass:\"path\",attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"20\",\"fill\":\"none\"}})]):_c('i',{class:_vm.spinner}),(_vm.text)?_c('p',{staticClass:\"el-loading-text\"},[_vm._v(\" \"+_vm._s(_vm.text)+\" \")]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <transition\n    name=\"el-loading-fade\"\n    @after-leave=\"handleAfterLeave\"\n  >\n    <div\n      v-show=\"visible\"\n      class=\"el-loading-mask\"\n      :style=\"{ backgroundColor: background || '' }\"\n      :class=\"[customClass, { 'is-fullscreen': fullscreen }]\"\n    >\n      <div :class=\"loadingSpinnerClasses\">\n        <svg\n          v-if=\"!spinner\"\n          class=\"circular\"\n          viewBox=\"25 25 50 50\"\n        >\n          <circle\n            class=\"path\"\n            cx=\"50\"\n            cy=\"50\"\n            r=\"20\"\n            fill=\"none\"\n          />\n        </svg>\n        <i\n          v-else\n          :class=\"spinner\"\n        />\n        <p\n          v-if=\"text\"\n          class=\"el-loading-text\"\n        >\n          {{ text }}\n        </p>\n      </div>\n    </div>\n  </transition>\n</template>\n\n<script>\nexport default {\n  data () {\n    return {\n      text: null,\n      spinner: null,\n      background: null,\n      fullscreen: true,\n      visible: false,\n      customClass: '',\n      floatLoading: false,\n    }\n  },\n\n  computed: {\n    loadingSpinnerClasses ({ floatLoading }) {\n      return [\n        'el-loading-spinner',\n        { 'is-float-spinner': floatLoading },\n      ]\n    },\n  },\n\n  methods: {\n    handleAfterLeave () {\n      this.$emit('after-leave')\n    },\n    setText (text) {\n      this.text = text\n    },\n  },\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loading.vue?vue&type=template&id=5c16966e&\"\nimport script from \"./Loading.vue?vue&type=script&lang=js&\"\nexport * from \"./Loading.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import { kebabCase } from 'element-ui/src/utils/util';\n/**\n * Show migrating guide in browser console.\n *\n * Usage:\n * import Migrating from 'element-ui/src/mixins/migrating';\n *\n * mixins: [Migrating]\n *\n * add getMigratingConfig method for your component.\n *  getMigratingConfig() {\n *    return {\n *      props: {\n *        'allow-no-selection': 'allow-no-selection is removed.',\n *        'selection-mode': 'selection-mode is removed.'\n *      },\n *      events: {\n *        selectionchange: 'selectionchange is renamed to selection-change.'\n *      }\n *    };\n *  },\n */\nexport default {\n  mounted() {\n    if (process.env.NODE_ENV === 'production') return;\n    if (!this.$vnode) return;\n    const { props = {}, events = {} } = this.getMigratingConfig();\n    const { data, componentOptions } = this.$vnode;\n    const definedProps = data.attrs || {};\n    const definedEvents = componentOptions.listeners || {};\n\n    for (let propName in definedProps) {\n      propName = kebabCase(propName); // compatible with camel case\n      if (props[propName]) {\n        console.warn(`[Element Migrating][${this.$options.name}][Attribute]: ${props[propName]}`);\n      }\n    }\n\n    for (let eventName in definedEvents) {\n      eventName = kebabCase(eventName); // compatible with camel case\n      if (events[eventName]) {\n        console.warn(`[Element Migrating][${this.$options.name}][Event]: ${events[eventName]}`);\n      }\n    }\n  },\n  methods: {\n    getMigratingConfig() {\n      return {\n        props: {},\n        events: {}\n      };\n    }\n  }\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusSection.vue?vue&type=style&index=0&id=5a0b828a&prod&lang=scss&scoped=true&\"","<template>\n  <div class=\"panel-section\">\n    <div\n      v-if=\"title || count\"\n      class=\"panel-section__title\"\n    >\n      <div\n        v-if=\"title\"\n        class=\"panel-section__title-text\"\n      >\n        {{ title }}\n      </div>\n      <div\n        v-if=\"count\"\n        class=\"panel-section__title-counter\"\n      >\n        {{ count }}\n      </div>\n    </div>\n\n    <slot />\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    title: VueTypes.string,\n    count: VueTypes.string,\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.panel-section {\n  &__title {\n    display: flex;\n    align-items: center;\n    margin-bottom: 24px;\n\n    &-text {\n      font-weight: 700;\n      margin-right: 8px;\n    }\n\n    &-counter {\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      flex-shrink: 0;\n      width: 20px;\n      height: 20px;\n      font-size: 10px;\n      font-weight: 700;\n      background-color: #198CFE;\n      border-radius: 50%;\n    }\n  }\n\n  &:not(:first-child) {\n    padding-top: 24px;\n    margin-top: 24px;\n    border-top: 1px solid #4D4D4D;\n  }\n}\n</style>\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=afa82b36&prod&lang=scss&scoped=true&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('transition',{attrs:{\"name\":\"dialog-fade\"},on:{\"after-enter\":_vm.afterEnter,\"after-leave\":_vm.afterLeave}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"el-dialog__wrapper\",on:{\"click\":function($event){if($event.target !== $event.currentTarget)return null;return _vm.handleWrapperClick.apply(null, arguments)}}},[_c('div',{key:_vm.key,ref:\"dialog\",class:['el-dialog', { 'is-fullscreen': _vm.fullscreen, 'el-dialog--center': _vm.center }, _vm.customClass],style:(_vm.style),attrs:{\"role\":\"dialog\",\"aria-modal\":\"true\",\"aria-label\":_vm.title || 'dialog'}},[_c('div',{staticClass:\"el-dialog__header\"},[_vm._t(\"title\",function(){return [_c('span',{staticClass:\"el-dialog__title\"},[_vm._v(_vm._s(_vm.title))])]}),(_vm.showClose)?_c('button',{staticClass:\"el-dialog__headerbtn\",attrs:{\"type\":\"button\",\"aria-label\":\"Close\"},on:{\"click\":_vm.handleClose}},[_c('i',{staticClass:\"el-dialog__close el-icon el-icon-close\"})]):_vm._e()],2),(_vm.rendered)?_c('div',{staticClass:\"el-dialog__body\"},[_vm._t(\"default\")],2):_vm._e(),(_vm.$slots.footer)?_c('div',{staticClass:\"el-dialog__footer\"},[_vm._t(\"footer\")],2):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <transition\n    name=\"dialog-fade\"\n    @after-enter=\"afterEnter\"\n    @after-leave=\"afterLeave\">\n    <div\n      v-show=\"visible\"\n      class=\"el-dialog__wrapper\"\n      @click.self=\"handleWrapperClick\">\n      <div\n        role=\"dialog\"\n        :key=\"key\"\n        aria-modal=\"true\"\n        :aria-label=\"title || 'dialog'\"\n        :class=\"['el-dialog', { 'is-fullscreen': fullscreen, 'el-dialog--center': center }, customClass]\"\n        ref=\"dialog\"\n        :style=\"style\">\n        <div class=\"el-dialog__header\">\n          <slot name=\"title\">\n            <span class=\"el-dialog__title\">{{ title }}</span>\n          </slot>\n          <button\n            type=\"button\"\n            class=\"el-dialog__headerbtn\"\n            aria-label=\"Close\"\n            v-if=\"showClose\"\n            @click=\"handleClose\">\n            <i class=\"el-dialog__close el-icon el-icon-close\"></i>\n          </button>\n        </div>\n        <div class=\"el-dialog__body\" v-if=\"rendered\"><slot></slot></div>\n        <div class=\"el-dialog__footer\" v-if=\"$slots.footer\">\n          <slot name=\"footer\"></slot>\n        </div>\n      </div>\n    </div>\n  </transition>\n</template>\n\n<script>\n  import Popup from 'element-ui/src/utils/popup';\n  import Migrating from 'element-ui/src/mixins/migrating';\n  import emitter from 'element-ui/src/mixins/emitter';\n\n  export default {\n    name: 'ElDialog',\n\n    mixins: [Popup, emitter, Migrating],\n\n    props: {\n      title: {\n        type: String,\n        default: ''\n      },\n\n      modal: {\n        type: Boolean,\n        default: true\n      },\n\n      modalAppendToBody: {\n        type: Boolean,\n        default: true\n      },\n\n      appendToBody: {\n        type: Boolean,\n        default: false\n      },\n\n      lockScroll: {\n        type: Boolean,\n        default: true\n      },\n\n      closeOnClickModal: {\n        type: Boolean,\n        default: true\n      },\n\n      closeOnPressEscape: {\n        type: Boolean,\n        default: true\n      },\n\n      showClose: {\n        type: Boolean,\n        default: true\n      },\n\n      width: String,\n\n      fullscreen: Boolean,\n\n      customClass: {\n        type: String,\n        default: ''\n      },\n\n      top: {\n        type: String,\n        default: '15vh'\n      },\n      beforeClose: Function,\n      center: {\n        type: Boolean,\n        default: false\n      },\n\n      destroyOnClose: Boolean\n    },\n\n    data() {\n      return {\n        closed: false,\n        key: 0\n      };\n    },\n\n    watch: {\n      visible(val) {\n        if (val) {\n          this.closed = false;\n          this.$emit('open');\n          this.$el.addEventListener('scroll', this.updatePopper);\n          this.$nextTick(() => {\n            this.$refs.dialog.scrollTop = 0;\n          });\n          if (this.appendToBody) {\n            document.body.appendChild(this.$el);\n          }\n        } else {\n          this.$el.removeEventListener('scroll', this.updatePopper);\n          if (!this.closed) this.$emit('close');\n          if (this.destroyOnClose) {\n            this.$nextTick(() => {\n              this.key++;\n            });\n          }\n        }\n      }\n    },\n\n    computed: {\n      style() {\n        let style = {};\n        if (!this.fullscreen) {\n          style.marginTop = this.top;\n          if (this.width) {\n            style.width = this.width;\n          }\n        }\n        return style;\n      }\n    },\n\n    methods: {\n      getMigratingConfig() {\n        return {\n          props: {\n            'size': 'size is removed.'\n          }\n        };\n      },\n      handleWrapperClick() {\n        if (!this.closeOnClickModal) return;\n        this.handleClose();\n      },\n      handleClose() {\n        if (typeof this.beforeClose === 'function') {\n          this.beforeClose(this.hide);\n        } else {\n          this.hide();\n        }\n      },\n      hide(cancel) {\n        if (cancel !== false) {\n          this.$emit('update:visible', false);\n          this.$emit('close');\n          this.closed = true;\n        }\n      },\n      updatePopper() {\n        this.broadcast('ElSelectDropdown', 'updatePopper');\n        this.broadcast('ElDropdownMenu', 'updatePopper');\n      },\n      afterEnter() {\n        this.$emit('opened');\n      },\n      afterLeave() {\n        this.$emit('closed');\n      }\n    },\n\n    mounted() {\n      if (this.visible) {\n        this.rendered = true;\n        this.open();\n        if (this.appendToBody) {\n          document.body.appendChild(this.$el);\n        }\n      }\n    },\n\n    destroyed() {\n      // if appendToBody is true, remove DOM node after destroy\n      if (this.appendToBody && this.$el && this.$el.parentNode) {\n        this.$el.parentNode.removeChild(this.$el);\n      }\n    }\n  };\n</script>\n","import mod from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./component.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../cache-loader/dist/cjs.js??ref--13-0!../../../../thread-loader/dist/cjs.js!../../../../babel-loader/lib/index.js!../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../vue-loader/lib/index.js??vue-loader-options!./component.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./component.vue?vue&type=template&id=0e1c79c5&\"\nimport script from \"./component.vue?vue&type=script&lang=js&\"\nexport * from \"./component.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import ElDialog from './src/component';\n\n/* istanbul ignore next */\nElDialog.install = function(Vue) {\n  Vue.component(ElDialog.name, ElDialog);\n};\n\nexport default ElDialog;\n","import 'element/css/dialog.scss'\n\nimport Dialog from 'element-ui/packages/dialog'\n\nexport default Dialog\n","/*!\n * Pusher JavaScript Library v7.6.0\n * https://pusher.com/\n *\n * Copyright 2020, Pusher\n * Released under the MIT licence.\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Pusher\"] = factory();\n\telse\n\t\troot[\"Pusher\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package base64 implements Base64 encoding and decoding.\n */\n// Invalid character used in decoding to indicate\n// that the character to decode is out of range of\n// alphabet and cannot be decoded.\nvar INVALID_BYTE = 256;\n/**\n * Implements standard Base64 encoding.\n *\n * Operates in constant time.\n */\nvar Coder = /** @class */ (function () {\n    // TODO(dchest): methods to encode chunk-by-chunk.\n    function Coder(_paddingCharacter) {\n        if (_paddingCharacter === void 0) { _paddingCharacter = \"=\"; }\n        this._paddingCharacter = _paddingCharacter;\n    }\n    Coder.prototype.encodedLength = function (length) {\n        if (!this._paddingCharacter) {\n            return (length * 8 + 5) / 6 | 0;\n        }\n        return (length + 2) / 3 * 4 | 0;\n    };\n    Coder.prototype.encode = function (data) {\n        var out = \"\";\n        var i = 0;\n        for (; i < data.length - 2; i += 3) {\n            var c = (data[i] << 16) | (data[i + 1] << 8) | (data[i + 2]);\n            out += this._encodeByte((c >>> 3 * 6) & 63);\n            out += this._encodeByte((c >>> 2 * 6) & 63);\n            out += this._encodeByte((c >>> 1 * 6) & 63);\n            out += this._encodeByte((c >>> 0 * 6) & 63);\n        }\n        var left = data.length - i;\n        if (left > 0) {\n            var c = (data[i] << 16) | (left === 2 ? data[i + 1] << 8 : 0);\n            out += this._encodeByte((c >>> 3 * 6) & 63);\n            out += this._encodeByte((c >>> 2 * 6) & 63);\n            if (left === 2) {\n                out += this._encodeByte((c >>> 1 * 6) & 63);\n            }\n            else {\n                out += this._paddingCharacter || \"\";\n            }\n            out += this._paddingCharacter || \"\";\n        }\n        return out;\n    };\n    Coder.prototype.maxDecodedLength = function (length) {\n        if (!this._paddingCharacter) {\n            return (length * 6 + 7) / 8 | 0;\n        }\n        return length / 4 * 3 | 0;\n    };\n    Coder.prototype.decodedLength = function (s) {\n        return this.maxDecodedLength(s.length - this._getPaddingLength(s));\n    };\n    Coder.prototype.decode = function (s) {\n        if (s.length === 0) {\n            return new Uint8Array(0);\n        }\n        var paddingLength = this._getPaddingLength(s);\n        var length = s.length - paddingLength;\n        var out = new Uint8Array(this.maxDecodedLength(length));\n        var op = 0;\n        var i = 0;\n        var haveBad = 0;\n        var v0 = 0, v1 = 0, v2 = 0, v3 = 0;\n        for (; i < length - 4; i += 4) {\n            v0 = this._decodeChar(s.charCodeAt(i + 0));\n            v1 = this._decodeChar(s.charCodeAt(i + 1));\n            v2 = this._decodeChar(s.charCodeAt(i + 2));\n            v3 = this._decodeChar(s.charCodeAt(i + 3));\n            out[op++] = (v0 << 2) | (v1 >>> 4);\n            out[op++] = (v1 << 4) | (v2 >>> 2);\n            out[op++] = (v2 << 6) | v3;\n            haveBad |= v0 & INVALID_BYTE;\n            haveBad |= v1 & INVALID_BYTE;\n            haveBad |= v2 & INVALID_BYTE;\n            haveBad |= v3 & INVALID_BYTE;\n        }\n        if (i < length - 1) {\n            v0 = this._decodeChar(s.charCodeAt(i));\n            v1 = this._decodeChar(s.charCodeAt(i + 1));\n            out[op++] = (v0 << 2) | (v1 >>> 4);\n            haveBad |= v0 & INVALID_BYTE;\n            haveBad |= v1 & INVALID_BYTE;\n        }\n        if (i < length - 2) {\n            v2 = this._decodeChar(s.charCodeAt(i + 2));\n            out[op++] = (v1 << 4) | (v2 >>> 2);\n            haveBad |= v2 & INVALID_BYTE;\n        }\n        if (i < length - 3) {\n            v3 = this._decodeChar(s.charCodeAt(i + 3));\n            out[op++] = (v2 << 6) | v3;\n            haveBad |= v3 & INVALID_BYTE;\n        }\n        if (haveBad !== 0) {\n            throw new Error(\"Base64Coder: incorrect characters for decoding\");\n        }\n        return out;\n    };\n    // Standard encoding have the following encoded/decoded ranges,\n    // which we need to convert between.\n    //\n    // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789  +   /\n    // Index:   0 - 25                    26 - 51              52 - 61   62  63\n    // ASCII:  65 - 90                    97 - 122             48 - 57   43  47\n    //\n    // Encode 6 bits in b into a new character.\n    Coder.prototype._encodeByte = function (b) {\n        // Encoding uses constant time operations as follows:\n        //\n        // 1. Define comparison of A with B using (A - B) >>> 8:\n        //          if A > B, then result is positive integer\n        //          if A <= B, then result is 0\n        //\n        // 2. Define selection of C or 0 using bitwise AND: X & C:\n        //          if X == 0, then result is 0\n        //          if X != 0, then result is C\n        //\n        // 3. Start with the smallest comparison (b >= 0), which is always\n        //    true, so set the result to the starting ASCII value (65).\n        //\n        // 4. Continue comparing b to higher ASCII values, and selecting\n        //    zero if comparison isn't true, otherwise selecting a value\n        //    to add to result, which:\n        //\n        //          a) undoes the previous addition\n        //          b) provides new value to add\n        //\n        var result = b;\n        // b >= 0\n        result += 65;\n        // b > 25\n        result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n        // b > 51\n        result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n        // b > 61\n        result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 43);\n        // b > 62\n        result += ((62 - b) >>> 8) & ((62 - 43) - 63 + 47);\n        return String.fromCharCode(result);\n    };\n    // Decode a character code into a byte.\n    // Must return 256 if character is out of alphabet range.\n    Coder.prototype._decodeChar = function (c) {\n        // Decoding works similar to encoding: using the same comparison\n        // function, but now it works on ranges: result is always incremented\n        // by value, but this value becomes zero if the range is not\n        // satisfied.\n        //\n        // Decoding starts with invalid value, 256, which is then\n        // subtracted when the range is satisfied. If none of the ranges\n        // apply, the function returns 256, which is then checked by\n        // the caller to throw error.\n        var result = INVALID_BYTE; // start with invalid character\n        // c == 43 (c > 42 and c < 44)\n        result += (((42 - c) & (c - 44)) >>> 8) & (-INVALID_BYTE + c - 43 + 62);\n        // c == 47 (c > 46 and c < 48)\n        result += (((46 - c) & (c - 48)) >>> 8) & (-INVALID_BYTE + c - 47 + 63);\n        // c > 47 and c < 58\n        result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n        // c > 64 and c < 91\n        result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n        // c > 96 and c < 123\n        result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n        return result;\n    };\n    Coder.prototype._getPaddingLength = function (s) {\n        var paddingLength = 0;\n        if (this._paddingCharacter) {\n            for (var i = s.length - 1; i >= 0; i--) {\n                if (s[i] !== this._paddingCharacter) {\n                    break;\n                }\n                paddingLength++;\n            }\n            if (s.length < 4 || paddingLength > 2) {\n                throw new Error(\"Base64Coder: incorrect padding\");\n            }\n        }\n        return paddingLength;\n    };\n    return Coder;\n}());\nexports.Coder = Coder;\nvar stdCoder = new Coder();\nfunction encode(data) {\n    return stdCoder.encode(data);\n}\nexports.encode = encode;\nfunction decode(s) {\n    return stdCoder.decode(s);\n}\nexports.decode = decode;\n/**\n * Implements URL-safe Base64 encoding.\n * (Same as Base64, but '+' is replaced with '-', and '/' with '_').\n *\n * Operates in constant time.\n */\nvar URLSafeCoder = /** @class */ (function (_super) {\n    __extends(URLSafeCoder, _super);\n    function URLSafeCoder() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    // URL-safe encoding have the following encoded/decoded ranges:\n    //\n    // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789  -   _\n    // Index:   0 - 25                    26 - 51              52 - 61   62  63\n    // ASCII:  65 - 90                    97 - 122             48 - 57   45  95\n    //\n    URLSafeCoder.prototype._encodeByte = function (b) {\n        var result = b;\n        // b >= 0\n        result += 65;\n        // b > 25\n        result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n        // b > 51\n        result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n        // b > 61\n        result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 45);\n        // b > 62\n        result += ((62 - b) >>> 8) & ((62 - 45) - 63 + 95);\n        return String.fromCharCode(result);\n    };\n    URLSafeCoder.prototype._decodeChar = function (c) {\n        var result = INVALID_BYTE;\n        // c == 45 (c > 44 and c < 46)\n        result += (((44 - c) & (c - 46)) >>> 8) & (-INVALID_BYTE + c - 45 + 62);\n        // c == 95 (c > 94 and c < 96)\n        result += (((94 - c) & (c - 96)) >>> 8) & (-INVALID_BYTE + c - 95 + 63);\n        // c > 47 and c < 58\n        result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n        // c > 64 and c < 91\n        result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n        // c > 96 and c < 123\n        result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n        return result;\n    };\n    return URLSafeCoder;\n}(Coder));\nexports.URLSafeCoder = URLSafeCoder;\nvar urlSafeCoder = new URLSafeCoder();\nfunction encodeURLSafe(data) {\n    return urlSafeCoder.encode(data);\n}\nexports.encodeURLSafe = encodeURLSafe;\nfunction decodeURLSafe(s) {\n    return urlSafeCoder.decode(s);\n}\nexports.decodeURLSafe = decodeURLSafe;\nexports.encodedLength = function (length) {\n    return stdCoder.encodedLength(length);\n};\nexports.maxDecodedLength = function (length) {\n    return stdCoder.maxDecodedLength(length);\n};\nexports.decodedLength = function (s) {\n    return stdCoder.decodedLength(s);\n};\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package utf8 implements UTF-8 encoding and decoding.\n */\nvar INVALID_UTF16 = \"utf8: invalid string\";\nvar INVALID_UTF8 = \"utf8: invalid source encoding\";\n/**\n * Encodes the given string into UTF-8 byte array.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nfunction encode(s) {\n    // Calculate result length and allocate output array.\n    // encodedLength() also validates string and throws errors,\n    // so we don't need repeat validation here.\n    var arr = new Uint8Array(encodedLength(s));\n    var pos = 0;\n    for (var i = 0; i < s.length; i++) {\n        var c = s.charCodeAt(i);\n        if (c < 0x80) {\n            arr[pos++] = c;\n        }\n        else if (c < 0x800) {\n            arr[pos++] = 0xc0 | c >> 6;\n            arr[pos++] = 0x80 | c & 0x3f;\n        }\n        else if (c < 0xd800) {\n            arr[pos++] = 0xe0 | c >> 12;\n            arr[pos++] = 0x80 | (c >> 6) & 0x3f;\n            arr[pos++] = 0x80 | c & 0x3f;\n        }\n        else {\n            i++; // get one more character\n            c = (c & 0x3ff) << 10;\n            c |= s.charCodeAt(i) & 0x3ff;\n            c += 0x10000;\n            arr[pos++] = 0xf0 | c >> 18;\n            arr[pos++] = 0x80 | (c >> 12) & 0x3f;\n            arr[pos++] = 0x80 | (c >> 6) & 0x3f;\n            arr[pos++] = 0x80 | c & 0x3f;\n        }\n    }\n    return arr;\n}\nexports.encode = encode;\n/**\n * Returns the number of bytes required to encode the given string into UTF-8.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nfunction encodedLength(s) {\n    var result = 0;\n    for (var i = 0; i < s.length; i++) {\n        var c = s.charCodeAt(i);\n        if (c < 0x80) {\n            result += 1;\n        }\n        else if (c < 0x800) {\n            result += 2;\n        }\n        else if (c < 0xd800) {\n            result += 3;\n        }\n        else if (c <= 0xdfff) {\n            if (i >= s.length - 1) {\n                throw new Error(INVALID_UTF16);\n            }\n            i++; // \"eat\" next character\n            result += 4;\n        }\n        else {\n            throw new Error(INVALID_UTF16);\n        }\n    }\n    return result;\n}\nexports.encodedLength = encodedLength;\n/**\n * Decodes the given byte array from UTF-8 into a string.\n * Throws if encoding is invalid.\n */\nfunction decode(arr) {\n    var chars = [];\n    for (var i = 0; i < arr.length; i++) {\n        var b = arr[i];\n        if (b & 0x80) {\n            var min = void 0;\n            if (b < 0xe0) {\n                // Need 1 more byte.\n                if (i >= arr.length) {\n                    throw new Error(INVALID_UTF8);\n                }\n                var n1 = arr[++i];\n                if ((n1 & 0xc0) !== 0x80) {\n                    throw new Error(INVALID_UTF8);\n                }\n                b = (b & 0x1f) << 6 | (n1 & 0x3f);\n                min = 0x80;\n            }\n            else if (b < 0xf0) {\n                // Need 2 more bytes.\n                if (i >= arr.length - 1) {\n                    throw new Error(INVALID_UTF8);\n                }\n                var n1 = arr[++i];\n                var n2 = arr[++i];\n                if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80) {\n                    throw new Error(INVALID_UTF8);\n                }\n                b = (b & 0x0f) << 12 | (n1 & 0x3f) << 6 | (n2 & 0x3f);\n                min = 0x800;\n            }\n            else if (b < 0xf8) {\n                // Need 3 more bytes.\n                if (i >= arr.length - 2) {\n                    throw new Error(INVALID_UTF8);\n                }\n                var n1 = arr[++i];\n                var n2 = arr[++i];\n                var n3 = arr[++i];\n                if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80 || (n3 & 0xc0) !== 0x80) {\n                    throw new Error(INVALID_UTF8);\n                }\n                b = (b & 0x0f) << 18 | (n1 & 0x3f) << 12 | (n2 & 0x3f) << 6 | (n3 & 0x3f);\n                min = 0x10000;\n            }\n            else {\n                throw new Error(INVALID_UTF8);\n            }\n            if (b < min || (b >= 0xd800 && b <= 0xdfff)) {\n                throw new Error(INVALID_UTF8);\n            }\n            if (b >= 0x10000) {\n                // Surrogate pair.\n                if (b > 0x10ffff) {\n                    throw new Error(INVALID_UTF8);\n                }\n                b -= 0x10000;\n                chars.push(String.fromCharCode(0xd800 | (b >> 10)));\n                b = 0xdc00 | (b & 0x3ff);\n            }\n        }\n        chars.push(String.fromCharCode(b));\n    }\n    return chars.join(\"\");\n}\nexports.decode = decode;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// required so we don't have to do require('pusher').default etc.\nmodule.exports = __webpack_require__(3).default;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/script_receiver_factory.ts\nvar ScriptReceiverFactory = (function () {\n    function ScriptReceiverFactory(prefix, name) {\n        this.lastId = 0;\n        this.prefix = prefix;\n        this.name = name;\n    }\n    ScriptReceiverFactory.prototype.create = function (callback) {\n        this.lastId++;\n        var number = this.lastId;\n        var id = this.prefix + number;\n        var name = this.name + '[' + number + ']';\n        var called = false;\n        var callbackWrapper = function () {\n            if (!called) {\n                callback.apply(null, arguments);\n                called = true;\n            }\n        };\n        this[number] = callbackWrapper;\n        return { number: number, id: id, name: name, callback: callbackWrapper };\n    };\n    ScriptReceiverFactory.prototype.remove = function (receiver) {\n        delete this[receiver.number];\n    };\n    return ScriptReceiverFactory;\n}());\n\nvar ScriptReceivers = new ScriptReceiverFactory('_pusher_script_', 'Pusher.ScriptReceivers');\n\n// CONCATENATED MODULE: ./src/core/defaults.ts\nvar Defaults = {\n    VERSION: \"7.6.0\",\n    PROTOCOL: 7,\n    wsPort: 80,\n    wssPort: 443,\n    wsPath: '',\n    httpHost: 'sockjs.pusher.com',\n    httpPort: 80,\n    httpsPort: 443,\n    httpPath: '/pusher',\n    stats_host: 'stats.pusher.com',\n    authEndpoint: '/pusher/auth',\n    authTransport: 'ajax',\n    activityTimeout: 120000,\n    pongTimeout: 30000,\n    unavailableTimeout: 10000,\n    cluster: 'mt1',\n    userAuthentication: {\n        endpoint: '/pusher/user-auth',\n        transport: 'ajax'\n    },\n    channelAuthorization: {\n        endpoint: '/pusher/auth',\n        transport: 'ajax'\n    },\n    cdn_http: \"http://js.pusher.com\",\n    cdn_https: \"https://js.pusher.com\",\n    dependency_suffix: \"\"\n};\n/* harmony default export */ var defaults = (Defaults);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/dependency_loader.ts\n\n\nvar dependency_loader_DependencyLoader = (function () {\n    function DependencyLoader(options) {\n        this.options = options;\n        this.receivers = options.receivers || ScriptReceivers;\n        this.loading = {};\n    }\n    DependencyLoader.prototype.load = function (name, options, callback) {\n        var self = this;\n        if (self.loading[name] && self.loading[name].length > 0) {\n            self.loading[name].push(callback);\n        }\n        else {\n            self.loading[name] = [callback];\n            var request = runtime.createScriptRequest(self.getPath(name, options));\n            var receiver = self.receivers.create(function (error) {\n                self.receivers.remove(receiver);\n                if (self.loading[name]) {\n                    var callbacks = self.loading[name];\n                    delete self.loading[name];\n                    var successCallback = function (wasSuccessful) {\n                        if (!wasSuccessful) {\n                            request.cleanup();\n                        }\n                    };\n                    for (var i = 0; i < callbacks.length; i++) {\n                        callbacks[i](error, successCallback);\n                    }\n                }\n            });\n            request.send(receiver);\n        }\n    };\n    DependencyLoader.prototype.getRoot = function (options) {\n        var cdn;\n        var protocol = runtime.getDocument().location.protocol;\n        if ((options && options.useTLS) || protocol === 'https:') {\n            cdn = this.options.cdn_https;\n        }\n        else {\n            cdn = this.options.cdn_http;\n        }\n        return cdn.replace(/\\/*$/, '') + '/' + this.options.version;\n    };\n    DependencyLoader.prototype.getPath = function (name, options) {\n        return this.getRoot(options) + '/' + name + this.options.suffix + '.js';\n    };\n    return DependencyLoader;\n}());\n/* harmony default export */ var dependency_loader = (dependency_loader_DependencyLoader);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/dependencies.ts\n\n\n\nvar DependenciesReceivers = new ScriptReceiverFactory('_pusher_dependencies', 'Pusher.DependenciesReceivers');\nvar Dependencies = new dependency_loader({\n    cdn_http: defaults.cdn_http,\n    cdn_https: defaults.cdn_https,\n    version: defaults.VERSION,\n    suffix: defaults.dependency_suffix,\n    receivers: DependenciesReceivers\n});\n\n// CONCATENATED MODULE: ./src/core/utils/url_store.ts\nvar urlStore = {\n    baseUrl: 'https://pusher.com',\n    urls: {\n        authenticationEndpoint: {\n            path: '/docs/channels/server_api/authenticating_users'\n        },\n        authorizationEndpoint: {\n            path: '/docs/channels/server_api/authorizing-users/'\n        },\n        javascriptQuickStart: {\n            path: '/docs/javascript_quick_start'\n        },\n        triggeringClientEvents: {\n            path: '/docs/client_api_guide/client_events#trigger-events'\n        },\n        encryptedChannelSupport: {\n            fullUrl: 'https://github.com/pusher/pusher-js/tree/cc491015371a4bde5743d1c87a0fbac0feb53195#encrypted-channel-support'\n        }\n    }\n};\nvar buildLogSuffix = function (key) {\n    var urlPrefix = 'See:';\n    var urlObj = urlStore.urls[key];\n    if (!urlObj)\n        return '';\n    var url;\n    if (urlObj.fullUrl) {\n        url = urlObj.fullUrl;\n    }\n    else if (urlObj.path) {\n        url = urlStore.baseUrl + urlObj.path;\n    }\n    if (!url)\n        return '';\n    return urlPrefix + \" \" + url;\n};\n/* harmony default export */ var url_store = ({ buildLogSuffix: buildLogSuffix });\n\n// CONCATENATED MODULE: ./src/core/auth/options.ts\nvar AuthRequestType;\n(function (AuthRequestType) {\n    AuthRequestType[\"UserAuthentication\"] = \"user-authentication\";\n    AuthRequestType[\"ChannelAuthorization\"] = \"channel-authorization\";\n})(AuthRequestType || (AuthRequestType = {}));\n\n// CONCATENATED MODULE: ./src/core/errors.ts\nvar __extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar BadEventName = (function (_super) {\n    __extends(BadEventName, _super);\n    function BadEventName(msg) {\n        var _newTarget = this.constructor;\n        var _this = _super.call(this, msg) || this;\n        Object.setPrototypeOf(_this, _newTarget.prototype);\n        return _this;\n    }\n    return BadEventName;\n}(Error));\n\nvar BadChannelName = (function (_super) {\n    __extends(BadChannelName, _super);\n    function BadChannelName(msg) {\n        var _newTarget = this.constructor;\n        var _this = _super.call(this, msg) || this;\n        Object.setPrototypeOf(_this, _newTarget.prototype);\n        return _this;\n    }\n    return BadChannelName;\n}(Error));\n\nvar RequestTimedOut = (function (_super) {\n    __extends(RequestTimedOut, _super);\n    function RequestTimedOut(msg) {\n        var _newTarget = this.constructor;\n        var _this = _super.call(this, msg) || this;\n        Object.setPrototypeOf(_this, _newTarget.prototype);\n        return _this;\n    }\n    return RequestTimedOut;\n}(Error));\n\nvar TransportPriorityTooLow = (function (_super) {\n    __extends(TransportPriorityTooLow, _super);\n    function TransportPriorityTooLow(msg) {\n        var _newTarget = this.constructor;\n        var _this = _super.call(this, msg) || this;\n        Object.setPrototypeOf(_this, _newTarget.prototype);\n        return _this;\n    }\n    return TransportPriorityTooLow;\n}(Error));\n\nvar TransportClosed = (function (_super) {\n    __extends(TransportClosed, _super);\n    function TransportClosed(msg) {\n        var _newTarget = this.constructor;\n        var _this = _super.call(this, msg) || this;\n        Object.setPrototypeOf(_this, _newTarget.prototype);\n        return _this;\n    }\n    return TransportClosed;\n}(Error));\n\nvar UnsupportedFeature = (function (_super) {\n    __extends(UnsupportedFeature, _super);\n    function UnsupportedFeature(msg) {\n        var _newTarget = this.constructor;\n        var _this = _super.call(this, msg) || this;\n        Object.setPrototypeOf(_this, _newTarget.prototype);\n        return _this;\n    }\n    return UnsupportedFeature;\n}(Error));\n\nvar UnsupportedTransport = (function (_super) {\n    __extends(UnsupportedTransport, _super);\n    function UnsupportedTransport(msg) {\n        var _newTarget = this.constructor;\n        var _this = _super.call(this, msg) || this;\n        Object.setPrototypeOf(_this, _newTarget.prototype);\n        return _this;\n    }\n    return UnsupportedTransport;\n}(Error));\n\nvar UnsupportedStrategy = (function (_super) {\n    __extends(UnsupportedStrategy, _super);\n    function UnsupportedStrategy(msg) {\n        var _newTarget = this.constructor;\n        var _this = _super.call(this, msg) || this;\n        Object.setPrototypeOf(_this, _newTarget.prototype);\n        return _this;\n    }\n    return UnsupportedStrategy;\n}(Error));\n\nvar HTTPAuthError = (function (_super) {\n    __extends(HTTPAuthError, _super);\n    function HTTPAuthError(status, msg) {\n        var _newTarget = this.constructor;\n        var _this = _super.call(this, msg) || this;\n        _this.status = status;\n        Object.setPrototypeOf(_this, _newTarget.prototype);\n        return _this;\n    }\n    return HTTPAuthError;\n}(Error));\n\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/auth/xhr_auth.ts\n\n\n\n\nvar ajax = function (context, query, authOptions, authRequestType, callback) {\n    var xhr = runtime.createXHR();\n    xhr.open('POST', authOptions.endpoint, true);\n    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n    for (var headerName in authOptions.headers) {\n        xhr.setRequestHeader(headerName, authOptions.headers[headerName]);\n    }\n    if (authOptions.headersProvider != null) {\n        var dynamicHeaders = authOptions.headersProvider();\n        for (var headerName in dynamicHeaders) {\n            xhr.setRequestHeader(headerName, dynamicHeaders[headerName]);\n        }\n    }\n    xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n            if (xhr.status === 200) {\n                var data = void 0;\n                var parsed = false;\n                try {\n                    data = JSON.parse(xhr.responseText);\n                    parsed = true;\n                }\n                catch (e) {\n                    callback(new HTTPAuthError(200, \"JSON returned from \" + authRequestType.toString() + \" endpoint was invalid, yet status code was 200. Data was: \" + xhr.responseText), null);\n                }\n                if (parsed) {\n                    callback(null, data);\n                }\n            }\n            else {\n                var suffix = '';\n                switch (authRequestType) {\n                    case AuthRequestType.UserAuthentication:\n                        suffix = url_store.buildLogSuffix('authenticationEndpoint');\n                        break;\n                    case AuthRequestType.ChannelAuthorization:\n                        suffix = \"Clients must be authorized to join private or presence channels. \" + url_store.buildLogSuffix('authorizationEndpoint');\n                        break;\n                }\n                callback(new HTTPAuthError(xhr.status, \"Unable to retrieve auth string from \" + authRequestType.toString() + \" endpoint - \" +\n                    (\"received status: \" + xhr.status + \" from \" + authOptions.endpoint + \". \" + suffix)), null);\n            }\n        }\n    };\n    xhr.send(query);\n    return xhr;\n};\n/* harmony default export */ var xhr_auth = (ajax);\n\n// CONCATENATED MODULE: ./src/core/base64.ts\nfunction encode(s) {\n    return btoa(utob(s));\n}\nvar fromCharCode = String.fromCharCode;\nvar b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nvar b64tab = {};\nfor (var base64_i = 0, l = b64chars.length; base64_i < l; base64_i++) {\n    b64tab[b64chars.charAt(base64_i)] = base64_i;\n}\nvar cb_utob = function (c) {\n    var cc = c.charCodeAt(0);\n    return cc < 0x80\n        ? c\n        : cc < 0x800\n            ? fromCharCode(0xc0 | (cc >>> 6)) + fromCharCode(0x80 | (cc & 0x3f))\n            : fromCharCode(0xe0 | ((cc >>> 12) & 0x0f)) +\n                fromCharCode(0x80 | ((cc >>> 6) & 0x3f)) +\n                fromCharCode(0x80 | (cc & 0x3f));\n};\nvar utob = function (u) {\n    return u.replace(/[^\\x00-\\x7F]/g, cb_utob);\n};\nvar cb_encode = function (ccc) {\n    var padlen = [0, 2, 1][ccc.length % 3];\n    var ord = (ccc.charCodeAt(0) << 16) |\n        ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8) |\n        (ccc.length > 2 ? ccc.charCodeAt(2) : 0);\n    var chars = [\n        b64chars.charAt(ord >>> 18),\n        b64chars.charAt((ord >>> 12) & 63),\n        padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63),\n        padlen >= 1 ? '=' : b64chars.charAt(ord & 63)\n    ];\n    return chars.join('');\n};\nvar btoa = window.btoa ||\n    function (b) {\n        return b.replace(/[\\s\\S]{1,3}/g, cb_encode);\n    };\n\n// CONCATENATED MODULE: ./src/core/utils/timers/abstract_timer.ts\nvar Timer = (function () {\n    function Timer(set, clear, delay, callback) {\n        var _this = this;\n        this.clear = clear;\n        this.timer = set(function () {\n            if (_this.timer) {\n                _this.timer = callback(_this.timer);\n            }\n        }, delay);\n    }\n    Timer.prototype.isRunning = function () {\n        return this.timer !== null;\n    };\n    Timer.prototype.ensureAborted = function () {\n        if (this.timer) {\n            this.clear(this.timer);\n            this.timer = null;\n        }\n    };\n    return Timer;\n}());\n/* harmony default export */ var abstract_timer = (Timer);\n\n// CONCATENATED MODULE: ./src/core/utils/timers/index.ts\nvar timers_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\nfunction timers_clearTimeout(timer) {\n    window.clearTimeout(timer);\n}\nfunction timers_clearInterval(timer) {\n    window.clearInterval(timer);\n}\nvar OneOffTimer = (function (_super) {\n    timers_extends(OneOffTimer, _super);\n    function OneOffTimer(delay, callback) {\n        return _super.call(this, setTimeout, timers_clearTimeout, delay, function (timer) {\n            callback();\n            return null;\n        }) || this;\n    }\n    return OneOffTimer;\n}(abstract_timer));\n\nvar PeriodicTimer = (function (_super) {\n    timers_extends(PeriodicTimer, _super);\n    function PeriodicTimer(delay, callback) {\n        return _super.call(this, setInterval, timers_clearInterval, delay, function (timer) {\n            callback();\n            return timer;\n        }) || this;\n    }\n    return PeriodicTimer;\n}(abstract_timer));\n\n\n// CONCATENATED MODULE: ./src/core/util.ts\n\nvar Util = {\n    now: function () {\n        if (Date.now) {\n            return Date.now();\n        }\n        else {\n            return new Date().valueOf();\n        }\n    },\n    defer: function (callback) {\n        return new OneOffTimer(0, callback);\n    },\n    method: function (name) {\n        var args = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            args[_i - 1] = arguments[_i];\n        }\n        var boundArguments = Array.prototype.slice.call(arguments, 1);\n        return function (object) {\n            return object[name].apply(object, boundArguments.concat(arguments));\n        };\n    }\n};\n/* harmony default export */ var util = (Util);\n\n// CONCATENATED MODULE: ./src/core/utils/collections.ts\n\n\nfunction extend(target) {\n    var sources = [];\n    for (var _i = 1; _i < arguments.length; _i++) {\n        sources[_i - 1] = arguments[_i];\n    }\n    for (var i = 0; i < sources.length; i++) {\n        var extensions = sources[i];\n        for (var property in extensions) {\n            if (extensions[property] &&\n                extensions[property].constructor &&\n                extensions[property].constructor === Object) {\n                target[property] = extend(target[property] || {}, extensions[property]);\n            }\n            else {\n                target[property] = extensions[property];\n            }\n        }\n    }\n    return target;\n}\nfunction stringify() {\n    var m = ['Pusher'];\n    for (var i = 0; i < arguments.length; i++) {\n        if (typeof arguments[i] === 'string') {\n            m.push(arguments[i]);\n        }\n        else {\n            m.push(safeJSONStringify(arguments[i]));\n        }\n    }\n    return m.join(' : ');\n}\nfunction arrayIndexOf(array, item) {\n    var nativeIndexOf = Array.prototype.indexOf;\n    if (array === null) {\n        return -1;\n    }\n    if (nativeIndexOf && array.indexOf === nativeIndexOf) {\n        return array.indexOf(item);\n    }\n    for (var i = 0, l = array.length; i < l; i++) {\n        if (array[i] === item) {\n            return i;\n        }\n    }\n    return -1;\n}\nfunction objectApply(object, f) {\n    for (var key in object) {\n        if (Object.prototype.hasOwnProperty.call(object, key)) {\n            f(object[key], key, object);\n        }\n    }\n}\nfunction keys(object) {\n    var keys = [];\n    objectApply(object, function (_, key) {\n        keys.push(key);\n    });\n    return keys;\n}\nfunction values(object) {\n    var values = [];\n    objectApply(object, function (value) {\n        values.push(value);\n    });\n    return values;\n}\nfunction apply(array, f, context) {\n    for (var i = 0; i < array.length; i++) {\n        f.call(context || window, array[i], i, array);\n    }\n}\nfunction map(array, f) {\n    var result = [];\n    for (var i = 0; i < array.length; i++) {\n        result.push(f(array[i], i, array, result));\n    }\n    return result;\n}\nfunction mapObject(object, f) {\n    var result = {};\n    objectApply(object, function (value, key) {\n        result[key] = f(value);\n    });\n    return result;\n}\nfunction filter(array, test) {\n    test =\n        test ||\n            function (value) {\n                return !!value;\n            };\n    var result = [];\n    for (var i = 0; i < array.length; i++) {\n        if (test(array[i], i, array, result)) {\n            result.push(array[i]);\n        }\n    }\n    return result;\n}\nfunction filterObject(object, test) {\n    var result = {};\n    objectApply(object, function (value, key) {\n        if ((test && test(value, key, object, result)) || Boolean(value)) {\n            result[key] = value;\n        }\n    });\n    return result;\n}\nfunction flatten(object) {\n    var result = [];\n    objectApply(object, function (value, key) {\n        result.push([key, value]);\n    });\n    return result;\n}\nfunction any(array, test) {\n    for (var i = 0; i < array.length; i++) {\n        if (test(array[i], i, array)) {\n            return true;\n        }\n    }\n    return false;\n}\nfunction collections_all(array, test) {\n    for (var i = 0; i < array.length; i++) {\n        if (!test(array[i], i, array)) {\n            return false;\n        }\n    }\n    return true;\n}\nfunction encodeParamsObject(data) {\n    return mapObject(data, function (value) {\n        if (typeof value === 'object') {\n            value = safeJSONStringify(value);\n        }\n        return encodeURIComponent(encode(value.toString()));\n    });\n}\nfunction buildQueryString(data) {\n    var params = filterObject(data, function (value) {\n        return value !== undefined;\n    });\n    var query = map(flatten(encodeParamsObject(params)), util.method('join', '=')).join('&');\n    return query;\n}\nfunction decycleObject(object) {\n    var objects = [], paths = [];\n    return (function derez(value, path) {\n        var i, name, nu;\n        switch (typeof value) {\n            case 'object':\n                if (!value) {\n                    return null;\n                }\n                for (i = 0; i < objects.length; i += 1) {\n                    if (objects[i] === value) {\n                        return { $ref: paths[i] };\n                    }\n                }\n                objects.push(value);\n                paths.push(path);\n                if (Object.prototype.toString.apply(value) === '[object Array]') {\n                    nu = [];\n                    for (i = 0; i < value.length; i += 1) {\n                        nu[i] = derez(value[i], path + '[' + i + ']');\n                    }\n                }\n                else {\n                    nu = {};\n                    for (name in value) {\n                        if (Object.prototype.hasOwnProperty.call(value, name)) {\n                            nu[name] = derez(value[name], path + '[' + JSON.stringify(name) + ']');\n                        }\n                    }\n                }\n                return nu;\n            case 'number':\n            case 'string':\n            case 'boolean':\n                return value;\n        }\n    })(object, '$');\n}\nfunction safeJSONStringify(source) {\n    try {\n        return JSON.stringify(source);\n    }\n    catch (e) {\n        return JSON.stringify(decycleObject(source));\n    }\n}\n\n// CONCATENATED MODULE: ./src/core/logger.ts\n\n\nvar logger_Logger = (function () {\n    function Logger() {\n        this.globalLog = function (message) {\n            if (window.console && window.console.log) {\n                window.console.log(message);\n            }\n        };\n    }\n    Logger.prototype.debug = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        this.log(this.globalLog, args);\n    };\n    Logger.prototype.warn = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        this.log(this.globalLogWarn, args);\n    };\n    Logger.prototype.error = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        this.log(this.globalLogError, args);\n    };\n    Logger.prototype.globalLogWarn = function (message) {\n        if (window.console && window.console.warn) {\n            window.console.warn(message);\n        }\n        else {\n            this.globalLog(message);\n        }\n    };\n    Logger.prototype.globalLogError = function (message) {\n        if (window.console && window.console.error) {\n            window.console.error(message);\n        }\n        else {\n            this.globalLogWarn(message);\n        }\n    };\n    Logger.prototype.log = function (defaultLoggingFunction) {\n        var args = [];\n        for (var _i = 1; _i < arguments.length; _i++) {\n            args[_i - 1] = arguments[_i];\n        }\n        var message = stringify.apply(this, arguments);\n        if (core_pusher.log) {\n            core_pusher.log(message);\n        }\n        else if (core_pusher.logToConsole) {\n            var log = defaultLoggingFunction.bind(this);\n            log(message);\n        }\n    };\n    return Logger;\n}());\n/* harmony default export */ var logger = (new logger_Logger());\n\n// CONCATENATED MODULE: ./src/runtimes/web/auth/jsonp_auth.ts\n\nvar jsonp = function (context, query, authOptions, authRequestType, callback) {\n    if (authOptions.headers !== undefined ||\n        authOptions.headersProvider != null) {\n        logger.warn(\"To send headers with the \" + authRequestType.toString() + \" request, you must use AJAX, rather than JSONP.\");\n    }\n    var callbackName = context.nextAuthCallbackID.toString();\n    context.nextAuthCallbackID++;\n    var document = context.getDocument();\n    var script = document.createElement('script');\n    context.auth_callbacks[callbackName] = function (data) {\n        callback(null, data);\n    };\n    var callback_name = \"Pusher.auth_callbacks['\" + callbackName + \"']\";\n    script.src =\n        authOptions.endpoint +\n            '?callback=' +\n            encodeURIComponent(callback_name) +\n            '&' +\n            query;\n    var head = document.getElementsByTagName('head')[0] || document.documentElement;\n    head.insertBefore(script, head.firstChild);\n};\n/* harmony default export */ var jsonp_auth = (jsonp);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/script_request.ts\nvar ScriptRequest = (function () {\n    function ScriptRequest(src) {\n        this.src = src;\n    }\n    ScriptRequest.prototype.send = function (receiver) {\n        var self = this;\n        var errorString = 'Error loading ' + self.src;\n        self.script = document.createElement('script');\n        self.script.id = receiver.id;\n        self.script.src = self.src;\n        self.script.type = 'text/javascript';\n        self.script.charset = 'UTF-8';\n        if (self.script.addEventListener) {\n            self.script.onerror = function () {\n                receiver.callback(errorString);\n            };\n            self.script.onload = function () {\n                receiver.callback(null);\n            };\n        }\n        else {\n            self.script.onreadystatechange = function () {\n                if (self.script.readyState === 'loaded' ||\n                    self.script.readyState === 'complete') {\n                    receiver.callback(null);\n                }\n            };\n        }\n        if (self.script.async === undefined &&\n            document.attachEvent &&\n            /opera/i.test(navigator.userAgent)) {\n            self.errorScript = document.createElement('script');\n            self.errorScript.id = receiver.id + '_error';\n            self.errorScript.text = receiver.name + \"('\" + errorString + \"');\";\n            self.script.async = self.errorScript.async = false;\n        }\n        else {\n            self.script.async = true;\n        }\n        var head = document.getElementsByTagName('head')[0];\n        head.insertBefore(self.script, head.firstChild);\n        if (self.errorScript) {\n            head.insertBefore(self.errorScript, self.script.nextSibling);\n        }\n    };\n    ScriptRequest.prototype.cleanup = function () {\n        if (this.script) {\n            this.script.onload = this.script.onerror = null;\n            this.script.onreadystatechange = null;\n        }\n        if (this.script && this.script.parentNode) {\n            this.script.parentNode.removeChild(this.script);\n        }\n        if (this.errorScript && this.errorScript.parentNode) {\n            this.errorScript.parentNode.removeChild(this.errorScript);\n        }\n        this.script = null;\n        this.errorScript = null;\n    };\n    return ScriptRequest;\n}());\n/* harmony default export */ var script_request = (ScriptRequest);\n\n// CONCATENATED MODULE: ./src/runtimes/web/dom/jsonp_request.ts\n\n\nvar jsonp_request_JSONPRequest = (function () {\n    function JSONPRequest(url, data) {\n        this.url = url;\n        this.data = data;\n    }\n    JSONPRequest.prototype.send = function (receiver) {\n        if (this.request) {\n            return;\n        }\n        var query = buildQueryString(this.data);\n        var url = this.url + '/' + receiver.number + '?' + query;\n        this.request = runtime.createScriptRequest(url);\n        this.request.send(receiver);\n    };\n    JSONPRequest.prototype.cleanup = function () {\n        if (this.request) {\n            this.request.cleanup();\n        }\n    };\n    return JSONPRequest;\n}());\n/* harmony default export */ var jsonp_request = (jsonp_request_JSONPRequest);\n\n// CONCATENATED MODULE: ./src/runtimes/web/timeline/jsonp_timeline.ts\n\n\nvar getAgent = function (sender, useTLS) {\n    return function (data, callback) {\n        var scheme = 'http' + (useTLS ? 's' : '') + '://';\n        var url = scheme + (sender.host || sender.options.host) + sender.options.path;\n        var request = runtime.createJSONPRequest(url, data);\n        var receiver = runtime.ScriptReceivers.create(function (error, result) {\n            ScriptReceivers.remove(receiver);\n            request.cleanup();\n            if (result && result.host) {\n                sender.host = result.host;\n            }\n            if (callback) {\n                callback(error, result);\n            }\n        });\n        request.send(receiver);\n    };\n};\nvar jsonp_timeline_jsonp = {\n    name: 'jsonp',\n    getAgent: getAgent\n};\n/* harmony default export */ var jsonp_timeline = (jsonp_timeline_jsonp);\n\n// CONCATENATED MODULE: ./src/core/transports/url_schemes.ts\n\nfunction getGenericURL(baseScheme, params, path) {\n    var scheme = baseScheme + (params.useTLS ? 's' : '');\n    var host = params.useTLS ? params.hostTLS : params.hostNonTLS;\n    return scheme + '://' + host + path;\n}\nfunction getGenericPath(key, queryString) {\n    var path = '/app/' + key;\n    var query = '?protocol=' +\n        defaults.PROTOCOL +\n        '&client=js' +\n        '&version=' +\n        defaults.VERSION +\n        (queryString ? '&' + queryString : '');\n    return path + query;\n}\nvar ws = {\n    getInitial: function (key, params) {\n        var path = (params.httpPath || '') + getGenericPath(key, 'flash=false');\n        return getGenericURL('ws', params, path);\n    }\n};\nvar http = {\n    getInitial: function (key, params) {\n        var path = (params.httpPath || '/pusher') + getGenericPath(key);\n        return getGenericURL('http', params, path);\n    }\n};\nvar sockjs = {\n    getInitial: function (key, params) {\n        return getGenericURL('http', params, params.httpPath || '/pusher');\n    },\n    getPath: function (key, params) {\n        return getGenericPath(key);\n    }\n};\n\n// CONCATENATED MODULE: ./src/core/events/callback_registry.ts\n\nvar callback_registry_CallbackRegistry = (function () {\n    function CallbackRegistry() {\n        this._callbacks = {};\n    }\n    CallbackRegistry.prototype.get = function (name) {\n        return this._callbacks[prefix(name)];\n    };\n    CallbackRegistry.prototype.add = function (name, callback, context) {\n        var prefixedEventName = prefix(name);\n        this._callbacks[prefixedEventName] =\n            this._callbacks[prefixedEventName] || [];\n        this._callbacks[prefixedEventName].push({\n            fn: callback,\n            context: context\n        });\n    };\n    CallbackRegistry.prototype.remove = function (name, callback, context) {\n        if (!name && !callback && !context) {\n            this._callbacks = {};\n            return;\n        }\n        var names = name ? [prefix(name)] : keys(this._callbacks);\n        if (callback || context) {\n            this.removeCallback(names, callback, context);\n        }\n        else {\n            this.removeAllCallbacks(names);\n        }\n    };\n    CallbackRegistry.prototype.removeCallback = function (names, callback, context) {\n        apply(names, function (name) {\n            this._callbacks[name] = filter(this._callbacks[name] || [], function (binding) {\n                return ((callback && callback !== binding.fn) ||\n                    (context && context !== binding.context));\n            });\n            if (this._callbacks[name].length === 0) {\n                delete this._callbacks[name];\n            }\n        }, this);\n    };\n    CallbackRegistry.prototype.removeAllCallbacks = function (names) {\n        apply(names, function (name) {\n            delete this._callbacks[name];\n        }, this);\n    };\n    return CallbackRegistry;\n}());\n/* harmony default export */ var callback_registry = (callback_registry_CallbackRegistry);\nfunction prefix(name) {\n    return '_' + name;\n}\n\n// CONCATENATED MODULE: ./src/core/events/dispatcher.ts\n\n\nvar dispatcher_Dispatcher = (function () {\n    function Dispatcher(failThrough) {\n        this.callbacks = new callback_registry();\n        this.global_callbacks = [];\n        this.failThrough = failThrough;\n    }\n    Dispatcher.prototype.bind = function (eventName, callback, context) {\n        this.callbacks.add(eventName, callback, context);\n        return this;\n    };\n    Dispatcher.prototype.bind_global = function (callback) {\n        this.global_callbacks.push(callback);\n        return this;\n    };\n    Dispatcher.prototype.unbind = function (eventName, callback, context) {\n        this.callbacks.remove(eventName, callback, context);\n        return this;\n    };\n    Dispatcher.prototype.unbind_global = function (callback) {\n        if (!callback) {\n            this.global_callbacks = [];\n            return this;\n        }\n        this.global_callbacks = filter(this.global_callbacks || [], function (c) { return c !== callback; });\n        return this;\n    };\n    Dispatcher.prototype.unbind_all = function () {\n        this.unbind();\n        this.unbind_global();\n        return this;\n    };\n    Dispatcher.prototype.emit = function (eventName, data, metadata) {\n        for (var i = 0; i < this.global_callbacks.length; i++) {\n            this.global_callbacks[i](eventName, data);\n        }\n        var callbacks = this.callbacks.get(eventName);\n        var args = [];\n        if (metadata) {\n            args.push(data, metadata);\n        }\n        else if (data) {\n            args.push(data);\n        }\n        if (callbacks && callbacks.length > 0) {\n            for (var i = 0; i < callbacks.length; i++) {\n                callbacks[i].fn.apply(callbacks[i].context || window, args);\n            }\n        }\n        else if (this.failThrough) {\n            this.failThrough(eventName, data);\n        }\n        return this;\n    };\n    return Dispatcher;\n}());\n/* harmony default export */ var dispatcher = (dispatcher_Dispatcher);\n\n// CONCATENATED MODULE: ./src/core/transports/transport_connection.ts\nvar transport_connection_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\n\n\n\nvar transport_connection_TransportConnection = (function (_super) {\n    transport_connection_extends(TransportConnection, _super);\n    function TransportConnection(hooks, name, priority, key, options) {\n        var _this = _super.call(this) || this;\n        _this.initialize = runtime.transportConnectionInitializer;\n        _this.hooks = hooks;\n        _this.name = name;\n        _this.priority = priority;\n        _this.key = key;\n        _this.options = options;\n        _this.state = 'new';\n        _this.timeline = options.timeline;\n        _this.activityTimeout = options.activityTimeout;\n        _this.id = _this.timeline.generateUniqueID();\n        return _this;\n    }\n    TransportConnection.prototype.handlesActivityChecks = function () {\n        return Boolean(this.hooks.handlesActivityChecks);\n    };\n    TransportConnection.prototype.supportsPing = function () {\n        return Boolean(this.hooks.supportsPing);\n    };\n    TransportConnection.prototype.connect = function () {\n        var _this = this;\n        if (this.socket || this.state !== 'initialized') {\n            return false;\n        }\n        var url = this.hooks.urls.getInitial(this.key, this.options);\n        try {\n            this.socket = this.hooks.getSocket(url, this.options);\n        }\n        catch (e) {\n            util.defer(function () {\n                _this.onError(e);\n                _this.changeState('closed');\n            });\n            return false;\n        }\n        this.bindListeners();\n        logger.debug('Connecting', { transport: this.name, url: url });\n        this.changeState('connecting');\n        return true;\n    };\n    TransportConnection.prototype.close = function () {\n        if (this.socket) {\n            this.socket.close();\n            return true;\n        }\n        else {\n            return false;\n        }\n    };\n    TransportConnection.prototype.send = function (data) {\n        var _this = this;\n        if (this.state === 'open') {\n            util.defer(function () {\n                if (_this.socket) {\n                    _this.socket.send(data);\n                }\n            });\n            return true;\n        }\n        else {\n            return false;\n        }\n    };\n    TransportConnection.prototype.ping = function () {\n        if (this.state === 'open' && this.supportsPing()) {\n            this.socket.ping();\n        }\n    };\n    TransportConnection.prototype.onOpen = function () {\n        if (this.hooks.beforeOpen) {\n            this.hooks.beforeOpen(this.socket, this.hooks.urls.getPath(this.key, this.options));\n        }\n        this.changeState('open');\n        this.socket.onopen = undefined;\n    };\n    TransportConnection.prototype.onError = function (error) {\n        this.emit('error', { type: 'WebSocketError', error: error });\n        this.timeline.error(this.buildTimelineMessage({ error: error.toString() }));\n    };\n    TransportConnection.prototype.onClose = function (closeEvent) {\n        if (closeEvent) {\n            this.changeState('closed', {\n                code: closeEvent.code,\n                reason: closeEvent.reason,\n                wasClean: closeEvent.wasClean\n            });\n        }\n        else {\n            this.changeState('closed');\n        }\n        this.unbindListeners();\n        this.socket = undefined;\n    };\n    TransportConnection.prototype.onMessage = function (message) {\n        this.emit('message', message);\n    };\n    TransportConnection.prototype.onActivity = function () {\n        this.emit('activity');\n    };\n    TransportConnection.prototype.bindListeners = function () {\n        var _this = this;\n        this.socket.onopen = function () {\n            _this.onOpen();\n        };\n        this.socket.onerror = function (error) {\n            _this.onError(error);\n        };\n        this.socket.onclose = function (closeEvent) {\n            _this.onClose(closeEvent);\n        };\n        this.socket.onmessage = function (message) {\n            _this.onMessage(message);\n        };\n        if (this.supportsPing()) {\n            this.socket.onactivity = function () {\n                _this.onActivity();\n            };\n        }\n    };\n    TransportConnection.prototype.unbindListeners = function () {\n        if (this.socket) {\n            this.socket.onopen = undefined;\n            this.socket.onerror = undefined;\n            this.socket.onclose = undefined;\n            this.socket.onmessage = undefined;\n            if (this.supportsPing()) {\n                this.socket.onactivity = undefined;\n            }\n        }\n    };\n    TransportConnection.prototype.changeState = function (state, params) {\n        this.state = state;\n        this.timeline.info(this.buildTimelineMessage({\n            state: state,\n            params: params\n        }));\n        this.emit(state, params);\n    };\n    TransportConnection.prototype.buildTimelineMessage = function (message) {\n        return extend({ cid: this.id }, message);\n    };\n    return TransportConnection;\n}(dispatcher));\n/* harmony default export */ var transport_connection = (transport_connection_TransportConnection);\n\n// CONCATENATED MODULE: ./src/core/transports/transport.ts\n\nvar transport_Transport = (function () {\n    function Transport(hooks) {\n        this.hooks = hooks;\n    }\n    Transport.prototype.isSupported = function (environment) {\n        return this.hooks.isSupported(environment);\n    };\n    Transport.prototype.createConnection = function (name, priority, key, options) {\n        return new transport_connection(this.hooks, name, priority, key, options);\n    };\n    return Transport;\n}());\n/* harmony default export */ var transports_transport = (transport_Transport);\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/transports/transports.ts\n\n\n\n\nvar WSTransport = new transports_transport({\n    urls: ws,\n    handlesActivityChecks: false,\n    supportsPing: false,\n    isInitialized: function () {\n        return Boolean(runtime.getWebSocketAPI());\n    },\n    isSupported: function () {\n        return Boolean(runtime.getWebSocketAPI());\n    },\n    getSocket: function (url) {\n        return runtime.createWebSocket(url);\n    }\n});\nvar httpConfiguration = {\n    urls: http,\n    handlesActivityChecks: false,\n    supportsPing: true,\n    isInitialized: function () {\n        return true;\n    }\n};\nvar streamingConfiguration = extend({\n    getSocket: function (url) {\n        return runtime.HTTPFactory.createStreamingSocket(url);\n    }\n}, httpConfiguration);\nvar pollingConfiguration = extend({\n    getSocket: function (url) {\n        return runtime.HTTPFactory.createPollingSocket(url);\n    }\n}, httpConfiguration);\nvar xhrConfiguration = {\n    isSupported: function () {\n        return runtime.isXHRSupported();\n    }\n};\nvar XHRStreamingTransport = new transports_transport((extend({}, streamingConfiguration, xhrConfiguration)));\nvar XHRPollingTransport = new transports_transport(extend({}, pollingConfiguration, xhrConfiguration));\nvar Transports = {\n    ws: WSTransport,\n    xhr_streaming: XHRStreamingTransport,\n    xhr_polling: XHRPollingTransport\n};\n/* harmony default export */ var transports = (Transports);\n\n// CONCATENATED MODULE: ./src/runtimes/web/transports/transports.ts\n\n\n\n\n\n\nvar SockJSTransport = new transports_transport({\n    file: 'sockjs',\n    urls: sockjs,\n    handlesActivityChecks: true,\n    supportsPing: false,\n    isSupported: function () {\n        return true;\n    },\n    isInitialized: function () {\n        return window.SockJS !== undefined;\n    },\n    getSocket: function (url, options) {\n        return new window.SockJS(url, null, {\n            js_path: Dependencies.getPath('sockjs', {\n                useTLS: options.useTLS\n            }),\n            ignore_null_origin: options.ignoreNullOrigin\n        });\n    },\n    beforeOpen: function (socket, path) {\n        socket.send(JSON.stringify({\n            path: path\n        }));\n    }\n});\nvar xdrConfiguration = {\n    isSupported: function (environment) {\n        var yes = runtime.isXDRSupported(environment.useTLS);\n        return yes;\n    }\n};\nvar XDRStreamingTransport = new transports_transport((extend({}, streamingConfiguration, xdrConfiguration)));\nvar XDRPollingTransport = new transports_transport(extend({}, pollingConfiguration, xdrConfiguration));\ntransports.xdr_streaming = XDRStreamingTransport;\ntransports.xdr_polling = XDRPollingTransport;\ntransports.sockjs = SockJSTransport;\n/* harmony default export */ var transports_transports = (transports);\n\n// CONCATENATED MODULE: ./src/runtimes/web/net_info.ts\nvar net_info_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\nvar NetInfo = (function (_super) {\n    net_info_extends(NetInfo, _super);\n    function NetInfo() {\n        var _this = _super.call(this) || this;\n        var self = _this;\n        if (window.addEventListener !== undefined) {\n            window.addEventListener('online', function () {\n                self.emit('online');\n            }, false);\n            window.addEventListener('offline', function () {\n                self.emit('offline');\n            }, false);\n        }\n        return _this;\n    }\n    NetInfo.prototype.isOnline = function () {\n        if (window.navigator.onLine === undefined) {\n            return true;\n        }\n        else {\n            return window.navigator.onLine;\n        }\n    };\n    return NetInfo;\n}(dispatcher));\n\nvar net_info_Network = new NetInfo();\n\n// CONCATENATED MODULE: ./src/core/transports/assistant_to_the_transport_manager.ts\n\n\nvar assistant_to_the_transport_manager_AssistantToTheTransportManager = (function () {\n    function AssistantToTheTransportManager(manager, transport, options) {\n        this.manager = manager;\n        this.transport = transport;\n        this.minPingDelay = options.minPingDelay;\n        this.maxPingDelay = options.maxPingDelay;\n        this.pingDelay = undefined;\n    }\n    AssistantToTheTransportManager.prototype.createConnection = function (name, priority, key, options) {\n        var _this = this;\n        options = extend({}, options, {\n            activityTimeout: this.pingDelay\n        });\n        var connection = this.transport.createConnection(name, priority, key, options);\n        var openTimestamp = null;\n        var onOpen = function () {\n            connection.unbind('open', onOpen);\n            connection.bind('closed', onClosed);\n            openTimestamp = util.now();\n        };\n        var onClosed = function (closeEvent) {\n            connection.unbind('closed', onClosed);\n            if (closeEvent.code === 1002 || closeEvent.code === 1003) {\n                _this.manager.reportDeath();\n            }\n            else if (!closeEvent.wasClean && openTimestamp) {\n                var lifespan = util.now() - openTimestamp;\n                if (lifespan < 2 * _this.maxPingDelay) {\n                    _this.manager.reportDeath();\n                    _this.pingDelay = Math.max(lifespan / 2, _this.minPingDelay);\n                }\n            }\n        };\n        connection.bind('open', onOpen);\n        return connection;\n    };\n    AssistantToTheTransportManager.prototype.isSupported = function (environment) {\n        return this.manager.isAlive() && this.transport.isSupported(environment);\n    };\n    return AssistantToTheTransportManager;\n}());\n/* harmony default export */ var assistant_to_the_transport_manager = (assistant_to_the_transport_manager_AssistantToTheTransportManager);\n\n// CONCATENATED MODULE: ./src/core/connection/protocol/protocol.ts\nvar Protocol = {\n    decodeMessage: function (messageEvent) {\n        try {\n            var messageData = JSON.parse(messageEvent.data);\n            var pusherEventData = messageData.data;\n            if (typeof pusherEventData === 'string') {\n                try {\n                    pusherEventData = JSON.parse(messageData.data);\n                }\n                catch (e) { }\n            }\n            var pusherEvent = {\n                event: messageData.event,\n                channel: messageData.channel,\n                data: pusherEventData\n            };\n            if (messageData.user_id) {\n                pusherEvent.user_id = messageData.user_id;\n            }\n            return pusherEvent;\n        }\n        catch (e) {\n            throw { type: 'MessageParseError', error: e, data: messageEvent.data };\n        }\n    },\n    encodeMessage: function (event) {\n        return JSON.stringify(event);\n    },\n    processHandshake: function (messageEvent) {\n        var message = Protocol.decodeMessage(messageEvent);\n        if (message.event === 'pusher:connection_established') {\n            if (!message.data.activity_timeout) {\n                throw 'No activity timeout specified in handshake';\n            }\n            return {\n                action: 'connected',\n                id: message.data.socket_id,\n                activityTimeout: message.data.activity_timeout * 1000\n            };\n        }\n        else if (message.event === 'pusher:error') {\n            return {\n                action: this.getCloseAction(message.data),\n                error: this.getCloseError(message.data)\n            };\n        }\n        else {\n            throw 'Invalid handshake';\n        }\n    },\n    getCloseAction: function (closeEvent) {\n        if (closeEvent.code < 4000) {\n            if (closeEvent.code >= 1002 && closeEvent.code <= 1004) {\n                return 'backoff';\n            }\n            else {\n                return null;\n            }\n        }\n        else if (closeEvent.code === 4000) {\n            return 'tls_only';\n        }\n        else if (closeEvent.code < 4100) {\n            return 'refused';\n        }\n        else if (closeEvent.code < 4200) {\n            return 'backoff';\n        }\n        else if (closeEvent.code < 4300) {\n            return 'retry';\n        }\n        else {\n            return 'refused';\n        }\n    },\n    getCloseError: function (closeEvent) {\n        if (closeEvent.code !== 1000 && closeEvent.code !== 1001) {\n            return {\n                type: 'PusherError',\n                data: {\n                    code: closeEvent.code,\n                    message: closeEvent.reason || closeEvent.message\n                }\n            };\n        }\n        else {\n            return null;\n        }\n    }\n};\n/* harmony default export */ var protocol_protocol = (Protocol);\n\n// CONCATENATED MODULE: ./src/core/connection/connection.ts\nvar connection_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\n\n\nvar connection_Connection = (function (_super) {\n    connection_extends(Connection, _super);\n    function Connection(id, transport) {\n        var _this = _super.call(this) || this;\n        _this.id = id;\n        _this.transport = transport;\n        _this.activityTimeout = transport.activityTimeout;\n        _this.bindListeners();\n        return _this;\n    }\n    Connection.prototype.handlesActivityChecks = function () {\n        return this.transport.handlesActivityChecks();\n    };\n    Connection.prototype.send = function (data) {\n        return this.transport.send(data);\n    };\n    Connection.prototype.send_event = function (name, data, channel) {\n        var event = { event: name, data: data };\n        if (channel) {\n            event.channel = channel;\n        }\n        logger.debug('Event sent', event);\n        return this.send(protocol_protocol.encodeMessage(event));\n    };\n    Connection.prototype.ping = function () {\n        if (this.transport.supportsPing()) {\n            this.transport.ping();\n        }\n        else {\n            this.send_event('pusher:ping', {});\n        }\n    };\n    Connection.prototype.close = function () {\n        this.transport.close();\n    };\n    Connection.prototype.bindListeners = function () {\n        var _this = this;\n        var listeners = {\n            message: function (messageEvent) {\n                var pusherEvent;\n                try {\n                    pusherEvent = protocol_protocol.decodeMessage(messageEvent);\n                }\n                catch (e) {\n                    _this.emit('error', {\n                        type: 'MessageParseError',\n                        error: e,\n                        data: messageEvent.data\n                    });\n                }\n                if (pusherEvent !== undefined) {\n                    logger.debug('Event recd', pusherEvent);\n                    switch (pusherEvent.event) {\n                        case 'pusher:error':\n                            _this.emit('error', {\n                                type: 'PusherError',\n                                data: pusherEvent.data\n                            });\n                            break;\n                        case 'pusher:ping':\n                            _this.emit('ping');\n                            break;\n                        case 'pusher:pong':\n                            _this.emit('pong');\n                            break;\n                    }\n                    _this.emit('message', pusherEvent);\n                }\n            },\n            activity: function () {\n                _this.emit('activity');\n            },\n            error: function (error) {\n                _this.emit('error', error);\n            },\n            closed: function (closeEvent) {\n                unbindListeners();\n                if (closeEvent && closeEvent.code) {\n                    _this.handleCloseEvent(closeEvent);\n                }\n                _this.transport = null;\n                _this.emit('closed');\n            }\n        };\n        var unbindListeners = function () {\n            objectApply(listeners, function (listener, event) {\n                _this.transport.unbind(event, listener);\n            });\n        };\n        objectApply(listeners, function (listener, event) {\n            _this.transport.bind(event, listener);\n        });\n    };\n    Connection.prototype.handleCloseEvent = function (closeEvent) {\n        var action = protocol_protocol.getCloseAction(closeEvent);\n        var error = protocol_protocol.getCloseError(closeEvent);\n        if (error) {\n            this.emit('error', error);\n        }\n        if (action) {\n            this.emit(action, { action: action, error: error });\n        }\n    };\n    return Connection;\n}(dispatcher));\n/* harmony default export */ var connection_connection = (connection_Connection);\n\n// CONCATENATED MODULE: ./src/core/connection/handshake/index.ts\n\n\n\nvar handshake_Handshake = (function () {\n    function Handshake(transport, callback) {\n        this.transport = transport;\n        this.callback = callback;\n        this.bindListeners();\n    }\n    Handshake.prototype.close = function () {\n        this.unbindListeners();\n        this.transport.close();\n    };\n    Handshake.prototype.bindListeners = function () {\n        var _this = this;\n        this.onMessage = function (m) {\n            _this.unbindListeners();\n            var result;\n            try {\n                result = protocol_protocol.processHandshake(m);\n            }\n            catch (e) {\n                _this.finish('error', { error: e });\n                _this.transport.close();\n                return;\n            }\n            if (result.action === 'connected') {\n                _this.finish('connected', {\n                    connection: new connection_connection(result.id, _this.transport),\n                    activityTimeout: result.activityTimeout\n                });\n            }\n            else {\n                _this.finish(result.action, { error: result.error });\n                _this.transport.close();\n            }\n        };\n        this.onClosed = function (closeEvent) {\n            _this.unbindListeners();\n            var action = protocol_protocol.getCloseAction(closeEvent) || 'backoff';\n            var error = protocol_protocol.getCloseError(closeEvent);\n            _this.finish(action, { error: error });\n        };\n        this.transport.bind('message', this.onMessage);\n        this.transport.bind('closed', this.onClosed);\n    };\n    Handshake.prototype.unbindListeners = function () {\n        this.transport.unbind('message', this.onMessage);\n        this.transport.unbind('closed', this.onClosed);\n    };\n    Handshake.prototype.finish = function (action, params) {\n        this.callback(extend({ transport: this.transport, action: action }, params));\n    };\n    return Handshake;\n}());\n/* harmony default export */ var connection_handshake = (handshake_Handshake);\n\n// CONCATENATED MODULE: ./src/core/timeline/timeline_sender.ts\n\nvar timeline_sender_TimelineSender = (function () {\n    function TimelineSender(timeline, options) {\n        this.timeline = timeline;\n        this.options = options || {};\n    }\n    TimelineSender.prototype.send = function (useTLS, callback) {\n        if (this.timeline.isEmpty()) {\n            return;\n        }\n        this.timeline.send(runtime.TimelineTransport.getAgent(this, useTLS), callback);\n    };\n    return TimelineSender;\n}());\n/* harmony default export */ var timeline_sender = (timeline_sender_TimelineSender);\n\n// CONCATENATED MODULE: ./src/core/channels/channel.ts\nvar channel_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\n\n\n\nvar channel_Channel = (function (_super) {\n    channel_extends(Channel, _super);\n    function Channel(name, pusher) {\n        var _this = _super.call(this, function (event, data) {\n            logger.debug('No callbacks on ' + name + ' for ' + event);\n        }) || this;\n        _this.name = name;\n        _this.pusher = pusher;\n        _this.subscribed = false;\n        _this.subscriptionPending = false;\n        _this.subscriptionCancelled = false;\n        return _this;\n    }\n    Channel.prototype.authorize = function (socketId, callback) {\n        return callback(null, { auth: '' });\n    };\n    Channel.prototype.trigger = function (event, data) {\n        if (event.indexOf('client-') !== 0) {\n            throw new BadEventName(\"Event '\" + event + \"' does not start with 'client-'\");\n        }\n        if (!this.subscribed) {\n            var suffix = url_store.buildLogSuffix('triggeringClientEvents');\n            logger.warn(\"Client event triggered before channel 'subscription_succeeded' event . \" + suffix);\n        }\n        return this.pusher.send_event(event, data, this.name);\n    };\n    Channel.prototype.disconnect = function () {\n        this.subscribed = false;\n        this.subscriptionPending = false;\n    };\n    Channel.prototype.handleEvent = function (event) {\n        var eventName = event.event;\n        var data = event.data;\n        if (eventName === 'pusher_internal:subscription_succeeded') {\n            this.handleSubscriptionSucceededEvent(event);\n        }\n        else if (eventName === 'pusher_internal:subscription_count') {\n            this.handleSubscriptionCountEvent(event);\n        }\n        else if (eventName.indexOf('pusher_internal:') !== 0) {\n            var metadata = {};\n            this.emit(eventName, data, metadata);\n        }\n    };\n    Channel.prototype.handleSubscriptionSucceededEvent = function (event) {\n        this.subscriptionPending = false;\n        this.subscribed = true;\n        if (this.subscriptionCancelled) {\n            this.pusher.unsubscribe(this.name);\n        }\n        else {\n            this.emit('pusher:subscription_succeeded', event.data);\n        }\n    };\n    Channel.prototype.handleSubscriptionCountEvent = function (event) {\n        if (event.data.subscription_count) {\n            this.subscriptionCount = event.data.subscription_count;\n        }\n        this.emit('pusher:subscription_count', event.data);\n    };\n    Channel.prototype.subscribe = function () {\n        var _this = this;\n        if (this.subscribed) {\n            return;\n        }\n        this.subscriptionPending = true;\n        this.subscriptionCancelled = false;\n        this.authorize(this.pusher.connection.socket_id, function (error, data) {\n            if (error) {\n                _this.subscriptionPending = false;\n                logger.error(error.toString());\n                _this.emit('pusher:subscription_error', Object.assign({}, {\n                    type: 'AuthError',\n                    error: error.message\n                }, error instanceof HTTPAuthError ? { status: error.status } : {}));\n            }\n            else {\n                _this.pusher.send_event('pusher:subscribe', {\n                    auth: data.auth,\n                    channel_data: data.channel_data,\n                    channel: _this.name\n                });\n            }\n        });\n    };\n    Channel.prototype.unsubscribe = function () {\n        this.subscribed = false;\n        this.pusher.send_event('pusher:unsubscribe', {\n            channel: this.name\n        });\n    };\n    Channel.prototype.cancelSubscription = function () {\n        this.subscriptionCancelled = true;\n    };\n    Channel.prototype.reinstateSubscription = function () {\n        this.subscriptionCancelled = false;\n    };\n    return Channel;\n}(dispatcher));\n/* harmony default export */ var channels_channel = (channel_Channel);\n\n// CONCATENATED MODULE: ./src/core/channels/private_channel.ts\nvar private_channel_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\nvar PrivateChannel = (function (_super) {\n    private_channel_extends(PrivateChannel, _super);\n    function PrivateChannel() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    PrivateChannel.prototype.authorize = function (socketId, callback) {\n        return this.pusher.config.channelAuthorizer({\n            channelName: this.name,\n            socketId: socketId\n        }, callback);\n    };\n    return PrivateChannel;\n}(channels_channel));\n/* harmony default export */ var private_channel = (PrivateChannel);\n\n// CONCATENATED MODULE: ./src/core/channels/members.ts\n\nvar members_Members = (function () {\n    function Members() {\n        this.reset();\n    }\n    Members.prototype.get = function (id) {\n        if (Object.prototype.hasOwnProperty.call(this.members, id)) {\n            return {\n                id: id,\n                info: this.members[id]\n            };\n        }\n        else {\n            return null;\n        }\n    };\n    Members.prototype.each = function (callback) {\n        var _this = this;\n        objectApply(this.members, function (member, id) {\n            callback(_this.get(id));\n        });\n    };\n    Members.prototype.setMyID = function (id) {\n        this.myID = id;\n    };\n    Members.prototype.onSubscription = function (subscriptionData) {\n        this.members = subscriptionData.presence.hash;\n        this.count = subscriptionData.presence.count;\n        this.me = this.get(this.myID);\n    };\n    Members.prototype.addMember = function (memberData) {\n        if (this.get(memberData.user_id) === null) {\n            this.count++;\n        }\n        this.members[memberData.user_id] = memberData.user_info;\n        return this.get(memberData.user_id);\n    };\n    Members.prototype.removeMember = function (memberData) {\n        var member = this.get(memberData.user_id);\n        if (member) {\n            delete this.members[memberData.user_id];\n            this.count--;\n        }\n        return member;\n    };\n    Members.prototype.reset = function () {\n        this.members = {};\n        this.count = 0;\n        this.myID = null;\n        this.me = null;\n    };\n    return Members;\n}());\n/* harmony default export */ var members = (members_Members);\n\n// CONCATENATED MODULE: ./src/core/channels/presence_channel.ts\nvar presence_channel_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (_) try {\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\n\n\n\n\nvar presence_channel_PresenceChannel = (function (_super) {\n    presence_channel_extends(PresenceChannel, _super);\n    function PresenceChannel(name, pusher) {\n        var _this = _super.call(this, name, pusher) || this;\n        _this.members = new members();\n        return _this;\n    }\n    PresenceChannel.prototype.authorize = function (socketId, callback) {\n        var _this = this;\n        _super.prototype.authorize.call(this, socketId, function (error, authData) { return __awaiter(_this, void 0, void 0, function () {\n            var channelData, suffix;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (!!error) return [3, 3];\n                        authData = authData;\n                        if (!(authData.channel_data != null)) return [3, 1];\n                        channelData = JSON.parse(authData.channel_data);\n                        this.members.setMyID(channelData.user_id);\n                        return [3, 3];\n                    case 1: return [4, this.pusher.user.signinDonePromise];\n                    case 2:\n                        _a.sent();\n                        if (this.pusher.user.user_data != null) {\n                            this.members.setMyID(this.pusher.user.user_data.id);\n                        }\n                        else {\n                            suffix = url_store.buildLogSuffix('authorizationEndpoint');\n                            logger.error(\"Invalid auth response for channel '\" + this.name + \"', \" +\n                                (\"expected 'channel_data' field. \" + suffix + \", \") +\n                                \"or the user should be signed in.\");\n                            callback('Invalid auth response');\n                            return [2];\n                        }\n                        _a.label = 3;\n                    case 3:\n                        callback(error, authData);\n                        return [2];\n                }\n            });\n        }); });\n    };\n    PresenceChannel.prototype.handleEvent = function (event) {\n        var eventName = event.event;\n        if (eventName.indexOf('pusher_internal:') === 0) {\n            this.handleInternalEvent(event);\n        }\n        else {\n            var data = event.data;\n            var metadata = {};\n            if (event.user_id) {\n                metadata.user_id = event.user_id;\n            }\n            this.emit(eventName, data, metadata);\n        }\n    };\n    PresenceChannel.prototype.handleInternalEvent = function (event) {\n        var eventName = event.event;\n        var data = event.data;\n        switch (eventName) {\n            case 'pusher_internal:subscription_succeeded':\n                this.handleSubscriptionSucceededEvent(event);\n                break;\n            case 'pusher_internal:subscription_count':\n                this.handleSubscriptionCountEvent(event);\n                break;\n            case 'pusher_internal:member_added':\n                var addedMember = this.members.addMember(data);\n                this.emit('pusher:member_added', addedMember);\n                break;\n            case 'pusher_internal:member_removed':\n                var removedMember = this.members.removeMember(data);\n                if (removedMember) {\n                    this.emit('pusher:member_removed', removedMember);\n                }\n                break;\n        }\n    };\n    PresenceChannel.prototype.handleSubscriptionSucceededEvent = function (event) {\n        this.subscriptionPending = false;\n        this.subscribed = true;\n        if (this.subscriptionCancelled) {\n            this.pusher.unsubscribe(this.name);\n        }\n        else {\n            this.members.onSubscription(event.data);\n            this.emit('pusher:subscription_succeeded', this.members);\n        }\n    };\n    PresenceChannel.prototype.disconnect = function () {\n        this.members.reset();\n        _super.prototype.disconnect.call(this);\n    };\n    return PresenceChannel;\n}(private_channel));\n/* harmony default export */ var presence_channel = (presence_channel_PresenceChannel);\n\n// EXTERNAL MODULE: ./node_modules/@stablelib/utf8/lib/utf8.js\nvar utf8 = __webpack_require__(1);\n\n// EXTERNAL MODULE: ./node_modules/@stablelib/base64/lib/base64.js\nvar base64 = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./src/core/channels/encrypted_channel.ts\nvar encrypted_channel_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\n\n\n\nvar encrypted_channel_EncryptedChannel = (function (_super) {\n    encrypted_channel_extends(EncryptedChannel, _super);\n    function EncryptedChannel(name, pusher, nacl) {\n        var _this = _super.call(this, name, pusher) || this;\n        _this.key = null;\n        _this.nacl = nacl;\n        return _this;\n    }\n    EncryptedChannel.prototype.authorize = function (socketId, callback) {\n        var _this = this;\n        _super.prototype.authorize.call(this, socketId, function (error, authData) {\n            if (error) {\n                callback(error, authData);\n                return;\n            }\n            var sharedSecret = authData['shared_secret'];\n            if (!sharedSecret) {\n                callback(new Error(\"No shared_secret key in auth payload for encrypted channel: \" + _this.name), null);\n                return;\n            }\n            _this.key = Object(base64[\"decode\"])(sharedSecret);\n            delete authData['shared_secret'];\n            callback(null, authData);\n        });\n    };\n    EncryptedChannel.prototype.trigger = function (event, data) {\n        throw new UnsupportedFeature('Client events are not currently supported for encrypted channels');\n    };\n    EncryptedChannel.prototype.handleEvent = function (event) {\n        var eventName = event.event;\n        var data = event.data;\n        if (eventName.indexOf('pusher_internal:') === 0 ||\n            eventName.indexOf('pusher:') === 0) {\n            _super.prototype.handleEvent.call(this, event);\n            return;\n        }\n        this.handleEncryptedEvent(eventName, data);\n    };\n    EncryptedChannel.prototype.handleEncryptedEvent = function (event, data) {\n        var _this = this;\n        if (!this.key) {\n            logger.debug('Received encrypted event before key has been retrieved from the authEndpoint');\n            return;\n        }\n        if (!data.ciphertext || !data.nonce) {\n            logger.error('Unexpected format for encrypted event, expected object with `ciphertext` and `nonce` fields, got: ' +\n                data);\n            return;\n        }\n        var cipherText = Object(base64[\"decode\"])(data.ciphertext);\n        if (cipherText.length < this.nacl.secretbox.overheadLength) {\n            logger.error(\"Expected encrypted event ciphertext length to be \" + this.nacl.secretbox.overheadLength + \", got: \" + cipherText.length);\n            return;\n        }\n        var nonce = Object(base64[\"decode\"])(data.nonce);\n        if (nonce.length < this.nacl.secretbox.nonceLength) {\n            logger.error(\"Expected encrypted event nonce length to be \" + this.nacl.secretbox.nonceLength + \", got: \" + nonce.length);\n            return;\n        }\n        var bytes = this.nacl.secretbox.open(cipherText, nonce, this.key);\n        if (bytes === null) {\n            logger.debug('Failed to decrypt an event, probably because it was encrypted with a different key. Fetching a new key from the authEndpoint...');\n            this.authorize(this.pusher.connection.socket_id, function (error, authData) {\n                if (error) {\n                    logger.error(\"Failed to make a request to the authEndpoint: \" + authData + \". Unable to fetch new key, so dropping encrypted event\");\n                    return;\n                }\n                bytes = _this.nacl.secretbox.open(cipherText, nonce, _this.key);\n                if (bytes === null) {\n                    logger.error(\"Failed to decrypt event with new key. Dropping encrypted event\");\n                    return;\n                }\n                _this.emit(event, _this.getDataToEmit(bytes));\n                return;\n            });\n            return;\n        }\n        this.emit(event, this.getDataToEmit(bytes));\n    };\n    EncryptedChannel.prototype.getDataToEmit = function (bytes) {\n        var raw = Object(utf8[\"decode\"])(bytes);\n        try {\n            return JSON.parse(raw);\n        }\n        catch (_a) {\n            return raw;\n        }\n    };\n    return EncryptedChannel;\n}(private_channel));\n/* harmony default export */ var encrypted_channel = (encrypted_channel_EncryptedChannel);\n\n// CONCATENATED MODULE: ./src/core/connection/connection_manager.ts\nvar connection_manager_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\n\n\n\nvar connection_manager_ConnectionManager = (function (_super) {\n    connection_manager_extends(ConnectionManager, _super);\n    function ConnectionManager(key, options) {\n        var _this = _super.call(this) || this;\n        _this.state = 'initialized';\n        _this.connection = null;\n        _this.key = key;\n        _this.options = options;\n        _this.timeline = _this.options.timeline;\n        _this.usingTLS = _this.options.useTLS;\n        _this.errorCallbacks = _this.buildErrorCallbacks();\n        _this.connectionCallbacks = _this.buildConnectionCallbacks(_this.errorCallbacks);\n        _this.handshakeCallbacks = _this.buildHandshakeCallbacks(_this.errorCallbacks);\n        var Network = runtime.getNetwork();\n        Network.bind('online', function () {\n            _this.timeline.info({ netinfo: 'online' });\n            if (_this.state === 'connecting' || _this.state === 'unavailable') {\n                _this.retryIn(0);\n            }\n        });\n        Network.bind('offline', function () {\n            _this.timeline.info({ netinfo: 'offline' });\n            if (_this.connection) {\n                _this.sendActivityCheck();\n            }\n        });\n        _this.updateStrategy();\n        return _this;\n    }\n    ConnectionManager.prototype.connect = function () {\n        if (this.connection || this.runner) {\n            return;\n        }\n        if (!this.strategy.isSupported()) {\n            this.updateState('failed');\n            return;\n        }\n        this.updateState('connecting');\n        this.startConnecting();\n        this.setUnavailableTimer();\n    };\n    ConnectionManager.prototype.send = function (data) {\n        if (this.connection) {\n            return this.connection.send(data);\n        }\n        else {\n            return false;\n        }\n    };\n    ConnectionManager.prototype.send_event = function (name, data, channel) {\n        if (this.connection) {\n            return this.connection.send_event(name, data, channel);\n        }\n        else {\n            return false;\n        }\n    };\n    ConnectionManager.prototype.disconnect = function () {\n        this.disconnectInternally();\n        this.updateState('disconnected');\n    };\n    ConnectionManager.prototype.isUsingTLS = function () {\n        return this.usingTLS;\n    };\n    ConnectionManager.prototype.startConnecting = function () {\n        var _this = this;\n        var callback = function (error, handshake) {\n            if (error) {\n                _this.runner = _this.strategy.connect(0, callback);\n            }\n            else {\n                if (handshake.action === 'error') {\n                    _this.emit('error', {\n                        type: 'HandshakeError',\n                        error: handshake.error\n                    });\n                    _this.timeline.error({ handshakeError: handshake.error });\n                }\n                else {\n                    _this.abortConnecting();\n                    _this.handshakeCallbacks[handshake.action](handshake);\n                }\n            }\n        };\n        this.runner = this.strategy.connect(0, callback);\n    };\n    ConnectionManager.prototype.abortConnecting = function () {\n        if (this.runner) {\n            this.runner.abort();\n            this.runner = null;\n        }\n    };\n    ConnectionManager.prototype.disconnectInternally = function () {\n        this.abortConnecting();\n        this.clearRetryTimer();\n        this.clearUnavailableTimer();\n        if (this.connection) {\n            var connection = this.abandonConnection();\n            connection.close();\n        }\n    };\n    ConnectionManager.prototype.updateStrategy = function () {\n        this.strategy = this.options.getStrategy({\n            key: this.key,\n            timeline: this.timeline,\n            useTLS: this.usingTLS\n        });\n    };\n    ConnectionManager.prototype.retryIn = function (delay) {\n        var _this = this;\n        this.timeline.info({ action: 'retry', delay: delay });\n        if (delay > 0) {\n            this.emit('connecting_in', Math.round(delay / 1000));\n        }\n        this.retryTimer = new OneOffTimer(delay || 0, function () {\n            _this.disconnectInternally();\n            _this.connect();\n        });\n    };\n    ConnectionManager.prototype.clearRetryTimer = function () {\n        if (this.retryTimer) {\n            this.retryTimer.ensureAborted();\n            this.retryTimer = null;\n        }\n    };\n    ConnectionManager.prototype.setUnavailableTimer = function () {\n        var _this = this;\n        this.unavailableTimer = new OneOffTimer(this.options.unavailableTimeout, function () {\n            _this.updateState('unavailable');\n        });\n    };\n    ConnectionManager.prototype.clearUnavailableTimer = function () {\n        if (this.unavailableTimer) {\n            this.unavailableTimer.ensureAborted();\n        }\n    };\n    ConnectionManager.prototype.sendActivityCheck = function () {\n        var _this = this;\n        this.stopActivityCheck();\n        this.connection.ping();\n        this.activityTimer = new OneOffTimer(this.options.pongTimeout, function () {\n            _this.timeline.error({ pong_timed_out: _this.options.pongTimeout });\n            _this.retryIn(0);\n        });\n    };\n    ConnectionManager.prototype.resetActivityCheck = function () {\n        var _this = this;\n        this.stopActivityCheck();\n        if (this.connection && !this.connection.handlesActivityChecks()) {\n            this.activityTimer = new OneOffTimer(this.activityTimeout, function () {\n                _this.sendActivityCheck();\n            });\n        }\n    };\n    ConnectionManager.prototype.stopActivityCheck = function () {\n        if (this.activityTimer) {\n            this.activityTimer.ensureAborted();\n        }\n    };\n    ConnectionManager.prototype.buildConnectionCallbacks = function (errorCallbacks) {\n        var _this = this;\n        return extend({}, errorCallbacks, {\n            message: function (message) {\n                _this.resetActivityCheck();\n                _this.emit('message', message);\n            },\n            ping: function () {\n                _this.send_event('pusher:pong', {});\n            },\n            activity: function () {\n                _this.resetActivityCheck();\n            },\n            error: function (error) {\n                _this.emit('error', error);\n            },\n            closed: function () {\n                _this.abandonConnection();\n                if (_this.shouldRetry()) {\n                    _this.retryIn(1000);\n                }\n            }\n        });\n    };\n    ConnectionManager.prototype.buildHandshakeCallbacks = function (errorCallbacks) {\n        var _this = this;\n        return extend({}, errorCallbacks, {\n            connected: function (handshake) {\n                _this.activityTimeout = Math.min(_this.options.activityTimeout, handshake.activityTimeout, handshake.connection.activityTimeout || Infinity);\n                _this.clearUnavailableTimer();\n                _this.setConnection(handshake.connection);\n                _this.socket_id = _this.connection.id;\n                _this.updateState('connected', { socket_id: _this.socket_id });\n            }\n        });\n    };\n    ConnectionManager.prototype.buildErrorCallbacks = function () {\n        var _this = this;\n        var withErrorEmitted = function (callback) {\n            return function (result) {\n                if (result.error) {\n                    _this.emit('error', { type: 'WebSocketError', error: result.error });\n                }\n                callback(result);\n            };\n        };\n        return {\n            tls_only: withErrorEmitted(function () {\n                _this.usingTLS = true;\n                _this.updateStrategy();\n                _this.retryIn(0);\n            }),\n            refused: withErrorEmitted(function () {\n                _this.disconnect();\n            }),\n            backoff: withErrorEmitted(function () {\n                _this.retryIn(1000);\n            }),\n            retry: withErrorEmitted(function () {\n                _this.retryIn(0);\n            })\n        };\n    };\n    ConnectionManager.prototype.setConnection = function (connection) {\n        this.connection = connection;\n        for (var event in this.connectionCallbacks) {\n            this.connection.bind(event, this.connectionCallbacks[event]);\n        }\n        this.resetActivityCheck();\n    };\n    ConnectionManager.prototype.abandonConnection = function () {\n        if (!this.connection) {\n            return;\n        }\n        this.stopActivityCheck();\n        for (var event in this.connectionCallbacks) {\n            this.connection.unbind(event, this.connectionCallbacks[event]);\n        }\n        var connection = this.connection;\n        this.connection = null;\n        return connection;\n    };\n    ConnectionManager.prototype.updateState = function (newState, data) {\n        var previousState = this.state;\n        this.state = newState;\n        if (previousState !== newState) {\n            var newStateDescription = newState;\n            if (newStateDescription === 'connected') {\n                newStateDescription += ' with new socket ID ' + data.socket_id;\n            }\n            logger.debug('State changed', previousState + ' -> ' + newStateDescription);\n            this.timeline.info({ state: newState, params: data });\n            this.emit('state_change', { previous: previousState, current: newState });\n            this.emit(newState, data);\n        }\n    };\n    ConnectionManager.prototype.shouldRetry = function () {\n        return this.state === 'connecting' || this.state === 'connected';\n    };\n    return ConnectionManager;\n}(dispatcher));\n/* harmony default export */ var connection_manager = (connection_manager_ConnectionManager);\n\n// CONCATENATED MODULE: ./src/core/channels/channels.ts\n\n\n\n\nvar channels_Channels = (function () {\n    function Channels() {\n        this.channels = {};\n    }\n    Channels.prototype.add = function (name, pusher) {\n        if (!this.channels[name]) {\n            this.channels[name] = createChannel(name, pusher);\n        }\n        return this.channels[name];\n    };\n    Channels.prototype.all = function () {\n        return values(this.channels);\n    };\n    Channels.prototype.find = function (name) {\n        return this.channels[name];\n    };\n    Channels.prototype.remove = function (name) {\n        var channel = this.channels[name];\n        delete this.channels[name];\n        return channel;\n    };\n    Channels.prototype.disconnect = function () {\n        objectApply(this.channels, function (channel) {\n            channel.disconnect();\n        });\n    };\n    return Channels;\n}());\n/* harmony default export */ var channels = (channels_Channels);\nfunction createChannel(name, pusher) {\n    if (name.indexOf('private-encrypted-') === 0) {\n        if (pusher.config.nacl) {\n            return factory.createEncryptedChannel(name, pusher, pusher.config.nacl);\n        }\n        var errMsg = 'Tried to subscribe to a private-encrypted- channel but no nacl implementation available';\n        var suffix = url_store.buildLogSuffix('encryptedChannelSupport');\n        throw new UnsupportedFeature(errMsg + \". \" + suffix);\n    }\n    else if (name.indexOf('private-') === 0) {\n        return factory.createPrivateChannel(name, pusher);\n    }\n    else if (name.indexOf('presence-') === 0) {\n        return factory.createPresenceChannel(name, pusher);\n    }\n    else if (name.indexOf('#') === 0) {\n        throw new BadChannelName('Cannot create a channel with name \"' + name + '\".');\n    }\n    else {\n        return factory.createChannel(name, pusher);\n    }\n}\n\n// CONCATENATED MODULE: ./src/core/utils/factory.ts\n\n\n\n\n\n\n\n\n\nvar Factory = {\n    createChannels: function () {\n        return new channels();\n    },\n    createConnectionManager: function (key, options) {\n        return new connection_manager(key, options);\n    },\n    createChannel: function (name, pusher) {\n        return new channels_channel(name, pusher);\n    },\n    createPrivateChannel: function (name, pusher) {\n        return new private_channel(name, pusher);\n    },\n    createPresenceChannel: function (name, pusher) {\n        return new presence_channel(name, pusher);\n    },\n    createEncryptedChannel: function (name, pusher, nacl) {\n        return new encrypted_channel(name, pusher, nacl);\n    },\n    createTimelineSender: function (timeline, options) {\n        return new timeline_sender(timeline, options);\n    },\n    createHandshake: function (transport, callback) {\n        return new connection_handshake(transport, callback);\n    },\n    createAssistantToTheTransportManager: function (manager, transport, options) {\n        return new assistant_to_the_transport_manager(manager, transport, options);\n    }\n};\n/* harmony default export */ var factory = (Factory);\n\n// CONCATENATED MODULE: ./src/core/transports/transport_manager.ts\n\nvar transport_manager_TransportManager = (function () {\n    function TransportManager(options) {\n        this.options = options || {};\n        this.livesLeft = this.options.lives || Infinity;\n    }\n    TransportManager.prototype.getAssistant = function (transport) {\n        return factory.createAssistantToTheTransportManager(this, transport, {\n            minPingDelay: this.options.minPingDelay,\n            maxPingDelay: this.options.maxPingDelay\n        });\n    };\n    TransportManager.prototype.isAlive = function () {\n        return this.livesLeft > 0;\n    };\n    TransportManager.prototype.reportDeath = function () {\n        this.livesLeft -= 1;\n    };\n    return TransportManager;\n}());\n/* harmony default export */ var transport_manager = (transport_manager_TransportManager);\n\n// CONCATENATED MODULE: ./src/core/strategies/sequential_strategy.ts\n\n\n\nvar sequential_strategy_SequentialStrategy = (function () {\n    function SequentialStrategy(strategies, options) {\n        this.strategies = strategies;\n        this.loop = Boolean(options.loop);\n        this.failFast = Boolean(options.failFast);\n        this.timeout = options.timeout;\n        this.timeoutLimit = options.timeoutLimit;\n    }\n    SequentialStrategy.prototype.isSupported = function () {\n        return any(this.strategies, util.method('isSupported'));\n    };\n    SequentialStrategy.prototype.connect = function (minPriority, callback) {\n        var _this = this;\n        var strategies = this.strategies;\n        var current = 0;\n        var timeout = this.timeout;\n        var runner = null;\n        var tryNextStrategy = function (error, handshake) {\n            if (handshake) {\n                callback(null, handshake);\n            }\n            else {\n                current = current + 1;\n                if (_this.loop) {\n                    current = current % strategies.length;\n                }\n                if (current < strategies.length) {\n                    if (timeout) {\n                        timeout = timeout * 2;\n                        if (_this.timeoutLimit) {\n                            timeout = Math.min(timeout, _this.timeoutLimit);\n                        }\n                    }\n                    runner = _this.tryStrategy(strategies[current], minPriority, { timeout: timeout, failFast: _this.failFast }, tryNextStrategy);\n                }\n                else {\n                    callback(true);\n                }\n            }\n        };\n        runner = this.tryStrategy(strategies[current], minPriority, { timeout: timeout, failFast: this.failFast }, tryNextStrategy);\n        return {\n            abort: function () {\n                runner.abort();\n            },\n            forceMinPriority: function (p) {\n                minPriority = p;\n                if (runner) {\n                    runner.forceMinPriority(p);\n                }\n            }\n        };\n    };\n    SequentialStrategy.prototype.tryStrategy = function (strategy, minPriority, options, callback) {\n        var timer = null;\n        var runner = null;\n        if (options.timeout > 0) {\n            timer = new OneOffTimer(options.timeout, function () {\n                runner.abort();\n                callback(true);\n            });\n        }\n        runner = strategy.connect(minPriority, function (error, handshake) {\n            if (error && timer && timer.isRunning() && !options.failFast) {\n                return;\n            }\n            if (timer) {\n                timer.ensureAborted();\n            }\n            callback(error, handshake);\n        });\n        return {\n            abort: function () {\n                if (timer) {\n                    timer.ensureAborted();\n                }\n                runner.abort();\n            },\n            forceMinPriority: function (p) {\n                runner.forceMinPriority(p);\n            }\n        };\n    };\n    return SequentialStrategy;\n}());\n/* harmony default export */ var sequential_strategy = (sequential_strategy_SequentialStrategy);\n\n// CONCATENATED MODULE: ./src/core/strategies/best_connected_ever_strategy.ts\n\n\nvar best_connected_ever_strategy_BestConnectedEverStrategy = (function () {\n    function BestConnectedEverStrategy(strategies) {\n        this.strategies = strategies;\n    }\n    BestConnectedEverStrategy.prototype.isSupported = function () {\n        return any(this.strategies, util.method('isSupported'));\n    };\n    BestConnectedEverStrategy.prototype.connect = function (minPriority, callback) {\n        return connect(this.strategies, minPriority, function (i, runners) {\n            return function (error, handshake) {\n                runners[i].error = error;\n                if (error) {\n                    if (allRunnersFailed(runners)) {\n                        callback(true);\n                    }\n                    return;\n                }\n                apply(runners, function (runner) {\n                    runner.forceMinPriority(handshake.transport.priority);\n                });\n                callback(null, handshake);\n            };\n        });\n    };\n    return BestConnectedEverStrategy;\n}());\n/* harmony default export */ var best_connected_ever_strategy = (best_connected_ever_strategy_BestConnectedEverStrategy);\nfunction connect(strategies, minPriority, callbackBuilder) {\n    var runners = map(strategies, function (strategy, i, _, rs) {\n        return strategy.connect(minPriority, callbackBuilder(i, rs));\n    });\n    return {\n        abort: function () {\n            apply(runners, abortRunner);\n        },\n        forceMinPriority: function (p) {\n            apply(runners, function (runner) {\n                runner.forceMinPriority(p);\n            });\n        }\n    };\n}\nfunction allRunnersFailed(runners) {\n    return collections_all(runners, function (runner) {\n        return Boolean(runner.error);\n    });\n}\nfunction abortRunner(runner) {\n    if (!runner.error && !runner.aborted) {\n        runner.abort();\n        runner.aborted = true;\n    }\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/cached_strategy.ts\n\n\n\n\nvar cached_strategy_CachedStrategy = (function () {\n    function CachedStrategy(strategy, transports, options) {\n        this.strategy = strategy;\n        this.transports = transports;\n        this.ttl = options.ttl || 1800 * 1000;\n        this.usingTLS = options.useTLS;\n        this.timeline = options.timeline;\n    }\n    CachedStrategy.prototype.isSupported = function () {\n        return this.strategy.isSupported();\n    };\n    CachedStrategy.prototype.connect = function (minPriority, callback) {\n        var usingTLS = this.usingTLS;\n        var info = fetchTransportCache(usingTLS);\n        var strategies = [this.strategy];\n        if (info && info.timestamp + this.ttl >= util.now()) {\n            var transport = this.transports[info.transport];\n            if (transport) {\n                this.timeline.info({\n                    cached: true,\n                    transport: info.transport,\n                    latency: info.latency\n                });\n                strategies.push(new sequential_strategy([transport], {\n                    timeout: info.latency * 2 + 1000,\n                    failFast: true\n                }));\n            }\n        }\n        var startTimestamp = util.now();\n        var runner = strategies\n            .pop()\n            .connect(minPriority, function cb(error, handshake) {\n            if (error) {\n                flushTransportCache(usingTLS);\n                if (strategies.length > 0) {\n                    startTimestamp = util.now();\n                    runner = strategies.pop().connect(minPriority, cb);\n                }\n                else {\n                    callback(error);\n                }\n            }\n            else {\n                storeTransportCache(usingTLS, handshake.transport.name, util.now() - startTimestamp);\n                callback(null, handshake);\n            }\n        });\n        return {\n            abort: function () {\n                runner.abort();\n            },\n            forceMinPriority: function (p) {\n                minPriority = p;\n                if (runner) {\n                    runner.forceMinPriority(p);\n                }\n            }\n        };\n    };\n    return CachedStrategy;\n}());\n/* harmony default export */ var cached_strategy = (cached_strategy_CachedStrategy);\nfunction getTransportCacheKey(usingTLS) {\n    return 'pusherTransport' + (usingTLS ? 'TLS' : 'NonTLS');\n}\nfunction fetchTransportCache(usingTLS) {\n    var storage = runtime.getLocalStorage();\n    if (storage) {\n        try {\n            var serializedCache = storage[getTransportCacheKey(usingTLS)];\n            if (serializedCache) {\n                return JSON.parse(serializedCache);\n            }\n        }\n        catch (e) {\n            flushTransportCache(usingTLS);\n        }\n    }\n    return null;\n}\nfunction storeTransportCache(usingTLS, transport, latency) {\n    var storage = runtime.getLocalStorage();\n    if (storage) {\n        try {\n            storage[getTransportCacheKey(usingTLS)] = safeJSONStringify({\n                timestamp: util.now(),\n                transport: transport,\n                latency: latency\n            });\n        }\n        catch (e) {\n        }\n    }\n}\nfunction flushTransportCache(usingTLS) {\n    var storage = runtime.getLocalStorage();\n    if (storage) {\n        try {\n            delete storage[getTransportCacheKey(usingTLS)];\n        }\n        catch (e) {\n        }\n    }\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/delayed_strategy.ts\n\nvar delayed_strategy_DelayedStrategy = (function () {\n    function DelayedStrategy(strategy, _a) {\n        var number = _a.delay;\n        this.strategy = strategy;\n        this.options = { delay: number };\n    }\n    DelayedStrategy.prototype.isSupported = function () {\n        return this.strategy.isSupported();\n    };\n    DelayedStrategy.prototype.connect = function (minPriority, callback) {\n        var strategy = this.strategy;\n        var runner;\n        var timer = new OneOffTimer(this.options.delay, function () {\n            runner = strategy.connect(minPriority, callback);\n        });\n        return {\n            abort: function () {\n                timer.ensureAborted();\n                if (runner) {\n                    runner.abort();\n                }\n            },\n            forceMinPriority: function (p) {\n                minPriority = p;\n                if (runner) {\n                    runner.forceMinPriority(p);\n                }\n            }\n        };\n    };\n    return DelayedStrategy;\n}());\n/* harmony default export */ var delayed_strategy = (delayed_strategy_DelayedStrategy);\n\n// CONCATENATED MODULE: ./src/core/strategies/if_strategy.ts\nvar IfStrategy = (function () {\n    function IfStrategy(test, trueBranch, falseBranch) {\n        this.test = test;\n        this.trueBranch = trueBranch;\n        this.falseBranch = falseBranch;\n    }\n    IfStrategy.prototype.isSupported = function () {\n        var branch = this.test() ? this.trueBranch : this.falseBranch;\n        return branch.isSupported();\n    };\n    IfStrategy.prototype.connect = function (minPriority, callback) {\n        var branch = this.test() ? this.trueBranch : this.falseBranch;\n        return branch.connect(minPriority, callback);\n    };\n    return IfStrategy;\n}());\n/* harmony default export */ var if_strategy = (IfStrategy);\n\n// CONCATENATED MODULE: ./src/core/strategies/first_connected_strategy.ts\nvar FirstConnectedStrategy = (function () {\n    function FirstConnectedStrategy(strategy) {\n        this.strategy = strategy;\n    }\n    FirstConnectedStrategy.prototype.isSupported = function () {\n        return this.strategy.isSupported();\n    };\n    FirstConnectedStrategy.prototype.connect = function (minPriority, callback) {\n        var runner = this.strategy.connect(minPriority, function (error, handshake) {\n            if (handshake) {\n                runner.abort();\n            }\n            callback(error, handshake);\n        });\n        return runner;\n    };\n    return FirstConnectedStrategy;\n}());\n/* harmony default export */ var first_connected_strategy = (FirstConnectedStrategy);\n\n// CONCATENATED MODULE: ./src/runtimes/web/default_strategy.ts\n\n\n\n\n\n\n\nfunction testSupportsStrategy(strategy) {\n    return function () {\n        return strategy.isSupported();\n    };\n}\nvar getDefaultStrategy = function (config, baseOptions, defineTransport) {\n    var definedTransports = {};\n    function defineTransportStrategy(name, type, priority, options, manager) {\n        var transport = defineTransport(config, name, type, priority, options, manager);\n        definedTransports[name] = transport;\n        return transport;\n    }\n    var ws_options = Object.assign({}, baseOptions, {\n        hostNonTLS: config.wsHost + ':' + config.wsPort,\n        hostTLS: config.wsHost + ':' + config.wssPort,\n        httpPath: config.wsPath\n    });\n    var wss_options = Object.assign({}, ws_options, {\n        useTLS: true\n    });\n    var sockjs_options = Object.assign({}, baseOptions, {\n        hostNonTLS: config.httpHost + ':' + config.httpPort,\n        hostTLS: config.httpHost + ':' + config.httpsPort,\n        httpPath: config.httpPath\n    });\n    var timeouts = {\n        loop: true,\n        timeout: 15000,\n        timeoutLimit: 60000\n    };\n    var ws_manager = new transport_manager({\n        lives: 2,\n        minPingDelay: 10000,\n        maxPingDelay: config.activityTimeout\n    });\n    var streaming_manager = new transport_manager({\n        lives: 2,\n        minPingDelay: 10000,\n        maxPingDelay: config.activityTimeout\n    });\n    var ws_transport = defineTransportStrategy('ws', 'ws', 3, ws_options, ws_manager);\n    var wss_transport = defineTransportStrategy('wss', 'ws', 3, wss_options, ws_manager);\n    var sockjs_transport = defineTransportStrategy('sockjs', 'sockjs', 1, sockjs_options);\n    var xhr_streaming_transport = defineTransportStrategy('xhr_streaming', 'xhr_streaming', 1, sockjs_options, streaming_manager);\n    var xdr_streaming_transport = defineTransportStrategy('xdr_streaming', 'xdr_streaming', 1, sockjs_options, streaming_manager);\n    var xhr_polling_transport = defineTransportStrategy('xhr_polling', 'xhr_polling', 1, sockjs_options);\n    var xdr_polling_transport = defineTransportStrategy('xdr_polling', 'xdr_polling', 1, sockjs_options);\n    var ws_loop = new sequential_strategy([ws_transport], timeouts);\n    var wss_loop = new sequential_strategy([wss_transport], timeouts);\n    var sockjs_loop = new sequential_strategy([sockjs_transport], timeouts);\n    var streaming_loop = new sequential_strategy([\n        new if_strategy(testSupportsStrategy(xhr_streaming_transport), xhr_streaming_transport, xdr_streaming_transport)\n    ], timeouts);\n    var polling_loop = new sequential_strategy([\n        new if_strategy(testSupportsStrategy(xhr_polling_transport), xhr_polling_transport, xdr_polling_transport)\n    ], timeouts);\n    var http_loop = new sequential_strategy([\n        new if_strategy(testSupportsStrategy(streaming_loop), new best_connected_ever_strategy([\n            streaming_loop,\n            new delayed_strategy(polling_loop, { delay: 4000 })\n        ]), polling_loop)\n    ], timeouts);\n    var http_fallback_loop = new if_strategy(testSupportsStrategy(http_loop), http_loop, sockjs_loop);\n    var wsStrategy;\n    if (baseOptions.useTLS) {\n        wsStrategy = new best_connected_ever_strategy([\n            ws_loop,\n            new delayed_strategy(http_fallback_loop, { delay: 2000 })\n        ]);\n    }\n    else {\n        wsStrategy = new best_connected_ever_strategy([\n            ws_loop,\n            new delayed_strategy(wss_loop, { delay: 2000 }),\n            new delayed_strategy(http_fallback_loop, { delay: 5000 })\n        ]);\n    }\n    return new cached_strategy(new first_connected_strategy(new if_strategy(testSupportsStrategy(ws_transport), wsStrategy, http_fallback_loop)), definedTransports, {\n        ttl: 1800000,\n        timeline: baseOptions.timeline,\n        useTLS: baseOptions.useTLS\n    });\n};\n/* harmony default export */ var default_strategy = (getDefaultStrategy);\n\n// CONCATENATED MODULE: ./src/runtimes/web/transports/transport_connection_initializer.ts\n\n/* harmony default export */ var transport_connection_initializer = (function () {\n    var self = this;\n    self.timeline.info(self.buildTimelineMessage({\n        transport: self.name + (self.options.useTLS ? 's' : '')\n    }));\n    if (self.hooks.isInitialized()) {\n        self.changeState('initialized');\n    }\n    else if (self.hooks.file) {\n        self.changeState('initializing');\n        Dependencies.load(self.hooks.file, { useTLS: self.options.useTLS }, function (error, callback) {\n            if (self.hooks.isInitialized()) {\n                self.changeState('initialized');\n                callback(true);\n            }\n            else {\n                if (error) {\n                    self.onError(error);\n                }\n                self.onClose();\n                callback(false);\n            }\n        });\n    }\n    else {\n        self.onClose();\n    }\n});\n\n// CONCATENATED MODULE: ./src/runtimes/web/http/http_xdomain_request.ts\n\nvar http_xdomain_request_hooks = {\n    getRequest: function (socket) {\n        var xdr = new window.XDomainRequest();\n        xdr.ontimeout = function () {\n            socket.emit('error', new RequestTimedOut());\n            socket.close();\n        };\n        xdr.onerror = function (e) {\n            socket.emit('error', e);\n            socket.close();\n        };\n        xdr.onprogress = function () {\n            if (xdr.responseText && xdr.responseText.length > 0) {\n                socket.onChunk(200, xdr.responseText);\n            }\n        };\n        xdr.onload = function () {\n            if (xdr.responseText && xdr.responseText.length > 0) {\n                socket.onChunk(200, xdr.responseText);\n            }\n            socket.emit('finished', 200);\n            socket.close();\n        };\n        return xdr;\n    },\n    abortRequest: function (xdr) {\n        xdr.ontimeout = xdr.onerror = xdr.onprogress = xdr.onload = null;\n        xdr.abort();\n    }\n};\n/* harmony default export */ var http_xdomain_request = (http_xdomain_request_hooks);\n\n// CONCATENATED MODULE: ./src/core/http/http_request.ts\nvar http_request_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\nvar MAX_BUFFER_LENGTH = 256 * 1024;\nvar http_request_HTTPRequest = (function (_super) {\n    http_request_extends(HTTPRequest, _super);\n    function HTTPRequest(hooks, method, url) {\n        var _this = _super.call(this) || this;\n        _this.hooks = hooks;\n        _this.method = method;\n        _this.url = url;\n        return _this;\n    }\n    HTTPRequest.prototype.start = function (payload) {\n        var _this = this;\n        this.position = 0;\n        this.xhr = this.hooks.getRequest(this);\n        this.unloader = function () {\n            _this.close();\n        };\n        runtime.addUnloadListener(this.unloader);\n        this.xhr.open(this.method, this.url, true);\n        if (this.xhr.setRequestHeader) {\n            this.xhr.setRequestHeader('Content-Type', 'application/json');\n        }\n        this.xhr.send(payload);\n    };\n    HTTPRequest.prototype.close = function () {\n        if (this.unloader) {\n            runtime.removeUnloadListener(this.unloader);\n            this.unloader = null;\n        }\n        if (this.xhr) {\n            this.hooks.abortRequest(this.xhr);\n            this.xhr = null;\n        }\n    };\n    HTTPRequest.prototype.onChunk = function (status, data) {\n        while (true) {\n            var chunk = this.advanceBuffer(data);\n            if (chunk) {\n                this.emit('chunk', { status: status, data: chunk });\n            }\n            else {\n                break;\n            }\n        }\n        if (this.isBufferTooLong(data)) {\n            this.emit('buffer_too_long');\n        }\n    };\n    HTTPRequest.prototype.advanceBuffer = function (buffer) {\n        var unreadData = buffer.slice(this.position);\n        var endOfLinePosition = unreadData.indexOf('\\n');\n        if (endOfLinePosition !== -1) {\n            this.position += endOfLinePosition + 1;\n            return unreadData.slice(0, endOfLinePosition);\n        }\n        else {\n            return null;\n        }\n    };\n    HTTPRequest.prototype.isBufferTooLong = function (buffer) {\n        return this.position === buffer.length && buffer.length > MAX_BUFFER_LENGTH;\n    };\n    return HTTPRequest;\n}(dispatcher));\n/* harmony default export */ var http_request = (http_request_HTTPRequest);\n\n// CONCATENATED MODULE: ./src/core/http/state.ts\nvar State;\n(function (State) {\n    State[State[\"CONNECTING\"] = 0] = \"CONNECTING\";\n    State[State[\"OPEN\"] = 1] = \"OPEN\";\n    State[State[\"CLOSED\"] = 3] = \"CLOSED\";\n})(State || (State = {}));\n/* harmony default export */ var state = (State);\n\n// CONCATENATED MODULE: ./src/core/http/http_socket.ts\n\n\n\nvar autoIncrement = 1;\nvar http_socket_HTTPSocket = (function () {\n    function HTTPSocket(hooks, url) {\n        this.hooks = hooks;\n        this.session = randomNumber(1000) + '/' + randomString(8);\n        this.location = getLocation(url);\n        this.readyState = state.CONNECTING;\n        this.openStream();\n    }\n    HTTPSocket.prototype.send = function (payload) {\n        return this.sendRaw(JSON.stringify([payload]));\n    };\n    HTTPSocket.prototype.ping = function () {\n        this.hooks.sendHeartbeat(this);\n    };\n    HTTPSocket.prototype.close = function (code, reason) {\n        this.onClose(code, reason, true);\n    };\n    HTTPSocket.prototype.sendRaw = function (payload) {\n        if (this.readyState === state.OPEN) {\n            try {\n                runtime.createSocketRequest('POST', getUniqueURL(getSendURL(this.location, this.session))).start(payload);\n                return true;\n            }\n            catch (e) {\n                return false;\n            }\n        }\n        else {\n            return false;\n        }\n    };\n    HTTPSocket.prototype.reconnect = function () {\n        this.closeStream();\n        this.openStream();\n    };\n    HTTPSocket.prototype.onClose = function (code, reason, wasClean) {\n        this.closeStream();\n        this.readyState = state.CLOSED;\n        if (this.onclose) {\n            this.onclose({\n                code: code,\n                reason: reason,\n                wasClean: wasClean\n            });\n        }\n    };\n    HTTPSocket.prototype.onChunk = function (chunk) {\n        if (chunk.status !== 200) {\n            return;\n        }\n        if (this.readyState === state.OPEN) {\n            this.onActivity();\n        }\n        var payload;\n        var type = chunk.data.slice(0, 1);\n        switch (type) {\n            case 'o':\n                payload = JSON.parse(chunk.data.slice(1) || '{}');\n                this.onOpen(payload);\n                break;\n            case 'a':\n                payload = JSON.parse(chunk.data.slice(1) || '[]');\n                for (var i = 0; i < payload.length; i++) {\n                    this.onEvent(payload[i]);\n                }\n                break;\n            case 'm':\n                payload = JSON.parse(chunk.data.slice(1) || 'null');\n                this.onEvent(payload);\n                break;\n            case 'h':\n                this.hooks.onHeartbeat(this);\n                break;\n            case 'c':\n                payload = JSON.parse(chunk.data.slice(1) || '[]');\n                this.onClose(payload[0], payload[1], true);\n                break;\n        }\n    };\n    HTTPSocket.prototype.onOpen = function (options) {\n        if (this.readyState === state.CONNECTING) {\n            if (options && options.hostname) {\n                this.location.base = replaceHost(this.location.base, options.hostname);\n            }\n            this.readyState = state.OPEN;\n            if (this.onopen) {\n                this.onopen();\n            }\n        }\n        else {\n            this.onClose(1006, 'Server lost session', true);\n        }\n    };\n    HTTPSocket.prototype.onEvent = function (event) {\n        if (this.readyState === state.OPEN && this.onmessage) {\n            this.onmessage({ data: event });\n        }\n    };\n    HTTPSocket.prototype.onActivity = function () {\n        if (this.onactivity) {\n            this.onactivity();\n        }\n    };\n    HTTPSocket.prototype.onError = function (error) {\n        if (this.onerror) {\n            this.onerror(error);\n        }\n    };\n    HTTPSocket.prototype.openStream = function () {\n        var _this = this;\n        this.stream = runtime.createSocketRequest('POST', getUniqueURL(this.hooks.getReceiveURL(this.location, this.session)));\n        this.stream.bind('chunk', function (chunk) {\n            _this.onChunk(chunk);\n        });\n        this.stream.bind('finished', function (status) {\n            _this.hooks.onFinished(_this, status);\n        });\n        this.stream.bind('buffer_too_long', function () {\n            _this.reconnect();\n        });\n        try {\n            this.stream.start();\n        }\n        catch (error) {\n            util.defer(function () {\n                _this.onError(error);\n                _this.onClose(1006, 'Could not start streaming', false);\n            });\n        }\n    };\n    HTTPSocket.prototype.closeStream = function () {\n        if (this.stream) {\n            this.stream.unbind_all();\n            this.stream.close();\n            this.stream = null;\n        }\n    };\n    return HTTPSocket;\n}());\nfunction getLocation(url) {\n    var parts = /([^\\?]*)\\/*(\\??.*)/.exec(url);\n    return {\n        base: parts[1],\n        queryString: parts[2]\n    };\n}\nfunction getSendURL(url, session) {\n    return url.base + '/' + session + '/xhr_send';\n}\nfunction getUniqueURL(url) {\n    var separator = url.indexOf('?') === -1 ? '?' : '&';\n    return url + separator + 't=' + +new Date() + '&n=' + autoIncrement++;\n}\nfunction replaceHost(url, hostname) {\n    var urlParts = /(https?:\\/\\/)([^\\/:]+)((\\/|:)?.*)/.exec(url);\n    return urlParts[1] + hostname + urlParts[3];\n}\nfunction randomNumber(max) {\n    return runtime.randomInt(max);\n}\nfunction randomString(length) {\n    var result = [];\n    for (var i = 0; i < length; i++) {\n        result.push(randomNumber(32).toString(32));\n    }\n    return result.join('');\n}\n/* harmony default export */ var http_socket = (http_socket_HTTPSocket);\n\n// CONCATENATED MODULE: ./src/core/http/http_streaming_socket.ts\nvar http_streaming_socket_hooks = {\n    getReceiveURL: function (url, session) {\n        return url.base + '/' + session + '/xhr_streaming' + url.queryString;\n    },\n    onHeartbeat: function (socket) {\n        socket.sendRaw('[]');\n    },\n    sendHeartbeat: function (socket) {\n        socket.sendRaw('[]');\n    },\n    onFinished: function (socket, status) {\n        socket.onClose(1006, 'Connection interrupted (' + status + ')', false);\n    }\n};\n/* harmony default export */ var http_streaming_socket = (http_streaming_socket_hooks);\n\n// CONCATENATED MODULE: ./src/core/http/http_polling_socket.ts\nvar http_polling_socket_hooks = {\n    getReceiveURL: function (url, session) {\n        return url.base + '/' + session + '/xhr' + url.queryString;\n    },\n    onHeartbeat: function () {\n    },\n    sendHeartbeat: function (socket) {\n        socket.sendRaw('[]');\n    },\n    onFinished: function (socket, status) {\n        if (status === 200) {\n            socket.reconnect();\n        }\n        else {\n            socket.onClose(1006, 'Connection interrupted (' + status + ')', false);\n        }\n    }\n};\n/* harmony default export */ var http_polling_socket = (http_polling_socket_hooks);\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/http/http_xhr_request.ts\n\nvar http_xhr_request_hooks = {\n    getRequest: function (socket) {\n        var Constructor = runtime.getXHRAPI();\n        var xhr = new Constructor();\n        xhr.onreadystatechange = xhr.onprogress = function () {\n            switch (xhr.readyState) {\n                case 3:\n                    if (xhr.responseText && xhr.responseText.length > 0) {\n                        socket.onChunk(xhr.status, xhr.responseText);\n                    }\n                    break;\n                case 4:\n                    if (xhr.responseText && xhr.responseText.length > 0) {\n                        socket.onChunk(xhr.status, xhr.responseText);\n                    }\n                    socket.emit('finished', xhr.status);\n                    socket.close();\n                    break;\n            }\n        };\n        return xhr;\n    },\n    abortRequest: function (xhr) {\n        xhr.onreadystatechange = null;\n        xhr.abort();\n    }\n};\n/* harmony default export */ var http_xhr_request = (http_xhr_request_hooks);\n\n// CONCATENATED MODULE: ./src/runtimes/isomorphic/http/http.ts\n\n\n\n\n\nvar HTTP = {\n    createStreamingSocket: function (url) {\n        return this.createSocket(http_streaming_socket, url);\n    },\n    createPollingSocket: function (url) {\n        return this.createSocket(http_polling_socket, url);\n    },\n    createSocket: function (hooks, url) {\n        return new http_socket(hooks, url);\n    },\n    createXHR: function (method, url) {\n        return this.createRequest(http_xhr_request, method, url);\n    },\n    createRequest: function (hooks, method, url) {\n        return new http_request(hooks, method, url);\n    }\n};\n/* harmony default export */ var http_http = (HTTP);\n\n// CONCATENATED MODULE: ./src/runtimes/web/http/http.ts\n\n\nhttp_http.createXDR = function (method, url) {\n    return this.createRequest(http_xdomain_request, method, url);\n};\n/* harmony default export */ var web_http_http = (http_http);\n\n// CONCATENATED MODULE: ./src/runtimes/web/runtime.ts\n\n\n\n\n\n\n\n\n\n\n\n\nvar Runtime = {\n    nextAuthCallbackID: 1,\n    auth_callbacks: {},\n    ScriptReceivers: ScriptReceivers,\n    DependenciesReceivers: DependenciesReceivers,\n    getDefaultStrategy: default_strategy,\n    Transports: transports_transports,\n    transportConnectionInitializer: transport_connection_initializer,\n    HTTPFactory: web_http_http,\n    TimelineTransport: jsonp_timeline,\n    getXHRAPI: function () {\n        return window.XMLHttpRequest;\n    },\n    getWebSocketAPI: function () {\n        return window.WebSocket || window.MozWebSocket;\n    },\n    setup: function (PusherClass) {\n        var _this = this;\n        window.Pusher = PusherClass;\n        var initializeOnDocumentBody = function () {\n            _this.onDocumentBody(PusherClass.ready);\n        };\n        if (!window.JSON) {\n            Dependencies.load('json2', {}, initializeOnDocumentBody);\n        }\n        else {\n            initializeOnDocumentBody();\n        }\n    },\n    getDocument: function () {\n        return document;\n    },\n    getProtocol: function () {\n        return this.getDocument().location.protocol;\n    },\n    getAuthorizers: function () {\n        return { ajax: xhr_auth, jsonp: jsonp_auth };\n    },\n    onDocumentBody: function (callback) {\n        var _this = this;\n        if (document.body) {\n            callback();\n        }\n        else {\n            setTimeout(function () {\n                _this.onDocumentBody(callback);\n            }, 0);\n        }\n    },\n    createJSONPRequest: function (url, data) {\n        return new jsonp_request(url, data);\n    },\n    createScriptRequest: function (src) {\n        return new script_request(src);\n    },\n    getLocalStorage: function () {\n        try {\n            return window.localStorage;\n        }\n        catch (e) {\n            return undefined;\n        }\n    },\n    createXHR: function () {\n        if (this.getXHRAPI()) {\n            return this.createXMLHttpRequest();\n        }\n        else {\n            return this.createMicrosoftXHR();\n        }\n    },\n    createXMLHttpRequest: function () {\n        var Constructor = this.getXHRAPI();\n        return new Constructor();\n    },\n    createMicrosoftXHR: function () {\n        return new ActiveXObject('Microsoft.XMLHTTP');\n    },\n    getNetwork: function () {\n        return net_info_Network;\n    },\n    createWebSocket: function (url) {\n        var Constructor = this.getWebSocketAPI();\n        return new Constructor(url);\n    },\n    createSocketRequest: function (method, url) {\n        if (this.isXHRSupported()) {\n            return this.HTTPFactory.createXHR(method, url);\n        }\n        else if (this.isXDRSupported(url.indexOf('https:') === 0)) {\n            return this.HTTPFactory.createXDR(method, url);\n        }\n        else {\n            throw 'Cross-origin HTTP requests are not supported';\n        }\n    },\n    isXHRSupported: function () {\n        var Constructor = this.getXHRAPI();\n        return (Boolean(Constructor) && new Constructor().withCredentials !== undefined);\n    },\n    isXDRSupported: function (useTLS) {\n        var protocol = useTLS ? 'https:' : 'http:';\n        var documentProtocol = this.getProtocol();\n        return (Boolean(window['XDomainRequest']) && documentProtocol === protocol);\n    },\n    addUnloadListener: function (listener) {\n        if (window.addEventListener !== undefined) {\n            window.addEventListener('unload', listener, false);\n        }\n        else if (window.attachEvent !== undefined) {\n            window.attachEvent('onunload', listener);\n        }\n    },\n    removeUnloadListener: function (listener) {\n        if (window.addEventListener !== undefined) {\n            window.removeEventListener('unload', listener, false);\n        }\n        else if (window.detachEvent !== undefined) {\n            window.detachEvent('onunload', listener);\n        }\n    },\n    randomInt: function (max) {\n        var random = function () {\n            var crypto = window.crypto || window['msCrypto'];\n            var random = crypto.getRandomValues(new Uint32Array(1))[0];\n            return random / Math.pow(2, 32);\n        };\n        return Math.floor(random() * max);\n    }\n};\n/* harmony default export */ var runtime = (Runtime);\n\n// CONCATENATED MODULE: ./src/core/timeline/level.ts\nvar TimelineLevel;\n(function (TimelineLevel) {\n    TimelineLevel[TimelineLevel[\"ERROR\"] = 3] = \"ERROR\";\n    TimelineLevel[TimelineLevel[\"INFO\"] = 6] = \"INFO\";\n    TimelineLevel[TimelineLevel[\"DEBUG\"] = 7] = \"DEBUG\";\n})(TimelineLevel || (TimelineLevel = {}));\n/* harmony default export */ var timeline_level = (TimelineLevel);\n\n// CONCATENATED MODULE: ./src/core/timeline/timeline.ts\n\n\n\nvar timeline_Timeline = (function () {\n    function Timeline(key, session, options) {\n        this.key = key;\n        this.session = session;\n        this.events = [];\n        this.options = options || {};\n        this.sent = 0;\n        this.uniqueID = 0;\n    }\n    Timeline.prototype.log = function (level, event) {\n        if (level <= this.options.level) {\n            this.events.push(extend({}, event, { timestamp: util.now() }));\n            if (this.options.limit && this.events.length > this.options.limit) {\n                this.events.shift();\n            }\n        }\n    };\n    Timeline.prototype.error = function (event) {\n        this.log(timeline_level.ERROR, event);\n    };\n    Timeline.prototype.info = function (event) {\n        this.log(timeline_level.INFO, event);\n    };\n    Timeline.prototype.debug = function (event) {\n        this.log(timeline_level.DEBUG, event);\n    };\n    Timeline.prototype.isEmpty = function () {\n        return this.events.length === 0;\n    };\n    Timeline.prototype.send = function (sendfn, callback) {\n        var _this = this;\n        var data = extend({\n            session: this.session,\n            bundle: this.sent + 1,\n            key: this.key,\n            lib: 'js',\n            version: this.options.version,\n            cluster: this.options.cluster,\n            features: this.options.features,\n            timeline: this.events\n        }, this.options.params);\n        this.events = [];\n        sendfn(data, function (error, result) {\n            if (!error) {\n                _this.sent++;\n            }\n            if (callback) {\n                callback(error, result);\n            }\n        });\n        return true;\n    };\n    Timeline.prototype.generateUniqueID = function () {\n        this.uniqueID++;\n        return this.uniqueID;\n    };\n    return Timeline;\n}());\n/* harmony default export */ var timeline_timeline = (timeline_Timeline);\n\n// CONCATENATED MODULE: ./src/core/strategies/transport_strategy.ts\n\n\n\n\nvar transport_strategy_TransportStrategy = (function () {\n    function TransportStrategy(name, priority, transport, options) {\n        this.name = name;\n        this.priority = priority;\n        this.transport = transport;\n        this.options = options || {};\n    }\n    TransportStrategy.prototype.isSupported = function () {\n        return this.transport.isSupported({\n            useTLS: this.options.useTLS\n        });\n    };\n    TransportStrategy.prototype.connect = function (minPriority, callback) {\n        var _this = this;\n        if (!this.isSupported()) {\n            return failAttempt(new UnsupportedStrategy(), callback);\n        }\n        else if (this.priority < minPriority) {\n            return failAttempt(new TransportPriorityTooLow(), callback);\n        }\n        var connected = false;\n        var transport = this.transport.createConnection(this.name, this.priority, this.options.key, this.options);\n        var handshake = null;\n        var onInitialized = function () {\n            transport.unbind('initialized', onInitialized);\n            transport.connect();\n        };\n        var onOpen = function () {\n            handshake = factory.createHandshake(transport, function (result) {\n                connected = true;\n                unbindListeners();\n                callback(null, result);\n            });\n        };\n        var onError = function (error) {\n            unbindListeners();\n            callback(error);\n        };\n        var onClosed = function () {\n            unbindListeners();\n            var serializedTransport;\n            serializedTransport = safeJSONStringify(transport);\n            callback(new TransportClosed(serializedTransport));\n        };\n        var unbindListeners = function () {\n            transport.unbind('initialized', onInitialized);\n            transport.unbind('open', onOpen);\n            transport.unbind('error', onError);\n            transport.unbind('closed', onClosed);\n        };\n        transport.bind('initialized', onInitialized);\n        transport.bind('open', onOpen);\n        transport.bind('error', onError);\n        transport.bind('closed', onClosed);\n        transport.initialize();\n        return {\n            abort: function () {\n                if (connected) {\n                    return;\n                }\n                unbindListeners();\n                if (handshake) {\n                    handshake.close();\n                }\n                else {\n                    transport.close();\n                }\n            },\n            forceMinPriority: function (p) {\n                if (connected) {\n                    return;\n                }\n                if (_this.priority < p) {\n                    if (handshake) {\n                        handshake.close();\n                    }\n                    else {\n                        transport.close();\n                    }\n                }\n            }\n        };\n    };\n    return TransportStrategy;\n}());\n/* harmony default export */ var transport_strategy = (transport_strategy_TransportStrategy);\nfunction failAttempt(error, callback) {\n    util.defer(function () {\n        callback(error);\n    });\n    return {\n        abort: function () { },\n        forceMinPriority: function () { }\n    };\n}\n\n// CONCATENATED MODULE: ./src/core/strategies/strategy_builder.ts\n\n\n\n\n\nvar strategy_builder_Transports = runtime.Transports;\nvar strategy_builder_defineTransport = function (config, name, type, priority, options, manager) {\n    var transportClass = strategy_builder_Transports[type];\n    if (!transportClass) {\n        throw new UnsupportedTransport(type);\n    }\n    var enabled = (!config.enabledTransports ||\n        arrayIndexOf(config.enabledTransports, name) !== -1) &&\n        (!config.disabledTransports ||\n            arrayIndexOf(config.disabledTransports, name) === -1);\n    var transport;\n    if (enabled) {\n        options = Object.assign({ ignoreNullOrigin: config.ignoreNullOrigin }, options);\n        transport = new transport_strategy(name, priority, manager ? manager.getAssistant(transportClass) : transportClass, options);\n    }\n    else {\n        transport = strategy_builder_UnsupportedStrategy;\n    }\n    return transport;\n};\nvar strategy_builder_UnsupportedStrategy = {\n    isSupported: function () {\n        return false;\n    },\n    connect: function (_, callback) {\n        var deferred = util.defer(function () {\n            callback(new UnsupportedStrategy());\n        });\n        return {\n            abort: function () {\n                deferred.ensureAborted();\n            },\n            forceMinPriority: function () { }\n        };\n    }\n};\n\n// CONCATENATED MODULE: ./src/core/auth/user_authenticator.ts\n\n\nvar composeChannelQuery = function (params, authOptions) {\n    var query = 'socket_id=' + encodeURIComponent(params.socketId);\n    for (var key in authOptions.params) {\n        query +=\n            '&' +\n                encodeURIComponent(key) +\n                '=' +\n                encodeURIComponent(authOptions.params[key]);\n    }\n    if (authOptions.paramsProvider != null) {\n        var dynamicParams = authOptions.paramsProvider();\n        for (var key in dynamicParams) {\n            query +=\n                '&' +\n                    encodeURIComponent(key) +\n                    '=' +\n                    encodeURIComponent(dynamicParams[key]);\n        }\n    }\n    return query;\n};\nvar UserAuthenticator = function (authOptions) {\n    if (typeof runtime.getAuthorizers()[authOptions.transport] === 'undefined') {\n        throw \"'\" + authOptions.transport + \"' is not a recognized auth transport\";\n    }\n    return function (params, callback) {\n        var query = composeChannelQuery(params, authOptions);\n        runtime.getAuthorizers()[authOptions.transport](runtime, query, authOptions, AuthRequestType.UserAuthentication, callback);\n    };\n};\n/* harmony default export */ var user_authenticator = (UserAuthenticator);\n\n// CONCATENATED MODULE: ./src/core/auth/channel_authorizer.ts\n\n\nvar channel_authorizer_composeChannelQuery = function (params, authOptions) {\n    var query = 'socket_id=' + encodeURIComponent(params.socketId);\n    query += '&channel_name=' + encodeURIComponent(params.channelName);\n    for (var key in authOptions.params) {\n        query +=\n            '&' +\n                encodeURIComponent(key) +\n                '=' +\n                encodeURIComponent(authOptions.params[key]);\n    }\n    if (authOptions.paramsProvider != null) {\n        var dynamicParams = authOptions.paramsProvider();\n        for (var key in dynamicParams) {\n            query +=\n                '&' +\n                    encodeURIComponent(key) +\n                    '=' +\n                    encodeURIComponent(dynamicParams[key]);\n        }\n    }\n    return query;\n};\nvar ChannelAuthorizer = function (authOptions) {\n    if (typeof runtime.getAuthorizers()[authOptions.transport] === 'undefined') {\n        throw \"'\" + authOptions.transport + \"' is not a recognized auth transport\";\n    }\n    return function (params, callback) {\n        var query = channel_authorizer_composeChannelQuery(params, authOptions);\n        runtime.getAuthorizers()[authOptions.transport](runtime, query, authOptions, AuthRequestType.ChannelAuthorization, callback);\n    };\n};\n/* harmony default export */ var channel_authorizer = (ChannelAuthorizer);\n\n// CONCATENATED MODULE: ./src/core/auth/deprecated_channel_authorizer.ts\nvar ChannelAuthorizerProxy = function (pusher, authOptions, channelAuthorizerGenerator) {\n    var deprecatedAuthorizerOptions = {\n        authTransport: authOptions.transport,\n        authEndpoint: authOptions.endpoint,\n        auth: {\n            params: authOptions.params,\n            headers: authOptions.headers\n        }\n    };\n    return function (params, callback) {\n        var channel = pusher.channel(params.channelName);\n        var channelAuthorizer = channelAuthorizerGenerator(channel, deprecatedAuthorizerOptions);\n        channelAuthorizer.authorize(params.socketId, callback);\n    };\n};\n\n// CONCATENATED MODULE: ./src/core/config.ts\nvar __assign = (undefined && undefined.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\n\n\n\n\n\nfunction getConfig(opts, pusher) {\n    var config = {\n        activityTimeout: opts.activityTimeout || defaults.activityTimeout,\n        cluster: opts.cluster || defaults.cluster,\n        httpPath: opts.httpPath || defaults.httpPath,\n        httpPort: opts.httpPort || defaults.httpPort,\n        httpsPort: opts.httpsPort || defaults.httpsPort,\n        pongTimeout: opts.pongTimeout || defaults.pongTimeout,\n        statsHost: opts.statsHost || defaults.stats_host,\n        unavailableTimeout: opts.unavailableTimeout || defaults.unavailableTimeout,\n        wsPath: opts.wsPath || defaults.wsPath,\n        wsPort: opts.wsPort || defaults.wsPort,\n        wssPort: opts.wssPort || defaults.wssPort,\n        enableStats: getEnableStatsConfig(opts),\n        httpHost: getHttpHost(opts),\n        useTLS: shouldUseTLS(opts),\n        wsHost: getWebsocketHost(opts),\n        userAuthenticator: buildUserAuthenticator(opts),\n        channelAuthorizer: buildChannelAuthorizer(opts, pusher)\n    };\n    if ('disabledTransports' in opts)\n        config.disabledTransports = opts.disabledTransports;\n    if ('enabledTransports' in opts)\n        config.enabledTransports = opts.enabledTransports;\n    if ('ignoreNullOrigin' in opts)\n        config.ignoreNullOrigin = opts.ignoreNullOrigin;\n    if ('timelineParams' in opts)\n        config.timelineParams = opts.timelineParams;\n    if ('nacl' in opts) {\n        config.nacl = opts.nacl;\n    }\n    return config;\n}\nfunction getHttpHost(opts) {\n    if (opts.httpHost) {\n        return opts.httpHost;\n    }\n    if (opts.cluster) {\n        return \"sockjs-\" + opts.cluster + \".pusher.com\";\n    }\n    return defaults.httpHost;\n}\nfunction getWebsocketHost(opts) {\n    if (opts.wsHost) {\n        return opts.wsHost;\n    }\n    if (opts.cluster) {\n        return getWebsocketHostFromCluster(opts.cluster);\n    }\n    return getWebsocketHostFromCluster(defaults.cluster);\n}\nfunction getWebsocketHostFromCluster(cluster) {\n    return \"ws-\" + cluster + \".pusher.com\";\n}\nfunction shouldUseTLS(opts) {\n    if (runtime.getProtocol() === 'https:') {\n        return true;\n    }\n    else if (opts.forceTLS === false) {\n        return false;\n    }\n    return true;\n}\nfunction getEnableStatsConfig(opts) {\n    if ('enableStats' in opts) {\n        return opts.enableStats;\n    }\n    if ('disableStats' in opts) {\n        return !opts.disableStats;\n    }\n    return false;\n}\nfunction buildUserAuthenticator(opts) {\n    var userAuthentication = __assign(__assign({}, defaults.userAuthentication), opts.userAuthentication);\n    if ('customHandler' in userAuthentication &&\n        userAuthentication['customHandler'] != null) {\n        return userAuthentication['customHandler'];\n    }\n    return user_authenticator(userAuthentication);\n}\nfunction buildChannelAuth(opts, pusher) {\n    var channelAuthorization;\n    if ('channelAuthorization' in opts) {\n        channelAuthorization = __assign(__assign({}, defaults.channelAuthorization), opts.channelAuthorization);\n    }\n    else {\n        channelAuthorization = {\n            transport: opts.authTransport || defaults.authTransport,\n            endpoint: opts.authEndpoint || defaults.authEndpoint\n        };\n        if ('auth' in opts) {\n            if ('params' in opts.auth)\n                channelAuthorization.params = opts.auth.params;\n            if ('headers' in opts.auth)\n                channelAuthorization.headers = opts.auth.headers;\n        }\n        if ('authorizer' in opts)\n            channelAuthorization.customHandler = ChannelAuthorizerProxy(pusher, channelAuthorization, opts.authorizer);\n    }\n    return channelAuthorization;\n}\nfunction buildChannelAuthorizer(opts, pusher) {\n    var channelAuthorization = buildChannelAuth(opts, pusher);\n    if ('customHandler' in channelAuthorization &&\n        channelAuthorization['customHandler'] != null) {\n        return channelAuthorization['customHandler'];\n    }\n    return channel_authorizer(channelAuthorization);\n}\n\n// CONCATENATED MODULE: ./src/core/watchlist.ts\nvar watchlist_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\nvar watchlist_WatchlistFacade = (function (_super) {\n    watchlist_extends(WatchlistFacade, _super);\n    function WatchlistFacade(pusher) {\n        var _this = _super.call(this, function (eventName, data) {\n            logger.debug(\"No callbacks on watchlist events for \" + eventName);\n        }) || this;\n        _this.pusher = pusher;\n        _this.bindWatchlistInternalEvent();\n        return _this;\n    }\n    WatchlistFacade.prototype.handleEvent = function (pusherEvent) {\n        var _this = this;\n        pusherEvent.data.events.forEach(function (watchlistEvent) {\n            _this.emit(watchlistEvent.name, watchlistEvent);\n        });\n    };\n    WatchlistFacade.prototype.bindWatchlistInternalEvent = function () {\n        var _this = this;\n        this.pusher.connection.bind('message', function (pusherEvent) {\n            var eventName = pusherEvent.event;\n            if (eventName === 'pusher_internal:watchlist_events') {\n                _this.handleEvent(pusherEvent);\n            }\n        });\n    };\n    return WatchlistFacade;\n}(dispatcher));\n/* harmony default export */ var watchlist = (watchlist_WatchlistFacade);\n\n// CONCATENATED MODULE: ./src/core/utils/flat_promise.ts\nfunction flatPromise() {\n    var resolve, reject;\n    var promise = new Promise(function (res, rej) {\n        resolve = res;\n        reject = rej;\n    });\n    return { promise: promise, resolve: resolve, reject: reject };\n}\n/* harmony default export */ var flat_promise = (flatPromise);\n\n// CONCATENATED MODULE: ./src/core/user.ts\nvar user_extends = (undefined && undefined.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n\n\n\n\n\nvar user_UserFacade = (function (_super) {\n    user_extends(UserFacade, _super);\n    function UserFacade(pusher) {\n        var _this = _super.call(this, function (eventName, data) {\n            logger.debug('No callbacks on user for ' + eventName);\n        }) || this;\n        _this.signin_requested = false;\n        _this.user_data = null;\n        _this.serverToUserChannel = null;\n        _this.signinDonePromise = null;\n        _this._signinDoneResolve = null;\n        _this._onAuthorize = function (err, authData) {\n            if (err) {\n                logger.warn(\"Error during signin: \" + err);\n                _this._cleanup();\n                return;\n            }\n            _this.pusher.send_event('pusher:signin', {\n                auth: authData.auth,\n                user_data: authData.user_data\n            });\n        };\n        _this.pusher = pusher;\n        _this.pusher.connection.bind('state_change', function (_a) {\n            var previous = _a.previous, current = _a.current;\n            if (previous !== 'connected' && current === 'connected') {\n                _this._signin();\n            }\n            if (previous === 'connected' && current !== 'connected') {\n                _this._cleanup();\n                _this._newSigninPromiseIfNeeded();\n            }\n        });\n        _this.watchlist = new watchlist(pusher);\n        _this.pusher.connection.bind('message', function (event) {\n            var eventName = event.event;\n            if (eventName === 'pusher:signin_success') {\n                _this._onSigninSuccess(event.data);\n            }\n            if (_this.serverToUserChannel &&\n                _this.serverToUserChannel.name === event.channel) {\n                _this.serverToUserChannel.handleEvent(event);\n            }\n        });\n        return _this;\n    }\n    UserFacade.prototype.signin = function () {\n        if (this.signin_requested) {\n            return;\n        }\n        this.signin_requested = true;\n        this._signin();\n    };\n    UserFacade.prototype._signin = function () {\n        if (!this.signin_requested) {\n            return;\n        }\n        this._newSigninPromiseIfNeeded();\n        if (this.pusher.connection.state !== 'connected') {\n            return;\n        }\n        this.pusher.config.userAuthenticator({\n            socketId: this.pusher.connection.socket_id\n        }, this._onAuthorize);\n    };\n    UserFacade.prototype._onSigninSuccess = function (data) {\n        try {\n            this.user_data = JSON.parse(data.user_data);\n        }\n        catch (e) {\n            logger.error(\"Failed parsing user data after signin: \" + data.user_data);\n            this._cleanup();\n            return;\n        }\n        if (typeof this.user_data.id !== 'string' || this.user_data.id === '') {\n            logger.error(\"user_data doesn't contain an id. user_data: \" + this.user_data);\n            this._cleanup();\n            return;\n        }\n        this._signinDoneResolve();\n        this._subscribeChannels();\n    };\n    UserFacade.prototype._subscribeChannels = function () {\n        var _this = this;\n        var ensure_subscribed = function (channel) {\n            if (channel.subscriptionPending && channel.subscriptionCancelled) {\n                channel.reinstateSubscription();\n            }\n            else if (!channel.subscriptionPending &&\n                _this.pusher.connection.state === 'connected') {\n                channel.subscribe();\n            }\n        };\n        this.serverToUserChannel = new channels_channel(\"#server-to-user-\" + this.user_data.id, this.pusher);\n        this.serverToUserChannel.bind_global(function (eventName, data) {\n            if (eventName.indexOf('pusher_internal:') === 0 ||\n                eventName.indexOf('pusher:') === 0) {\n                return;\n            }\n            _this.emit(eventName, data);\n        });\n        ensure_subscribed(this.serverToUserChannel);\n    };\n    UserFacade.prototype._cleanup = function () {\n        this.user_data = null;\n        if (this.serverToUserChannel) {\n            this.serverToUserChannel.unbind_all();\n            this.serverToUserChannel.disconnect();\n            this.serverToUserChannel = null;\n        }\n        if (this.signin_requested) {\n            this._signinDoneResolve();\n        }\n    };\n    UserFacade.prototype._newSigninPromiseIfNeeded = function () {\n        if (!this.signin_requested) {\n            return;\n        }\n        if (this.signinDonePromise && !this.signinDonePromise.done) {\n            return;\n        }\n        var _a = flat_promise(), promise = _a.promise, resolve = _a.resolve, _ = _a.reject;\n        promise.done = false;\n        var setDone = function () {\n            promise.done = true;\n        };\n        promise.then(setDone)[\"catch\"](setDone);\n        this.signinDonePromise = promise;\n        this._signinDoneResolve = resolve;\n    };\n    return UserFacade;\n}(dispatcher));\n/* harmony default export */ var user = (user_UserFacade);\n\n// CONCATENATED MODULE: ./src/core/pusher.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar pusher_Pusher = (function () {\n    function Pusher(app_key, options) {\n        var _this = this;\n        checkAppKey(app_key);\n        options = options || {};\n        if (!options.cluster && !(options.wsHost || options.httpHost)) {\n            var suffix = url_store.buildLogSuffix('javascriptQuickStart');\n            logger.warn(\"You should always specify a cluster when connecting. \" + suffix);\n        }\n        if ('disableStats' in options) {\n            logger.warn('The disableStats option is deprecated in favor of enableStats');\n        }\n        this.key = app_key;\n        this.config = getConfig(options, this);\n        this.channels = factory.createChannels();\n        this.global_emitter = new dispatcher();\n        this.sessionID = runtime.randomInt(1000000000);\n        this.timeline = new timeline_timeline(this.key, this.sessionID, {\n            cluster: this.config.cluster,\n            features: Pusher.getClientFeatures(),\n            params: this.config.timelineParams || {},\n            limit: 50,\n            level: timeline_level.INFO,\n            version: defaults.VERSION\n        });\n        if (this.config.enableStats) {\n            this.timelineSender = factory.createTimelineSender(this.timeline, {\n                host: this.config.statsHost,\n                path: '/timeline/v2/' + runtime.TimelineTransport.name\n            });\n        }\n        var getStrategy = function (options) {\n            return runtime.getDefaultStrategy(_this.config, options, strategy_builder_defineTransport);\n        };\n        this.connection = factory.createConnectionManager(this.key, {\n            getStrategy: getStrategy,\n            timeline: this.timeline,\n            activityTimeout: this.config.activityTimeout,\n            pongTimeout: this.config.pongTimeout,\n            unavailableTimeout: this.config.unavailableTimeout,\n            useTLS: Boolean(this.config.useTLS)\n        });\n        this.connection.bind('connected', function () {\n            _this.subscribeAll();\n            if (_this.timelineSender) {\n                _this.timelineSender.send(_this.connection.isUsingTLS());\n            }\n        });\n        this.connection.bind('message', function (event) {\n            var eventName = event.event;\n            var internal = eventName.indexOf('pusher_internal:') === 0;\n            if (event.channel) {\n                var channel = _this.channel(event.channel);\n                if (channel) {\n                    channel.handleEvent(event);\n                }\n            }\n            if (!internal) {\n                _this.global_emitter.emit(event.event, event.data);\n            }\n        });\n        this.connection.bind('connecting', function () {\n            _this.channels.disconnect();\n        });\n        this.connection.bind('disconnected', function () {\n            _this.channels.disconnect();\n        });\n        this.connection.bind('error', function (err) {\n            logger.warn(err);\n        });\n        Pusher.instances.push(this);\n        this.timeline.info({ instances: Pusher.instances.length });\n        this.user = new user(this);\n        if (Pusher.isReady) {\n            this.connect();\n        }\n    }\n    Pusher.ready = function () {\n        Pusher.isReady = true;\n        for (var i = 0, l = Pusher.instances.length; i < l; i++) {\n            Pusher.instances[i].connect();\n        }\n    };\n    Pusher.getClientFeatures = function () {\n        return keys(filterObject({ ws: runtime.Transports.ws }, function (t) {\n            return t.isSupported({});\n        }));\n    };\n    Pusher.prototype.channel = function (name) {\n        return this.channels.find(name);\n    };\n    Pusher.prototype.allChannels = function () {\n        return this.channels.all();\n    };\n    Pusher.prototype.connect = function () {\n        this.connection.connect();\n        if (this.timelineSender) {\n            if (!this.timelineSenderTimer) {\n                var usingTLS = this.connection.isUsingTLS();\n                var timelineSender = this.timelineSender;\n                this.timelineSenderTimer = new PeriodicTimer(60000, function () {\n                    timelineSender.send(usingTLS);\n                });\n            }\n        }\n    };\n    Pusher.prototype.disconnect = function () {\n        this.connection.disconnect();\n        if (this.timelineSenderTimer) {\n            this.timelineSenderTimer.ensureAborted();\n            this.timelineSenderTimer = null;\n        }\n    };\n    Pusher.prototype.bind = function (event_name, callback, context) {\n        this.global_emitter.bind(event_name, callback, context);\n        return this;\n    };\n    Pusher.prototype.unbind = function (event_name, callback, context) {\n        this.global_emitter.unbind(event_name, callback, context);\n        return this;\n    };\n    Pusher.prototype.bind_global = function (callback) {\n        this.global_emitter.bind_global(callback);\n        return this;\n    };\n    Pusher.prototype.unbind_global = function (callback) {\n        this.global_emitter.unbind_global(callback);\n        return this;\n    };\n    Pusher.prototype.unbind_all = function (callback) {\n        this.global_emitter.unbind_all();\n        return this;\n    };\n    Pusher.prototype.subscribeAll = function () {\n        var channelName;\n        for (channelName in this.channels.channels) {\n            if (this.channels.channels.hasOwnProperty(channelName)) {\n                this.subscribe(channelName);\n            }\n        }\n    };\n    Pusher.prototype.subscribe = function (channel_name) {\n        var channel = this.channels.add(channel_name, this);\n        if (channel.subscriptionPending && channel.subscriptionCancelled) {\n            channel.reinstateSubscription();\n        }\n        else if (!channel.subscriptionPending &&\n            this.connection.state === 'connected') {\n            channel.subscribe();\n        }\n        return channel;\n    };\n    Pusher.prototype.unsubscribe = function (channel_name) {\n        var channel = this.channels.find(channel_name);\n        if (channel && channel.subscriptionPending) {\n            channel.cancelSubscription();\n        }\n        else {\n            channel = this.channels.remove(channel_name);\n            if (channel && channel.subscribed) {\n                channel.unsubscribe();\n            }\n        }\n    };\n    Pusher.prototype.send_event = function (event_name, data, channel) {\n        return this.connection.send_event(event_name, data, channel);\n    };\n    Pusher.prototype.shouldUseTLS = function () {\n        return this.config.useTLS;\n    };\n    Pusher.prototype.signin = function () {\n        this.user.signin();\n    };\n    Pusher.instances = [];\n    Pusher.isReady = false;\n    Pusher.logToConsole = false;\n    Pusher.Runtime = runtime;\n    Pusher.ScriptReceivers = runtime.ScriptReceivers;\n    Pusher.DependenciesReceivers = runtime.DependenciesReceivers;\n    Pusher.auth_callbacks = runtime.auth_callbacks;\n    return Pusher;\n}());\n/* harmony default export */ var core_pusher = __webpack_exports__[\"default\"] = (pusher_Pusher);\nfunction checkAppKey(key) {\n    if (key === null || key === undefined) {\n        throw 'You must pass your app key when you instantiate Pusher.';\n    }\n}\nruntime.setup(pusher_Pusher);\n\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pusher.js.map","import { AdvertisingMode, AdvertisingPosition, IWidget, LeaderboardPosition } from 'lib/types/widget'\n\nexport const defaultWidget: IWidget = {\n  url: '',\n  obsDockSlug: '',\n  slug: '',\n  platform: 'twitch' as const,\n  boxSize: 0,\n  referralPromotion: false,\n  stream: {\n    delay: 0,\n    enabled: false,\n  },\n  advertising: {\n    mode: AdvertisingMode.AUTO,\n    frequency: 0,\n    position: AdvertisingPosition.LEFT_TOP_CORNER,\n  },\n  leaderboard: {\n    position: LeaderboardPosition.TOP,\n  },\n  adManualEnabled: false,\n  ignoreCategories: [],\n  enabled: false,\n  botEnabled: false,\n  extensionEnabled: false,\n  nightbot: {\n    twitch: {\n      connected: false,\n      moderator: false,\n    },\n    youtube: {\n      connected: false,\n      moderator: false,\n    },\n    trovo: {\n      connected: false,\n      moderator: false,\n    },\n  },\n  streamer: null,\n  twitch: null,\n  youtube: null,\n  trovo: null,\n  vkplay: null,\n  relogin: false,\n  bsRequired: false,\n  allowAdultContent: false,\n  sspTextFrequency: 2,\n}\n","import axios from 'axios'\nimport Echo from 'laravel-echo'\n// import * as events from './consts/events'\nimport * as events from 'lib/pusher/constants/pusher-events'\n// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\nimport Pusher from 'pusher-js'\n// import examples from './examples'\n\nexport default class Socket {\n  constructor (slug) {\n    this.url = `${process.env.VUE_APP_API_URL}broadcasting/auth`\n    this.slug = slug\n    this.init()\n  }\n\n  init () {\n    this.Echo = new Echo({\n      broadcaster: 'pusher',\n      key: process.env.VUE_APP_PUSHER_APP_KEY,\n      cluster: process.env.VUE_APP_PUSHER_APP_CLUSTER,\n      forceTLS: true,\n      authorizer: (channel) => ({\n        authorize: async (socketId, callback) => {\n          const params = {\n            socket_id: socketId,\n            channel_name: channel.name,\n            slug: this.slug,\n          }\n\n          try {\n            const res = await axios.post(this.url, params)\n            // eslint-disable-next-line standard/no-callback-literal\n            callback(false, res.data)\n          }\n          catch (err) {\n            // eslint-disable-next-line standard/no-callback-literal\n            callback(true, err)\n          }\n        },\n      }),\n    })\n  }\n\n  listen (callback) {\n    this.Echo.private(`uplify.ads.${this.slug}`)\n      .listen('.widget.params.updated', event => {\n        callback(events.WIDGET_UPDATED, { ...event, status: true })\n      })\n      .listen('.manual.launch', event => {\n        callback(events.MANUAL_LAUNCH, event)\n      })\n      .listen('.auto.launch', event => {\n        callback(events.AUTO_LAUNCH, event)\n      })\n      .listen('.fetching-ad', event => {\n        callback(events.FETCHING_AD, event)\n      })\n      .listen('.chatbot-message-sent', event => {\n        callback(events.CHATBOT_MESSAGE_SENT, event)\n      })\n      .listen('.referral.launch', event => {\n        callback(events.REFERRAL_LAUNCH, event)\n      })\n      .listen('.demo.real.launch', event => {\n        callback(events.DEMO_LAUNCH, event)\n      })\n      .listen('.demo.launch', event => {\n        callback(events.DEMO_LAUNCH, event)\n      })\n      .listen('.demo.referral.launch', event => {\n        callback(events.DEMO_LAUNCH, event)\n      })\n\n    // test\n    // setTimeout(() => {\n    //   callback(events.DEMO_LAUNCH, examples.video.data)\n    // }, 1000)\n  }\n\n  leave () {\n    this.Echo.leave(`uplify.ads.${this.slug}`)\n  }\n}\n","import { Api } from 'lib/api/instance'\nimport { isSspFormat, isSspMediaFormat, isSspTextFormat } from 'lib/helpers/isSsp'\nimport parseSlug from 'lib/helpers/parseSlug'\n\nexport default {\n  namespaced: true,\n\n  state: {\n    visibleCampaignsSidebar: false,\n    completedCampaigns: {\n      page: 1,\n      total: 0,\n      data: [],\n    },\n    counters: {\n      completed: 0,\n      incompleted: 0,\n    },\n    campaigns: null,\n    campaign: null,\n    campaignType: null,\n    loading: {\n      campaign: true,\n      campaigns: {\n        completed: true,\n        incompleted: true,\n      },\n    },\n    prerollCampaigns: null,\n    campaignProductLink: null,\n  },\n\n  mutations: {\n    setCampaigns (state, payload) {\n      state.campaigns = payload\n    },\n    setPrerollCampaigns (state, payload) {\n      state.prerollCampaigns = payload\n    },\n    setCompletedCampaigns (state, payload) {\n      state.completedCampaigns = {\n        ...state.completedCampaigns,\n        ...payload,\n      }\n    },\n    setCompletedCampaignsPage (state, payload) {\n      state.completedCampaigns.page = payload\n    },\n    setCampaign (state, payload) {\n      state.campaign = payload\n    },\n    toggleLoading (state, { loading, type }) {\n      if (type === 'campaign') {\n        state.loading.campaign = loading\n      }\n      else if (type === 'incompleted') {\n        state.loading.campaigns.incompleted = loading\n      }\n      else if (type === 'completed') {\n        state.loading.campaigns.completed = loading\n      }\n    },\n    toggleCampaignsSidebar (state, payload) {\n      state.visibleCampaignsSidebar = payload\n    },\n    setCampaignType (state, payload) {\n      state.campaignType = payload\n    },\n    setCampaignProductLink (state, payload) {\n      state.campaignProductLink = payload\n    },\n  },\n\n  actions: {\n    async fetchCampaigns ({ commit, rootGetters }, toggling = true) {\n      const {\n        platform,\n        brandisExtensionActive,\n        enableSspInstreamAds,\n        enableChatbotTextAds,\n      } = rootGetters['widgetSettings/widget']\n\n      try {\n        if (toggling) {\n          commit('toggleLoading', {\n            loading: true,\n            type: 'incompleted',\n          })\n        }\n\n        const brandAwarenessCampaigns = await Api.get('streamer/campaigns/brand_awareness')\n\n        const campaigns = {\n          active: brandAwarenessCampaigns.active,\n          inactive: brandAwarenessCampaigns.inactive,\n          future: brandAwarenessCampaigns.future,\n        }\n\n        if (brandAwarenessCampaigns?.unavailable?.length) {\n          campaigns.inactive.concat(brandAwarenessCampaigns.unavailable)\n        }\n\n        if (platform === 'twitch') {\n          const permormanceCampaigns = await Api.get('streamer/campaigns/performance')\n\n          if (!brandisExtensionActive) {\n            campaigns.inactive = campaigns.inactive.concat(\n              permormanceCampaigns.active,\n              permormanceCampaigns.inactive,\n              permormanceCampaigns.future,\n              permormanceCampaigns.unavailable,\n            )\n          }\n          else {\n            campaigns.active = [\n              ...campaigns.active,\n              ...permormanceCampaigns.active,\n            ]\n            campaigns.inactive = [\n              ...campaigns.inactive,\n              ...permormanceCampaigns.inactive,\n              ...permormanceCampaigns.unavailable,\n            ]\n            campaigns.future = [\n              ...campaigns.future,\n              ...permormanceCampaigns.future,\n            ]\n          }\n        }\n\n        // if (!enableSspInstreamAds) {\n        //   const sspCampaigns = campaigns.active.filter(campaign => isSspMediaFormat(campaign.format.id))\n\n        //   campaigns.active = campaigns.active.filter(campaign => !isSspMediaFormat(campaign.format.id))\n        //   campaigns.inactive = [...campaigns.inactive, ...sspCampaigns]\n        // }\n\n        // if (!enableChatbotTextAds) {\n        //   const sspCampaigns = campaigns.active.filter(campaign => isSspTextFormat(campaign.format.id))\n\n        //   campaigns.active = campaigns.active.filter(campaign => !isSspTextFormat(campaign.format.id))\n        //   campaigns.inactive = [...campaigns.inactive, ...sspCampaigns]\n        // }\n\n        commit('setCampaigns', campaigns)\n      }\n      finally {\n        commit('toggleLoading', {\n          loading: false,\n          type: 'incompleted',\n        })\n      }\n    },\n\n    async fetchPrerollCampaigns ({ commit }, toggling = true) {\n      try {\n        if (toggling) {\n          commit('toggleLoading', {\n            loading: true,\n            type: 'incompleted',\n          })\n        }\n        const res = await Api.get('streamer/campaigns/preroll')\n\n        commit('setPrerollCampaigns', res.data)\n      }\n      finally {\n        commit('toggleLoading', {\n          loading: false,\n          type: 'incompleted',\n        })\n      }\n    },\n\n    async fetchCompletedCampaigns ({ commit, state, rootGetters }, campaignType, toggling = true) {\n      const isDemo = rootGetters.demo\n      if (isDemo) {\n        return\n      }\n\n      const page = state.completedCampaigns.page\n\n      try {\n        if (toggling) {\n          commit('toggleLoading', {\n            loading: true,\n            type: 'completed',\n          })\n        }\n\n        let url = 'streamer/campaigns/closed'\n\n        if (campaignType === 'preroll') {\n          url = 'streamer/campaigns/preroll/closed'\n        }\n\n        const res = await Api.get(url, { page })\n        commit('setCompletedCampaigns', res)\n      }\n      finally {\n        commit('toggleLoading', {\n          loading: false,\n          type: 'completed',\n        })\n      }\n    },\n\n    setCompletedCampaignsPage ({ commit, dispatch }, page) {\n      commit('setCompletedCampaignsPage', page)\n      dispatch('fetchCompletedCampaigns')\n    },\n\n    async fetchCampaign ({ commit }, { slug, toggling = true }) {\n      const campaign = parseSlug(slug)\n      try {\n        if (toggling) {\n          commit('toggleLoading', {\n            loading: true,\n            type: 'campaign',\n          })\n        }\n\n        let url = 'streamer/campaigns/info'\n\n        if (campaign.type === 'performance') {\n          url = 'streamer/campaigns/performance/info'\n        }\n        if (campaign.type === 'preroll') {\n          url = 'streamer/campaigns/preroll/info'\n        }\n\n        const res = await Api.get(url, { slug })\n\n        commit('setCampaignType', campaign.type)\n        commit('setCampaign', res.data)\n      }\n      finally {\n        commit('toggleLoading', {\n          loading: false,\n          type: 'campaign',\n        })\n      }\n    },\n\n    async changeCampaignStatus ({ dispatch }, slug) {\n      const { type } = parseSlug(slug)\n      if (type === 'performance') {\n        await Api.post('streamer/campaigns/performance/status', { slug })\n      }\n      else {\n        await Api.post('streamer/campaigns/status', { slug })\n      }\n      await dispatch('fetchCampaigns', false)\n    },\n\n    showCampaignsSidebar ({ commit, dispatch, state }, slug) {\n      if (state.campaign?.slug !== slug) {\n        commit('setCampaign', null)\n        dispatch('fetchCampaign', { slug })\n      }\n      commit('toggleCampaignsSidebar', true)\n    },\n    hideCampaignsSidebar ({ commit }) {\n      commit('toggleCampaignsSidebar', false)\n      commit('setCampaignProductLink', null)\n    },\n\n    async fetchProductLink ({ commit }, slug) {\n      const res = await Api.get('streamer/brand_awareness/product/link', { slug })\n      if (res.data?.url) {\n        commit('setCampaignProductLink', res.data?.url)\n      }\n    },\n  },\n\n  getters: {\n    campaigns: ({ campaigns }) => campaigns,\n    activeCampaigns: ({ campaigns }) => campaigns?.active || [],\n    futureCampaigns: ({ campaigns }) => campaigns?.future || [],\n    inactiveCampaigns: ({ campaigns }) => campaigns?.inactive || [],\n    unavailableCampaigns: ({ campaigns }) => campaigns?.unavailable || [],\n    prerollCampaigns: ({ prerollCampaigns }) => prerollCampaigns || [],\n    completedCampaigns: ({ completedCampaigns }) => completedCampaigns,\n    loading: ({ loading }) => loading,\n    campaign: ({ campaign }) => campaign,\n    campaignType: ({ campaignType }) => campaignType,\n    campaignProductLink: ({ campaignProductLink }) => campaignProductLink,\n    visibleCampaignsSidebar: ({ visibleCampaignsSidebar }) => visibleCampaignsSidebar,\n  },\n}\n","// RegExp (BA|BL|T|C)-(CMP|GRP|CRV)-((V|P|C|L)-)*(\\d+)\n\nexport enum Types {\n  BA = 'brand_awareness',\n  PF = 'performance',\n  VOD = 'preroll',\n}\n\nexport enum Kinds {\n  CMP = 'campaign',\n  GRP = 'group',\n  CRV = 'creative',\n}\n\nexport enum Formats {\n  V = 'video',\n  L = 'leaderboard',\n  P = 'pip_video',\n  C = 'custom',\n  YFS = 'yandex_fs',\n  YT = 'yandex_text',\n}\n\ninterface ParsedSlug {\n  kind: Kinds\n  type: Types\n  format: Formats\n}\n\ntype SplittedSlug = [\n  keyof typeof Types,\n  keyof typeof Kinds,\n  keyof typeof Formats\n]\n\nexport default (slug: string): ParsedSlug => {\n  if (typeof slug !== 'string') {\n    throw new Error('Slug is not string')\n  }\n\n  const [type, kind, format]: SplittedSlug = slug.split('-') as SplittedSlug\n\n  return {\n    kind: Kinds[kind],\n    type: Types[type],\n    format: Formats[format],\n  }\n}\n","import e from\"vue\";function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function n(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function i(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(i[n]=e[n]);return i}function u(e){return 1==(null!=(t=e)&&\"object\"==typeof t&&!1===Array.isArray(t))&&\"[object Object]\"===Object.prototype.toString.call(e);var t}var a=Object.prototype,f=a.toString,c=a.hasOwnProperty,l=/^\\s*function (\\w+)/;function s(e){var t,n=null!==(t=null==e?void 0:e.type)&&void 0!==t?t:e;if(n){var r=n.toString().match(l);return r?r[1]:\"\"}return\"\"}var v=function(e){var t,n;return!1!==u(e)&&\"function\"==typeof(t=e.constructor)&&!1!==u(n=t.prototype)&&!1!==n.hasOwnProperty(\"isPrototypeOf\")},y=function(e){return e},p=y;if(\"production\"!==process.env.NODE_ENV){var d=\"undefined\"!=typeof console;p=d?function(t){!1===e.config.silent&&console.warn(\"[VueTypes warn]: \"+t)}:y}var h=function(e,t){return c.call(e,t)},b=Number.isInteger||function(e){return\"number\"==typeof e&&isFinite(e)&&Math.floor(e)===e},g=Array.isArray||function(e){return\"[object Array]\"===f.call(e)},O=function(e){return\"[object Function]\"===f.call(e)},m=function(e){return v(e)&&h(e,\"_vueTypes_name\")},j=function(e){return v(e)&&(h(e,\"type\")||[\"_vueTypes_name\",\"validator\",\"default\",\"required\"].some(function(t){return h(e,t)}))};function _(e,t){return Object.defineProperty(e.bind(t),\"__original\",{value:e})}function T(e,t,n){var r;void 0===n&&(n=!1);var i=!0,o=\"\";r=v(e)?e:{type:e};var u=m(r)?r._vueTypes_name+\" - \":\"\";if(j(r)&&null!==r.type){if(void 0===r.type)return i;if(!r.required&&void 0===t)return i;void 0===r.type?o=\"any\":g(r.type)?(i=r.type.some(function(e){return!0===T(e,t,!0)}),o=r.type.map(function(e){return s(e)}).join(\" or \")):i=\"Array\"===(o=s(r))?g(t):\"Object\"===o?v(t):\"String\"===o||\"Number\"===o||\"Boolean\"===o||\"Function\"===o?function(e){if(null==e)return\"\";var t=e.constructor.toString().match(l);return t?t[1]:\"\"}(t)===o:t instanceof r.type}if(!i){var a=u+'value \"'+t+'\" should be of type \"'+o+'\"';return!1===n?(p(a),!1):a}if(h(r,\"validator\")&&O(r.validator)){var f=p,c=[];if(p=function(e){c.push(e)},i=r.validator(t),p=f,!i){var y=(c.length>1?\"* \":\"\")+c.join(\"\\n* \");return c.length=0,!1===n?(p(y),i):y}}return i}function w(e,t){var n=Object.defineProperties(t,{_vueTypes_name:{value:e,writable:!0},isRequired:{get:function(){return this.required=!0,this}},def:{value:function(e){return void 0===e?(h(this,\"default\")&&delete this.default,this):O(e)||!0===T(this,e,!0)?(this.default=g(e)?function(){return[].concat(e)}:v(e)?function(){return Object.assign({},e)}:e,this):(p(this._vueTypes_name+' - invalid default value: \"'+e+'\"'),this)}}}),r=n.validator;return O(r)&&(n.validator=_(r,n)),n}function k(e,t){var n=w(e,t);return Object.defineProperty(n,\"validate\",{value:function(e){return O(this.validator)&&p(this._vueTypes_name+\" - calling .validate() will overwrite the current custom validator function. Validator info:\\n\"+JSON.stringify(this)),this.validator=_(e,this),this}})}function P(e,t,n){var r,i,u=(r=t,i={},Object.getOwnPropertyNames(r).forEach(function(e){i[e]=Object.getOwnPropertyDescriptor(r,e)}),Object.defineProperties({},i));if(u._vueTypes_name=e,!v(n))return u;var a,f,c=n.validator,l=o(n,[\"validator\"]);if(O(c)){var s=u.validator;s&&(s=null!==(f=(a=s).__original)&&void 0!==f?f:a),u.validator=_(s?function(e){return s.call(this,e)&&c.call(this,e)}:c,u)}return Object.assign(u,l)}function x(e){return e.replace(/^(?!\\s*$)/gm,\"  \")}var A=function(){return k(\"any\",{})},E=function(){return k(\"function\",{type:Function})},N=function(){return k(\"boolean\",{type:Boolean})},q=function(){return k(\"string\",{type:String})},S=function(){return k(\"number\",{type:Number})},V=function(){return k(\"array\",{type:Array})},F=function(){return k(\"object\",{type:Object})},D=function(){return w(\"integer\",{type:Number,validator:function(e){return b(e)}})},L=function(){return w(\"symbol\",{validator:function(e){return\"symbol\"==typeof e}})};function Y(e,t){if(void 0===t&&(t=\"custom validation failed\"),\"function\"!=typeof e)throw new TypeError(\"[VueTypes error]: You must provide a function as argument\");return w(e.name||\"<<anonymous function>>\",{validator:function(n){var r=e(n);return r||p(this._vueTypes_name+\" - \"+t),r}})}function B(e){if(!g(e))throw new TypeError(\"[VueTypes error]: You must provide an array as argument.\");var t='oneOf - value should be one of \"'+e.join('\", \"')+'\".',n=e.reduce(function(e,t){if(null!=t){var n=t.constructor;-1===e.indexOf(n)&&e.push(n)}return e},[]);return w(\"oneOf\",{type:n.length>0?n:void 0,validator:function(n){var r=-1!==e.indexOf(n);return r||p(t),r}})}function I(e){if(!g(e))throw new TypeError(\"[VueTypes error]: You must provide an array as argument\");for(var t=!1,n=[],r=0;r<e.length;r+=1){var i=e[r];if(j(i)){if(m(i)&&\"oneOf\"===i._vueTypes_name){n=n.concat(i.type||[]);continue}if(O(i.validator)&&(t=!0),void 0!==i.type){n=n.concat(i.type);continue}}n.push(i)}return n=n.filter(function(e,t){return n.indexOf(e)===t}),w(\"oneOfType\",t?{type:n,validator:function(t){var n=[],r=e.some(function(e){var r=T(m(e)&&\"oneOf\"===e._vueTypes_name?e.type||null:e,t,!0);return\"string\"==typeof r&&n.push(r),!0===r});return r||p(\"oneOfType - provided value does not match any of the \"+n.length+\" passed-in validators:\\n\"+x(n.join(\"\\n\"))),r}}:{type:n})}function J(e){return w(\"arrayOf\",{type:Array,validator:function(t){var n,r=t.every(function(t){return!0===(n=T(e,t,!0))});return r||p(\"arrayOf - value validation error:\\n\"+x(n)),r}})}function M(e){return w(\"instanceOf\",{type:e})}function R(e){return w(\"objectOf\",{type:Object,validator:function(t){var n,r=Object.keys(t).every(function(r){return!0===(n=T(e,t[r],!0))});return r||p(\"objectOf - value validation error:\\n\"+x(n)),r}})}function $(e){var t=Object.keys(e),n=t.filter(function(t){var n;return!!(null===(n=e[t])||void 0===n?void 0:n.required)}),r=w(\"shape\",{type:Object,validator:function(r){var i=this;if(!v(r))return!1;var o=Object.keys(r);if(n.length>0&&n.some(function(e){return-1===o.indexOf(e)})){var u=n.filter(function(e){return-1===o.indexOf(e)});return p(1===u.length?'shape - required property \"'+u[0]+'\" is not defined.':'shape - required properties \"'+u.join('\", \"')+'\" are not defined.'),!1}return o.every(function(n){if(-1===t.indexOf(n))return!0===i._vueTypes_isLoose||(p('shape - shape definition does not include a \"'+n+'\" property. Allowed keys: \"'+t.join('\", \"')+'\".'),!1);var o=T(e[n],r[n],!0);return\"string\"==typeof o&&p('shape - \"'+n+'\" property validation error:\\n '+x(o)),!0===o})}});return Object.defineProperty(r,\"_vueTypes_isLoose\",{writable:!0,value:!1}),Object.defineProperty(r,\"loose\",{get:function(){return this._vueTypes_isLoose=!0,this}}),r}var z=function(){function e(){}return e.extend=function(e){var t=this;if(g(e))return e.forEach(function(e){return t.extend(e)}),this;var n=e.name,r=e.validate,i=void 0!==r&&r,u=e.getter,a=void 0!==u&&u,f=o(e,[\"name\",\"validate\",\"getter\"]);if(h(this,n))throw new TypeError('[VueTypes error]: Type \"'+n+'\" already defined');var c,l=f.type;return m(l)?(delete f.type,Object.defineProperty(this,n,a?{get:function(){return P(n,l,f)}}:{value:function(){var e,t=P(n,l,f);return t.validator&&(t.validator=(e=t.validator).bind.apply(e,[t].concat([].slice.call(arguments)))),t}})):(c=a?{get:function(){var e=Object.assign({},f);return i?k(n,e):w(n,e)},enumerable:!0}:{value:function(){var e,t,r=Object.assign({},f);return e=i?k(n,r):w(n,r),r.validator&&(e.validator=(t=r.validator).bind.apply(t,[e].concat([].slice.call(arguments)))),e},enumerable:!0},Object.defineProperty(this,n,c))},n(e,null,[{key:\"any\",get:function(){return A()}},{key:\"func\",get:function(){return E().def(this.defaults.func)}},{key:\"bool\",get:function(){return N().def(this.defaults.bool)}},{key:\"string\",get:function(){return q().def(this.defaults.string)}},{key:\"number\",get:function(){return S().def(this.defaults.number)}},{key:\"array\",get:function(){return V().def(this.defaults.array)}},{key:\"object\",get:function(){return F().def(this.defaults.object)}},{key:\"integer\",get:function(){return D().def(this.defaults.integer)}},{key:\"symbol\",get:function(){return L()}}]),e}();function C(e){var t;return void 0===e&&(e={func:function(){},bool:!0,string:\"\",number:0,array:function(){return[]},object:function(){return{}},integer:0}),(t=function(t){function o(){return t.apply(this,arguments)||this}return i(o,t),n(o,null,[{key:\"sensibleDefaults\",get:function(){return r({},this.defaults)},set:function(t){this.defaults=!1!==t?r({},!0!==t?t:e):{}}}]),o}(z)).defaults=r({},e),t}z.defaults={},z.custom=Y,z.oneOf=B,z.instanceOf=M,z.oneOfType=I,z.arrayOf=J,z.objectOf=R,z.shape=$,z.utils={validate:function(e,t){return!0===T(t,e,!0)},toType:function(e,t,n){return void 0===n&&(n=!1),n?k(e,t):w(e,t)}};var G=function(e){function t(){return e.apply(this,arguments)||this}return i(t,e),t}(C());export default G;export{A as any,V as array,J as arrayOf,N as bool,C as createTypes,Y as custom,P as fromType,E as func,M as instanceOf,D as integer,S as number,F as object,R as objectOf,B as oneOf,I as oneOfType,$ as shape,q as string,L as symbol,w as toType,k as toValidableType,T as validateType};\n//# sourceMappingURL=vue-types.m.js.map\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Advice.vue?vue&type=style&index=0&id=ddd31dba&prod&lang=scss&scoped=true&\"","import { ReverseMap, UrlType } from 'lib/types/base-types'\nimport { IStreamerPlatformPayload, IStreamerUserPayload } from 'lib/types/payloads/streamer'\nimport { PlatformType } from 'lib/types/platform'\n\nexport enum AdvertisingPosition {\n  LEFT_TOP_CORNER = 'left_top_corner',\n  LEFT_BOTTOM_CORNER = 'left_bottom_corner',\n  RIGHT_TOP_CORNER = 'right_top_corner',\n  RIGHT_BOTTOM_CORNER = 'right_bottom_corner',\n}\n\nexport enum LeaderboardPosition {\n  TOP = 'top',\n  BOTTOM = 'bottom',\n}\n\nexport enum AdvertisingMode {\n  AUTO = 'auto',\n  MANUAL = 'manual',\n}\n\nexport type LeaderboardPositionType = ReverseMap<typeof LeaderboardPosition>\nexport type AdvertisingPositionType = ReverseMap<typeof AdvertisingPosition>\nexport type AdvertisingModeType = ReverseMap<typeof AdvertisingMode>\n\nexport interface IWidgetSettings {\n  url: UrlType\n  obsDockSlug: string\n  slug: string\n  platform: PlatformType\n  boxSize: number\n  referralPromotion: boolean\n  stream: {\n    delay: number\n    enabled: boolean\n  }\n  advertising: {\n    mode: AdvertisingModeType\n    frequency: number\n    position: AdvertisingPositionType\n  }\n  leaderboard: {\n    position: LeaderboardPositionType\n  }\n  adManualEnabled: boolean\n  ignoreCategories: Array<string>\n  enabled: boolean\n  botEnabled: boolean\n  extensionEnabled: boolean\n  nightbot: {\n    twitch: {\n      connected: boolean\n      moderator: boolean\n    }\n    youtube: {\n      connected: boolean\n      moderator: boolean\n    }\n    trovo: {\n      connected: boolean\n      moderator: boolean\n    }\n  }\n  relogin: boolean\n  bsRequired: boolean\n  allowAdultContent: boolean\n  sspTextFrequency: number\n}\n\nexport interface IWidget extends IWidgetSettings {\n  streamer: IStreamerUserPayload | null\n  twitch: IStreamerPlatformPayload | null\n  youtube: IStreamerPlatformPayload | null\n  trovo: IStreamerPlatformPayload | null\n  vkplay: IStreamerPlatformPayload | null\n}\n","import { ReverseMap } from 'lib/types/base-types'\n\nexport enum Campaign {\n  BRAND_AWARENESS = 'brand_awareness',\n  PERFORMANCE = 'performance',\n  YANDEX_FS = 'yandex_fs',\n  PREROLL = 'preroll',\n  BRAND_LIFT = 'brand_lift',\n  TASK = 'task',\n}\n\nexport interface ICampaignType {\n  id: Campaign\n  title: string\n  description: string\n  icon: 'speaker' | 'list' | 'task-checked' | 'dialog-bubbles'\n  disabled?: boolean\n}\n\nexport type CampaignType = ReverseMap<typeof Campaign>\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nmodule.exports = baseTrim;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.widget.relogin)?_c('ReloginMessage'):_vm._e(),_c('div',{staticClass:\"panel-page\"},[(_vm.authError)?_c('div',{staticClass:\"panel-page__error\"},[_c('SvgIcon',{attrs:{\"name\":\"x_x\",\"width\":\"148px\",\"height\":\"36px\"}}),_c('div',{staticClass:\"panel-page__error-title\"},[_vm._v(\" \"+_vm._s(_vm.locale.error.title)+\" \")]),_c('div',{staticClass:\"panel-page__error-text\"},[_vm._v(\" \"+_vm._s(_vm.locale.error.text)+\" \")])],1):(!_vm.loaded)?_c('div',{staticClass:\"panel-page__preloader\"},[_c('SvgIcon',{attrs:{\"name\":\"uplify-logo\",\"width\":\"93px\",\"height\":\"32px\"}})],1):_c('div',{staticClass:\"panel-page__inner\"},[_c('Tabs',{attrs:{\"tab\":_vm.tab},on:{\"update:tab\":function($event){_vm.tab=$event}}}),(_vm.tab === 'widget')?_c('div',[_c('StatusSection'),_c('SettingsSection')],1):_vm._e(),(_vm.tab === 'campaigns')?_c('div',[_c('CampaignsSection')],1):_vm._e(),_c('div',{staticClass:\"panel-page__footer\"},[_c('Logger',{attrs:{\"log\":_vm.log}}),_c('Powered')],1)],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('Section',{attrs:{\"title\":_vm.locale.platformSelectTitle}},[_c('WidgetPlatformSelect',{attrs:{\"select-theme\":\"_theme-dark\"}})],1),_c('Section',{attrs:{\"title\":_vm.title,\"count\":_vm.filtered.length ? _vm.filtered.length.toString() : undefined}},[_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"panel-campaign-section\"},[_vm._l((_vm.filtered),function(item){return _c('Campaign',{key:item.id,attrs:{\"campaign\":item}})}),(!_vm.filtered.length)?_c('div',{staticClass:\"panel-campaign-section__none\"},[_c('img',{attrs:{\"src\":require('assets/img/obs-dock-no-campaigns.jpg'),\"alt\":\"Obs Dock No Campaigns\"}}),_c('div',{staticClass:\"panel-campaign-section__none-text\",domProps:{\"innerHTML\":_vm._s(_vm.locale.comeBack)}})]):_vm._e()],2)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"campaign\"},[_c('div',{staticClass:\"campaign__inner\"},[_c('div',{staticClass:\"campaign__left\"},[_c('Avatar',{attrs:{\"campaign\":_vm.campaign}})],1),_c('div',{staticClass:\"campaign__right\"},[_c('div',{staticClass:\"campaign__right-top\"},[_c('div',{staticClass:\"text-m-regular campaign__title\"},[_vm._v(\" \"+_vm._s(_vm.campaign.title)+\" \")])]),_c('Tags',{attrs:{\"campaign\":_vm.campaign}}),_c('CampaignRowDailyLimit',{attrs:{\"campaign\":_vm.campaign}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Campaign.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Campaign.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Campaign.vue?vue&type=template&id=fb7a3f7a&scoped=true&\"\nimport script from \"./Campaign.vue?vue&type=script&lang=js&\"\nexport * from \"./Campaign.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Campaign.vue?vue&type=style&index=0&id=fb7a3f7a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"fb7a3f7a\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"panel-section\"},[(_vm.title || _vm.count)?_c('div',{staticClass:\"panel-section__title\"},[(_vm.title)?_c('div',{staticClass:\"panel-section__title-text\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),(_vm.count)?_c('div',{staticClass:\"panel-section__title-counter\"},[_vm._v(\" \"+_vm._s(_vm.count)+\" \")]):_vm._e()]):_vm._e(),_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Section.vue?vue&type=template&id=54210b23&scoped=true&\"\nimport script from \"./Section.vue?vue&type=script&lang=js&\"\nexport * from \"./Section.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Section.vue?vue&type=style&index=0&id=54210b23&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"54210b23\",\n  null\n  \n)\n\nexport default component.exports","<template>\n  <div>\n    <Section\n      :title=\"locale.platformSelectTitle\"\n    >\n      <WidgetPlatformSelect select-theme=\"_theme-dark\" />\n    </Section>\n    <Section\n      :title=\"title\"\n      :count=\"filtered.length ? filtered.length.toString() : undefined\"\n    >\n      <div\n        v-loading=\"loading\"\n        class=\"panel-campaign-section\"\n      >\n        <Campaign\n          v-for=\"item in filtered\"\n          :key=\"item.id\"\n          :campaign=\"item\"\n        />\n        <div\n          v-if=\"!filtered.length\"\n          class=\"panel-campaign-section__none\"\n        >\n          <img\n            :src=\"require('assets/img/obs-dock-no-campaigns.jpg')\"\n            alt=\"Obs Dock No Campaigns\"\n          >\n\n          <div\n            class=\"panel-campaign-section__none-text\"\n            v-html=\"locale.comeBack\"\n          />\n        </div>\n      </div>\n    </Section>\n  </div>\n</template>\n\n<script>\nimport WidgetPlatformSelect from 'components/WidgetPlatformSelect'\nimport loading from 'element/Loading'\n\nimport Campaign from './Campaign'\nimport Section from './Section'\n\nexport default {\n  components: {\n    Section,\n    Campaign,\n    WidgetPlatformSelect,\n  },\n\n  directives: {\n    loading,\n  },\n\n  computed: {\n    locale: ({ $rootLocale }) => ({\n      title: $rootLocale('views.panel.campaigns.title'),\n      none: $rootLocale('views.panel.campaigns.none'),\n      comeBack: $rootLocale('views.panel.campaigns.comeBack'),\n      platformSelectTitle: $rootLocale('views.streamer.widget.widgetPlatform.title'),\n    }),\n    title: ({ locale, campaigns }) => campaigns.length ? locale.title : locale.none,\n    campaigns: ({ $store }) => $store.getters['campaigns/activeCampaigns'],\n    loading: ({ $store }) => $store.getters['campaigns/loading'].campaigns.incompleted,\n    filtered ({ campaigns }) {\n      return campaigns.filter(item => {\n        return !(item.impressions >= item.daily_limit || item.rest_limit_percent <= 5)\n      })\n    },\n    widget: ({ $store }) => $store.getters['widgetSettings/widget'],\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.panel-campaign-section {\n  :deep {\n    .el-loading-mask {\n      background-color: rgba(#1F1E1F, 0.9);\n    }\n\n    .el-loading-spinner .path {\n      stroke: #fff;\n    }\n  }\n\n  &__none {\n    &-text {\n      font-size: 18px;\n      line-height: 24px;\n      letter-spacing: -0.01em;\n      text-align: center;\n      margin-top: 24px;\n    }\n\n    img {\n      display: block;\n      width: 100%;\n    }\n  }\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignsSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignsSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CampaignsSection.vue?vue&type=template&id=d22d60da&scoped=true&\"\nimport script from \"./CampaignsSection.vue?vue&type=script&lang=js&\"\nexport * from \"./CampaignsSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CampaignsSection.vue?vue&type=style&index=0&id=d22d60da&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"d22d60da\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"panel-logger\"},[(_vm.widget)?_c('ElButton',{staticClass:\"panel-logger__button\",attrs:{\"type\":\"text\"},on:{\"click\":_vm.copyLog}},[_c('span',{staticClass:\"text-caption\"},[_vm._v(_vm._s(_vm.isPressed ? _vm.locale.logCopied : _vm.locale.copyLog))])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"panel-logger\">\n    <ElButton\n      v-if=\"widget\"\n      class=\"panel-logger__button\"\n      type=\"text\"\n      @click=\"copyLog\"\n    >\n      <span class=\"text-caption\">{{ isPressed ? locale.logCopied : locale.copyLog }}</span>\n    </ElButton>\n  </div>\n</template>\n\n<script>\nimport ElButton from 'element/ElButton'\nimport VueTypes from 'vue-types'\n\nexport default {\n  components: {\n    ElButton,\n  },\n\n  props: {\n    log: VueTypes.Array,\n  },\n\n  data: function () {\n    return {\n      logger: null,\n      isPressed: false,\n    }\n  },\n\n  computed: {\n    widget: ({ $store }) =>\n      $store.getters['widgetSettings/widget'],\n    locale: ({ $rootLocale }) => ({\n      copyLog: $rootLocale('views.panel.logger.copy'),\n      logCopied: $rootLocale('views.panel.logger.copied'),\n    }),\n  },\n\n  methods: {\n    copyLog () {\n      if (this.isPressed) return\n\n      const encodedLog = JSON.stringify(this.log)\n      this.$clipboard(encodedLog)\n\n      this.isPressed = true\n      setTimeout(() => {\n        this.isPressed = false\n      }, 1000)\n    },\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.panel-logger {\n\n  &__button {\n    margin-bottom: 8px;\n    padding: 5px 0;\n    color: #b2b2b2;\n  }\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Logger.vue?vue&type=template&id=ebb2e63a&scoped=true&\"\nimport script from \"./Logger.vue?vue&type=script&lang=js&\"\nexport * from \"./Logger.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Logger.vue?vue&type=style&index=0&id=ebb2e63a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ebb2e63a\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"panel-powered\"},[_c('span',{staticClass:\"text-caption\"},[_vm._v(\" Powered by \")]),_c('SvgIcon',{attrs:{\"name\":\"uplify-logo\",\"width\":\"44\",\"height\":\"15\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Powered.vue?vue&type=template&id=c8a5cf32&scoped=true&\"\nvar script = {}\nimport style0 from \"./Powered.vue?vue&type=style&index=0&id=c8a5cf32&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c8a5cf32\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"relogin-message\"},[_c(_setup.Advice,{attrs:{\"title\":_setup.locale.title}},[_vm._v(\" \"+_vm._s(_setup.locale.description)+\" \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue'\n\nimport { vm } from '@/main'\nimport { useRootLocale } from 'lib/helpers/useLocale'\n\nimport Advice from 'components/Advice'\n\n\nexport default /*#__PURE__*/_defineComponent({\n  __name: 'ReloginMessage',\n  setup(__props) {\n\nconst platform = computed(() => {\n  const domain = vm.$userDomain as string\n  return domain[0].toUpperCase() + domain.slice(1)\n})\nconst locale = computed(() => ({\n  title: useRootLocale('views.widget.reloginMessage.title', { platform: platform.value }),\n  description: useRootLocale('views.widget.reloginMessage.description'),\n}))\n\nreturn { __sfc: true,platform, locale, Advice }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReloginMessage.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReloginMessage.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./ReloginMessage.vue?vue&type=template&id=370015e5&scoped=true&\"\nimport script from \"./ReloginMessage.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./ReloginMessage.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./ReloginMessage.vue?vue&type=style&index=0&id=370015e5&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"370015e5\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Section',{attrs:{\"title\":_vm.locale.title}},[_c('div',{staticClass:\"panel-settings-section\"},[_c('ElForm',{staticClass:\"panel-settings-section__form\"},[_c('WidgetAdPlaybackMode'),(_vm.mode === 'manual')?_c('WidgetManualPlayback'):_vm._e(),(_vm.mode === 'auto')?_c('WidgetBannerTimeout',{attrs:{\"select-theme\":\"_theme-dark\"}}):_vm._e(),_c('WidgetBoxSize'),_c('WidgetChatbotSendPreview',{attrs:{\"label\":_vm.locale.previewCaption}}),_c('Section',{attrs:{\"title\":_vm.locale.locationCaption}},[_c('WidgetAdvertisingPosition',{attrs:{\"select-theme\":\"_theme-dark\"}})],1)],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <Section :title=\"locale.title\">\n    <div class=\"panel-settings-section\">\n      <ElForm class=\"panel-settings-section__form\">\n        <WidgetAdPlaybackMode />\n        <WidgetManualPlayback v-if=\"mode === 'manual'\" />\n        <WidgetBannerTimeout\n          v-if=\"mode === 'auto'\"\n          select-theme=\"_theme-dark\"\n        />\n        <WidgetBoxSize />\n        <WidgetChatbotSendPreview :label=\"locale.previewCaption\" />\n        <Section :title=\"locale.locationCaption\">\n          <WidgetAdvertisingPosition select-theme=\"_theme-dark\" />\n        </Section>\n      </ElForm>\n    </div>\n  </Section>\n</template>\n\n<script>\nimport ElForm from 'element/ElForm'\nimport WidgetAdPlaybackMode from 'Streamer/pages/StreamerWidget/components/WidgetAdPlaybackMode'\nimport WidgetAdvertisingPosition from 'Streamer/pages/StreamerWidget/components/WidgetAdvertisingPosition'\nimport WidgetBannerTimeout from 'Streamer/pages/StreamerWidget/components/WidgetBannerTimeout'\nimport WidgetBoxSize from 'Streamer/pages/StreamerWidget/components/WidgetBoxSize'\nimport WidgetChatbotSendPreview from 'Streamer/pages/StreamerWidget/components/WidgetChatbotSendPreview'\nimport WidgetManualPlayback from 'Streamer/pages/StreamerWidget/components/WidgetManualPlayback'\n\nimport Section from './Section'\n\nexport default {\n  components: {\n    ElForm,\n    WidgetChatbotSendPreview,\n    WidgetAdPlaybackMode,\n    WidgetManualPlayback,\n    WidgetBannerTimeout,\n    WidgetBoxSize,\n    WidgetAdvertisingPosition,\n    Section,\n  },\n\n  computed: {\n    locale: ({ $rootLocale }) => $rootLocale('views.panel.params'),\n    widget: ({ $store }) => $store.getters['widgetSettings/widget'],\n    mode: ({ widget }) => widget?.mode,\n    displayWarning: ({ widget }) => {\n      return !(widget?.stream && widget?.enabled && widget?.chatbotEnabled) // && widget?.extensionEnabled\n    },\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.panel-settings-section {\n  ::v-deep {\n    .widget-send-preview {\n      width: 100%;\n    }\n\n    .widget-box-size {\n      margin-bottom: 36px;\n    }\n  }\n\n  &__form {\n    margin-top: 24px;\n\n    ::v-deep {\n      .el-radio-button {\n        &:first-child .el-radio-button__inner:hover {\n          border-left-color: #4D4D4D;\n        }\n        &__inner {\n          background-color: transparent;\n          border: 1px solid #4D4D4D;\n          color: white;\n        }\n\n        &.is-active {\n          .el-radio-button__inner {\n            background-color: rgba(25, 140, 254, 0.1);\n            border: 1px solid #198CFE !important;\n            color: #198CFE;\n          }\n        }\n      }\n    }\n  }\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsSection.vue?vue&type=template&id=427a9836&scoped=true&\"\nimport script from \"./SettingsSection.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SettingsSection.vue?vue&type=style&index=0&id=427a9836&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"427a9836\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Section',{attrs:{\"title\":_vm.locale.title}},[_c('div',{staticClass:\"panel-status-section\"},[_c('WidgetStatus',{attrs:{\"locale-name\":\"stream\",\"field-name\":\"stream\"}}),(false)?_c('WidgetStatus',{attrs:{\"locale-name\":\"extension\",\"field-name\":\"extensionEnabled\"}}):_vm._e(),_c('WidgetStatus',{attrs:{\"locale-name\":\"widget\",\"field-name\":\"enabled\"}}),_c('WidgetStatus',{attrs:{\"locale-name\":\"chatbot\",\"field-name\":\"chatbotEnabled\"}})],1),(_vm.displayWarning)?_c('div',{staticClass:\"panel-status-section__warning\"},[_vm._v(\" \"+_vm._s(_vm.locale.statusesMustBeOn)+\" \")]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <Section :title=\"locale.title\">\n    <div class=\"panel-status-section\">\n      <WidgetStatus\n        locale-name=\"stream\"\n        field-name=\"stream\"\n      />\n      <WidgetStatus\n        v-if=\"false\"\n        locale-name=\"extension\"\n        field-name=\"extensionEnabled\"\n      />\n      <WidgetStatus\n        locale-name=\"widget\"\n        field-name=\"enabled\"\n      />\n      <WidgetStatus\n        locale-name=\"chatbot\"\n        field-name=\"chatbotEnabled\"\n      />\n    </div>\n    <div\n      v-if=\"displayWarning\"\n      class=\"panel-status-section__warning\"\n    >\n      {{ locale.statusesMustBeOn }}\n    </div>\n  </Section>\n</template>\n\n<script>\nimport WidgetStatus from 'Streamer/pages/StreamerWidget/components/WidgetStatus'\n\nimport Section from './Section'\n\nexport default {\n  components: {\n    WidgetStatus,\n    Section,\n  },\n\n  computed: {\n    locale: ({ $rootLocale }) => ({\n      title: $rootLocale('views.panel.states.title'),\n      statusesMustBeOn: $rootLocale('views.panel.statusesMustBeOn'),\n    }),\n    widget: ({ $store }) => $store.getters['widgetSettings/widget'],\n    displayWarning: ({ widget }) => {\n      return !(widget?.stream && widget?.enabled && widget?.chatbotEnabled) // && widget?.extensionEnabled\n    },\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.panel-status-section {\n  display: flex;\n  justify-content: space-between;\n  flex-wrap: wrap;\n  margin-bottom: -16px;\n\n  .widget-status {\n    display: flex;\n    justify-content: space-between;\n    width: calc(50% - 8px);\n    margin-bottom: 16px;\n  }\n\n  &__warning {\n    text-align: center;\n    background-color: rgba(white, 0.1);\n    border-radius: $--border-radius-base;\n    padding: 16px;\n    margin-top: 36px;\n  }\n\n  ::v-deep {\n    .el-tag {\n      width: 40px;\n      text-align: center;\n    }\n  }\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusSection.vue?vue&type=template&id=5a0b828a&scoped=true&\"\nimport script from \"./StatusSection.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusSection.vue?vue&type=style&index=0&id=5a0b828a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5a0b828a\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"panel-tabs\"},[_c('ElTabs',{attrs:{\"value\":_vm.tab},on:{\"input\":function($event){return _vm.$emit('update:tab', $event)}}},[_c('ElTabPane',{attrs:{\"name\":\"widget\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('SvgIcon',{attrs:{\"name\":\"gear\",\"width\":\"18px\",\"height\":\"18px\"}}),_vm._v(\" \"+_vm._s(_vm.locale.widget)+\" \")]},proxy:true}])}),_c('ElTabPane',{attrs:{\"name\":\"campaigns\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('SvgIcon',{attrs:{\"name\":\"creative\",\"width\":\"18px\",\"height\":\"18px\"}}),_vm._v(\" \"+_vm._s(_vm.locale.campaigns)+\" \")]},proxy:true}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tabs.vue?vue&type=template&id=0ecfaa7f&scoped=true&\"\nimport script from \"./Tabs.vue?vue&type=script&lang=js&\"\nexport * from \"./Tabs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Tabs.vue?vue&type=style&index=0&id=0ecfaa7f&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0ecfaa7f\",\n  null\n  \n)\n\nexport default component.exports","<template>\n  <div>\n    <ReloginMessage v-if=\"widget.relogin\" />\n\n    <div class=\"panel-page\">\n      <div\n        v-if=\"authError\"\n        class=\"panel-page__error\"\n      >\n        <SvgIcon\n          name=\"x_x\"\n          width=\"148px\"\n          height=\"36px\"\n        />\n\n        <div class=\"panel-page__error-title\">\n          {{ locale.error.title }}\n        </div>\n        <div class=\"panel-page__error-text\">\n          {{ locale.error.text }}\n        </div>\n      </div>\n      <div\n        v-else-if=\"!loaded\"\n        class=\"panel-page__preloader\"\n      >\n        <SvgIcon\n          name=\"uplify-logo\"\n          width=\"93px\"\n          height=\"32px\"\n        />\n      </div>\n      <div\n        v-else\n        class=\"panel-page__inner\"\n      >\n        <Tabs :tab.sync=\"tab\" />\n\n        <div v-if=\"tab === 'widget'\">\n          <StatusSection />\n          <SettingsSection />\n        </div>\n        <div v-if=\"tab === 'campaigns'\">\n          <CampaignsSection />\n        </div>\n\n        <div class=\"panel-page__footer\">\n          <Logger :log=\"log\" />\n          <Powered />\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { Api } from 'lib/api/instance'\nimport { setToken } from 'lib/helpers/authToken'\nimport * as events from 'lib/pusher/constants/pusher-events'\nimport campaignsStore from 'Streamer/pages/StreamerCampaigns/store'\nimport widgetSettingsStore from 'Streamer/store/widgetSettings'\nimport WidgetLogger from 'views/Widget/Debug/class/WidgetLogger'\nimport Socket from 'views/WidgetOld/Socket'\nimport { mapActions } from 'vuex'\n\nimport CampaignsSection from './components/CampaignsSection'\nimport Logger from './components/Logger'\nimport Powered from './components/Powered'\nimport ReloginMessage from './components/ReloginMessage'\nimport SettingsSection from './components/SettingsSection'\nimport StatusSection from './components/StatusSection'\nimport Tabs from './components/Tabs'\n\nexport default {\n  components: {\n    Tabs,\n    Logger,\n    Powered,\n    StatusSection,\n    SettingsSection,\n    CampaignsSection,\n    ReloginMessage,\n  },\n\n  data: () => ({\n    tab: 'widget',\n    loaded: false,\n    authError: false,\n    platformIsChanged: false,\n    logger: null,\n    log: [],\n  }),\n\n  computed: {\n    locale: ({ $rootLocale }) => ({\n      error: $rootLocale('views.panel.error'),\n    }),\n    widget: ({ $store }) => $store.getters['widgetSettings/widget'],\n    user: ({ $store }) => $store.getters['auth/user'],\n    token: ({ $route }) => $route.params.token,\n    mode: ({ widget }) => widget?.advertising_mode,\n  },\n\n  watch: {\n    'widget.platform' (value, prevValue) {\n      if (prevValue) {\n        this.platformIsChanged = true\n      }\n    },\n    mode (val) {\n      this.logger.setMode(val)\n    },\n  },\n\n  beforeCreate () {\n    if (!this.$store.hasModule('widgetSettings')) {\n      this.$store.registerModule('widgetSettings', widgetSettingsStore)\n    }\n    if (!this.$store.hasModule('campaigns')) {\n      this.$store.registerModule('campaigns', campaignsStore)\n    }\n  },\n\n  async created () {\n    try {\n      await this.auth()\n      await this.fetchStreamer()\n      await this.fetchDictionaries()\n      this.setLocale()\n      await this.widget.fetch()\n      await this.$store.dispatch('campaigns/fetchCampaigns')\n      this.initSocket()\n    }\n    catch {\n      this.authError = true\n    }\n    finally {\n      this.loaded = true\n    }\n  },\n\n  methods: {\n    ...mapActions({\n      fetchStreamer: 'auth/FETCH_STREAMER',\n      fetchDictionaries: 'dictionaries/fetchDictionaries',\n    }),\n\n    async auth () {\n      try {\n        const res = await Api.get(`auth/streamer/obs/${this.token}`)\n\n        if (res.status) {\n          setToken(res.token, 'streamer')\n        }\n        else {\n          throw new Error(res)\n        }\n      }\n      catch (err) {\n        throw new Error(err)\n      }\n    },\n    setLocale () {\n      this.$root.$i18n.locale = this.user.locale\n      localStorage.setItem('locale', this.user.locale)\n    },\n    initSocket () {\n      this.logger = new WidgetLogger(this.widget.slug)\n      this.log = this.logger.value\n      this.socket = new Socket(this.widget.slug)\n      this.socket.listen((event, payload) => {\n        this.logger.handleEvent(event, payload)\n        if (event === events.WIDGET_UPDATED) {\n          this.widget.updateData(payload)\n          if (this.platformIsChanged) {\n            this.$store.dispatch('campaigns/fetchCampaigns')\n            this.platformIsChanged = false\n          }\n        }\n      })\n    },\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$--color-primary: #198cfe;\n$--color-label: #b2b2b2;\n\n.panel-page {\n  display: flex;\n  flex-direction: column;\n  background-color: #1f1e1f;\n  padding: 20px;\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  color: white;\n  overflow-y: auto;\n\n  &__preloader {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n\n    svg {\n      fill: $--color-primary;\n    }\n  }\n\n  &__error {\n    width: 100%;\n    text-align: center;\n    position: absolute;\n    top: 50%;\n    left: 0;\n    transform: translateY(-50%);\n\n    svg {\n      fill: $--color-primary;\n    }\n\n    &-title {\n      font-size: 24px;\n      font-weight: 700;\n      line-height: 26px;\n      letter-spacing: -0.02em;\n      margin-top: 25px;\n      margin-bottom: 16px;\n    }\n\n    &-text {\n      font-size: 18px;\n      line-height: 24px;\n      letter-spacing: -0.01em;\n    }\n  }\n\n  &__inner {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    max-width: 428px;\n    width: 100%;\n    position: relative;\n    margin: 0 auto;\n  }\n\n  ::v-deep {\n    .el-form-item__label,\n    .widget-box-size__top .text-s-regular {\n      color: $--color-label;\n    }\n    .widget-box-size__range-line {\n      border-color: $--color-label;\n    }\n    .widget-box-size__range-point_active {\n      color: $--color-primary;\n    }\n    .widget-box-size__range-point:before {\n      background-color: $--color-label;\n    }\n    .widget-box-size__range-point_active:before {\n      background-color: white;\n      box-shadow: 0 0 0 8px $--color-primary;\n    }\n  }\n\n  &__footer {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-top: auto;\n    padding-top: 30px;\n  }\n}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=afa82b36&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=afa82b36&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"afa82b36\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetPlatformSelect.vue?vue&type=style&index=0&id=16a03c08&prod&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Campaign.vue?vue&type=style&index=0&id=fb7a3f7a&prod&lang=scss&scoped=true&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"campaign-row-tags\"},[_vm._l((_setup.tags),function(tag){return _c('div',{key:tag.label,staticClass:\"campaign-row-tags__item\",class:[`campaign-row-tags__item_${tag.type}`]},[_vm._v(\" \"+_vm._s(tag.label)+\" \")])}),(_vm.cardFor === 'streamer')?_c('div',{staticClass:\"campaign-row-tags__right\"},[(_setup.needsExtension)?_c('div',{staticClass:\"campaign-row-tags__extension\"},[_c('div',{staticClass:\"campaign-row-tags__item campaign-row-tags__item_setup-extension\"},[_c('a',{attrs:{\"href\":_setup.locale.twitchExtensionLink,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_setup.locale.tags.setupExtension)+\" \"),_c('SvgIcon',{attrs:{\"name\":\"link\",\"width\":\"12\",\"height\":\"12\"}})],1)]),_c('div',{staticClass:\"campaign-row-tags__item campaign-row-tags__item_check-extension\",on:{\"click\":function($event){$event.stopPropagation();return _setup.checkExtendionStatus.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_setup.locale.tags.checkExtension)+\" \"),_c('SvgIcon',{attrs:{\"name\":\"refresh-loop\",\"width\":\"12\",\"height\":\"12\"}})],1)]):_vm._e(),(_setup.campaignType === _setup.Campaign.PREROLL)?_c('div',[_c('div',{staticClass:\"campaign-row-tags__item\",class:{\n          'campaign-row-tags__item_danger': _vm.campaign.status === 'missing' || _vm.campaign.status === 'rejected',\n          'campaign-row-tags__item_warning': _vm.campaign.status === 'moderation',\n          'campaign-row-tags__item_success': _vm.campaign.status === 'confirmed',\n        }},[_vm._v(\" \"+_vm._s(['missing', 'rejected'].includes(_vm.campaign.status) ? 'Rejected' : '')+\" \"+_vm._s(_vm.campaign.status === 'moderation' ? 'Moderation' : '')+\" \"+_vm._s(_vm.campaign.status === 'confirmed' ? 'Active' : '')+\" \")])]):_vm._e(),(_setup.campaignType !== _setup.Campaign.PREROLL)?_vm._t(\"report\"):_vm._e(),(_setup.isBlocked)?_c('div',{staticClass:\"campaign-row-reasons\"},[_c(_setup.LowCTR,{attrs:{\"campaign\":_vm.campaign}}),_c(_setup.Moderator,{attrs:{\"campaign\":_vm.campaign}})],1):_vm._e()],2):_c('div',{staticClass:\"campaign-row-tags__right\"},[_vm._t(\"report\")],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { IAdvertiser, IStreamerAd } from 'lib/types/ad'\nimport { DateTimeType, IdType } from 'lib/types/base-types'\nimport { ICampaignFormat } from 'lib/types/campaign-format'\nimport { CampaignStatus, CompletedCampaignStatus } from 'lib/types/campaign-status'\nimport { IHolding } from 'lib/types/holding'\nimport { PlatformType } from 'lib/types/platform'\n\nimport { Currency, CurrencyType } from '../currency'\n\nexport enum CampaignBlockReason {\n  MODERATOR = 'moderator',\n  LOW_CTR = 'low_ctr',\n}\n\nexport interface IStreamerAwarenessCampaign {\n  id: IdType\n  slug: string\n  title: string\n  format: ICampaignFormat\n  description: string\n  logo: string\n  impressions: number\n  limit: {\n    daily: number\n    restPercent: number\n    creatorDaily: number\n    creatorGlobal: number\n    creatorCampaign: number\n  }\n  estimateIncome: number\n  currency: Currency\n  ctr: number\n  start: DateTimeType\n  end: DateTimeType\n  status: CampaignStatus\n  restore: boolean\n  blocked_at: string | null\n  blocked_reason: CampaignBlockReason | null\n  blocked_until: string | null\n  dailyActionLimit: {\n    enabled: boolean\n    today: null | number\n    todayLimit: null | number\n  }\n}\n\nexport interface IStreamerAwarenessCampaigns {\n  active: IStreamerAwarenessCampaign[]\n  inactive: IStreamerAwarenessCampaign[]\n  future: IStreamerAwarenessCampaign[]\n  unavailable: IStreamerAwarenessCampaign[]\n}\n\nexport interface IStreamerCompletedAwarenessCampaign {\n  id: IdType\n  slug: string\n  title: string\n  description: string\n  platform: PlatformType\n  logo: string\n  income: number\n  estimateIncome: number\n  ctr: number\n  avgCtr: number\n  streamers:number\n  start: DateTimeType\n  end: DateTimeType\n  participated: boolean\n  status: CompletedCampaignStatus\n  currency: Currency\n}\n\nexport type IStreamerCompletedAwarenessCampaigns = IStreamerCompletedAwarenessCampaign[]\n\nexport interface IStreamerAwarenessCampaignDetails {\n  slug: string\n  title: string\n  income: number\n  estimateIncome: number\n  ctr: number\n  avgCtr: number\n  totalImpressions: number\n  impressionsLimit: number\n  clicks: number\n  start: DateTimeType\n  end: DateTimeType\n  creatorPayout: number\n  payoutType: string\n  bidCap: number\n  currency: CurrencyType\n  frequency: string\n  format: ICampaignFormat\n  description: string\n  ads: IStreamerAd[]\n  campaign: {\n    id: IdType\n    slug: string\n    type: string\n    title: string\n    description: string\n    category: string\n    visible: boolean\n  }\n  holding: IHolding\n  advertiser: IAdvertiser\n  status: CampaignStatus | CompletedCampaignStatus\n  dailyActionLimit: {\n    enabled: boolean\n    actionPrice: null | number\n    current: null | number\n    totalEarned: null | number\n  }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.isBlocked)?_c('div',{staticClass:\"reason\"},[_c('div',{staticClass:\"reason-label _danger\"},[_vm._v(\" \"+_vm._s(_setup.locale.reasons.lowCTR)+\" \")]),_c('a',{staticClass:\"reason-link\",attrs:{\"href\":_setup.locale.reasons.lowCTRLink.href,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_setup.locale.reasons.lowCTRLink.text)+\" \"),_c('SvgIcon',{attrs:{\"name\":\"link\",\"width\":\"12\",\"height\":\"12\"}})],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue'\n\nimport { useRootLocaleObj } from 'lib/helpers/useLocale'\nimport { CampaignBlockReason, IStreamerAwarenessCampaign, IStreamerCompletedAwarenessCampaign } from 'lib/types/streamer-campaigns/brand-awareness'\nimport { IStreamerPerformanceCampaign } from 'lib/types/streamer-campaigns/performance'\n\n\nexport default /*#__PURE__*/_defineComponent({\n  __name: 'LowCTR',\n  props: {\n    campaign: null\n  },\n  setup(__props: any) {\n\nconst props = __props as {\n  campaign: IStreamerAwarenessCampaign | IStreamerCompletedAwarenessCampaign | IStreamerPerformanceCampaign\n}\n\n\n\nconst locale = computed<any>(() => ({\n  reasons: useRootLocaleObj('campaignRow.reasons'),\n}))\n\nconst isBlocked = computed(() => {\n  if ((props.campaign as IStreamerAwarenessCampaign).blocked_reason === CampaignBlockReason.LOW_CTR) {\n    return true\n  }\n\n  return false\n})\n\nreturn { __sfc: true,props, locale, isBlocked }\n}\n\n})","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LowCTR.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LowCTR.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./LowCTR.vue?vue&type=template&id=18e018c2&\"\nimport script from \"./LowCTR.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./LowCTR.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./LowCTR.vue?vue&type=style&index=0&id=18e018c2&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.isBlocked)?_c('div',{staticClass:\"reason\"},[_c('div',{staticClass:\"reason-label _danger\"},[_vm._v(\" \"+_vm._s(_setup.locale.reasons.moderator)+\" \")])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue'\n\nimport { useRootLocaleObj } from 'lib/helpers/useLocale'\nimport { CampaignBlockReason, IStreamerAwarenessCampaign, IStreamerCompletedAwarenessCampaign } from 'lib/types/streamer-campaigns/brand-awareness'\nimport { IStreamerPerformanceCampaign } from 'lib/types/streamer-campaigns/performance'\n\n\nexport default /*#__PURE__*/_defineComponent({\n  __name: 'Moderator',\n  props: {\n    campaign: null\n  },\n  setup(__props: any) {\n\nconst props = __props as {\n  campaign: IStreamerAwarenessCampaign | IStreamerCompletedAwarenessCampaign | IStreamerPerformanceCampaign\n}\n\n\n\nconst locale = computed<any>(() => ({\n  reasons: useRootLocaleObj('campaignRow.reasons'),\n}))\n\nconst isBlocked = computed(() => {\n  if ((props.campaign as IStreamerAwarenessCampaign).blocked_reason === CampaignBlockReason.MODERATOR) {\n    return true\n  }\n\n  return false\n})\n\nreturn { __sfc: true,props, locale, isBlocked }\n}\n\n})","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moderator.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moderator.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Moderator.vue?vue&type=template&id=01dfd404&\"\nimport script from \"./Moderator.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Moderator.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Moderator.vue?vue&type=style&index=0&id=01dfd404&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue'\n\nimport { vm } from '@/main'\nimport parseSlug from 'lib/helpers/parseSlug'\nimport { useRootLocale, useRootLocaleObj } from 'lib/helpers/useLocale'\nimport { CampaignStatus } from 'lib/types/campaign-status'\nimport { Campaign } from 'lib/types/campaign-type'\nimport { ICampaignPayload } from 'lib/types/payloads/streamer-campaigns/brand-awareness'\nimport { IStreamerCompletedAwarenessCampaign } from 'lib/types/streamer-campaigns/brand-awareness'\nimport { IStreamerPerformanceCampaign } from 'lib/types/streamer-campaigns/performance'\n\nimport LowCTR from './reasons/LowCTR.vue'\nimport Moderator from './reasons/Moderator.vue'\n\n\nexport default /*#__PURE__*/_defineComponent({\n  __name: 'Tags',\n  props: {\n    campaign: null,\n    cardFor: { default: 'streamer' }\n  },\n  setup(__props: any) {\n\nconst props = __props as { campaign: ICampaignPayload | IStreamerCompletedAwarenessCampaign | IStreamerPerformanceCampaign, cardFor: 'streamer' | 'partner' }\n\n\n\nconst locale = computed<any>(() => ({\n  tags: useRootLocaleObj('campaignRow.tags'),\n  twitchExtensionLink: useRootLocale('links.twitchExtension'),\n  format: useRootLocaleObj('campaignRow.format'),\n}))\n\nconst widget = computed(() => vm.$store.getters['widgetSettings/widget'])\n\nconst isBlocked = computed(() => {\n  if (\n    props.campaign.status !== CampaignStatus.ACTIVE &&\n    'blocked_reason' in props.campaign &&\n    props.campaign.blocked_reason\n  ) {\n    return true\n  }\n\n  return false\n})\n\nconst campaignType = computed<Campaign>(() => parseSlug(props.campaign.slug).type as unknown as Campaign)\nconst needsExtension = computed(() => (\n  campaignType.value === 'performance' && vm.$store.getters['widgetSettings/brandisExtensionStatus'] === false\n))\nconst brandisExtensionChecking = computed(() => vm.$store.getters['widgetSettings/brandisExtensionChecking'])\nconst tags = computed(() => {\n  const tags = []\n\n  if (campaignType.value === 'brand_awareness') {\n    if ('format' in props.campaign) {\n      if (props.campaign?.format.id === 'yandex_fs') {\n        tags.push({\n          label: widget.value?.platform === 'twitch' ? locale.value.format.pip : locale.value.format.fullscreen,\n          type: 'primary',\n        })\n      }\n      else {\n        tags.push({\n          label: props.campaign?.format?.title || locale.value.tags.undefinedFormat,\n          type: 'primary',\n        })\n      }\n    }\n\n    if (\n      'impressions' in props.campaign &&\n      'daily_limit' in props.campaign &&\n      props.campaign.impressions >= props.campaign.daily_limit\n    ) {\n      tags.push({\n        label: locale.value.tags.dailyLimitDepleted,\n        type: 'warning',\n      })\n    }\n\n    if (\n      'daily_action_limit' in props.campaign &&\n      props.campaign.daily_action_limit.enabled &&\n      props.campaign.daily_action_limit.today !== null &&\n      props.campaign.daily_action_limit.today_limit !== null\n    ) {\n      tags.push({\n        label: locale.value.tags.actionBonus,\n        type: 'success',\n      })\n\n      if (\n        props.campaign.daily_action_limit.today > 0 &&\n        props.campaign.daily_action_limit.today_limit > 0 &&\n        props.campaign.daily_action_limit.today >= props.campaign.daily_action_limit.today_limit\n      ) {\n        tags.push({\n          label: locale.value.tags.dailyActionsLimitDepleted,\n          type: 'danger',\n        })\n      }\n    }\n\n    if (\n      'rest_limit_percent' in props.campaign &&\n      props.campaign.rest_limit_percent <= 5\n    ) {\n      tags.push({\n        label: locale.value.tags.totalLimitDepleted,\n        type: 'danger',\n      })\n    }\n  }\n\n  if (campaignType.value === 'preroll') {\n  }\n\n  if (campaignType.value === 'performance') {\n    tags.push({\n      label: locale.value.tags.extension,\n      type: 'primary',\n    })\n\n    if (\n      'adset_ready' in props.campaign &&\n      'ready' in props.campaign &&\n      (props.campaign.adset_ready || props.campaign.ready)\n    ) {\n      tags.push({\n        label: locale.value.tags.performanceDailyDepleted,\n        type: 'danger',\n      })\n    }\n  }\n\n  return tags\n})\n\nconst checkExtendionStatus = () => {\n  if (brandisExtensionChecking.value) {\n    return\n  }\n  vm.$store.dispatch('widgetSettings/checkExtensionStatus')\n}\n\nreturn { __sfc: true,props, locale, widget, isBlocked, campaignType, needsExtension, brandisExtensionChecking, tags, checkExtendionStatus, Campaign, LowCTR, Moderator }\n}\n\n})","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tags.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tags.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Tags.vue?vue&type=template&id=09b15890&scoped=true&\"\nimport script from \"./Tags.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Tags.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Tags.vue?vue&type=style&index=0&id=09b15890&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"09b15890\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"widget-box-size\"},[_c('div',{staticClass:\"widget-box-size__top\"},[_c('div',{staticClass:\"text-s-regular\"},[_vm._v(\" \"+_vm._s(_vm.locale.title)+\" \")]),_c('div',{staticClass:\"text-s-regular\"},[_vm._v(\" \"+_vm._s(_vm.duration)+\" \")])]),_c('div',{staticClass:\"widget-box-size__range\"},[_c('div',{staticClass:\"widget-box-size__range-line\"}),_c('div',{staticClass:\"widget-box-size__range-points\"},_vm._l((_vm.items),function(item){return _c('span',{key:item,staticClass:\"widget-box-size__range-point\",class:{'widget-box-size__range-point_active': item === _vm.widget.boxSize},on:{\"click\":function($event){_vm.widget.boxSize = item}}},[_vm._v(\" \"+_vm._s(item)+\" \")])}),0)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"widget-box-size\">\n    <div class=\"widget-box-size__top\">\n      <div class=\"text-s-regular\">\n        {{ locale.title }}\n      </div>\n      <div class=\"text-s-regular\">\n        {{ duration }}\n      </div>\n    </div>\n\n    <div class=\"widget-box-size__range\">\n      <div class=\"widget-box-size__range-line\" />\n      <div class=\"widget-box-size__range-points\">\n        <span\n          v-for=\"item in items\"\n          :key=\"item\"\n          class=\"widget-box-size__range-point\"\n          :class=\"{'widget-box-size__range-point_active': item === widget.boxSize}\"\n          @click=\"widget.boxSize = item\"\n        >\n          {{ item }}\n        </span>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  data: () => ({\n    min: 3,\n    max: 9,\n  }),\n\n  computed: {\n    locale: ({ $rootLocale }) => ({\n      title: $rootLocale('views.streamer.widget.advertSettings.adsBlocksCountTitle'),\n    }),\n    widget: ({ $store }) => $store.getters['widgetSettings/widget'],\n    duration ({ widget }) {\n      const duration = widget.boxSize * 15\n      const localePath = 'views.streamer.widget.advertSettings.adsBlocksCountDuration'\n      return this.$t(localePath, { seconds: duration })\n    },\n    items ({ min, max }) {\n      const result = []\n      for (let i = min; i <= max; i++) {\n        result.push(i)\n      }\n      return result\n    },\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.widget-box-size {\n  margin-bottom: 12px;\n\n  &__top {\n    display: flex;\n    justify-content: space-between;\n    margin-bottom: 16px;\n  }\n\n  &__range {\n    &-line {\n      height: 2px;\n      border-bottom: 2px solid $--color-lightest-gray;\n      padding-top: 38px;\n    }\n\n    &-points {\n      display: flex;\n      justify-content: space-between;\n      width: calc(100% + 16px);\n      margin-left: -8px;\n    }\n\n    &-point {\n      display: block;\n      width: 24px;\n      text-align: center;\n      padding-bottom: 18px;\n      position: relative;\n      margin-top: -39px;\n      cursor: pointer;\n      transition: $--all-transition;\n\n      &:before {\n        content: '';\n        width: 8px;\n        height: 8px;\n        background-color: $--color-lightest-gray;\n        border-radius: 50%;\n        position: absolute;\n        top: 34px;\n        left: calc(50% - 4px);\n        transition: $--all-transition;\n      }\n\n      &_active {\n        color: $--color-primary;\n\n        &:before {\n          background-color: white;\n          box-shadow: 0 0 0 8px $--color-primary;\n        }\n      }\n    }\n  }\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetBoxSize.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetBoxSize.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetBoxSize.vue?vue&type=template&id=87f64058&scoped=true&\"\nimport script from \"./WidgetBoxSize.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetBoxSize.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetBoxSize.vue?vue&type=style&index=0&id=87f64058&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"87f64058\",\n  null\n  \n)\n\nexport default component.exports","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nmodule.exports = debounce;\n","import { ReverseMap } from 'lib/types/base-types'\n\nexport enum LogEvents {\n  UPDATE_WIDGET = 'UPDATE_WIDGET',\n  UNDEFINED_EVENT = 'UNDEFINED_EVENT',\n  FETCHED_CREATIVES = 'FETCHED_CREATIVES',\n  FETCHED_REFERRAL_CREATIVES = 'FETCHED_REFERRAL_CREATIVES',\n  FETCHED_DEMO_CREATIVES = 'FETCHED_DEMO_CREATIVES',\n  AUTO_START = 'AUTO_START',\n  MANUAL_START = 'MANUAL_START',\n  DEMO_START = 'DEMO_START',\n  FETCHING_AD = 'FETCHING_AD',\n  CHATBOT_MESSAGE_SENT = 'CHATBOT_MESSAGE_SENT',\n}\n\nexport type LogEventsType = ReverseMap<typeof LogEvents>\n","import { ReverseMap } from 'lib/types/base-types'\n\nexport enum PusherEvents {\n  WIDGET_UPDATED = '.widget.params.updated',\n  MANUAL_LAUNCH = '.manual.launch',\n  AUTO_LAUNCH = '.auto.launch',\n  DEMO_REAL_LAUNCH = '.demo.real.launch',\n  DEMO_LAUNCH = '.demo.launch',\n  DEMO_REFERRAL_LAUNCH = '.demo.referral.launch',\n  FETCHING_AD = '.fetching-ad',\n  REFERRAL_LAUNCH = '.referral.launch',\n  CHATBOT_MESSAGE_SENT = '.chatbot-message-sent',\n}\n\nexport type PusherEventsType = ReverseMap<typeof PusherEvents>\n","import { payloadToWidgetAdapter } from 'lib/adapters/widgetPayloadAdapter'\nimport { LogEvents, LogEventsType } from 'lib/types/log-events'\nimport { PusherEvents, PusherEventsType } from 'lib/types/pusher-events'\nimport { AdvertisingMode, IWidget } from 'lib/types/widget'\nimport moment from 'moment'\nimport cachedLog from 'views/WidgetOld/Debug/cachedLog'\nimport { defaultWidget } from 'Widget/constants/default-widget'\n\nexport default class WidgetLogger {\n  slug: string;\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  log: any = [];\n  widget: IWidget = defaultWidget;\n  mode: AdvertisingMode = AdvertisingMode.AUTO;\n  onPushLog?: () => void\n\n  constructor (slug: string, params: { onPushLog?: () => void }) {\n    this.slug = slug\n    this.log = cachedLog.get(this.slug)\n    this.onPushLog = params?.onPushLog\n  }\n\n  get value () {\n    return this.log\n  }\n\n  set value (value) {\n    this.log = value\n  }\n\n  setMode (mode: AdvertisingMode) {\n    this.mode = mode\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  handleEvent (event: PusherEventsType, payload: any) {\n    let newWidget\n\n    switch (event) {\n    case PusherEvents.WIDGET_UPDATED:\n      delete payload.status // status was add to widget in socket\n      newWidget = payloadToWidgetAdapter(payload)\n\n      if (!this.compareWidgets({ ...newWidget }, { ...this.widget })) {\n        this.pushLog(LogEvents.UPDATE_WIDGET, {\n          event,\n          payload: newWidget,\n          oldWidget: this.widget,\n        })\n        this.widget = newWidget\n      }\n      break\n\n    case PusherEvents.MANUAL_LAUNCH:\n      this.pushLog(LogEvents.MANUAL_START, { event, payload })\n      break\n\n    case PusherEvents.AUTO_LAUNCH:\n      this.pushLog(LogEvents.FETCHED_CREATIVES, { event, payload })\n      if (this.mode === AdvertisingMode.AUTO && payload.status) {\n        this.pushLog(LogEvents.AUTO_START, { event })\n      }\n      break\n\n    case PusherEvents.REFERRAL_LAUNCH:\n      this.pushLog(LogEvents.FETCHED_REFERRAL_CREATIVES, { event, payload })\n      if (this.mode === AdvertisingMode.AUTO && payload.status) {\n        this.pushLog(LogEvents.AUTO_START, { event })\n      }\n      break\n\n    case PusherEvents.DEMO_LAUNCH:\n      this.pushLog(LogEvents.FETCHED_DEMO_CREATIVES, { event, payload })\n      this.pushLog(LogEvents.DEMO_START, { event, payload })\n      break\n\n    case PusherEvents.CHATBOT_MESSAGE_SENT:\n      this.pushLog(LogEvents.CHATBOT_MESSAGE_SENT, { event, payload })\n      break\n\n    case PusherEvents.FETCHING_AD:\n      this.pushLog(LogEvents.FETCHING_AD, { event, payload })\n      break\n\n    default: break\n    }\n  }\n\n  compareWidgets (widget: IWidget, oldWidget: IWidget) {\n    widget.streamer = null\n    oldWidget.streamer = null\n\n    return JSON.stringify(widget) === JSON.stringify(oldWidget)\n  }\n\n  pushLog (\n    event: LogEventsType,\n    {\n      payload,\n      creatives,\n      oldWidget,\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    }: any,\n  ) {\n    const dateTime = moment().format('HH:mm:ss')\n\n    this.log.push({\n      dateTime,\n      event,\n      creatives,\n      oldWidget,\n      payload,\n    })\n    cachedLog.save(this.slug, this.log)\n    if (this.onPushLog) {\n      this.onPushLog()\n    }\n  }\n\n  deleteLog () {\n    cachedLog.delete(this.slug)\n  }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.label)?_c('div',{staticClass:\"el-form-item__label\"},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]):_vm._e(),_c('ElButton',{staticClass:\"widget-send-preview\",attrs:{\"type\":_vm.successfullySent ? 'success' : 'info',\"plain\":\"\",\"loading\":_vm.sending},on:{\"click\":_vm.sendPreview}},[_vm._v(\" \"+_vm._s(_vm.successfullySent ? _vm.locale.sendPreview.success : _vm.locale.sendPreview.static)+\" \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <div\n      v-if=\"label\"\n      class=\"el-form-item__label\"\n    >\n      {{ label }}\n    </div>\n    <ElButton\n      class=\"widget-send-preview\"\n      :type=\"successfullySent ? 'success' : 'info'\"\n      plain\n      :loading=\"sending\"\n      @click=\"sendPreview\"\n    >\n      {{ successfullySent ? locale.sendPreview.success : locale.sendPreview.static }}\n    </ElButton>\n  </div>\n</template>\n\n<script>\nimport ElButton from 'element/ElButton'\nimport { Api } from 'lib/api/instance'\nimport VueTypes from 'vue-types'\n\nexport default {\n  components: {\n    ElButton,\n  },\n\n  props: {\n    label: VueTypes.string,\n  },\n\n  data: () => ({\n    successfullySent: false,\n    sending: false,\n  }),\n\n  computed: {\n    locale: ({ $rootLocale }) => ({\n      sendPreview: $rootLocale('button.sendPreview'),\n    }),\n  },\n\n  watch: {\n    sending (val) {\n      if (!val) {\n        this.successfullySent = true\n        setTimeout(() => {\n          this.successfullySent = false\n        }, 1500)\n      }\n    },\n  },\n\n  methods: {\n    async sendPreview () {\n      try {\n        this.sending = true\n        await Api.get('ads/widget/demo')\n      }\n      finally {\n        this.sending = false\n      }\n    },\n  },\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetChatbotSendPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetChatbotSendPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetChatbotSendPreview.vue?vue&type=template&id=1f64f4f4&\"\nimport script from \"./WidgetChatbotSendPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetChatbotSendPreview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var baseTrim = require('./_baseTrim'),\n    isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","import isNull from 'lodash/isNull'\nimport VueTypes from 'vue-types'\n\nVueTypes.extend({\n  name: 'nullType',\n  getter: true,\n  validator: isNull,\n})\n","import './nullType'\n\nimport VueTypes from 'vue-types'\n\nVueTypes.sensibleDefaults = {\n  ...VueTypes.sensibleDefaults,\n  bool: false,\n}\n\nexport default VueTypes\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.value)?_c('div',{staticClass:\"campaign-row-limit\"},[_c('div',{staticClass:\"text-caption\"},[_vm._v(\" \"+_vm._s(_setup.locale.dailyLimit)+\" \")]),_c('div',{staticClass:\"text-m-regular\"},[_vm._v(\" \"+_vm._s(_setup.value)+\" \")])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from 'vue'\n\nimport { numberToRanks } from 'lib/filters'\nimport { isSspFormat } from 'lib/helpers/isSsp'\nimport { useRootLocaleObj } from 'lib/helpers/useLocale'\nimport { AdFormat } from 'lib/types/ad-format'\n\n\nexport default /*#__PURE__*/_defineComponent({\n  __name: 'CampaignRowDailyLimit',\n  props: {\n    campaign: null\n  },\n  setup(__props: any) {\n\nconst props = __props as {\n  campaign: {\n    impressions: number\n    format: {\n      id: AdFormat\n    }\n    daily_limit: number\n    rest_limit_percent: number\n  }\n}\n\n\n\nconst locale = computed<any>(() => useRootLocaleObj('campaignRow'))\nconst disabled = computed(() => {\n  return props.campaign.impressions >= props.campaign.daily_limit || props.campaign.rest_limit_percent <= 5\n})\n\nconst value = computed(() => {\n  if (isSspFormat(props.campaign.format.id)) {\n    return `${numberToRanks(props.campaign.impressions)} / ∞`\n  }\n  if (['cpm', 'cpc', 'ppv', 'ppva'].includes(props.campaign.strategy_payment)) {\n    return `${numberToRanks(props.campaign.daily_limit_rest)} ${locale.value.of} ${numberToRanks(props.campaign.daily_limit)}`\n  }\n  return null\n  // return `${numberToRanks(props.campaign.impressions)} / ${numberToRanks(props.campaign.daily_limit)}`\n})\n\nreturn { __sfc: true,props, locale, disabled, value }\n}\n\n})","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignRowDailyLimit.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignRowDailyLimit.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./CampaignRowDailyLimit.vue?vue&type=template&id=1a3de76c&scoped=true&\"\nimport script from \"./CampaignRowDailyLimit.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./CampaignRowDailyLimit.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./CampaignRowDailyLimit.vue?vue&type=style&index=0&id=1a3de76c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1a3de76c\",\n  null\n  \n)\n\nexport default component.exports","import debounce from 'lodash/debounce'\n\nimport BaseModel from '@/models/BaseModel'\n\nexport default class Widget extends BaseModel {\n  constructor () {\n    super()\n\n    this.debouncedUpdate = debounce(this.update, 1000)\n\n    this.on('change-prop', ({ prop }) => {\n      // ignore categories updates in component\n      if (prop === 'ignoreCategories') return\n      this.debouncedUpdate()\n    })\n  }\n\n  static routes = {\n    fetch: 'streamer/widget',\n    update: 'streamer/widget',\n  }\n\n  static schema = {\n    slug: '',\n    url: '',\n    ad_manual_enable: false,\n    advertising_mode: 'auto',\n    advertising_frequency: 30,\n    advertising_position: '',\n    leaderboard_position: '',\n    ignore_categories: [],\n    widget_active: false,\n    stream_active: false,\n    stream_delay: 0,\n    extension_active: false,\n    bot_active: false,\n    box_size: 3,\n    nightbot_twitch_connected: false,\n    nightbot_twitch_moderator: false,\n    nightbot_youtube_connected: false,\n    nightbot_youtube_moderator: false,\n    nightbot_trovo_connected: false,\n    nightbot_trovo_moderator: false,\n    slug_obs_dock: '',\n    platform: '',\n    referral_promotion: false,\n    relogin: false,\n    brandis_extension_active: false,\n    allow_adult_content: true,\n    enable_chatbot_text_ads: true,\n    enable_ssp_instream_ads: true,\n    ssp_text_frequency: 15,\n  }\n\n  static aliases = {\n    ad_manual_enable: 'adManualEnable',\n    advertising_mode: 'mode',\n    advertising_frequency: 'frequency',\n    advertising_position: 'advertisingPosition',\n    leaderboard_position: 'leaderboardPosition',\n    ignore_categories: 'ignoreCategories',\n    widget_active: 'enabled',\n    stream_active: 'stream',\n    stream_delay: 'streamDelay',\n    bot_active: 'chatbotEnabled',\n    box_size: 'boxSize',\n    extension_active: 'extensionEnabled',\n    nightbot_twitch_connected: 'chatbotTwitchConnected',\n    nightbot_twitch_moderator: 'chatbotTwitchIsModerator',\n    nightbot_youtube_connected: 'chatbotYoutubeConnected',\n    nightbot_youtube_moderator: 'chatbotYoutubeIsModerator',\n    nightbot_trovo_connected: 'chatbotTrovoConnected',\n    nightbot_trovo_moderator: 'chatbotTrovoIsModerator',\n    slug_obs_dock: 'slugObsDock',\n    referral_promotion: 'promotion',\n    brandis_extension_active: 'brandisExtensionActive',\n    allow_adult_content: 'allowAdultContent',\n    enable_chatbot_text_ads: 'enableChatbotTextAds',\n    enable_ssp_instream_ads: 'enableSspInstreamAds',\n    ssp_text_frequency: 'sspTextFrequency',\n  }\n}\n","import { Api } from 'lib/api/instance'\nimport { Analytic } from 'lib/helpers/Analytic'\nimport Widget from 'models/Widget'\n\nexport default {\n  namespaced: true,\n  state: {\n    widget: new Widget(),\n    checkingChatbot: false,\n    togglingChatbot: false,\n    sendingMessage: false,\n    brandisExtensionChecking: false,\n  },\n  mutations: {\n    setWidget (state, payload) {\n      state.widget = payload\n    },\n    toggleCheckingChatbot (state, payload) {\n      state.checkingChatbot = payload\n    },\n    toggleTogglingChatbot (state, payload) {\n      state.togglingChatbot = payload\n    },\n    toggleSendingMessage (state, payload) {\n      state.sendingMessage = payload\n    },\n    toggleBrandisExtensionStatus (state, payload) {\n      state.widget.brandisExtensionActive = payload\n    },\n    toggleBrandisExtensionChecking (state, payload) {\n      state.brandisExtensionChecking = payload\n    },\n  },\n  actions: {\n    async fetchWidget ({ commit, dispatch }, slug) {\n      const res = await dispatch('send', `ads/widget/${slug}`)\n      commit('setWidget', res.data)\n    },\n    toggleChatbot ({ state, dispatch }) {\n      if (state.widget.platform === 'twitch') {\n        if (state.widget.chatbotTwitchConnected) {\n          dispatch('disconnectChatbot')\n        }\n        else {\n          dispatch('connectChatbot')\n\n          Analytic.vkgoal('customize_product')\n          Analytic.fbq('track', 'CustomizeProduct')\n        }\n      }\n\n      if (state.widget.platform === 'youtube') {\n        if (state.widget.chatbotYoutubeConnected) {\n          dispatch('disconnectChatbot')\n        }\n        else {\n          dispatch('connectChatbot')\n\n          Analytic.vkgoal('customize_product')\n          Analytic.fbq('track', 'CustomizeProduct')\n        }\n      }\n\n      if (state.widget.platform === 'trovo') {\n        if (state.widget.chatbotTrovoConnected) {\n          dispatch('disconnectChatbot')\n        }\n        else {\n          dispatch('connectChatbot')\n\n          Analytic.vkgoal('customize_product')\n          Analytic.fbq('track', 'CustomizeProduct')\n        }\n      }\n    },\n    async connectChatbot ({ state, commit }) {\n      try {\n        commit('toggleTogglingChatbot', true)\n        const res = await Api.get(`auth/nightbot/${state.widget.platform}`)\n        window.location = res.src\n      }\n      finally {\n        commit('toggleTogglingChatbot', false)\n      }\n    },\n\n    async disconnectChatbot ({ state, commit }) {\n      try {\n        commit('toggleTogglingChatbot', true)\n        await Api.get(`auth/nightbot/${state.widget.platform}/disconnect`)\n        await state.widget.fetch()\n      }\n      finally {\n        commit('toggleTogglingChatbot', false)\n      }\n    },\n    async checkChatbot ({ state, commit }) {\n      try {\n        commit('toggleCheckingChatbot', true)\n        await Api.get(`streamer/${state.widget.platform}/moderator`)\n      }\n      finally {\n        commit('toggleCheckingChatbot', false)\n      }\n    },\n    async sendMessage ({ state, commit }) {\n      try {\n        commit('toggleSendingMessage', true)\n        await Api.get(`nightbot/${state.widget.platform}/messages/test`)\n      }\n      finally {\n        commit('toggleSendingMessage', false)\n      }\n    },\n    async sendPreview ({ commit }) {\n      try {\n        commit('toggleSendingPreview', true)\n        await Api.get('ads/widget/demo')\n      }\n      finally {\n        commit('toggleSendingPreview', false)\n      }\n    },\n    async sendManualAd () {\n      await Api.get('ads/widget/manual')\n    },\n    async refreshObsLink () {\n      await Api.post('streamer/widget/obs/refresh')\n    },\n\n    async checkExtensionStatus ({ commit, dispatch }) {\n      try {\n        commit('toggleBrandisExtensionChecking', true)\n        const status = await Api.get('streamer/extension/brandis/activation/check')\n        if (status?.changed) {\n          dispatch('campaigns/fetchCampaigns', {}, {root: true})\n          commit('toggleBrandisExtensionStatus', status.activation)\n        }\n      }\n      finally {\n        commit('toggleBrandisExtensionChecking', false)\n      }\n    },\n  },\n  getters: {\n    widget: ({ widget }) => widget,\n    mode: ({ widget }) => widget?.mode,\n    obsDockUrl: ({ widget }) => `${location.origin}/obs-dock/${widget?.slugObsDock}`,\n    checkingChatbot: ({ checkingChatbot }) => checkingChatbot,\n    togglingChatbot: ({ togglingChatbot }) => togglingChatbot,\n    sendingMessage: ({ sendingMessage }) => sendingMessage,\n    brandisExtensionStatus: ({ widget }) => widget.brandisExtensionActive,\n    brandisExtensionChecking: ({ brandisExtensionChecking }) => brandisExtensionChecking,\n  },\n}\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LowCTR.vue?vue&type=style&index=0&id=18e018c2&prod&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ElFormItem',{attrs:{\"label\":_vm.locale.title}},[_c('ElButton',{staticClass:\"manual-playback-button\",attrs:{\"type\":\"primary\",\"disabled\":!_vm.widget.adManualEnable,\"loading\":_vm.sending},on:{\"click\":_vm.onClick}},[_vm._v(\" \"+_vm._s(_vm.$t('button.runAd'))+\" \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <ElFormItem :label=\"locale.title\">\n    <ElButton\n      class=\"manual-playback-button\"\n      type=\"primary\"\n      :disabled=\"!widget.adManualEnable\"\n      :loading=\"sending\"\n      @click=\"onClick\"\n    >\n      {{ $t('button.runAd') }}\n    </ElButton>\n  </ElFormItem>\n</template>\n\n<script>\nimport ElButton from 'element/ElButton'\nimport ElFormItem from 'element/ElFormItem'\n\nexport default {\n  components: {\n    ElButton,\n    ElFormItem,\n  },\n\n  data: () => ({\n    sending: false,\n  }),\n\n  computed: {\n    locale: ({ $rootLocale }) => ({\n      title: $rootLocale('views.streamer.widget.advertSettings.manualPlaybackTitle'),\n    }),\n    widget: ({ $store }) => $store.getters['widgetSettings/widget'],\n  },\n\n  methods: {\n    async onClick () {\n      this.sending = true\n      await this.$store.dispatch('widgetSettings/sendManualAd')\n      this.sending = false\n    },\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.manual-playback-button {\n  width: 100%;\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetManualPlayback.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetManualPlayback.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetManualPlayback.vue?vue&type=template&id=14eaf536&scoped=true&\"\nimport script from \"./WidgetManualPlayback.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetManualPlayback.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WidgetManualPlayback.vue?vue&type=style&index=0&id=14eaf536&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"14eaf536\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=style&index=0&id=0ecfaa7f&prod&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tags.vue?vue&type=style&index=0&id=09b15890&prod&lang=scss&scoped=true&\"","function escapeRegExp (str) {\n  return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&') // eslint-disable-line\n}\n\nexport default data => {\n  const stringifyedData = JSON.stringify(data)\n  const splitted = stringifyedData.split('\"')\n  // console.log(splitted)\n\n  const overlaps = {}\n  splitted.forEach(item => {\n    if (overlaps[item]) {\n      overlaps[item]++\n    }\n    else {\n      overlaps[item] = 1\n    }\n  })\n  const sortedOverlaps = Object.keys(overlaps).sort((a, b) => b.length - a.length)\n  // console.log(overlaps, sortedOverlaps)\n\n  let compressed = stringifyedData\n  const keys = {}\n  sortedOverlaps.forEach((overlap, i) => {\n    const isShortAndFrequent = overlaps[overlap] > 1 && overlap.length > 5\n    const isLongAndRare = overlaps[overlap] > 3 && overlap.length > 2\n\n    if (isShortAndFrequent || isLongAndRare) {\n      const key = `{${i}}`\n      compressed = compressed.replace(new RegExp(escapeRegExp(overlap), 'g'), key)\n      keys[key] = overlap\n    }\n  })\n  // console.log(compressed)\n  // console.log(keys)\n\n  return {\n    compressed,\n    keys,\n  }\n}\n","function escapeRegExp (str) {\n  return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&') // eslint-disable-line\n}\n\nexport default ({ compressed, keys }) => {\n  let result = compressed\n  for (const key in keys) {\n    result = result.replace(new RegExp(escapeRegExp(key), 'g'), keys[key])\n  }\n  return JSON.parse(result)\n}\n","import compress from 'views/WidgetOld/Debug/compress'\nimport decompress from 'views/WidgetOld/Debug/decompress'\n\nconst lifespan = 14 * 24 * 60 * 60 * 1000\n\nfunction saveLog (slug, log) {\n  const widgets = getCachedWidgets() || {}\n  widgets[slug] = {\n    updated: new Date().getTime(),\n    log: compress(log.slice(-200)),\n  }\n  cacheWidgets(widgets)\n}\n\nfunction deleteLog (slug) {\n  const widgets = getCachedWidgets()\n  delete widgets[slug]\n  cacheWidgets(widgets)\n}\n\nfunction getCachedLog (slug) {\n  const widgets = getCachedWidgets()\n  if (!widgets?.[slug]) return []\n  return decompress(widgets[slug].log)\n}\n\nfunction getCachedWidgets () {\n  if (!localStorage.getItem('debug-widgets')) return null\n  return JSON.parse(localStorage.getItem('debug-widgets'))\n}\n\nfunction cacheWidgets (widgets) {\n  localStorage.setItem('debug-widgets', JSON.stringify(widgets))\n}\n\nfunction clearExpired () {\n  if (!localStorage.getItem('debug-widgets')) return null\n  const widgets = JSON.parse(localStorage.getItem('debug-widgets'))\n  for (const slug in widgets) {\n    const expired = widgets[slug].updated + lifespan\n    const now = new Date().getTime()\n    if (now > expired) {\n      deleteLog(slug)\n    }\n  }\n}\n\nexport default {\n  save: saveLog,\n  delete: deleteLog,\n  get: getCachedLog,\n  cacheWidgets,\n  getCachedWidgets,\n  clearExpired,\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ElFormItem',{attrs:{\"label\":_vm.locale.title}},[_c('ElSelect',{class:_vm.selectTheme,attrs:{\"popper-class\":_vm.selectTheme},model:{value:(_vm.widget.advertisingPosition),callback:function ($$v) {_vm.$set(_vm.widget, \"advertisingPosition\", $$v)},expression:\"widget.advertisingPosition\"}},_vm._l((_vm.positions),function(position){return _c('ElOption',{key:position.id,attrs:{\"label\":position.title,\"value\":position.id}})}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <ElFormItem :label=\"locale.title\">\n    <ElSelect\n      v-model=\"widget.advertisingPosition\"\n      :class=\"selectTheme\"\n      :popper-class=\"selectTheme\"\n    >\n      <ElOption\n        v-for=\"position in positions\"\n        :key=\"position.id\"\n        :label=\"position.title\"\n        :value=\"position.id\"\n      />\n    </ElSelect>\n  </ElFormItem>\n</template>\n\n<script>\nimport ElFormItem from 'element/ElFormItem'\nimport ElOption from 'element/ElOption'\nimport ElSelect from 'element/ElSelect'\nimport VueTypes from 'vue-types'\n\nexport default {\n  components: {\n    ElSelect,\n    ElOption,\n    ElFormItem,\n  },\n\n  props: {\n    selectTheme: VueTypes.string,\n  },\n\n  computed: {\n    locale: ({ $rootLocale }) => ({\n      title: $rootLocale('views.streamer.widget.advertSettings.pictureInPicturePosition'),\n    }),\n    widget: ({ $store }) => $store.getters['widgetSettings/widget'],\n    positions ({ $store }) {\n      return $store.getters['dictionaries/campaignDictionaries'].adPositions\n    },\n  },\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAdvertisingPosition.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetAdvertisingPosition.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetAdvertisingPosition.vue?vue&type=template&id=fd37a92c&\"\nimport script from \"./WidgetAdvertisingPosition.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetAdvertisingPosition.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReloginMessage.vue?vue&type=style&index=0&id=370015e5&prod&lang=scss&scoped=true&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_setup.isMobile)?_c('div',{staticClass:\"advice\",class:[`advice_${_vm.type}`]},[(!_vm.hideLabel)?_c('div',{staticClass:\"advice__label\",class:[`advice__label_${_vm.type}`, !_vm.title && '_no-title']},[_vm._v(\" \"+_vm._s(_setup.computedLabel)+\" \")]):_vm._e(),(_vm.title)?_c('div',{staticClass:\"advice__title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),_c('div',{staticClass:\"advice__content\"},[_vm._t(\"default\")],2)]):_c(_setup.ElDialog,{attrs:{\"visible\":_vm.mobileVisible,\"append-to-body\":true,\"before-close\":_setup.onDialogClose},on:{\"update:visible\":function($event){_vm.mobileVisible=$event}}},[_c('div',{staticClass:\"advice\",class:[`advice_${_vm.type}`]},[(!_vm.hideLabel)?_c('div',{staticClass:\"advice__label\",class:[`advice__label_${_vm.type}`, !_vm.title && '_no-title']},[_vm._v(\" \"+_vm._s(_setup.computedLabel)+\" \")]):_vm._e(),(_vm.title)?_c('div',{staticClass:\"advice__title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),_c('div',{staticClass:\"advice__content\"},[_vm._t(\"default\")],2)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, ref } from 'vue'\n\nimport { vm } from '@/main'\nimport { useRootLocaleObj } from 'lib/helpers/useLocale'\n\nimport ElDialog from 'element/ElDialog'\n\n\nexport default /*#__PURE__*/_defineComponent({\n  __name: 'Advice',\n  props: {\n    type: { default: 'hint' },\n    title: null,\n    label: null,\n    hideLabel: { type: Boolean, default: false },\n    mobileVisible: { type: Boolean, default: false }\n  },\n  emits: ['dialog-closed'],\n  setup(__props: any, { emit }) {\n\nconst props = __props as { type: string, title?: string, label?: string, hideLabel: boolean, mobileVisible: boolean }\n\n\n\nconst locale = computed(() => ({ ...useRootLocaleObj('other.advice') }))\n\n\n\nconst isMobile = ref(vm.$isMobile)\n\nconst computedLabel = computed(() => {\n  if (props.label) return props.label\n  if (props.type === 'hint') return locale.value.hint\n  if (props.type === 'danger') return locale.value.attention\n  if (props.type === 'warning') return locale.value.attention\n  return ''\n})\n\nconst onDialogClose = (done: () => void) => {\n  emit('dialog-closed')\n  done()\n}\n\nreturn { __sfc: true,props, locale, emit, isMobile, computedLabel, onDialogClose, ElDialog }\n}\n\n})","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Advice.vue?vue&type=script&setup=true&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Advice.vue?vue&type=script&setup=true&lang=ts&\"","import { render, staticRenderFns } from \"./Advice.vue?vue&type=template&id=ddd31dba&scoped=true&\"\nimport script from \"./Advice.vue?vue&type=script&setup=true&lang=ts&\"\nexport * from \"./Advice.vue?vue&type=script&setup=true&lang=ts&\"\nimport style0 from \"./Advice.vue?vue&type=style&index=0&id=ddd31dba&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ddd31dba\",\n  null\n  \n)\n\nexport default component.exports","/**\n * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers.\n *\n * @param {Vue} instance Vue instance.\n * @param {Function} callback callback of after-leave event\n * @param {Number} speed the speed of transition, default value is 300ms\n * @param {Boolean} once weather bind after-leave once. default value is false.\n */\nexport default function(instance, callback, speed = 300, once = false) {\n  if (!instance || !callback) throw new Error('instance & callback is required');\n  let called = false;\n  const afterLeaveCallback = function() {\n    if (called) return;\n    called = true;\n    if (callback) {\n      callback.apply(null, arguments);\n    }\n  };\n  if (once) {\n    instance.$once('after-leave', afterLeaveCallback);\n  } else {\n    instance.$on('after-leave', afterLeaveCallback);\n  }\n  setTimeout(() => {\n    afterLeaveCallback();\n  }, speed + 100);\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignsSection.vue?vue&type=style&index=0&id=d22d60da&prod&lang=scss&scoped=true&\"","import '../css/loading.scss'\n\nimport afterLeave from 'element-ui/src/utils/after-leave'\nimport { addClass, getStyle, removeClass } from 'element-ui/src/utils/dom'\nimport { PopupManager } from 'element-ui/src/utils/popup'\n\n/* eslint-disable */\nimport Loading from './Loading';\n\nconst Mask = Vue.extend(Loading);\n\nconst toggleLoading = (el, binding) => {\n  if (binding.value) {\n    Vue.nextTick(() => {\n      if (binding.modifiers.fullscreen) {\n        el.originalPosition = getStyle(document.body, 'position');\n        el.originalOverflow = getStyle(document.body, 'overflow');\n        el.maskStyle.zIndex = PopupManager.nextZIndex();\n\n        addClass(el.mask, 'is-fullscreen');\n        insertDom(document.body, el, binding);\n      }\n      else {\n        removeClass(el.mask, 'is-fullscreen');\n\n        if (binding.modifiers.body) {\n          el.originalPosition = getStyle(document.body, 'position');\n\n          ['top', 'left'].forEach(property => {\n            const scroll = property === 'top' ? 'scrollTop' : 'scrollLeft';\n            el.maskStyle[property] = el.getBoundingClientRect()[property] +\n              document.body[scroll] +\n              document.documentElement[scroll] -\n              parseInt(getStyle(document.body, `margin-${property}`), 10) +\n              'px';\n          });\n          ['height', 'width'].forEach(property => {\n            el.maskStyle[property] = el.getBoundingClientRect()[property] + 'px';\n          });\n\n          insertDom(document.body, el, binding);\n        }\n        else {\n          el.originalPosition = getStyle(el, 'position');\n          insertDom(el, el, binding);\n        }\n      }\n    });\n  }\n  else {\n    afterLeave(el.instance, _ => {\n      el.domVisible = false;\n      const target = binding.modifiers.fullscreen || binding.modifiers.body\n        ? document.body\n        : el;\n      removeClass(target, 'el-loading-parent--relative');\n      removeClass(target, 'el-loading-parent--hidden');\n      el.instance.hiding = false;\n    }, 300, true);\n    el.instance.visible = false;\n    el.instance.hiding = true;\n  }\n};\nconst insertDom = (parent, el, binding) => {\n  if (!el.domVisible && getStyle(el, 'display') !== 'none' && getStyle(el, 'visibility') !== 'hidden') {\n    Object.keys(el.maskStyle).forEach(property => {\n      el.mask.style[property] = el.maskStyle[property];\n    });\n\n    if (el.originalPosition !== 'absolute' && el.originalPosition !== 'fixed') {\n      addClass(parent, 'el-loading-parent--relative');\n    }\n    if (binding.modifiers.fullscreen && binding.modifiers.lock) {\n      addClass(parent, 'el-loading-parent--hidden');\n    }\n    el.domVisible = true;\n\n    parent.appendChild(el.mask);\n    Vue.nextTick(() => {\n      if (el.instance.hiding) {\n        el.instance.$emit('after-leave');\n      }\n      else {\n        el.instance.visible = true;\n      }\n    });\n    el.domInserted = true;\n  }\n};\n\nexport default {\n  bind (el, binding, vnode) {\n    const textExr = el.getAttribute('element-loading-text')\n    const spinnerExr = el.getAttribute('element-loading-spinner')\n    const backgroundExr = el.getAttribute('element-loading-background')\n    const customClassExr = el.getAttribute('element-loading-custom-class')\n    const floatLoading = el.hasAttribute('element-float-loading')\n    const vm = vnode.context\n    const mask = new Mask({\n      el: document.createElement('div'),\n      data: {\n        floatLoading: binding.floatLoading || floatLoading,\n        text: vm && vm[textExr] || textExr,\n        spinner: vm && vm[spinnerExr] || spinnerExr,\n        background: vm && vm[backgroundExr] || backgroundExr,\n        customClass: vm && vm[customClassExr] || customClassExr,\n        fullscreen: !!binding.modifiers.fullscreen,\n      },\n    })\n    el.instance = mask\n    el.mask = mask.$el\n    el.maskStyle = {}\n\n    binding.value && toggleLoading(el, binding)\n  },\n\n  update (el, binding) {\n    el.instance.setText(el.getAttribute('element-loading-text'))\n    if (binding.oldValue !== binding.value) {\n      toggleLoading(el, binding)\n    }\n  },\n\n  unbind (el, binding) {\n    if (el.domInserted) {\n      el.mask\n      && el.mask.parentNode\n      && el.mask.parentNode.removeChild(el.mask)\n      toggleLoading(el, {\n        value: false,\n        modifiers: binding.modifiers\n      })\n    }\n  },\n}\n/* eslint-enable */\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Section.vue?vue&type=style&index=0&id=54210b23&prod&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CampaignRowDailyLimit.vue?vue&type=style&index=0&id=1a3de76c&prod&lang=scss&scoped=true&\"","export enum CampaignStatus {\n  ACTIVE = 'active',\n  INACTIVE = 'inactive',\n  UNAVAILABLE = 'unavailable',\n}\n\nexport enum CompletedCampaignStatus {\n  OPEN = 'open',\n  CLOSE = 'close'\n}\n","<template>\n  <div class=\"panel-tabs\">\n    <ElTabs\n      :value=\"tab\"\n      @input=\"$emit('update:tab', $event)\"\n    >\n      <ElTabPane name=\"widget\">\n        <template #label>\n          <SvgIcon\n            name=\"gear\"\n            width=\"18px\"\n            height=\"18px\"\n          />\n          {{ locale.widget }}\n        </template>\n      </ElTabPane>\n      <ElTabPane name=\"campaigns\">\n        <template #label>\n          <SvgIcon\n            name=\"creative\"\n            width=\"18px\"\n            height=\"18px\"\n          />\n          {{ locale.campaigns }}\n        </template>\n      </ElTabPane>\n    </ElTabs>\n  </div>\n</template>\n\n<script>\nimport ElTabPane from 'element/ElTabPane'\nimport ElTabs from 'element/ElTabs'\n\nexport default {\n  components: {\n    ElTabs,\n    ElTabPane,\n  },\n\n  props: {\n    tab: VueTypes.string,\n  },\n\n  computed: {\n    locale: ({ $rootLocale }) => ({\n      widget: $rootLocale('views.panel.tabs.widget'),\n      campaigns: $rootLocale('views.panel.tabs.campaigns'),\n    }),\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$--color-primary: #198CFE;\n\n.panel-tabs {\n  &::v-deep {\n    .el-tabs {\n      &__nav {\n        display: flex;\n        width: 100%;\n\n        &-wrap:after {\n          background-color: #4D4D4D;\n        }\n      }\n      &__active-bar {\n        background-color: $--color-primary;\n      }\n      &__header {\n        margin-bottom: 24px;\n      }\n      &__item {\n        width: 100%;\n        height: auto;\n        line-height: 1;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        flex-grow: 1;\n        font-size: 14px;\n        text-transform: none;\n        color: white;\n        padding: 0 0 17px;\n\n        .svg-icon {\n          margin-right: 10px;\n          fill: white;\n        }\n\n        &.is-active {\n          color: $--color-primary;\n\n          .svg-icon {\n            fill: $--color-primary;\n          }\n        }\n      }\n    }\n  }\n}\n</style>\n","/**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\nfunction isNull(value) {\n  return value === null;\n}\n\nmodule.exports = isNull;\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=style&index=0&id=ebb2e63a&prod&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsSection.vue?vue&type=style&index=0&id=427a9836&prod&lang=scss&scoped=true&\"","import { ReverseMap } from 'lib/types/base-types'\n\nexport enum AdFormat {\n  LEADERBOARD = 'leaderboard',\n  FULLSCREEN = 'video',\n  YANDEX_PF = 'yandex_pf',\n  YANDEX_FS = 'yandex_fs',\n  YANDEX_TEXT = 'yandex_text',\n  PIP = 'pip_video',\n  CUSTOM = 'custom',\n  INTERACTIVE = 'interactive',\n  PREROLL = 'preroll',\n  CHATBOT_TEXT = 'chatbot_text',\n  ADMNGR = 'admngr',\n}\n\nexport type AdFormatType = ReverseMap<typeof AdFormat>\n","import { AdFormat } from 'lib/types/ad-format'\n\nexport const isSspFormat = (format: AdFormat) => {\n  return [AdFormat.YANDEX_FS, AdFormat.YANDEX_PF, AdFormat.YANDEX_TEXT].indexOf(format) !== -1\n}\n\nexport const isSspMediaFormat = (format: AdFormat) => {\n  return [AdFormat.YANDEX_FS, AdFormat.YANDEX_PF].indexOf(format) !== -1\n}\n\nexport const isSspTextFormat = (format: AdFormat) => {\n  return [AdFormat.YANDEX_TEXT].indexOf(format) !== -1\n}\n","function broadcast(componentName, eventName, params) {\n  this.$children.forEach(child => {\n    var name = child.$options.componentName;\n\n    if (name === componentName) {\n      child.$emit.apply(child, [eventName].concat(params));\n    } else {\n      broadcast.apply(child, [componentName, eventName].concat([params]));\n    }\n  });\n}\nexport default {\n  methods: {\n    dispatch(componentName, eventName, params) {\n      var parent = this.$parent || this.$root;\n      var name = parent.$options.componentName;\n\n      while (parent && (!name || name !== componentName)) {\n        parent = parent.$parent;\n\n        if (parent) {\n          name = parent.$options.componentName;\n        }\n      }\n      if (parent) {\n        parent.$emit.apply(parent, [eventName].concat(params));\n      }\n    },\n    broadcast(componentName, eventName, params) {\n      broadcast.call(this, componentName, eventName, params);\n    }\n  }\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetPlatformSelect.vue?vue&type=style&index=1&id=16a03c08&prod&lang=scss&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetStatus.vue?vue&type=style&index=0&id=784fb148&prod&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Powered.vue?vue&type=style&index=0&id=c8a5cf32&prod&lang=scss&scoped=true&\""],"sourceRoot":""}