{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/AutoComplete.vue?dc94","webpack:///./src/components/StartupError.vue?cf4c","webpack:///./src/libs/Notifications.js","webpack:///./src/components/MessageListMessageCompact.vue?4e14","webpack:///./src/libs/polyfill/Element.closest.js","webpack:///./src/libs/Logger.js","webpack:///./src/components/utils/TabbedView.vue?4476","webpack:///./src/libs/state/NetworkState.js","webpack:///./src/components/UrlEmbed.vue?bbe1","webpack:///./src/components/startups/CustomServer.vue?2bdd","webpack:///./src/components/Avatar.vue?021a","webpack:///./src/components/utils/InputConfirm.vue?7413","webpack:///./src/components/startups/ZncLogin.vue?0ca9","webpack:///./src/components/utils/IrcInput.vue?3e92","webpack:///./src/thirdparty/kiwiirccom.vue?7d18","webpack:///./src/libs/MessageFormatter.js","webpack:///./src/components/utils/InputPrompt.vue?be59","webpack:///./src/components/Avatar.vue?5de3","webpack:///./src/components/startups/ZncLogin.vue?bc87","webpack:///./src/components/ServerView.vue?320a","webpack:///./src/res/kiwiLoadingLogo.png","webpack:///./src/components/MessageInfo.vue?b1fb","webpack:///./src/components/utils/InputText.vue?d4fa","webpack:///./src/components/NicklistUser.vue?2468","webpack:///./src/components/inputtools/TextStyle.vue?4a34","webpack:///./src/components/App.vue?2df3","webpack:///./src/components/NetworkSettings.vue?5552","webpack:///./src/components/ChannelInvitelist.vue?c75c","webpack:///./src/components/Container.vue?dafa","webpack:///./src/components/utils/InputText.vue?f13d","webpack:///./src/libs/ThemeManager.js","webpack:///./src/components/utils/InputConfirm.vue?900a","webpack:///./src/helpers/Colours.js","webpack:///./src/components/SelfUser.vue?f66b","webpack:///./src/components/MessageList.vue?719c","webpack:///./src/components/MessageListMessageModern.vue?0934","webpack:///./src/components/ServerSelector.vue?3a8e","webpack:///./src/components/MessageList.vue?4207","webpack:///./src/components/ServerView.vue?a991","webpack:///./src/libs/state/BufferState.js","webpack:///./src/components/MessageListMessageInline.vue?d335","webpack:///./src/components/startups/KiwiBnc.vue?a30a","webpack:///./src/components/AwayStatusIndicator.vue?8196","webpack:///./src/libs/BouncerMiddleware.js","webpack:///./src/components/ServerView.vue?2406","webpack:///./src/components/inputtools/Emoji.vue?7914","webpack:///./src/components/MessageInfo.vue?5c1d","webpack:///./src/components/NotConnected.vue?26da","webpack:///./src/components/NicklistUser.vue?04de","webpack:///./src/components/TypingUsersList.vue?e190","webpack:///./src/components/startups/CommonLayout.vue?c656","webpack:///./src/components/App.vue?8a31","webpack:///./src/thirdparty/kiwiirccom.vue?938e","webpack:///./src/components/utils/IrcInput.vue?fdcf","webpack:///./src/components/StateBrowser.vue?b090","webpack:///./src/components/ChannelInfo.vue?a938","webpack:///./src/libs/WindowTitle.js","webpack:///./src/components/StateBrowserUsermenu.vue?40ef","webpack:///./src/libs/AliasRewriter.js","webpack:///./src/components/MessageListMessageInline.vue?ef74","webpack:///./src/components/UserBox.vue?8c8a","webpack:///./src/components/NotConnected.vue?7b97","webpack:///./src/components/SidebarAboutBuffer.vue?37f1","webpack:///./src/components/utils/InputConfirm.vue?fc76","webpack:///./src/components/StartupError.vue?5377","webpack:///./src/components/MessageInfo.vue?edeb","webpack:///./src/libs/GlobalApi.js","webpack:///./src/components/TypingStatusIndicator.vue?e82d","webpack:///./src/components/startups/KiwiBnc.vue?91f0","webpack:///./src/components/startups/ZncLogin.vue?2112","webpack:///./src/components/MediaViewer.vue?4a05","webpack:///./src/components/BufferKey.vue?6d5c","webpack:///./src/components/startups/Personal.vue?3cce","webpack:///./src/components/MessageList.vue?fa35","webpack:///./src/components/MessageListAvatar.vue?2335","webpack:///./src/components/StateBrowser.vue?501d","webpack:///./src/components/ServerSelector.vue?e7da","webpack:///./src/components/StartupError.vue?e52a","webpack:///./src/components/startups/ZncLogin.vue?fbeb","webpack:///./src/components/StateBrowserNetwork.vue?b81e","webpack:///./src/components/startups/CommonLayout.vue?eb03","webpack:///./src/components/TypingUsersList.vue?65cb","webpack:///./src/components/utils/InputPrompt.vue?bac6","webpack:///./src/components/AwayStatusIndicator.vue?0480","webpack:///./src/components/ChannelInfo.vue?88df","webpack:///./src/components/AutoComplete.vue?6857","webpack:///./src/components/ChannelList.vue?b249","webpack:///./src/components/UserBox.vue?33eb","webpack:///./src/libs/batchedAdd.js","webpack:///./src/components/UrlEmbed.vue?9598","webpack:///./src/thirdparty/index.js","webpack:///./src/components/ControlInput.vue?8ded","webpack:///./src/thirdparty/kiwiirccom.vue?fe34","webpack:///./src/components/ServerSelector.vue?9dcb","webpack:///./src/components/StateBrowser.vue?14dd","webpack:///./src/components/ControlInput.vue?efe5","webpack:///./src/components/Avatar.vue?eabd","webpack:///./src/components/LoadingAnimation.vue?74b1","webpack:///./src/components/ContainerHeader.vue?a8e3","webpack:///./src/components/ChannelBanlist.vue?c4b5","webpack:///./src/components/UrlEmbed.vue?9dac","webpack:///./src/components/SidebarState.vue?dea5","webpack:///./src/components/SettingsAdvanced.vue?d0b4","webpack:///./src/components/startups/Personal.vue?7893","webpack:///./src/components/ChannelInfo.vue?6d37","webpack:///./src/main.js","webpack:///./src/res/configTemplates.js","webpack:///./src/components/ChannelInfo.vue?e1a9","webpack:///./src/components/NetworkSettings.vue?2baf","webpack:///./src/components/StateBrowserBuffer.vue?5723","webpack:///./src/components/ChannelBanlist.vue?fc93","webpack:///./src/components/startups/CustomServer.vue?1e5a","webpack:///./src/components/ServerSelector.vue?2148","webpack:///./src/helpers/TextFormatting.js","webpack:///./src/components/BufferSettings.vue?1bba","webpack:///./src/components/inputtools/TextStyle.vue?2c74","webpack:///./src/libs/IrcClient.js","webpack:///./src/components/MessageListMessageModern.vue?71b5","webpack:///./src/components/AppSettings.vue?3a4f","webpack:///./src/components/Sidebar.vue?780a","webpack:///./src/components/utils/InputText.vue?ef0a","webpack:///./src/components/StartupError.vue?f239","webpack:///./src/components/NotConnected.vue?a936","webpack:///./src/thirdparty/kiwiirccom.vue?f443","webpack:///./src/components/App.vue?6f48","webpack:///./src/res/autocompleteCommands.js","webpack:///./src/libs/StatePersistence.js","webpack:///./src/components/ServerSelector.vue?bcc9","webpack:///./src/components/Captcha.vue?9c06","webpack:///./src/components/utils/IrcInput.vue?d4d7","webpack:///./src/components/StateBrowser.vue?8c18","webpack:///./src/components/startups/CommonLayout.vue?b4ed","webpack:///./src/components/LoadingAnimation.vue?a8d8","webpack:///./src/components/MessageList.vue?f49e","webpack:///./src/components/Nicklist.vue?bd98","webpack:///./src/components/ChannelList.vue?ad55","webpack:///./src/components/ContainerHeader.vue?4434","webpack:///./src/components/AppSettings.vue?a7b2","webpack:///./src/components/TypingUsersList.vue?f591","webpack:///./src/components/StateBrowserUsermenu.vue?d1b2","webpack:///./src/thirdparty/kiwiirccom.vue?10df","webpack:///./src/components/UrlEmbed.vue?5549","webpack:///./src/components/ChannelList.vue?75c6","webpack:///./src/libs/storage/Local.js","webpack:///./src/components/LoadingAnimation.vue?6d68","webpack:///./src/components/AwayStatusIndicator.vue?0773","webpack:///./src/helpers/IrcdDiffs.js","webpack:///./src/components/utils/IrcInput.vue?d746","webpack:///./src/components/MessageList.vue?5e4c","webpack:///./src/components/BufferKey.vue?dd80","webpack:///./src/components/App.vue?0284","webpack:///./src/components/TypingStatusIndicator.vue?66af","webpack:///./src/components/MessageListAvatar.vue","webpack:///./src/components/utils/InputPrompt.vue?4c2e","webpack:///./src/components/utils/InputConfirm.vue?069e","webpack:///./src/components/startups/Welcome.vue?957b","webpack:///./src/components/AppSettings.vue?372f","webpack:///./src/libs/ConfigLoader.js","webpack:///./src/components/AutoComplete.vue?ceb9","webpack:///./src/components/utils/TabbedView.vue?9de9","webpack:///./src/components/StateBrowserUsermenu.vue?81c2","webpack:///./src/components/startups/Welcome.vue?8754","webpack:///./src/components/startups/CustomServer.vue?1104","webpack:///./src/components/utils/InputText.vue?6cfe","webpack:///./src/components/MessageListAvatar.vue?39f9","webpack:///./src/components/AppSettings.vue?8116","webpack:///./src/components/utils/TabbedView.vue?8ac1","webpack:///./src/components/ChannelList.vue?c4fc","webpack:///./src/components/StateBrowserBuffer.vue?e5d7","webpack:///./src/components/TypingUsersList.vue?5fa8","webpack:///./src/components/NicklistUser.vue?de0f","webpack:///./src/components/Sidebar.vue?b709","webpack:///./src/components/SelfUser.vue?c9d9","webpack:///./src/helpers/Misc.js","webpack:///./src/libs/NetworkProvider.js","webpack:///./src/libs/IPC.js","webpack:///./src/components/SidebarAboutBuffer.vue?ef7f","webpack:///./src/components/StateBrowserNetwork.vue?bea4","webpack:///./src/components/Container.vue?ddfe","webpack:///./src/components/MessageInfo.vue?b223","webpack:///./src/components/NetworkSettings.vue?14e1","webpack:///./src/components/Container.vue?e50e","webpack:///./src/components/SidebarState.vue","webpack:///./src/components/utils/TabbedView.vue?04ef","webpack:///./src/components/inputtools/TextStyle.vue?3e37","webpack:///./src/components/SidebarAboutBuffer.vue?2912","webpack:///./src/components/NetworkSettings.vue?6e49","webpack:///./src/components/Captcha.vue?1619","webpack:///./src/components/UrlEmbed.vue?9dd5","webpack:///./src/components/inputtools/Emoji.vue?c0df","webpack:///./src/components/ChannelBanlist.vue?27e7","webpack:///./src/libs/bufferTools.js","webpack:///./src/components/startups/ZncLogin.vue?1169","webpack:///./src/components/ChannelInvitelist.vue?5b3d","webpack:///./src/components/ControlInput.vue?e8c8","webpack:///./src/components/startups/KiwiBnc.vue?7a09","webpack:///./src/libs/renderers/Html.js","webpack:///./src/libs/settingTools.js","webpack:///./src/components/AutoComplete.vue?8da5","webpack:///./src/components/NotConnected.vue?2426","webpack:///./src/components/MessageListMessageCompact.vue?ae43","webpack:///./src/components/SettingsAdvanced.vue?ffa2","webpack:///./src/components/TypingStatusIndicator.vue?ba3e","webpack:///./src/components/SidebarAboutBuffer.vue?a32d","webpack:///./src/components/utils/TabbedView.vue?d254","webpack:///./src/libs/ChathistoryMiddleware.js","webpack:///./src/components/SidebarAboutBuffer.vue?2808","webpack:///./src/components/MessageInfo.vue?2118","webpack:///./src/components/Avatar.vue?d1bd","webpack:///./src/components/SelfUser.vue?a94a","webpack:///./src/components/MessageListMessageModern.vue?f965","webpack:///./src/components/utils/InputPrompt.vue?60ce","webpack:///./src/components/startups/Personal.vue?dc99","webpack:///./src/components/MessageListMessageCompact.vue?aeb3","webpack:///./src/components/UserBox.vue?6ce0","webpack:///./src/components/MediaViewer.vue?acb6","webpack:///./src/components/utils/InputConfirm.vue?667d","webpack:///./src/components/BufferKey.vue?fdc1","webpack:///./src/components/SettingsAliases.vue?da04","webpack:///./src/components/MediaViewer.vue?0b7d","webpack:///./src/components/MediaViewer.vue?6df6","webpack:///./src/components/SettingsAliases.vue?18b7","webpack:///./src/components/utils/InputPrompt.vue?e19e","webpack:///./src/components/Nicklist.vue?f797","webpack:///./src/components/SettingsAdvanced.vue?9cb0","webpack:///./src/components/startups/Welcome.vue?1820","webpack:///./src/components/ControlInput.vue?a75e","webpack:///./src/libs/state/UserState.js","webpack:///./src/components/startups/CustomServer.vue?d1f0","webpack:///./src/components/startups/Personal.vue?8c27","webpack:///./src/components/StateBrowserNetwork.vue?00f6","webpack:///./src/components/startups/CommonLayout.vue?978b","webpack:///./src/components/ChannelInvitelist.vue?1913","webpack:///./src/components/ServerView.vue?d132","webpack:///./src/libs/BouncerProvider.js","webpack:///./src/components/BufferSettings.vue?a9b7","webpack:///./src/components/SidebarState.vue?0e21","webpack:///./src/components/inputtools/TextStyle.vue?6d51","webpack:///./src/libs/Message.js","webpack:///./src/components/MessageListMessageModern.vue?a7a1","webpack:///./src/components/ChannelBanlist.vue?2f2a","webpack:///./src/components/MessageListMessageInline.vue?6760","webpack:///./src/libs/state/common.js","webpack:///./src/components/Nicklist.vue?0081","webpack:///./src/components/SelfUser.vue?50cf","webpack:///./src/libs/SoundBleep.js","webpack:///./src/components/NicklistUser.vue?fe74","webpack:///./src/components/MessageListMessageInline.vue?3a80","webpack:///./src/components/inputtools/Emoji.vue?e1e5","webpack:///./src/components/LoadingAnimation.vue?cfb2","webpack:///./src/components/SettingsAliases.vue?f706","webpack:///./src/components/SettingsAdvanced.vue?f320","webpack:///./src/components/StateBrowserBuffer.vue","webpack:///./src/components/MessageListMessageInline.vue?4ac5","webpack:///./src/components/MessageListMessageCompact.vue?e90d","webpack:///./src/components/startups/KiwiBnc.vue?de6f","webpack:///./src/components/ChannelList.vue?978b","webpack:///./src/components/MessageListMessageModern.vue?6a9b","webpack:///./src/components/ChannelInfo.vue?fa2f","webpack:///./src/components/Nicklist.vue?b4f8","webpack:///./src/components/MediaViewer.vue?7a2e","webpack:///./src/components/startups/KiwiBnc.vue?bc43","webpack:///./src/components/Container.vue?3c20","webpack:///./src/components/startups/CustomServer.vue?14e7","webpack:///./src/components/TypingUsersList.vue?79fc","webpack:///./src/components/ControlInput.vue?7f8f","webpack:///./src/components/AwayStatusIndicator.vue?a3e7","webpack:///./src/components/ContainerHeader.vue?64d0","webpack:///./src/thirdparty/about.html","webpack:///./src/components/ServerView.vue?9642","webpack:///./src/components/startups/Welcome.vue?f844","webpack:///./src/components/StateBrowser.vue?08b7","webpack:///./src/components/inputtools/TextStyle.vue?8108","webpack:///./src/components/UserBox.vue?6a29","webpack:///./src/components/SettingsAdvanced.vue?5c86","webpack:///./src/components/LoadingAnimation.vue?bc88","webpack:///./src/components/utils/IrcInput.vue?2711","webpack:///./src/components/AwayStatusIndicator.vue?c490","webpack:///./src/components/NetworkSettings.vue?b367","webpack:///./src/components/BufferKey.vue?b621","webpack:///./src/components/SelfUser.vue?d5d2","webpack:///./src/components/ChannelBanlist.vue?2ec2","webpack:///./src/components/Sidebar.vue?274a","webpack:///./src/components/startups/Welcome.vue?410d","webpack:///./src/components/Avatar.vue?21c4","webpack:///./src/libs/AudioManager.js","webpack:///./src/components/inputtools/Emoji.vue?c1e1","webpack:///./src/libs/InputHandler.js","webpack:///./src/components/TypingStatusIndicator.vue","webpack:///./src/components/AppSettings.vue?5d41","webpack:///./src/libs/MessageParser.js","webpack:///./src/components/ChannelInvitelist.vue?2bef","webpack:///./src/components/Sidebar.vue?f2eb","webpack:///./src/components/Captcha.vue","webpack:///./src/components/Container.vue?71da","webpack:///./src/components/MessageListMessageCompact.vue?e34c","webpack:///./src/components/Sidebar.vue?44fc","webpack:///./src/components/SettingsAliases.vue?dc98","webpack:///./src/components/UserBox.vue?1ed9","webpack:///./src/components/StateBrowserBuffer.vue?f53b","webpack:///./src/components/StateBrowserNetwork.vue?7863","webpack:///./src/components/BufferSettings.vue?76c7","webpack:///./src/components/BufferSettings.vue?0382","webpack:///./src/libs/TypingMiddleware.js","webpack:///./src/components/BufferKey.vue?8aa2","webpack:///./src/components/NotConnected.vue?e36a","webpack:///./src/components/SettingsAliases.vue?0520","webpack:///./src/components/ContainerHeader.vue?087a","webpack:///./src/components/Captcha.vue?3831","webpack:///./src/components/utils/InputText.vue?3821","webpack:///./src/components/inputtools/Emoji.vue?6055","webpack:///./src/libs/state.js","webpack:///./src/components/StartupError.vue?3dd3","webpack:///./src/components/ChannelInvitelist.vue?18e7","webpack:///./src/components/StateBrowserUsermenu.vue?698d","webpack:///./src/components/App.vue?10ef","webpack:///./src/components/startups/CommonLayout.vue?e37b","webpack:///./src/components/StateBrowserUsermenu.vue?c34c","webpack:///./src/components/AutoComplete.vue?9406","webpack:///./src/components/startups/Personal.vue?2d70","webpack:///./src/components/NicklistUser.vue?b449","webpack:///./src/components/ContainerHeader.vue?0714","webpack:///./src/libs/ServerConnection.js","webpack:///./src/components/MessageListAvatar.vue?9d90","webpack:///./src/components/BufferSettings.vue?a8ea","webpack:///./src/components/Nicklist.vue?fe55","webpack:///./src/components/StateBrowserNetwork.vue?3a5e"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","component","_Object$defineProperty","_interopRequireDefault","requestPermission","show","listenForNewMessages","_setTimeout2","_bind","_assign","_lodash","isEnabled","state","Notification","permission","$emit","title","body","opts","_context","notify","icon","ttl","default","close","throttledShow","throttle","$on","message","_opts","onclick","notification","_kiwi_exports","libs","Notifications","Element","matches","msMatchesSelector","webkitMatchesSelector","closest","el","this","parentElement","parentNode","nodeType","_concat","defaultLogger","makeLogger","_default","label","rootLogger","logger","info","arguments","logLevel","compareLevel","level","LEVEL_DEBUG","LEVEL_INFO","LEVEL_ERROR","debug","_window$console","_len","args","Array","_key","concat","console","log","_window$console2","_context2","_len2","_key2","error","_window$console3","_context3","_len3","_key3","assert","condition","_context4","_len4","_key4","setLevel","newLevel","namespace","newLabel","_context5","Logger","_typeof","_WeakMap","_Object$getOwnPropertyDescriptor","_create","_indexOf","_setImmediate2","_classCallCheck2","_createClass2","_vue","_common","IrcClient","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","cacheBabelInterop","cacheNodeInterop","obj","cache","has","newObj","hasPropertyDescriptor","desc","set","NetworkState","id","appState","userDict","bufferDict","_this","editable_name","state_error","last_error","auto_commands","is_znc","is_bnc","hidden","channel_list","channel_list_state","ircd","connection","server","port","tls","path","password","direct","encoding","bncnetid","nick","settings","show_raw_caps","username","gecos","away","observable","def","newVal","$set","networks","frameworkClient","_this$ircClient","ircClient","connect","getBufferByName","val","input","chanPrefixes","network","supports","tabName","_this2","setActiveBuffer","serverBuffer","buffers","getBuffersWithUser","buffer","isUserAnOp","user","getUser","hasWhois","operator","methods","props","avatar","firstNickLetter","hasAvatar","small","large","isDefault","colour","avatarStyle","style","url","size","getColour","String","components","Avatar","render","_vm","_h","$createElement","_c","_self","ref","staticClass","scopedSlots","_u","fn","staticStyle","proxy","on","$event","preventDefault","formSubmit","domProps","_s","greetingText","_v","readableStateError","_e","attrs","$t","model","callback","$$v","expression","znc_network","readyToStart","buttonText","staticRenderFns","parse","createNewBlock","_forEach","_keys","_parseInt2","tokens","inp","block","blocks","openTokens","pos","len","tok","findTokenAtPosition","extras","extra","content","containsContent","newBlock","styles","newPos","token","substr","undefined","type","meta","prevBlock","openToks","underline","bold","remainingText","nextPos","italic","quote","str","endPos","k","colours","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","colourMatchRegexp","match","exec","fgColour","bgColour","color","background","MessageFormatter","display","prompt","_t","complete","directives","rawName","indexOf","_k","keyCode","cancel","target","composing","hideCancel","_GlobalApi","_MessageList","_NetworkSettings","_ChannelList","MessageList","NetworkSettings","ChannelList","pluginUiElements","singleton","serverViewPlugins","computed","hasMessages","getMessages","restrictedServer","$state","setting","networkConnected","watch","$nextTick","$refs","tabs","a","created","listen","showTab","setActiveByName","tabChanged","show_input","ServerView","stopPropagation","mentioned_urls","_l","urlPreview","class","requestingInput","openQuery","areWeAnOp","isSelf","onKick","onBan","Vue","plainTextEnabled","inputIdCache","inputId","Math","floor","random","toString","currentValue","updateValue","newValue","isEdgeBrowser","navigator","appVersion","utils","InputText","nicklist","userMode","ignore","toLowerCase","openUserbox","shouldShowAvatars","injections","tag","AwayStatusIndicator","userModePrefix","userColour","TypingStatusIndicator","showPlainText","isArray","_i","$$a","$$el","$$c","checked","$$i","_q","$slots","_trim","_find","_now","createdInstance","ThemeManager","listenForIrcEvents","varsEl","varName","document","querySelector","getComputedStyle","v","getPropertyValue","themes","currentThemeName","theme","isMatch","theTheme","availableThemes","currentTheme","replace","instance","event","ctcpType","reload","parts","split","qs","connoteCss","yes","no","hex2rgb","rgb2hex","rgb2hsl","hsl2rgb","rgb2rgbString","_map","_slice","_hex","shorthandRegex","hex","g","b","rgb","join","max","min","h","hsl","hue2rgb","_p","q","round","helpers","Colours","_splice","_filter","_flags","_reduce","_some","_includes","_batchedAdd","bufferTools","nextBufferId","BufferState","networkid","messageDict","topics","joined","enabled","created_at","users","modes","flags","unread","has_opened","channel_badkey","chathistory_available","requested_modes","requested_banlist","is_requesting_chathistory","last_read","active_timeout","message_count","current_input","input_history","input_history_pos","latest_messages","chathistory_request_count","messagesObj","messages","messageIds","onNetworkConnecting","getNetwork","onNetworkMotd","isQuery","requestLatestScrollback","onBufferClose","$off","onNetworkConnectingBound","onBufferCloseBound","onNetworkMotdBound","createMessageBatch","createUserBatch","isChannel","maybeStartWhoLoop","chathistory","isSupported","bufMessages","startTime","endTime","server_time","ircNetwork","options","CHANTYPES","isSpecial","isServer","userBufferInfo","opModes","hasOp","netPrefixes","PREFIX","prefix","symbol","newName","oldName","setActive","getActiveBuffer","bufferMessages","_direction","direction","time","chathistoryFuncName","lastMessage","earliest","current","ignoreTypes","validType","Date","Error","firstMessage","latest","flag","existingMessageIds","then","hasNewMessages","commands","msg","tags","msgid","finally","_this3","before","delayed","clearTimeout","_context6","markAsRead","allowedUpdate","bnc","bufferSeen","flagName","addUserBatch","nickLower","_context7","hasMode","currentUser","userObj","pull","queue","$delete","_context8","_this4","each","addMessageBatch","_context9","_this5","isNewer","instance_num","unshift","newMessage","addMessage","fnNames","privmsg","action","notice","fnName","reason","part","networkState","historySupport","messagesInBatchQueue","getLoadingState","bufferState","addSingleUser","u","addMultipleUsers","clone","addSingleMessage","updateLatestMessages","isMessageTrimming","trimMessages","orderedMessages","inPlace","noFilter","addMultipleMessages","newMessages","_context10","toAdd","scrollbackSize","_context11","removed","nextLoop","on001","command","eventNetwork","updateWhoStatusLoop","bufferByName","whoLoop","isJoined","hasAwayNotify","cap","who","_state","toggleSelfAway","isUserSelf","isAway","raw","toggle","shouldShowStatus","awayNotifyEnabled","Boolean","bouncerMiddleware","_promise","_ircFramework","Misc","client","rawEvents","parsedEvents","requestCap","addFunctionsToClient","use","theMiddleware","rawLine","next","params","command_handler","emit","MessageTags","decode","networkId","host","connected","currentNick","account","account_password","netId","detectedBuffers","_netId","_tags","topic","seen","netName","eventObj","_netId2","_netName","_eventObj","hasNetwork","getNetworks","resolve","reject","once","getBuffers","closeBuffer","bufferName","seenTime","timeStr","dateIso","addNetwork","tagString","createTagString","onOk","off","onError","removeNetwork","saveNetwork","tagParts","BouncerMiddleware","text","eCode","location","onImgClick","connecting","shouldShowLoading","reconnect","channel","showNetworkSettings","closing","backgroundStyle","startupOptions","infoBackground","backgroundImage","infoContent","startApp","$el","removeEventListener","persistence","watchStateForChanges","$parent","addEventListener","startups","CommonLayout","stateBrowserDrawOpen","ui","is_touch","emitDocumentClick","emitBufferPaste","themeUrl","hasStarted","fallbackComponent","startupComponent","startUp","sidebarState","activeComponent","mediaviewerUrl","mediaviewerComponent","mediaviewerComponentProps","mediaviewerIframe","source","_b","activeComponentProps","fallbackComponentProps","_regenerator","_asyncToGenerator2","TextFormatting","_about","firstRun","ctor","about_open","aboutContent","showServerBuffer","toggleStateBrowser","init","mark","_callee","wrap","prev","constructor","stop","_created","_callee2","getStartups","kiwiirccom","thirdparty","modifiers","showPrevTopics","topicText","idx","trim","modeM","modeI","modeT","modeN","modeK","_setInterval2","WindowTitle","windowTitle","alert","updateTitle","$watch","alertTmr","stopAlert","enable","startAlert","clearInterval","newTitle","_AwayStatusIndicator","_Avatar","is_usermenu_open","networkName","isConnected","clickForget","confirmed","confirm","forgetState","StateBrowserUsermenu","AliasRewriter","recursiveDepth","depth","aliases","line","spaceSep","substring","actions","vars","aliasLen","words","alias","currentAliasWord","currentAliasWordLen","processedConditionals","compiled","checkVar","num","firstWord","processInput","process","_MediaViewer","_MessageInfo","displayNick","suffix","ml","inject","MessageInfo","MediaViewer","Number","_sort","_Html","_MessageParser","pluginUiSections","aboutBufferPlugins","closedSections","formattedTopic","highlights","isHighlight","html","toggleSection","section","SidebarAboutBuffer","StartupError","_construct","_toConsumableArray2","_inherits2","_possibleConstructorReturn2","_getPrototypeOf2","_eventemitter","_json","_compareVersions","_Logger","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","NewTarget","Reflect","sham","Proxy","valueOf","e","singletonInstance","pluginsToInit","nextPluginId","GlobalApi","_EventEmitter","_super","version","JSON5","controlInputPlugins","stateBrowserPlugins","channelHeaderPlugins","queryHeaderPlugins","sideBarPlugins","appSettingsPlugins","isReady","initPlugins","pluginName","plugin","initPlugin","pluginLogger","err","stack","modPath","mod","stateEmit","thisEmit","themeManager","element","extend","tab","dest","require","replaceObjectProps","_CommonLayout","StartupLayout","loading","statusMessage","greeting","_startUp","bncnet","cleanUpEvents","onRegistered","onClose","getBncNetwork","_ref","bncNetworks","sent","t0","addNetworkToState","monitorNetworkChanges","layout","active","net","bncname","newBuffer","addBuffer","getTime","bncNet","existingNets","rememberNetworks","saveState","bncName","debouncedSaveState","debounce","deep","networkFromBnc","currentNum","existingNet","KiwiBnc","network_extras","showNetwork","showPass","showUser","show_password_box","hash","autoConnect","networkErrorMessage","netList","compact","onClosed","extraNet","ZncLogin","_strftime","_BufferKey","_MessageListMessageCompact","_MessageListMessageModern","_MessageListMessageInline","_LoadingAnimation","BOTTOM_SCROLL_MARGIN","BufferKey","MessageListMessageModern","MessageListMessageCompact","MessageListMessageInline","LoadingAnimation","smooth_scroll","auto_scroll","force_smooth_scroll","chathistoryAvailable","hover_nick","message_info_open","timeToClose","startClosing","selectedMessages","thisMl","listType","useExtraFormatting","shouldShowChathistoryTools","isCorrectBufferType","shouldRequestChannelKey","ourNick","filteredMessagesGroupedDay","days","lastDay","filteredMessages","day","dayNum","shouldShowJoiningLoader","checkScrollingState","maybeScrollToBottom","oldBuffer","scrollToBottom","mounted","addCopyListeners","opt","maybeScrollToId","isHoveringOverMessage","toggleMessageInfo","canShowInfoForMessage","sel","getSelection","rangeCount","range","getRangeAt","collapsed","shouldShowUnreadMarker","previous","lastRead","shouldShowDateChangeMarker","getDay","showInfoForTypes","bufferSetting","formatTime","formatTimeFull","format","toLocaleString","formatMessage","toHtml","isMessageHighlight","openUserBox","onListClick","onMessageDblClick","messageClickTmr","dataNick","getAttribute","userByName","onMessageClick","delay","isLink","tagName","channelName","userNick","embed","payload","nodeName","scrolledUpByPx","scrollHeight","offsetHeight","scrollTop","onListResize","messageElement","offsetTop","getSelectedMessages","messageEls","querySelectorAll","selectedMessageEls","intersectsNode","restrictTextSelection","classList","add","userSelect","unrestrictTextSelection","remove","removeSelections","removeNative","selection","removeAllRanges","LogFormatter","toLocaleTimeString","hour","minute","second","copyData","selecting","selectionChangeOff","contains","onSelectionChange","anchorNode","className","selectedMesssageEls","dataset","messageId","clipboard","writeText","createElement","appendChild","innerHTML","select","execCommand","removeChild","openEmbedInPreview","MessageListAvatar","clickAppSettings","keys","provided_networks","show_provided_networks","pNets","pNetTypeName","pNet","connectProvidedNetwork","isRestrictedServer","clickAddNetwork","presetServer","usePreset","presetNetworks","$$selectedVal","filter","selected","map","_value","multiple","toUri","showCustom","toggleTls","noprompt","focus","InputPrompt","ipRegex","IrcdDiffs","whoisRequested","whoisLoading","availableChannelModes","availableModes","prefixes","knownPrefix","isAChannelModeAdmin","isQChannelModeOwner","supportsHalfOp","description","realname","formattedRealname","isUserOnBuffer","oldVal","changes","targets","userChannels","channels","linkifyChannels","userModeOnThisBuffer","is_narrow","onChannelsClick","updateWhoisData","whois","kickUser","createBanMask","extban","extbanAccount","ipTest","RegExp","v4","v6","test","hexTest","_match","mask","banUser","banMask","kickbanUser","UserBox","batchedAdd","singleFn","batchedFn","numInsertsSec","inTick","numInLastSec","queueLoopTmr","loopInterval","checkSecRateTmr","queueLoop","maybeStartLoop","resetAddCounter","batchFn","item","embedlyTagIncluded","debouncedUpdateEmbed","updateEmbed","checkEmbedlyAndShowCard","embedly","embedlyLink","showPin","maxHeight","head","getElementsByTagName","script","embedlyUrl","getSetting","src","UrlEmbed","selfuser_open","has_focus","toggleSelfUser","submitForm","maybeHidePlugins","autocomplete_items","autocomplete_filter","onAutocompleteTemp","onAutocompleteSelected","onAutocompleteCancel","inputUpdate","inputKeyDown","inputKeyUp","closeInputTool","showPlugins","onToolClickTextStyle","onToolClickEmoji","controlinput","self","active_tool","active_tool_props","_m","_BufferSettings","_ChannelInfo","_ChannelBanlist","BufferSettings","ChannelInfo","ChannelBanlist","pluginUiChannelElements","pluginUiQueryElements","prompts","closeChannel","sidebarSection","userOnline","showPrompt","onConnectButtonClick","toggleUser","joinCurrentBuffer","closeCurrentBuffer","removeBuffer","onHeaderClick","ContainerHeader","updateBanlist","banlist","ban","banned","banned_by","banned_at","toDateString","removeBan","_BouncerProvider","_IPC","hasOtherTab","addedNetworkToExisting","readyToShowOptions","hasFragment","parseFragment","findOtherTabs","listenForOtherTabs","send","addEmptyNetwork","abrupt","handleIPCMessage","timer","removeListener","addNetworkToExistingTab","con","temporary","storageKey","getNetworkFromAddress","fragment","uriCheck","decodeURIComponent","connections","parseIrcUri","persistSetting","controllerNet","bouncer","remember_buffers","includeBuffers","setSetting","Personal","_typeof3","_typeof2","_setInterval3","_setTimeout3","_symbol","_i18next","_i18nextXhrBackend","_vueI18next","_vueVirtualScroller","_available","_enUs","_App","_StartupError","_ConfigLoader","_ThemeManager","_InputHandler","_StatePersistence","Storage","_AudioManager","_SoundBleep","_WindowTitle","_configTemplates","logLevelMatch","href","api","kiwi","getQueryVariable","variable","query","search","pair","mixin","beforeDestroy","listeningEvents","listenOnce","_fn","onceFn","$once","timerEvents","tmr","setInterval","_setInterval","setTimeout","_setTimeout","directive","binding","rawEl","bindings","inserted","ROSymbol","loadApp","configFile","configObj","kiwiConfig","showError","configContents","parseErr","configLoader","addValueReplacement","protocol","hostname","referrer","loadFromObj","loadFromUrl","applyConfig","initState","initInputCommands","initLocales","initThemes","loadPlugins","initSound","catch","config","dedotObject","configTemplates","template","applyConfigObj","plugins","pluginIdx","loadNextScript","sSrc","fOnload","scr","onerror","onload","fetch","response","pluginRaw","scripts","limitedScr","i18n","whitelist","locales","fallbackLng","lowerCaseLng","backend","loadPath","crossDomain","withCredentials","interpolation","escapeValue","addResourceBundle","$i18n","i18next","i18nLoadedAt","lng","setDefaultLanguage","defaultLang","preferredLangs","languages","changeLanguage","lang","_initState","stateKey","persistLog","persist","state_key","loadStateIfExists","setState","themeMgr","setThemeManager","argTheme","setTheme","sound","SoundBleep","bleep","AudioManager","watchForMessages","cb","ResizeObserver","observe","unbind","unobserve","useMonospace","language","restricted","startupScreen","kiwiServer","warnOnExit","quitMessage","messageLayout","alert_on","timestamp_format","timestamp_full_format","show_timestamps","scrollback_size","show_hostnames","show_joinparts","show_topics","show_nick_changes","show_mode_changes","show_presence_changes","traffic_as_activity","coloured_nicklist","colour_nicknames_in_messages","block_pms","show_emoticons","extra_formatting","mute_sound","hide_message_counts","show_realnames","default_ban_mask","default_kick_reason","shared_input","show_message_info","who_loop","share_typing","flash_title","nicklist_avatars","show_link_previews","inline_link_auto_previews","inline_link_auto_preview_whitelist","show_buffer_groups","nick_format","autoReconnect","disconnectOnSaslFail","allowRegisterProtocolHandler","noticeActiveBuffer","nicklistGroupAway","showChanlistModes","showAutocomplete","showEmojiPicker","showColorPicker","showSendButton","showAwayStatusIndicators","sidebarDefault","showRaw","useBufferHistory","hideSettings","teamHighlights","Key","emojis","emojiLocation","textFormats","user_full","channel_join","channel_part","channel_quit","channel_kicked","channel_selfkick","channel_badpassword","channel_topic","channel_banned","channel_inviteonly","channel_alreadyin","channel_limitreached","channel_invalid_name","channel_topic_setby","channel_has_been_invited","server_connecting","server_connecting_error","selfmode","nickname_alreadyinuse","network_disconnected","network_connected","whois_channels","whois_idle_and_signon","whois_away","whois_server","whois_idle","whois_notfound","nick_changed","applet_notfound","encoding_changed","encoding_invalid","settings_saved","ignore_title","ignore_none","ignore_nick","ignore_stop_notice","ignore_stopped","chanop_privs_needed","no_such_nick","unknown_command","motd","ctcp_response","ctcp_request","whois_ident","whois_error","whowas_ident","whowas_server","whowas_error","quit","rejoin","set_setting","list_aliases","ignored_pattern","wallops","message_nick","general_error","irc","team","_isNan","_url","_Captcha","_ServerSelector","ServerSelector","Captcha","server_type","znc_username","znc_password","show_advanced","switch_tabs_on_connect","network_list","settingShowRaw","directWs","addr","setZncPass","isZnc","newPass","isActiveBuffer","awayNotifySupported","showMessageCounts","highlight","_default2","networkList","willEmit","parsePresetServer","importUris","serverList","servers","createNickColour","toInt","hexVal","mapRange","formatAndT","formatUser","formatUserFull","formatText","formatDuration","formatNumber","channelRegex","urlRegex","_parseFloat2","murmurhash3","word","mLead","mPrefix","mChannel","mSuffix","chan","escape","lead","link","themeMngr","nickNum","x86","hash32","bucketSize","themeVar","hueOffset","abs","int","index","vMin","vMax","dMin","dMax","vValue","vRange","dRange","formatId","formatParams","localeId","localeParams","fNick","fUsername","fHost","ident","ret","timeSeconds","seconds","weeks","hours","minutes","tmp","count","settingAlertOn","settingMuteSound","settingHideMessageCount","_Object$defineProperty2","_Object$getOwnPropertyDescriptor2","_slicedToArray2","_defineProperty2","_entries","_getOwnPropertySymbols","_getOwnPropertyDescriptor","_getOwnPropertyDescriptors","_defineProperties","_defineProperty3","_TypingMiddleware","_ChathistoryMiddleware","ServerConnection","ownKeys","enumerableOnly","symbols","sym","_objectSpread","_context27","_context28","Client","enable_chghost","enable_setname","message_max_length","clientMiddleware","originalIrcClientConnect","auto_reconnect","configOptions","transport","createChannelConstructor","originalIrcClientRaw","Message","rawString","ircLineParser","handled","getOrAddBufferByName","from_server","typingStatus","status","isRegistered","parsedEventsHandler","rawEventsHandler","last_error_numeric","clearUsers","param","end","ircEventObj","eventTime","timeToLocal","serverTime","from","redirect_to","to","addUser","numConnects","targetNick","_buffer","containsNick","isChannelMessage","isChannelName","channelBuffer","_buffer2","clearMessageRange","isPrivateMessage","batch","existingBuffer","activeBuffer","hasActiveBuffer","PM_BLOCK_BLOCKED","PM_BLOCK_REQUIRES_CHECK","pmBlock","isNickExemptFromPmBlocks","blockNewPms","_buffer3","textFormatType","messageBody","_message","awaitingWhois","pendingPms","whoisData","pm","_buffer4","_messageBody","rename","_buffer5","addUserToBuffer","_messageBody2","type_extra","_buffer6","removeUserFromBuffer","kicked","_messageBody3","chanop","_buffer7","remainingBuffers","removeUser","_nick","_messageBody4","_buffer8","real_name","prop","_buffer9","_buffer10","usersTransaction","_context12","eventUser","_context13","channel_modes","channel_list_cache","_context14","filteredEvent","_buffer11","_messageBody5","registered","_context15","newNick","rand","_messageBody6","newnick","changeNick","_buffer12","new_nick","changeUserNick","_messageBody7","_buffers","_context16","_context17","_buffer13","hadExistingUsers","addMultipleUsersToBuffer","correctBuffer","_context18","_ref2","paramName","_buffer14","_context19","modeStrs","adding","modeChar","tFormat","timeCreated","_buffer15","_modeStrs","_context20","_user","modeIdx","_adding","modeLocaleIds","modeLocaleDataBuilders","builders","localeDataFn","localeData","localeKey","_context21","modeslines","_context22","_context23","_serverBuffer","_buffer16","bans","banText","_context24","_context25","dateStr","_context26","_buffer17","_messageBody8","_buffer18","help","_buffer19","textFormatId","_messageBody9","ctcpResponse","_messageBody10","_buffer20","_buffer21","_messageBody11","res","autocompleteCommands","_stringify","StatePersistence","storage","isPersisting","watcher","_loadStateIfExists","storedState","importState","exportState","watchVals","buffersVals","_forgetState","resetState","recaptchaUrl","recaptchaSiteId","recaptchaResponse","showCaptcha","loadRecaptcha","recaptchaLoaded","grecaptcha","captchacontainer","sitekey","recaptchaSuccess","recaptchaExpired","defer","placeholder","updateValueProps","onTextInput","onPaste","onFocus","currentTarget","requestScrollback","filter_visible","toggleUserFilter","sortedUsers","onFilterBlur","user_filter","list","isLoading","maybeUpdateList","prevPage","page","maxPages","nextPage","noResults","last_updated","num_users","joinChannel","formatAndTrimTopic","_localesList","_SettingsAliases","_SettingsAdvanced","bindSetting","settingName","SettingsAliases","SettingsAdvanced","customThemeUrl","localesList","themeSupportsMonospace","canRegisterProtocolHandler","registerProtocolHandler","timestamps_24h","newFormat","settingShowAutoComplete","settingUseMonospace","settingHighlights","settingBufferColourNicknames","settingBufferShowTimestamps","settingBufferShowEmoticons","settingBufferBlockPms","settingBufferScrollbackSize","settingBufferExtraFormatting","settingBufferTrafficAsActivity","settingBufferMuteSound","settingBufferShareTyping","settingBufferInlineLinkPreviews","settingDefaultBanMask","settingDefaultKickReason","settingAdvancedEnable","show_advanced_tab","settingLanguage","messageLayouts","traditional","modern","inline","settingMessageLayout","invert","listenForThemeSettings","closeSettings","refreshTheme","watches","updateFn","watchTheme","watchCustomThemeUrl","setCustomThemeUrl","teardownFn","unwatchFn","enableAdvancedTab","makeDefaultProtocolHandler","origin","pathname","AppSettings","supportedCached","localStorage","getItem","setItem","storageAvailable","x","removeItem","DOMException","code","logo","Y","fontSize","font","animationFrame","destroying","getContext","tmpText","width","height","draw","cancelAnimationFrame","clearRect","globalCompositeOperation","drawImage","fillStyle","fillText","globalAlpha","requestAnimationFrame","ircdType","notSupported","notAdmin","notOwner","_obj","$options","flipConnotation","InputConfirm","_xhr","ConfigLoader","valReplacements","configUrl","errMsg","m1","m2","setConfig","confObj","walkObject","_val","insertReplacements","out","items_","selected_idx","filteredItems","filterVal","items","localeCompare","filteredAndLimitedItems","itemIdx","numItems","idxFrom","idxTo","isInRange","selectedItem","getBoundingClientRect","tempCurrentItem","handleOnKeyDown","cancelKeyCodes","selectCurrentItem","shiftKey","altKey","AutoComplete","_lastIndexOf","errorMessage","showChannel","toggablePass","showNick","connectWithoutChannel","captchaReady","footerText","footer","isNickValid","nickPatternStr","nickPattern","pattern","escapeRegExp","ready","bufferObjs","extractBuffers","bufferObj","connectOptions","previousNet","queryStringVal","processNickRandomNumber","showPassword","toggablePassword","allowNoChannel","direct_path","onAltClose","altComponent","netAddress","clearMessages","hasSwitchedActiveBuffer","handleCaptcha","connectionInfoFromConfig","Welcome","znc_network_support","show_type_switcher","is_connecting","saveThisSessionsState","applyDefaults","hasSetActiveBuffer","infoClick","CustomServer","_reverse","sidebarOpen","page_size","listState","filteredList","found","sortBy","paginated","offset","canGoForward","canGoBackward","rawTopic","showModes","_values","_TypingStatusIndicator","getActiveNetwork","typingUsers","myNick","TypingUsersList","isOpen","settingShowJoinParts","settingShowTopics","settingShowNickChanges","settingShowModeChanges","settingExtraFormatting","settingColouredNicklist","settingShareTyping","accessTab","sidebarUser","error_message","self_user_settings_open","modeString","netUser","awayStatus","openSelfActions","openProfile","closeSelfUser","onNewNickSubmit","userNameCancel","networkSupportsAway","checkUserAway","getUserFromString","SelfUser","extractURL","stripStyles","mentionsNick","matchUri","parseIntZero","_TextFormatting","strftimeUTC","timezone","spaceIdx","bufferNames","punc","escapedNick","stylesStrippedInput","_name","regex","results","errs","err_unknown_host","err_forbidden","err_timeout","err_refused","err_tls","err_proxy","wsUri","websocket","uri","reg","connectionString","_channelName","hasPrefix","pipePos","colonPos","_place","place","ourPlace","date","_eventEmitter","NetworkProvider","providers","provider","availableNetworks","pType","_assertThisInitialized2","IpcBroadcastChannel","bc","BroadcastChannel","onmessage","postMessage","IpcLocalStorage","_EventEmitter2","_super2","parsedMsg","JSON","IPC","_StateBrowserBuffer","Buffer","channel_filter","channel_filter_display","channel_add_display","channel_add_input_has_focus","channel_add_input","show_channels","show_queries","isActiveNetwork","totalNetworkCount","serverUnread","totalUnread","serverHighlight","filteredBuffers","filtered","orderBuffers","filteredBuffersByType","other","queries","channelActivity","activityFromBuffers","queryActivity","showBufferGroups","onNewChannelInputFocus","onNewChannelInputBlur","submitNewChannelForm","newChannelVal","chanName","ignoreNames","onChannelFilterInputBlur","closeFilterChannel","showNetworkChannels","onSearchChannelClick","toggleFilterChannel","toggleAddChannel","StateBrowserNetwork","promptedReason","defaultReason","isDrawn","unreadMessages","header","prefixID","$children","setActiveCheck","getActive","foundChild","child","TabbedView","onColourClick","rgbObj","ircinput","setColour","onResetClick","resetStyles","inputtools","TextStyle","getNextBuffer","getPreviousBuffer","_findIndex","order","messageTypesToShowSetting","traffic","presence","hiddenMessageTypes","getBufferFromDirection","ordered","getNetworkFromDirection","inviteListSorter","aMask","invited","toUpperCase","bMask","inviteList","is_refreshing","supportsAccounts","inviteListAccounts","accounts","inviteListNonAccounts","invites","channelIsInviteOnly","anyRegisteredUserCanJoin","invite","knownAccounts","inviteAccountNames","accountUsers","orderBy","updateInvitelist","displayMask","inviteEvent","removeInvite","addAccountInvite","accountName","addInvite","setInviteOnly","removeInviteOnly","renderEmoticons","showEmoticons","retHtml","classes","linkifyUrl","addHandle","handleClass","linkifyUser","linkifyChannel","addEmoji","buildSpan","nice","cssClass","handleContent","escaped","isSingle","emoji","renderers","Html","buildTree","ignoreKeys","base","modified","ourBase","settingTools","forceLoader","netStatus","maybeForceLoader","minimumLoaderViewtime","NotConnected","filterString","filteredSettings","resetValue","settingKey","updateSetting","about","when","Intl","DateTimeFormat","showNicklist","scrollToMessage","chathistoryMiddleware","batchCallbacks","history","messageReference","callbacks","cbs","targetCallbacks","dateOrTime","after","around","between","fromDateOrTime","toDateOrTime","fromRef","toRef","ChathistoryMiddleware","server_info","_UrlEmbed","iframeSandboxOptions","isIframe","setMaxHeight","setHeight","newHeight","componentProps","_NicklistUser","intlCollator","strCompare","compare","global","Collator","numeric","NicklistUser","userbox_user","prefixOrders","nickMap","bufferUsers","nickFilter","lowercaseNick","bufferId","bufferA","bufferB","_msg","modesA","modesB","aP","bP","useColouredNicks","Nicklist","UserState","typingState","_target","typing","started","timeout","delete","timeoutLen","itemBuffers","_BouncerMiddleware","BouncerProvider","controllerNetwork","rewriteConnections","networksSnapshot","monitoringChanges","onNetworkState","onBouncerNetworks","_bncNetwork$connectio","bncNetwork","_this$parseBncCredent","parseBncCredentials","_this$parseBncCredent2","listenToState","_onNetworkMotd","_this$parseBncCredent3","_this$parseBncCredent4","netid","syncBncNetwork","initAndAddNetworks","_x","_x2","isController","getController","effectedNetwork","getNetworkFromBncNetId","_initAndAddNetworks","_x3","isNetworkInBncList","_net","_syncBncNetwork","_callee3","clientBuffer","existingBuffers","bncBuffer","_x4","_addNetworkToState","_callee4","_x5","server_password","controller","snapshot","networkInfo","snapshotCurrentNetworks","netname","tryNetworkName","bncNetworkPassword","_bncNetworkPassword$s","_bncNetworkPassword$s2","app_width","hasNick","showBufferSettings","showAbout","toggleNicklist","toggleBufferSettings","toggleAbout","SidebarState","_defineProperty","nextId","writable","extractMessageId","bodyTemplate","messageList","hasRendered","toBlocks","userList","maybeAutoEmbed","showLinkPreviews","whitelistRegex","isRepeat","isMessage","displayAvatar","MessageAvatar","showRealName","banEvent","unban","canSet","definition","audio","canPlayType","play","show_help","aliasText","_MessageListAvatar","prevMessage","types","generateComputedMode","modeVal","setMode","generateComputedModeWithParam","newTopic","setTopic","prevTopics","updateBanList","_ContainerHeader","_Sidebar","_NotConnected","_ServerView","Sidebar","bufferType","ev","scrollDistance","clientHeight","scrollMax","toggleSidebar","Container","_autocompleteCommands","_AutoComplete","_TextStyle","_Emoji","_SelfUser","_TypingUsersList","autocomplete_open","autocomplete_filtering","current_input_value","activeNetwork","shouldShowSendButton","shouldShowEmojiPicker","shouldShowColorPicker","shouldShowInputButtons","history_pos","setValue","inputRestore","typingTimer","lastTypingTime","ctrlKey","metaKey","arrowKeyCodes","elements","doNotRefocus","insertText","toolComponent","toggleInputTool","currentInput","reset","selectionToEnd","tool","toggleBold","toggleItalic","toggleUnderline","selectedValue","setCurrentWord","autocomplete","currentWord","getCurrentWord","emojiList","addImg","historyBack","historyForward","_currentWord","currentToken","position","inputText","getRawText","buildAutoCompleteItems","openAutoComplete","inputVal","startTyping","stopTyping","rawInput","getValue","ircText","buildIrcText","bufferList","commandList","settingList","shouldShareTyping","start","sendStopPause","pause","ControlInput","_NetworkProvider","_StateBrowserNetwork","_StateBrowserUsermenu","_AppSettings","netProv","isPersistingState","networksToShow","hideStatebrowser","StateBrowser","blur","htmlparser","last_known_value","text_value","current_el","current_el_pos","default_colour","code_map","editor","clipboardData","ignoreThisPaste","clpData","ig","getData","clpText","deleteContents","insertNode","createTextNode","anchorOffset","maybeEmitInput","lastChild","currentHtml","textValue","toggles","addToggle","getToggles","parser","Parser","onopentag","attribs","codeLookup","mappedCode","_mappedCode","ontext","onclosetag","pop","decodeEntities","write","rawHtml","br","existingImages","newImg","images","img","prevElCnt","previousSibling","keepPosition","textContent","startVal","space","startPos","endVal","createRange","setStart","setEnd","addRange","innerText","IrcInput","lastPlayed","shouldBleep","inFocus","app_has_focus","available","ascii","Emoji","_trimEnd","_AliasRewriter","inputCommands","InputHandler","aliasRewriter","importFromString","listenForInput","context","TypeError","defaultContext","lines","processLine","validateContext","stylesStrippedLine","escapedCommand","aliasVars","destination","handleMessage","localBuffer","extractedTarget","extractTargetGroup","subLine","dice","sides","rndNumber","number","ctcp","_network$ircClient","ctcpRequest","lineParts","kick","toKick","kickReason","toIgnore","unignore","toUnignore","back","_this6","formats","registered_nick","secure","idle","certfp","logon","actual_ip","actual_hostname","idleSeconds","logonTime","logonDate","whowas","_this7","whowasData","names","addReadBuffer","clear","echo","spacePos","serverAddr","serverPort","serverTls","serverPassword","beep","_trimInstanceProperty","parseMessage","_startsWith","_MessageFormatter","formatOpts","formatedBlocks","acc","processBlock","wordMatch","wordsRegex","specialMatches","matchChannel","matchUrl","matchUser","matchEmoji","mergeMatches","channelMatch","urlMatch","punctuation","urlText","matchText","hasProp","nickIdx","trimWord","normWord","resultBlocks","lastProcessedIndex","specialMatch","beforeMatchContent","MessageParser","addInviteList","addInviteText","invited_by","invited_at","_SidebarState","_UserBox","_SidebarAboutBuffer","_ChannelInvitelist","_Nicklist","ChannelInvitelist","active_network","active_buffer","typingMiddleware","activeTyping","lastSentStatus","TypingMiddleware","_NetworkState","_BufferState","_UserState","_Message","createNewState","stateObj","user_settings","sessionId","last_active_buffers","app_height","favicon_counter","availableStartups","toExport","networkObj","cloneDeep","serialise","stateStr","importObj","importNetwork","impBuffer","latestMessages","$data","userSetting","propName","nextVal","netAddr","serverInfo","networkidReduce","currentMax","channelId","services","findNewNetwork","openLastActiveBuffer","lastActive","targetNetwork","targetBuffer","_network","updateBufferLastRead","toMatch","bufferIdx","messageIdx","bufferMessage","includeAsActivity","typesForActivty","isNewMessage","extraHighlights","patterns","everyone","here","incrementFlag","notifyTitle","notifyMessage","parent","usersArr_","usersArr","newUsers","bufUsers","newUser","normalisedNick","bufferNameLower","oldNick","normalisedNew","normalisedOld","recreate","$destroy","_watchers","_cssVarsPonyfill","_tinycon","_Welcome","_ZncLogin","_CustomServer","_KiwiBnc","_Personal","_StateBrowser","_Container","_ControlInput","mediaviewerOpen","State","listenForActiveComponents","watchForThemes","initStateBrowser","initMediaviewer","configureFavicon","onKeyDown","onBlur","onTouchStart","startupScreens","welcome","customServer","kiwiBnc","znc","personal","extraStartupScreens","startupName","startup","trackWindowDimensions","warnOnPageClose","requestNotificationPermission","iframe","setOptions","fallback","setBubble","_this8","trackWindowDims","clientWidth","_this9","onbeforeunload","onunload","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","App","unpin","_sockjsClient","serverConnections","createdChannels","controlChannel","_addr","_socketChannel","createNewConnection","socketChannel","nextChannelId","createChannelOnConnection","wsAddr","ws","onopen","connectStr","onclose","initChannel","ConnectionChannel","sendControlBuffer","remoteState","sendControl","setEncoding","writeLine","ssl","newEncoding","disposeSocket"],"mappings":"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","file":"static/js/app.c8cdefc7.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\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 \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"vendor\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoComplete.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoComplete.vue?vue&type=style&index=0&lang=css&\"","import { render, staticRenderFns } from \"./StartupError.vue?vue&type=template&id=3613e78a&\"\nimport script from \"./StartupError.vue?vue&type=script&lang=js&\"\nexport * from \"./StartupError.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StartupError.vue?vue&type=style&index=0&lang=css&\"\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","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.requestPermission = requestPermission;\nexports.show = show;\nexports.listenForNewMessages = listenForNewMessages;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar isEnabled = false;\n\nfunction requestPermission(state) {\n // Do we support notifications?\n if (!('Notification' in window)) {\n isEnabled = false;\n return;\n } // Permissions already been granted?\n\n\n if (Notification.permission === 'granted') {\n state.$emit('notification.enabled');\n isEnabled = true;\n return;\n }\n\n if (Notification.permission !== 'denied') {\n Notification.requestPermission(function (permission) {\n if (permission === 'granted') {\n state.$emit('notification.enabled');\n isEnabled = true;\n } else {\n isEnabled = false;\n }\n });\n }\n}\n\nfunction show(title, body, opts) {\n if (!isEnabled) {\n return false;\n }\n\n var notify = new Notification(title, {\n body: body,\n icon: opts.icon\n });\n\n if (opts.ttl) {\n var _context;\n\n (0, _setTimeout2.default)((0, _bind.default)(_context = notify.close).call(_context, notify), opts.ttl);\n }\n\n return notify;\n}\n\nvar throttledShow = _lodash.default.throttle(show, 2000);\n\nfunction listenForNewMessages(state) {\n state.$on('notification.show', function (message, _opts) {\n if (!isEnabled) {\n return;\n }\n\n var opts = (0, _assign.default)({\n title: 'Kiwi IRC',\n message: message,\n icon: '',\n onclick: null,\n ttl: 10000\n }, _opts);\n\n if (!opts.message) {\n return;\n }\n\n var notification = throttledShow(opts.title, opts.message, {\n ttl: opts.ttl\n });\n\n if (notification && typeof opts.onclick === 'function') {\n notification.onclick = opts.onclick;\n }\n });\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"Notifications\"]\r\nwindow._kiwi_exports.libs.Notifications = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./MessageListMessageCompact.vue?vue&type=template&id=23bc1672&scoped=true&functional=true&\"\nimport script from \"./MessageListMessageCompact.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListMessageCompact.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageListMessageCompact.vue?vue&type=style&index=0&id=23bc1672&lang=less&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 true,\n null,\n \"23bc1672\",\n null\n \n)\n\nexport default component.exports","// From the Element.closest mdn page.\nif (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n}\n\nif (!Element.prototype.closest) {\n Element.prototype.closest = function closest(s) {\n var el = this;\n\n do {\n if (el.matches(s)) {\n return el;\n }\n\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n\n return null;\n };\n}","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar defaultLogger = makeLogger();\nvar _default = defaultLogger;\nexports.default = _default;\n\nfunction makeLogger(label, rootLogger) {\n function logger() {\n logger.info.apply(logger, arguments);\n }\n\n logger.LEVEL_DEBUG = 2;\n logger.LEVEL_INFO = 1;\n logger.LEVEL_ERROR = 0;\n logger.level = logger.LEVEL_ERROR;\n\n function logLevel(compareLevel) {\n var l = rootLogger || logger;\n return l.level >= compareLevel;\n }\n\n logger.debug = function logDebug() {\n if (logLevel(logger.LEVEL_DEBUG)) {\n var _window$console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (label) {\n var _context;\n\n args[0] = (0, _concat.default)(_context = \"[\".concat(label, \"] DEBUG \")).call(_context, args[0]);\n }\n\n (_window$console = window.console).log.apply(_window$console, args);\n }\n };\n\n logger.info = function logInfo() {\n if (logLevel(logger.LEVEL_INFO)) {\n var _window$console2;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (label) {\n var _context2;\n\n args[0] = (0, _concat.default)(_context2 = \"[\".concat(label, \"] INFO \")).call(_context2, args[0]);\n }\n\n (_window$console2 = window.console).log.apply(_window$console2, args);\n }\n };\n\n logger.error = function logError() {\n if (logLevel(logger.LEVEL_ERROR)) {\n var _window$console3;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (label) {\n var _context3;\n\n args[0] = (0, _concat.default)(_context3 = \"[\".concat(label, \"] ERROR \")).call(_context3, args[0]);\n }\n\n (_window$console3 = window.console).error.apply(_window$console3, args);\n }\n };\n\n logger.assert = function assert(condition) {\n var _context4;\n\n if (condition) {\n return;\n }\n\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n this.error.apply(this, (0, _concat.default)(_context4 = ['Assertion failed.']).call(_context4, args));\n };\n\n logger.setLevel = function setLevel(newLevel) {\n logger.level = newLevel;\n };\n\n logger.namespace = function namespace(newLabel) {\n var l = newLabel;\n\n if (label) {\n var _context5;\n\n l = (0, _concat.default)(_context5 = \"[\".concat(label, \"][\")).call(_context5, l, \"]\");\n }\n\n return makeLogger(l, logger);\n };\n\n return logger;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"Logger\"]\r\nwindow._kiwi_exports.libs.Logger = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=script&lang=js&\"","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _setImmediate2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-immediate\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _common = require(\"./common\");\n\nvar IrcClient = _interopRequireWildcard(require(\"../IrcClient\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/** @module */\n\n/** The IRC network instance */\nvar NetworkState = /*#__PURE__*/function () {\n function NetworkState(id, appState, userDict, bufferDict) {\n var _this = this;\n\n (0, _classCallCheck2.default)(this, NetworkState);\n // Enumerable properties that become reactive under Vue\n this.id = id;\n this.name = '';\n this.editable_name = false; // State of the transport\n\n this.state = 'disconnected';\n this.state_error = ''; // Last error from the IRC server. Resets on reconnect\n\n this.last_error = '';\n this.auto_commands = '';\n this.is_znc = false;\n this.is_bnc = false;\n this.hidden = false;\n this.channel_list = [];\n this.channel_list_state = ''; // The IRCd type as mentioned in the 002 numeric\n\n this.ircd = '';\n this.connection = {\n server: '',\n port: 6667,\n tls: false,\n path: '',\n // Server password\n password: '',\n direct: false,\n encoding: 'utf8',\n bncnetid: '',\n nick: ''\n };\n this.settings = {\n show_raw_caps: false\n };\n this.nick = '';\n this.username = '';\n this.gecos = ''; // SASL password\n\n this.password = '';\n this.away = '';\n\n _vue.default.observable(this); // Some non-enumerable properties (vues $watch won't cover these properties)\n\n\n (0, _common.def)(this, 'appState', appState, false);\n (0, _common.def)(this, 'userDict', userDict, false);\n (0, _common.def)(this, 'bufferDict', bufferDict, false);\n (0, _common.def)(this, 'frameworkClient', null, true);\n (0, _common.def)(this, 'users', (0, _create.default)(null), function (newVal) {\n appState.$set(userDict.networks, _this.id, newVal);\n }); // Pending prviate messages awaiting whois operator check\n\n (0, _common.def)(this, 'pendingPms', [], false);\n bufferDict.$set(bufferDict.networks, this.id, []);\n }\n\n (0, _createClass2.default)(NetworkState, [{\n key: \"ircClient\",\n get: function get() {\n if (!this.frameworkClient) {\n this.frameworkClient = IrcClient.create(this.appState, this);\n }\n\n return this.frameworkClient;\n }\n }, {\n key: \"buffers\",\n get: function get() {\n return this.bufferDict.networks[this.id];\n }\n }, {\n key: \"connect\",\n value: function connect() {\n var _this$ircClient;\n\n (_this$ircClient = this.ircClient).connect.apply(_this$ircClient, arguments);\n }\n }, {\n key: \"bufferByName\",\n value: function bufferByName(name) {\n return this.appState.getBufferByName(this.id, name);\n }\n }, {\n key: \"serverBuffer\",\n value: function serverBuffer() {\n return this.appState.getBufferByName(this.id, '*');\n }\n }, {\n key: \"setting\",\n value: function setting(name, val) {\n if (typeof val !== 'undefined') {\n this.appState.$set(this.settings, name, val);\n return val;\n }\n\n return this.settings[name];\n }\n }, {\n key: \"isChannelName\",\n value: function isChannelName(input) {\n if (typeof input !== 'string' || !input) {\n return false;\n }\n\n var chanPrefixes = this.ircClient.network.supports('CHANTYPES') || '#&';\n return (0, _indexOf.default)(chanPrefixes).call(chanPrefixes, input[0]) > -1;\n }\n }, {\n key: \"showServerBuffer\",\n value: function showServerBuffer(tabName) {\n var _this2 = this;\n\n this.appState.$emit('active.component', null);\n this.appState.setActiveBuffer(this.id, this.serverBuffer().name); // Hacky, but the server buffer component listens for events to switch\n // between tabs\n\n (0, _setImmediate2.default)(function () {\n _this2.appState.$emit('server.tab.show', tabName || 'settings');\n });\n }\n /**\n * Check if a nick is exempt from block PM's\n * @param {String} nick of the user to check\n * @returns {Boolean} If the boolean is null a whois check is required\n */\n\n }, {\n key: \"isNickExemptFromPmBlocks\",\n value: function isNickExemptFromPmBlocks(nick) {\n // Check if nick is op of shared channel\n var buffers = this.appState.getBuffersWithUser(this.id, nick);\n\n for (var i = 0; i < buffers.length; i++) {\n var buffer = buffers[i];\n\n if (buffer.isUserAnOp(nick)) {\n return true;\n }\n }\n\n var user = this.appState.getUser((0, _indexOf.default)(this), nick);\n\n if (!user || !user.hasWhois) {\n // if we have not seen or whois the user they might be a network oper\n // so return null then a whois can be performed\n return null;\n }\n\n if (user.operator) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"currentUser\",\n value: function currentUser() {\n return this.appState.getUser(this.id, this.nick);\n }\n }, {\n key: \"userByName\",\n value: function userByName(nick) {\n return this.appState.getUser(this.id, nick);\n }\n }]);\n return NetworkState;\n}();\n\nexports.default = NetworkState;","import { render, staticRenderFns } from \"./UrlEmbed.vue?vue&type=template&id=32b5d18e&\"\nimport script from \"./UrlEmbed.vue?vue&type=script&lang=js&\"\nexport * from \"./UrlEmbed.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UrlEmbed.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar methods = {\n props: {},\n avatar: function avatar(props) {\n // let props = this.props;\n return props.message && props.message.avatar || props.user && props.user.avatar;\n },\n firstNickLetter: function firstNickLetter(props) {\n // let props = this.props;\n return (props.message && props.message.nick || props.user && props.user.nick || '')[0];\n },\n hasAvatar: function hasAvatar(props) {\n // let props = this.props;\n return !!(props.user.avatar && (props.user.avatar.small || props.user.avatar.large));\n },\n isDefault: function isDefault(props) {\n return !this.colour(props) && !this.hasAvatar(props);\n },\n avatarStyle: function avatarStyle(props) {\n // let props = this.props;\n var style = {};\n\n if (this.hasAvatar(props)) {\n var url = props.size === 'small' && this.avatar(props).small ? this.avatar(props).small : // If large was requested but does not exist fallback to small\n this.avatar(props).large || this.avatar(props).small;\n style['background-image'] = \"url(\\\"\".concat(url, \"\\\")\");\n } else {\n style['background-color'] = \"\".concat(this.colour(props));\n }\n\n return style;\n },\n colour: function colour(props) {\n // let props = this.props;\n var user = props.message && props.message.user || props.user;\n return user.getColour();\n }\n};\nvar _default = {\n props: {\n message: Object,\n user: Object,\n size: String\n },\n m: methods\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Avatar\"]\r\nwindow._kiwi_exports.components.Avatar = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('startup-layout',{ref:\"layout\",staticClass:\"kiwi-welcome-znc\",scopedSlots:_vm._u([(!_vm.network || _vm.network.state === 'disconnected')?{key:\"connection\",fn:function(){return [_c('form',{staticClass:\"u-form u-form--big kiwi-welcome-znc-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.formSubmit($event)}}},[_c('h2',{domProps:{\"innerHTML\":_vm._s(_vm.greetingText)}}),(_vm.network && (_vm.network.last_error || _vm.network.state_error))?_c('div',{staticClass:\"kiwi-welcome-znc-error\"},[_vm._v(\" We couldn't connect to the server :( \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.network.last_error || _vm.readableStateError(_vm.network.state_error))+\" \")])]):_vm._e(),(_vm.showUser)?_c('input-text',{staticClass:\"kiwi-welcome-znc-nick\",attrs:{\"label\":_vm.$t('username')},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}):_vm._e(),(_vm.showPass)?_c('input-text',{staticClass:\"kiwi-welcome-znc-password\",attrs:{\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}):_vm._e(),(_vm.showNetwork)?_c('input-text',{staticClass:\"kiwi-welcome-znc-channel\",attrs:{\"label\":_vm.$t('network')},model:{value:(_vm.znc_network),callback:function ($$v) {_vm.znc_network=$$v},expression:\"znc_network\"}}):_vm._e(),_c('button',{staticClass:\"u-button u-button-primary u-submit kiwi-welcome-znc-start\",attrs:{\"disabled\":!_vm.readyToStart,\"type\":\"submit\"},domProps:{\"innerHTML\":_vm._s(_vm.buttonText)}})],1)]},proxy:true}:(_vm.network.state !== 'connected')?{key:\"connection\",fn:function(){return [_c('i',{staticClass:\"fa fa-spin fa-spinner\",staticStyle:{\"font-size\":\"2em\",\"margin-top\":\"1em\"}})]},proxy:true}:null],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=script&lang=js&\"","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = parse;\nexports.createNewBlock = createNewBlock;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar tokens = (0, _create.default)(null);\n/**\n * Token functions may return:\n * null - move forward in the input by the length of the token\n * -1 - do not treat this character as a token and continue as normal content\n * 0+ - move to this point in the input\n */\n\n/* eslint-disable dot-notation */\n\ntokens['_'] = {\n token: '_',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var _context;\n\n if (openToks[this.token]) {\n delete block.styles.underline;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // If this style is alrady open by something else, ignore it\n\n\n if (block.styles.underline === true) {\n return -1;\n } // Underscores may be part of a word or URL so consider it an opening\n\n\n if (pos > 0 && inp[pos - 1] !== ' ') {\n return -1;\n } // token if it's on it's own\n // Only underline if we have a closing _ further on\n\n\n if ((0, _indexOf.default)(_context = inp.substr(pos + 1)).call(_context, this.token) === -1) {\n return -1;\n }\n\n openToks[this.token] = true;\n block.styles.underline = true;\n block.content += this.token;\n return null;\n }\n};\ntokens['*'] = {\n token: '*',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.bold;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // If this style is alrady open by something else, ignore it\n\n\n if (block.styles.bold === true) {\n return -1;\n } // Ignore is after a : character. :* is usually a kiss emoji\n\n\n if (inp[pos - 1] === ':') {\n return -1;\n } // * may be part of a word (ie. pasting code) or URL so only start bolding if * is after a\n // space\n\n\n if (pos > 0 && inp[pos - 1] !== ' ') {\n return -1;\n } // Only style if:\n // * we have a closing * further on\n // * the * further on has a space after it or is the last character\n\n\n var remainingText = inp.substr(pos + 1);\n var nextPos = (0, _indexOf.default)(remainingText).call(remainingText, this.token);\n\n if (nextPos === -1 || nextPos < remainingText.length - 1 && remainingText[nextPos + 1] !== ' ') {\n return -1;\n }\n\n openToks[this.token] = true;\n block.styles.bold = true;\n block.content += this.token;\n return null;\n }\n};\ntokens['**'] = {\n token: '**',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var _context2;\n\n if (openToks[this.token]) {\n delete block.styles.italic;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // If this style is alrady open by something else, ignore it\n\n\n if (block.styles.italic === true) {\n return -1;\n } // Only style if we have a closing ** further on\n\n\n if ((0, _indexOf.default)(_context2 = inp.substr(pos + 1)).call(_context2, this.token) === -1) {\n return -1;\n }\n\n openToks[this.token] = true;\n block.styles.italic = true;\n block.content += this.token;\n return null;\n }\n};\ntokens['`'] = {\n token: '`',\n extra: true,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.quote;\n openToks[this.token] = null;\n prevBlock.content += this.token;\n return null;\n } // Backticks may be part of a word or NICK so only consider it a codeblock if\n // it's at the start of a scentence or comes after a space\n\n\n if (pos > 0 && inp[pos - 1] !== ' ') {\n return -1;\n } // Find the closing backtick\n\n\n var str = inp.substr(pos + 1);\n var endPos = (0, _indexOf.default)(str).call(str, this.token); // If we don't have a closing backtick further on, don't take this as an opening backtick\n\n if (endPos === -1) {\n return -1;\n } // Only consider the found closing backtick as closing if it comes before a space or is at\n // the end of the text. If it's in the middle of text then it's highly lickely part of that\n // text and not actually closing. eg. `hello and wel`come\n\n\n if (str[endPos + 1] && str[endPos + 1] !== ' ') {\n return -1;\n } // No styling should appear in this codeblock. Add all the content we can\n // before jumping the position forward in the input\n\n\n openToks[this.token] = true;\n block.styles.quote = true;\n block.content += this.token + str.substr(0, endPos);\n block.containsContent = true; // The + 1 because:\n // We added 2 ` characters, but we want the last ` character to call this\n // fn again so it can be closed.\n\n return pos + endPos + 1;\n }\n}; // Bold\n\ntokens['\\x02'] = {\n token: '\\x02',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.bold;\n openToks[this.token] = null;\n } else {\n openToks[this.token] = true;\n block.styles.bold = true;\n }\n\n return null;\n }\n}; // Italic\n\ntokens['\\x1D'] = {\n token: '\\x1D',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.italic;\n openToks[this.token] = null;\n } else {\n openToks[this.token] = true;\n block.styles.italic = true;\n }\n\n return null;\n }\n}; // Underline\n\ntokens['\\x1F'] = {\n token: '\\x1F',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n if (openToks[this.token]) {\n delete block.styles.underline;\n openToks[this.token] = null;\n } else {\n openToks[this.token] = true;\n block.styles.underline = true;\n }\n\n return null;\n }\n}; // Clear all styles\n\ntokens['\\x0F'] = {\n token: '\\x0F',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var _context3, _context4;\n\n (0, _forEach.default)(_context3 = (0, _keys.default)(block.styles)).call(_context3, function (k) {\n return delete block.styles[k];\n });\n (0, _forEach.default)(_context4 = (0, _keys.default)(openToks)).call(_context4, function (k) {\n return delete openToks[k];\n });\n return null;\n }\n}; // Colours\n\ntokens['\\x03'] = {\n token: '\\x03',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n var colours = {\n 0: 'white',\n 1: 'black',\n 2: 'blue',\n 3: 'green',\n 4: 'light-red',\n 5: 'brown',\n 6: 'purple',\n 7: 'orange',\n 8: 'yellow',\n 9: 'light-green',\n 10: 'cyan',\n 11: 'light-cyan',\n 12: 'light-blue',\n 13: 'pink',\n 14: 'grey',\n 15: 'light-grey'\n };\n var colourMatchRegexp = /^\\x03(([0-9][0-9]?)(,([0-9][0-9]?))?)/;\n var match = colourMatchRegexp.exec(inp.substr(pos, 6));\n\n if (match) {\n // fg colour = 2, bg colour = 4\n var fgColour = colours[(0, _parseInt2.default)(match[2], 10)];\n var bgColour = colours[(0, _parseInt2.default)(match[4], 10)];\n\n if (typeof fgColour !== 'undefined') {\n block.styles.color = fgColour;\n }\n\n if (typeof bgColour !== 'undefined') {\n block.styles.background = bgColour;\n }\n\n return pos + match[0].length;\n } // 03 without a colour = delete any existing colour\n\n\n delete block.styles.color;\n delete block.styles.background;\n return null;\n }\n}; // Reverse (unimplemented)\n\ntokens['\\x16'] = {\n token: '\\x16',\n extra: false,\n fn: function parseToken(inp, pos, block, prevBlock, openToks) {\n return null;\n }\n};\n\nfunction parse(inp, _opts) {\n var opts = _opts || {};\n var block = createNewBlock();\n var blocks = [block];\n var openTokens = (0, _create.default)(null);\n var pos = 0;\n var len = inp.length;\n\n while (pos < len) {\n var tok = findTokenAtPosition();\n\n if (!tok || !opts.extras && tok.extra) {\n block.content += inp[pos];\n block.containsContent = true;\n pos++;\n continue;\n } // Current character is a token of some sort\n\n\n var newBlock = null; // Consecutive tokens can stack up styles into the same blocks. A consecutive\n // token means that the block before it will not have any content yet\n\n if (block.containsContent) {\n newBlock = createNewBlock();\n } else {\n newBlock = block;\n }\n\n (0, _assign.default)(newBlock.styles, block.styles);\n var newPos = tok.fn(inp, pos, newBlock, block, openTokens);\n\n if (newPos === -1) {\n // The token invalidated itself so treat it as content\n block.content += tok.token;\n block.containsContent = true;\n pos += tok.token.length;\n continue;\n }\n\n block = newBlock; // This block may have already been pushed if this is a consecutive token\n\n if (blocks[blocks.length - 1] !== newBlock) {\n blocks.push(newBlock);\n }\n\n if (typeof newPos === 'number') {\n pos = newPos;\n } else {\n pos += tok.token.length;\n }\n }\n\n return blocks;\n\n function findTokenAtPosition() {\n var tok = tokens[inp.substr(pos, 2)] || tokens[inp[pos]];\n return tok;\n }\n}\n\nfunction createNewBlock() {\n var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var styles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'text';\n var meta = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var newBlock = {\n styles: styles,\n content: content,\n containsContent: !!content,\n type: type,\n meta: meta\n };\n return newBlock;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"MessageFormatter\"]\r\nwindow._kiwi_exports.libs.MessageFormatter = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-input-prompt\",style:({display: _vm.block ? 'block' : 'inline-block'})},[(_vm.state==='pre')?_c('div',{on:{\"click\":_vm.prompt}},[_vm._t(\"default\")],2):_vm._e(),(_vm.state==='prompt')?_c('form',{staticClass:\"u-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.complete($event)}}},[_c('span',{staticClass:\"u-input-prompt-label\"},[_vm._v(_vm._s(_vm.label))]),_c('div',{staticClass:\"u-input-prompt-inputs\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"u-input\",domProps:{\"value\":(_vm.value)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.cancel($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.value=$event.target.value}}}),_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.complete}},[_vm._v(_vm._s(_vm.$t('ok')))]),(!_vm.hideCancel)?_c('a',{staticClass:\"u-button u-button-warning\",on:{\"click\":_vm.cancel}},[_vm._v(\" \"+_vm._s(_vm.$t('cancel'))+\" \")]):_vm._e()])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZncLogin.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZncLogin.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _MessageList = _interopRequireDefault(require(\"./MessageList\"));\n\nvar _NetworkSettings = _interopRequireDefault(require(\"./NetworkSettings\"));\n\nvar _ChannelList = _interopRequireDefault(require(\"./ChannelList\"));\n\nvar _default = {\n components: {\n MessageList: _MessageList.default,\n NetworkSettings: _NetworkSettings.default,\n ChannelList: _ChannelList.default\n },\n props: ['network'],\n data: function data() {\n return {\n pluginUiElements: _GlobalApi.default.singleton().serverViewPlugins\n };\n },\n computed: {\n hasMessages: function hasMessages() {\n return this.network.serverBuffer().getMessages().length > 0;\n },\n serverBuffer: function serverBuffer() {\n return this.network.serverBuffer();\n },\n restrictedServer: function restrictedServer() {\n return this.$state.setting('restricted');\n },\n networkConnected: function networkConnected() {\n return this.network.state === 'connected';\n }\n },\n watch: {\n networkConnected: function networkConnected() {\n var _this = this;\n\n this.$nextTick(function () {\n // Vue won't update the tabs being displayed here so we to\n // manually update a property to force a re-render of the tabs\n _this.$refs.tabs.a++;\n });\n }\n },\n created: function created() {\n var _this2 = this;\n\n this.listen(this.$state, 'server.tab.show', function (tabName) {\n _this2.showTab(tabName);\n });\n },\n methods: {\n showTab: function showTab(tabName) {\n this.$refs.tabs.setActiveByName(tabName);\n },\n tabChanged: function tabChanged(tabName) {\n this.serverBuffer.show_input = tabName === 'messages';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ServerView\"]\r\nwindow._kiwi_exports.components.ServerView = exports.default ? exports.default : exports;\r\n","module.exports = __webpack_public_path__ + \"static/img/kiwiLoadingLogo.ee10be5a.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-messageinfo\",on:{\"click\":function($event){$event.stopPropagation();}}},[(_vm.message.mentioned_urls.length > 0)?_c('div',{staticClass:\"kiwi-messageinfo-urls\"},_vm._l((_vm.message.mentioned_urls),function(url){return _c('div',{key:url,staticClass:\"kiwi-messageinfo-url\"},[_c('a',{staticClass:\"u-button u-button-secondary\",on:{\"click\":function($event){return _vm.urlPreview(url)}}},[_vm._v(\"Preview\")]),_c('a',{staticClass:\"u-link\",attrs:{\"href\":url,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(url)+\" \")])])}),0):_vm._e(),_c('div',{staticClass:\"kiwi-messageinfo-actions\",class:{'kiwi-messageinfo-actions--open': _vm.requestingInput}},[(!_vm.requestingInput)?_c('a',{staticClass:\"u-link kiwi-messageinfo-reply\",on:{\"click\":_vm.openQuery}},[_vm._v(\" Reply in private \")]):_vm._e(),(_vm.areWeAnOp() && !_vm.isSelf())?_c('div',{staticClass:\"kiwi-messageinfo-opbuttons\"},[_c('input-prompt',{attrs:{\"label\":\"Kick reason:\"},on:{\"submit\":_vm.onKick,\"cancel\":function($event){_vm.requestingInput = false}}},[(!_vm.requestingInput)?_c('a',{staticClass:\"u-link kiwi-messageinfo-kick-user\",on:{\"click\":function($event){_vm.requestingInput = true}}},[_vm._v(\" Kick \"+_vm._s(_vm.message.nick)+\" \")]):_vm._e()]),_c('input-prompt',{attrs:{\"label\":\"Ban reason:\"},on:{\"submit\":_vm.onBan,\"cancel\":function($event){_vm.requestingInput = false}}},[(!_vm.requestingInput)?_c('a',{staticClass:\"u-link kiwi-messageinfo-ban-user\",on:{\"click\":function($event){_vm.requestingInput = true}}},[_vm._v(\" Ban \"+_vm._s(_vm.message.nick)+\" \")]):_vm._e()])],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('input-text', {\n props: ['value', 'label', 'type', 'showPlainText'],\n data: function data() {\n return {\n plainTextEnabled: false,\n inputIdCache: ''\n };\n },\n computed: {\n inputId: function inputId() {\n if (!this.inputIdCache) {\n // eslint-disable-next-line\n this.inputIdCache = 'inp_' + Math.floor(Math.random() * 1e17).toString(36);\n }\n\n return this.inputIdCache;\n },\n currentValue: {\n get: function getCurrentValue() {\n return this.value;\n },\n set: function setCurrentValue(newVal) {\n this.$emit('input', newVal);\n }\n }\n },\n methods: {\n updateValue: function updateValue(newValue) {\n this.$emit('input', newValue);\n },\n isEdgeBrowser: function isEdgeBrowser() {\n var _context;\n\n return (0, _indexOf.default)(_context = navigator.appVersion).call(_context, 'Edge') > -1;\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"InputText\"]\r\nwindow._kiwi_exports.components.utils.InputText = exports.default ? exports.default : exports;\r\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"kiwi-nicklist-user\",class:[\n _vm.props.nicklist.userMode(_vm.props.user) ?\n 'kiwi-nicklist-user--mode-' + _vm.props.nicklist.userMode(_vm.props.user) :\n '',\n _vm.props.user.away ? 'kiwi-nicklist-user--away' : '',\n _vm.props.user.ignore ? 'kiwi-nicklist-user--ignore' : '',\n _vm.data.staticClass ],attrs:{\"data-nick\":(_vm.props.user.nick||'').toLowerCase()},on:{\"click\":function($event){return _vm.props.nicklist.openUserbox(_vm.props.user)}}},[(_vm.props.m().shouldShowAvatars())?_c('div',{staticClass:\"kiwi-avatar-container\"},[(_vm.props.user)?_c(_vm.injections.components.Avatar,{tag:\"component\",attrs:{\"user\":_vm.props.user,\"size\":\"small\"}}):_vm._e(),_c(_vm.injections.components.AwayStatusIndicator,{tag:\"component\",attrs:{\"network\":_vm.props.network,\"user\":_vm.props.user,\"toggle\":false}})],1):_c('div',[_c(_vm.injections.components.AwayStatusIndicator,{tag:\"component\",attrs:{\"network\":_vm.props.network,\"user\":_vm.props.user,\"toggle\":false}})],1),_c('span',{staticClass:\"kiwi-nicklist-user-prefix\"},[_vm._v(\" \"+_vm._s(_vm.props.nicklist.userModePrefix(_vm.props.user))+\" \")]),_c('span',{staticClass:\"kiwi-nicklist-user-nick\",style:({ 'color': _vm.props.m().userColour() })},[_vm._v(_vm._s(_vm.props.user.nick)+\" \")]),_c('span',{staticClass:\"kiwi-nicklist-messageuser\",on:{\"click\":function($event){$event.stopPropagation();return _vm.props.nicklist.openQuery(_vm.props.user)}}},[_c('i',{staticClass:\"fa fa-comment\",attrs:{\"aria-hidden\":\"true\"}})]),_c(_vm.injections.components.TypingStatusIndicator,{tag:\"component\",attrs:{\"user\":_vm.props.user,\"buffer\":_vm.props.nicklist.buffer}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NetworkSettings.vue?vue&type=template&id=5c460638&\"\nimport script from \"./NetworkSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./NetworkSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NetworkSettings.vue?vue&type=style&index=0&lang=less&\"\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 mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInvitelist.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInvitelist.vue?vue&type=style&index=0&lang=less&\"","import { render, staticRenderFns } from \"./Container.vue?vue&type=template&id=0a567944&\"\nimport script from \"./Container.vue?vue&type=script&lang=js&\"\nexport * from \"./Container.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Container.vue?vue&type=style&index=0&lang=css&\"\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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-input-text\"},[(_vm.label)?_c('label',{attrs:{\"for\":_vm.inputId}},[_vm._v(_vm._s(_vm.label))]):_vm._e(),_c('div',{staticClass:\"u-input-text-inputs\",staticStyle:{\"display\":\"flex\"}},[(_vm.type==='password')?[((_vm.plainTextEnabled && !_vm.isEdgeBrowser() ? 'text' : 'password')==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",class:{'u-form-input-plaintext' : !_vm.isEdgeBrowser() && _vm.showPlainText},attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.currentValue)?_vm._i(_vm.currentValue,null)>-1:(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"change\":function($event){var $$a=_vm.currentValue,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.currentValue=$$a.concat([$$v]))}else{$$i>-1&&(_vm.currentValue=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.currentValue=$$c}}}}):((_vm.plainTextEnabled && !_vm.isEdgeBrowser() ? 'text' : 'password')==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",class:{'u-form-input-plaintext' : !_vm.isEdgeBrowser() && _vm.showPlainText},attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\",\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.currentValue,null)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"change\":function($event){_vm.currentValue=null}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",class:{'u-form-input-plaintext' : !_vm.isEdgeBrowser() && _vm.showPlainText},attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\",\"type\":_vm.plainTextEnabled && !_vm.isEdgeBrowser() ? 'text' : 'password'},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}),(_vm.showPlainText && !_vm.isEdgeBrowser())?_c('i',{staticClass:\"u-input-text-plaintext fa fa-eye\",class:{'u-input-text-plaintext--active': _vm.plainTextEnabled},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){_vm.plainTextEnabled = !_vm.plainTextEnabled}}}):_vm._e()]:(_vm.type==='number')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",attrs:{\"id\":_vm.inputId,\"type\":\"number\"},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}):(_vm.type==='textarea')?_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",attrs:{\"id\":_vm.inputId},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentValue),expression:\"currentValue\"}],staticClass:\"u-input\",attrs:{\"id\":_vm.inputId,\"autocomplete\":\"off\",\"autocorrect\":\"off\",\"autocapitalize\":\"off\",\"spellcheck\":\"false\"},domProps:{\"value\":(_vm.currentValue)},on:{\"keypress\":function($event){return _vm.$emit('keypress', $event)},\"input\":function($event){if($event.target.composing){ return; }_vm.currentValue=$event.target.value}}}),(_vm.$slots.default)?_c('div',{staticClass:\"u-input-text-c\"},[_vm._t(\"default\")],2):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar createdInstance = null;\n\nvar ThemeManager = /*#__PURE__*/function () {\n function ThemeManager(state) {\n (0, _classCallCheck2.default)(this, ThemeManager);\n this.state = state;\n this.listenForIrcEvents();\n this.varsEl = null;\n }\n\n (0, _createClass2.default)(ThemeManager, [{\n key: \"themeVar\",\n value: function themeVar(varName) {\n var _context;\n\n if (!this.varsEl) {\n this.varsEl = document.querySelector('.kiwi-wrap');\n }\n\n var styles = window.getComputedStyle(this.varsEl);\n var v = styles.getPropertyValue('--kiwi-' + varName);\n return (0, _trim.default)(_context = v || '').call(_context);\n }\n }, {\n key: \"availableThemes\",\n value: function availableThemes() {\n return this.state.settings.themes;\n }\n }, {\n key: \"currentTheme\",\n value: function currentTheme() {\n var state = this.state;\n var currentThemeName = state.setting('theme');\n currentThemeName = currentThemeName.toLowerCase();\n var theme = (0, _find.default)(_lodash.default).call(_lodash.default, state.settings.themes, function (t) {\n var isMatch = t.name.toLowerCase() === currentThemeName;\n return isMatch;\n }); // If no theme was set, use the first one in our theme list\n\n if (!theme) {\n theme = state.settings.themes[0];\n }\n\n return theme;\n }\n }, {\n key: \"setTheme\",\n value: function setTheme(theme) {\n var theTheme = null;\n\n if (typeof theme === 'string') {\n // Make sure this theme exists\n theTheme = (0, _find.default)(_lodash.default).call(_lodash.default, this.availableThemes(), function (t) {\n var isMatch = t.name.toLowerCase() === theme.toLowerCase();\n return isMatch;\n });\n\n if (!theTheme) {\n return;\n }\n } else {\n theTheme = theme;\n }\n\n this.state.setting('theme', theTheme.name);\n this.state.$emit('theme.change');\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var theme = this.currentTheme();\n\n if (!theme) {\n return;\n }\n\n var url = theme.url;\n\n if ((0, _indexOf.default)(url).call(url, 'cb=') > -1) {\n url = url.replace(/cb=[0-9]+/, function () {\n return 'cb=' + (0, _now.default)();\n });\n } else if ((0, _indexOf.default)(url).call(url, '?') > -1) {\n url += '&cb=' + (0, _now.default)();\n } else {\n url += '?cb=' + (0, _now.default)();\n }\n\n theme.url = url;\n this.state.$emit('theme.change');\n }\n }, {\n key: \"setCustomThemeUrl\",\n value: function setCustomThemeUrl(url) {\n var theme = (0, _find.default)(_lodash.default).call(_lodash.default, ThemeManager.instance().availableThemes(), {\n name: 'custom'\n });\n\n if (theme) {\n theme.url = url;\n }\n\n if (theme.name === 'custom') {\n this.state.$emit('theme.change');\n }\n } // When we get a CTCP 'kiwi theme reload' then reload our theme. Handy for theme devs\n\n }, {\n key: \"listenForIrcEvents\",\n value: function listenForIrcEvents() {\n var _this = this;\n\n this.state.$on('irc.ctcp request', function (event, network) {\n var _context2;\n\n var ctcpType = (event.type || '').toLowerCase();\n\n if (ctcpType === 'kiwi' && (0, _indexOf.default)(_context2 = event.message).call(_context2, 'theme reload') > -1) {\n _this.reload();\n }\n });\n }\n }], [{\n key: \"themeUrl\",\n value: function themeUrl(theme) {\n var parts = theme.url.split('?');\n var url = parts[0];\n var qs = parts[1] || '';\n\n if (url[url.length - 1] !== '/') {\n url += '/';\n }\n\n return url + 'theme.css' + (qs ? '?' + qs : '');\n }\n }]);\n return ThemeManager;\n}();\n\nexports.default = ThemeManager;\n\nThemeManager.instance = function instance(state) {\n if (!createdInstance) {\n createdInstance = new ThemeManager(state);\n }\n\n return createdInstance;\n};\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"ThemeManager\"]\r\nwindow._kiwi_exports.libs.ThemeManager = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-input-confirm kiwi-theme-bg\"},[(_vm.state==='pre')?_c('div',{on:{\"click\":_vm.prompt}},[_vm._t(\"default\")],2):_vm._e(),(_vm.state==='prompt')?[_c('span',{staticClass:\"u-input-confirm-label\"},[_vm._v(_vm._s(_vm.label))]),_c('a',{staticClass:\"u-button\",class:['u-button-'+_vm.connoteCss.yes],on:{\"click\":function($event){return _vm.complete(true)}}},[_vm._v(\" \"+_vm._s(_vm.$t('yes'))+\" \")]),_c('a',{staticClass:\"u-button\",class:['u-button-'+_vm.connoteCss.no],on:{\"click\":function($event){return _vm.complete(false)}}},[_vm._v(\" \"+_vm._s(_vm.$t('no'))+\" \")])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n/** @module */\n\n/**\n * Converts a hex CSS color value to RGB.\n * Adapted from http://stackoverflow.com/a/5624139.\n *\n * @param {String} _hex The hexadecimal color value\n * @return {Object} The RGB representation\n */\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.hex2rgb = hex2rgb;\nexports.rgb2hex = rgb2hex;\nexports.rgb2hsl = rgb2hsl;\nexports.hsl2rgb = hsl2rgb;\nexports.rgb2rgbString = rgb2rgbString;\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nfunction hex2rgb(_hex) {\n // Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n var shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\n var hex = _hex.replace(shorthandRegex, function (m, r, g, b) {\n return r + r + g + g + b + b;\n });\n\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: (0, _parseInt2.default)(result[1], 16),\n g: (0, _parseInt2.default)(result[2], 16),\n b: (0, _parseInt2.default)(result[3], 16)\n } : null;\n}\n/**\n * Converts an RGB color value to a hex string.\n * @param {Object} rgb RGB as r, g, and b keys\n * @return {String} Hex color string\n */\n\n\nfunction rgb2hex(rgb) {\n var _context;\n\n return '#' + (0, _map.default)(_context = ['r', 'g', 'b']).call(_context, function (key) {\n var _context2;\n\n return (0, _slice.default)(_context2 = '0' + rgb[key].toString(16)).call(_context2, -2);\n }).join('');\n}\n/**\n * Converts an RGB color value to HSL. Conversion formula adapted from\n * http://en.wikipedia.org/wiki/HSL_color_space. This function adapted\n * from http://stackoverflow.com/a/9493060.\n * Assumes r, g, and b are contained in the set [0, 255] and\n * returns h, s, and l in the set [0, 1].\n *\n * @param Object rgb RGB as r, g, and b keys\n * @return Object HSL as h, s, and l keys\n */\n\n\nfunction rgb2hsl(rgb) {\n var r = rgb.r;\n var g = rgb.g;\n var b = rgb.b;\n r /= 255;\n g /= 255;\n b /= 255;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n if (max === r) {\n h = (g - b) / d + (g < b ? 6 : 0);\n } else if (max === g) {\n h = (b - r) / d + 2;\n } else if (max === b) {\n h = (r - g) / d + 4;\n }\n\n h /= 6;\n }\n\n return {\n h: h,\n s: s,\n l: l\n };\n}\n/**\n * Converts an HSL color value to RGB. Conversion formula adapted from\n * http://en.wikipedia.org/wiki/HSL_color_space. This function adapted\n * from http://stackoverflow.com/a/9493060.\n * Assumes h, s, and l are contained in the set [0, 1] and\n * returns r, g, and b in the set [0, 255].\n *\n * @param Object hsl HSL as h, s, and l keys\n * @return Object RGB as r, g, and b values\n */\n\n\nfunction hsl2rgb(hsl) {\n function hue2rgb(_p, _q, _t) {\n var p = _p;\n var q = _q;\n var t = _t;\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n var h = hsl.h;\n var s = hsl.s;\n var l = hsl.l;\n var r = 0;\n var g = 0;\n var b = 0;\n\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255)\n };\n}\n\nfunction rgb2rgbString(rgb) {\n return 'rgb(' + [rgb.r, rgb.g, rgb.b].join(',') + ')';\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"Colours\"]\r\nwindow._kiwi_exports.helpers.Colours = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./SelfUser.vue?vue&type=template&id=cd4c5738&\"\nimport script from \"./SelfUser.vue?vue&type=script&lang=js&\"\nexport * from \"./SelfUser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SelfUser.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageModern.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageModern.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MessageList.vue?vue&type=template&id=8fc0eedc&\"\nimport script from \"./MessageList.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageList.vue?vue&type=style&index=0&lang=less&\"\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 { render, staticRenderFns } from \"./ServerView.vue?vue&type=template&id=604d1314&\"\nimport script from \"./ServerView.vue?vue&type=script&lang=js&\"\nexport * from \"./ServerView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ServerView.vue?vue&type=style&index=0&lang=css&\"\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","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _reduce = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reduce\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _some = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/some\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _includes = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/includes\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _common = require(\"./common\");\n\nvar _batchedAdd = _interopRequireDefault(require(\"../batchedAdd\"));\n\nvar bufferTools = _interopRequireWildcard(require(\"../bufferTools\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/** @module */\nvar nextBufferId = 0;\n/** The IRC buffer instance */\n\nvar BufferState = /*#__PURE__*/function () {\n function BufferState(name, networkid, state, messageDict) {\n (0, _classCallCheck2.default)(this, BufferState);\n // Enumerable properties that become reactive under Vue\n this.id = nextBufferId++;\n this.networkid = networkid;\n this.name = name;\n this.topics = [];\n this.key = '';\n this.joined = false;\n this.enabled = true;\n this.created_at = null;\n this.users = (0, _create.default)(null);\n this.modes = (0, _create.default)(null);\n this.flags = {\n unread: 0,\n has_opened: false,\n channel_badkey: false,\n chathistory_available: true,\n requested_modes: false,\n requested_banlist: false,\n is_requesting_chathistory: false\n };\n this.settings = {};\n this.last_read = 0;\n this.active_timeout = null;\n this.message_count = 0;\n this.current_input = '';\n this.input_history = [];\n this.input_history_pos = 0;\n this.show_input = true;\n this.latest_messages = []; // Counter for chathistory requests. While this value is 0, it means that this buffer is\n // still loading messages\n\n this.chathistory_request_count = 0;\n\n _vue.default.observable(this); // Some non-enumerable properties (vues $watch won't cover these properties)\n\n\n (0, _common.def)(this, 'state', state, false);\n (0, _common.def)(this, 'messageDict', messageDict, false);\n var messagesObj = {\n networkid: this.networkid,\n buffer: this.name,\n messages: [],\n messageIds: (0, _create.default)(null)\n };\n this.messageDict.push(messagesObj);\n (0, _common.def)(this, 'messagesObj', messagesObj, false);\n (0, _common.def)(this, 'isMessageTrimming', true, true);\n (0, _common.def)(this, 'addMessageBatch', createMessageBatch(this), false);\n (0, _common.def)(this, 'addUserBatch', createUserBatch(this), false); // poll who to update away status if away-notify is not enabled\n\n if (this.isChannel()) {\n maybeStartWhoLoop(this);\n } // When the network re-connects, we reset the chathistory request counter.\n // This will make the `getLoadingState()` stay as 'loading' while the chathistory reloads.\n\n\n function onNetworkConnecting(event) {\n if (event.network === this.getNetwork()) {\n this.chathistory_request_count = 0;\n }\n }\n\n function onNetworkMotd(event, network) {\n if (network === this.getNetwork() && this.isQuery()) {\n this.requestLatestScrollback();\n }\n } // Clean up the previous event and itself when the buffer is closed.\n\n\n function onBufferClose(event) {\n if (event.buffer === this) {\n this.state.$off('network.connecting', onNetworkConnectingBound);\n this.state.$off('buffer.close', onBufferCloseBound);\n this.state.$off('irc.motd', onNetworkMotdBound);\n }\n }\n\n var onNetworkConnectingBound = (0, _bind.default)(onNetworkConnecting).call(onNetworkConnecting, this);\n var onBufferCloseBound = (0, _bind.default)(onBufferClose).call(onBufferClose, this);\n var onNetworkMotdBound = (0, _bind.default)(onNetworkMotd).call(onNetworkMotd, this);\n state.$on('network.connecting', onNetworkConnectingBound);\n state.$on('buffer.close', onBufferCloseBound);\n state.$on('irc.motd', onNetworkMotdBound);\n\n if (this.isQuery() && this.getNetwork().ircClient.chathistory.isSupported()) {\n // Get PM message histories, while channel buffers request it after their nicklist\n // has been received\n this.requestLatestScrollback();\n }\n }\n\n (0, _createClass2.default)(BufferState, [{\n key: \"topic\",\n get: function get() {\n return this.topics.length === 0 ? '' : this.topics[this.topics.length - 1];\n },\n set: function set(newVal) {\n this.topics.push(newVal);\n }\n }, {\n key: \"getNetwork\",\n value: function getNetwork() {\n return this.state.getNetwork(this.networkid);\n }\n }, {\n key: \"getMessages\",\n value: function getMessages() {\n var bufMessages = (0, _find.default)(_lodash.default).call(_lodash.default, this.messageDict, {\n networkid: this.networkid,\n buffer: this.name\n });\n return bufMessages ? bufMessages.messages : [];\n }\n }, {\n key: \"clearMessages\",\n value: function clearMessages() {\n var _context;\n\n (0, _splice.default)(_context = this.messagesObj.messages).call(_context, 0, this.messagesObj.messages.length);\n this.messagesObj.messageIds = (0, _create.default)(null);\n } // Remove a block of messages between a time (server-time) range. Inclusive.\n\n }, {\n key: \"clearMessageRange\",\n value: function clearMessageRange(startTime, endTime) {\n var _context2,\n _this = this;\n\n this.messagesObj.messages = (0, _filter.default)(_context2 = this.messagesObj.messages).call(_context2, function (message) {\n if (message.server_time < startTime || message.server_time > endTime) {\n return true;\n } // This message will be removed\n\n\n delete _this.messagesObj.messageIds[message.id];\n return false;\n }); // Mark that something changed\n\n this.message_count++;\n }\n }, {\n key: \"isServer\",\n value: function isServer() {\n return this.name === '*';\n }\n }, {\n key: \"isChannel\",\n value: function isChannel() {\n var chanPrefixes = ['#', '&'];\n var ircNetwork = this.getNetwork().ircClient.network;\n\n if (ircNetwork && ircNetwork.options.CHANTYPES) {\n chanPrefixes = ircNetwork.options.CHANTYPES;\n }\n\n return (0, _indexOf.default)(chanPrefixes).call(chanPrefixes, this.name[0]) > -1;\n }\n }, {\n key: \"isQuery\",\n value: function isQuery() {\n var chanPrefixes = ['#', '&'];\n var ircNetwork = this.getNetwork().ircClient.network;\n\n if (ircNetwork && ircNetwork.options.CHANTYPES) {\n chanPrefixes = ircNetwork.options.CHANTYPES;\n }\n\n return (0, _indexOf.default)(chanPrefixes).call(chanPrefixes, this.name[0]) === -1 && !this.isSpecial() && !this.isServer();\n }\n }, {\n key: \"isSpecial\",\n value: function isSpecial() {\n // Special buffer names (Usually controller queries, like *status or *raw).\n // Server buffer '*' is not included in this classification.\n var name = this.name;\n return name[0] === '*' && name.length > 1;\n }\n }, {\n key: \"isUserAnOp\",\n value: function isUserAnOp(nick) {\n var user = this.state.getUser(this.networkid, nick);\n\n if (!user) {\n return false;\n }\n\n var userBufferInfo = user.buffers[this.id];\n\n if (!userBufferInfo) {\n return false;\n }\n\n var modes = userBufferInfo.modes;\n var opModes = ['Y', 'y', 'q', 'a', 'o', 'h'];\n var hasOp = (0, _find.default)(_lodash.default).call(_lodash.default, modes, function (mode) {\n return (0, _indexOf.default)(opModes).call(opModes, mode.toLowerCase()) > -1;\n });\n return !!hasOp;\n }\n /**\n * Get a users prefix symbol on a buffer from its modes\n * @param {Object} user The user object\n */\n\n }, {\n key: \"userModePrefix\",\n value: function userModePrefix(user) {\n // The user may not be on the buffer\n if (!user.buffers[this.id]) {\n return '';\n }\n\n var modes = user.buffers[this.id].modes;\n\n if (modes.length === 0) {\n return '';\n }\n\n var network = this.getNetwork();\n var netPrefixes = network.ircClient.network.options.PREFIX; // Find the first (highest) netPrefix in the users buffer modes\n\n var prefix = (0, _find.default)(_lodash.default).call(_lodash.default, netPrefixes, function (p) {\n return (0, _indexOf.default)(modes).call(modes, p.mode) > -1;\n });\n return prefix ? prefix.symbol : '';\n }\n /**\n * Get a users mode on a buffer\n * @param user {Object} The user object\n */\n\n }, {\n key: \"userMode\",\n value: function userMode(user) {\n // The user may not be on the buffer\n if (!user.buffers[this.id]) {\n return '';\n }\n\n var modes = user.buffers[this.id].modes;\n\n if (modes.length === 0) {\n return '';\n } // if there is only one mode just return it\n\n\n if (modes.length === 1) {\n return modes[0];\n }\n\n var network = this.getNetwork();\n var netPrefixes = network.ircClient.network.options.PREFIX; // Find the first (highest) netPrefix in the users buffer modes\n\n var prefix = (0, _find.default)(_lodash.default).call(_lodash.default, netPrefixes, function (p) {\n return (0, _indexOf.default)(modes).call(modes, p.mode) > -1;\n });\n return prefix ? prefix.mode : '';\n }\n }, {\n key: \"setting\",\n value: function setting(name, val) {\n if (typeof val !== 'undefined') {\n this.state.$set(this.settings, name, val);\n return val;\n } // Check the buffer specific settings before reverting to global settings\n\n\n var result = typeof this.settings[name] !== 'undefined' ? this.settings[name] : this.state.setting('buffers.' + name);\n return result;\n }\n }, {\n key: \"rename\",\n value: function rename(newName) {\n var network = this.getNetwork();\n var oldName = this.name;\n var setActive = this.state.getActiveBuffer() === this;\n this.name = newName;\n\n if (setActive) {\n this.state.setActiveBuffer(network.id, newName);\n } // update the buffer name on our messages\n\n\n var bufferMessages = (0, _find.default)(_lodash.default).call(_lodash.default, this.messageDict, {\n networkid: network.id,\n buffer: oldName\n });\n bufferMessages.buffer = newName;\n }\n }, {\n key: \"flag\",\n value: function flag(name, val) {\n if (typeof val !== 'undefined') {\n this.state.$set((0, _flags.default)(this), name, val);\n return val;\n }\n\n return (0, _flags.default)(this)[name];\n }\n }, {\n key: \"requestScrollback\",\n value: function requestScrollback(_direction) {\n var _this2 = this;\n\n var direction = _direction || 'backward';\n var time = '';\n var chathistoryFuncName = 'before'; // Going backwards takes the earliest message we already have and requests messages\n // before it. Going forward takes the last message we have and requests messages after\n // it.\n\n if (direction === 'backward') {\n var _context3;\n\n var lastMessage = (0, _reduce.default)(_context3 = this.getMessages()).call(_context3, function (earliest, current) {\n var ignoreTypes = ['traffic', 'topic', 'connection', 'presence'];\n var validType = (0, _indexOf.default)(ignoreTypes).call(ignoreTypes, earliest.type) === -1;\n\n if (validType && earliest.time && earliest.time < current.time) {\n return earliest;\n }\n\n return current;\n }, this.getMessages()[0]);\n chathistoryFuncName = 'before';\n time = lastMessage ? new Date(lastMessage.server_time) : new Date();\n } else if (direction === 'forward') {\n var _context4;\n\n var firstMessage = (0, _reduce.default)(_context4 = this.getMessages()).call(_context4, function (latest, current) {\n var ignoreTypes = ['traffic', 'topic', 'connection', 'presence'];\n var validType = (0, _indexOf.default)(ignoreTypes).call(ignoreTypes, latest.type) === -1;\n\n if (validType && latest.time && latest.time > current.time) {\n return latest;\n }\n\n return current;\n }, this.getMessages()[0]);\n chathistoryFuncName = 'after';\n time = firstMessage ? new Date(firstMessage.server_time) : new Date();\n } else {\n throw new Error('Invalid direction for requestScrollback(): ' + _direction);\n }\n\n var ircClient = this.getNetwork().ircClient;\n this.flag('is_requesting_chathistory', true);\n this.chathistory_request_count += 1;\n var existingMessageIds = (0, _assign.default)({}, this.messagesObj.messageIds);\n ircClient.chathistory[chathistoryFuncName](this.name, time).then(function (event) {\n var _context5;\n\n if (!event) {\n _this2.flag('chathistory_available', false);\n\n return;\n } // The BNC server may reply with messages that are already in the buffer.\n // If we get no new messages that we didn't already have, assume that we have\n // all the available history\n\n\n var hasNewMessages = (0, _some.default)(_context5 = event.commands).call(_context5, function (msg) {\n return msg.tags.msgid && !existingMessageIds[msg.tags.msgid];\n }); // If there are new messages, then there could be more in the backlog.\n // If there are no new messages, then the chat history is empty.\n\n _this2.flag('chathistory_available', hasNewMessages);\n }).finally(function () {\n _this2.flag('is_requesting_chathistory', false);\n });\n }\n }, {\n key: \"requestLatestScrollback\",\n value: function requestLatestScrollback() {\n var _this3 = this;\n\n var ircClient = this.getNetwork().ircClient;\n this.flag('is_requesting_chathistory', true);\n this.chathistory_request_count += 1;\n ircClient.chathistory.before(this.name, '*').finally(function () {\n _this3.flag('is_requesting_chathistory', false);\n });\n }\n }, {\n key: \"markAsRead\",\n value: function markAsRead(delayed) {\n if (this.active_timeout) {\n clearTimeout(this.active_timeout);\n this.active_timeout = null;\n }\n\n if (delayed) {\n var _context6;\n\n this.active_timeout = (0, _setTimeout2.default)((0, _bind.default)(_context6 = this.markAsRead).call(_context6, this), 10000, false);\n } else {\n this.last_read = (0, _now.default)();\n this.flag('highlight', false); // If running under a bouncer, set it on the server-side too\n\n var network = this.getNetwork();\n var allowedUpdate = !network ? false : this.isChannel() || this.isQuery();\n\n if (allowedUpdate && network.connection.bncnetid) {\n network.ircClient.bnc.bufferSeen(network.connection.bncnetid, this.name);\n }\n }\n }\n }, {\n key: \"incrementFlag\",\n value: function incrementFlag(flagName) {\n (0, _flags.default)(this)[flagName] = ((0, _flags.default)(this)[flagName] || 0) + 1;\n }\n }, {\n key: \"addUser\",\n value: function addUser(user) {\n this.addUserBatch(user);\n }\n }, {\n key: \"hasNick\",\n value: function hasNick(nick) {\n var nickLower = nick.toLowerCase();\n return nickLower in this.users || this.isQuery() && this.name.toLowerCase() === nickLower;\n }\n }, {\n key: \"hasMode\",\n value: function hasMode(mode) {\n var _context7;\n\n return (0, _indexOf.default)(_context7 = (0, _keys.default)(this.modes)).call(_context7, mode) > -1;\n }\n }, {\n key: \"shouldShareTyping\",\n value: function shouldShareTyping() {\n var network = this.getNetwork();\n\n if (!this.setting('share_typing')) {\n // Feature disabled\n return false;\n }\n\n if (!this.isChannel() && !this.isQuery()) {\n // Qnly share tying with channels and queries\n return false;\n }\n\n if (this.isChannel() && !this.joined) {\n // Channel is in an unjoined state\n return false;\n }\n\n if (this.hasMode('m') && !this.userMode(network.currentUser())) {\n // Channel is moderated (+m) and we do not have a user mode +v or above\n return false;\n }\n\n return true;\n }\n }, {\n key: \"removeUser\",\n value: function removeUser(nick) {\n var userObj = this.state.getUser(this.networkid, nick); // A user could be queued to be added, so make sure it's not there as it\n // would just be added again. Eg. user joins/parts during a flood\n\n _lodash.default.pull(this.addUserBatch.queue(), userObj);\n\n this.state.$delete(this.users, nick.toLowerCase());\n\n if (userObj) {\n delete userObj.buffers[this.id];\n }\n }\n }, {\n key: \"clearUsers\",\n value: function clearUsers() {\n var _context8,\n _this4 = this;\n\n // Users could be queued to be added, so make sure to clear them as they\n // would just be added again. Eg. user joins/parts during a flood\n this.addUserBatch && (0, _splice.default)(_context8 = this.addUserBatch.queue()).call(_context8, 0);\n\n _lodash.default.each(this.users, function (userObj, nick) {\n delete userObj.buffers[_this4.id];\n });\n\n this.state.$set(this, 'users', {});\n }\n }, {\n key: \"addMessage\",\n value: function addMessage(message) {\n this.addMessageBatch(message);\n }\n }, {\n key: \"updateLatestMessages\",\n value: function updateLatestMessages(message) {\n var _context9,\n _this5 = this;\n\n if (!(0, _includes.default)(_context9 = ['privmsg', 'notice']).call(_context9, message.type)) {\n return;\n }\n\n var isNewer = function isNewer(msg) {\n return _this5.latest_messages[0].time <= msg.time && _this5.latest_messages[0].instance_num < msg.instance_num;\n };\n\n if (!this.latest_messages[0] || isNewer(message)) {\n this.latest_messages.unshift(message);\n }\n\n if (this.latest_messages.length > 5) {\n // restrict array to 5 elements\n this.latest_messages.length = 5;\n }\n }\n }, {\n key: \"getLatestMessage\",\n value: function getLatestMessage() {\n return this.latest_messages[0];\n }\n }, {\n key: \"say\",\n value: function say(message) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var network = this.getNetwork();\n var newMessage = {\n time: (0, _now.default)(),\n nick: network.nick,\n message: message,\n type: opts.type || 'privmsg'\n };\n this.state.addMessage(this, newMessage);\n var fnNames = {\n privmsg: 'say',\n action: 'action',\n notice: 'notice'\n };\n var fnName = fnNames[opts.type] || 'say';\n network.ircClient[fnName](this.name, message);\n }\n }, {\n key: \"join\",\n value: function join() {\n if (!this.isChannel()) {\n return;\n }\n\n var network = this.getNetwork();\n network.ircClient.join(this.name, this.key || '');\n }\n }, {\n key: \"part\",\n value: function part(reason) {\n if (!this.isChannel()) {\n return;\n }\n\n var network = this.getNetwork();\n network.ircClient.part(this.name, reason || '');\n }\n }, {\n key: \"scrollToMessage\",\n value: function scrollToMessage(id) {\n this.state.$emit('messagelist.scrollto', {\n id: id\n });\n }\n }, {\n key: \"getLoadingState\",\n value: function getLoadingState() {\n var networkState = this.getNetwork().state;\n var historySupport = !!this.getNetwork().ircClient.chathistory.isSupported();\n var messagesInBatchQueue = this.addMessageBatch.queue().length; // Hack; We need to make vue aware that we depend on message_count in order to\n // update the loading state.\n // eslint-disable-next-line no-unused-vars\n\n var messageCount = this.message_count;\n\n if (networkState === 'disconnected') {\n return 'disconnected';\n } else if (networkState === 'connecting') {\n return 'connecting';\n } else if (networkState === 'connected' && this.enabled && historySupport && ((0, _flags.default)(this).is_requesting_chathistory || // If chathistory is supported then a request will always be made when first\n // joining a channel. If request_count===0 then we're still waiting for it\n // to happen.\n this.chathistory_request_count === 0 || // keep in loading state while the batch is being processed\n messagesInBatchQueue > 0)) {\n return 'loading';\n }\n\n return 'done';\n }\n }, {\n key: \"isReady\",\n value: function isReady() {\n return this.getLoadingState() === 'done';\n }\n }]);\n return BufferState;\n}();\n/**\n * Batch up floods of addUsers for a huge performance gain.\n * Generally happens when reconnecting to a BNC\n */\n\n\nexports.default = BufferState;\n\nfunction createUserBatch(bufferState) {\n var addSingleUser = function addSingleUser(u) {\n bufferState.state.$set(bufferState.users, u.nick.toLowerCase(), u);\n };\n\n var addMultipleUsers = function addMultipleUsers(users) {\n var o = _lodash.default.clone(bufferState.users);\n\n (0, _forEach.default)(users).call(users, function (u) {\n o[u.nick.toLowerCase()] = u;\n });\n bufferState.users = o;\n };\n\n return (0, _batchedAdd.default)(addSingleUser, addMultipleUsers, 2);\n}\n/**\n * batch up floods of new messages for a huge performance gain\n */\n\n\nfunction createMessageBatch(bufferState) {\n var addSingleMessage = function addSingleMessage(newMessage) {\n if (bufferState.messagesObj.messageIds[newMessage.id]) {\n return;\n }\n\n bufferState.updateLatestMessages(newMessage);\n bufferState.messagesObj.messages.push(newMessage);\n bufferState.messagesObj.messageIds[newMessage.id] = newMessage;\n\n if (bufferState.isMessageTrimming) {\n trimMessages();\n }\n\n bufferTools.orderedMessages(bufferState, {\n inPlace: true,\n noFilter: true\n });\n bufferState.message_count++;\n };\n\n var addMultipleMessages = function addMultipleMessages(newMessages) {\n var toAdd = (0, _filter.default)(newMessages).call(newMessages, function (msg) {\n return !bufferState.messagesObj.messageIds[msg.id];\n });\n\n if (toAdd.length > 0) {\n var _context10;\n\n bufferState.messagesObj.messages = (0, _concat.default)(_context10 = bufferState.messagesObj.messages).call(_context10, toAdd);\n (0, _forEach.default)(toAdd).call(toAdd, function (msg) {\n bufferState.updateLatestMessages(msg);\n bufferState.messagesObj.messageIds[msg.id] = msg;\n });\n\n if (bufferState.isMessageTrimming) {\n trimMessages();\n }\n\n bufferTools.orderedMessages(bufferState, {\n inPlace: true,\n noFilter: true\n });\n } // Trigger Vue's reactivity on the buffer whether messages were added or not, just in case\n // anything was depending on the batch queue which has now been emptied.\n\n\n bufferState.message_count++;\n };\n\n var trimMessages = function trimMessages() {\n var scrollbackSize = bufferState.setting('scrollback_size');\n var length = bufferState.messagesObj.messages.length;\n\n if (bufferState.messagesObj.messages.length > scrollbackSize) {\n var _context11;\n\n var removed = (0, _splice.default)(_context11 = bufferState.messagesObj.messages).call(_context11, 0, length - scrollbackSize);\n (0, _forEach.default)(removed).call(removed, function (msg) {\n return delete bufferState.messagesObj.messageIds[msg.id];\n });\n }\n };\n\n return (0, _batchedAdd.default)(addSingleMessage, addMultipleMessages, 4);\n} // Update our user list status every 30seconds to get each users current away status\n\n\nfunction maybeStartWhoLoop(bufferState) {\n var network = bufferState.state.getNetwork(bufferState.networkid);\n\n if (network.state === 'connected') {\n // network is connected start the loop if its needed\n nextLoop();\n } else {\n // Network is not coonnected. Wait until it is\n var on001 = function on001(command, event, eventNetwork) {\n if (eventNetwork === network) {\n bufferState.state.$off('irc.raw.001', on001);\n nextLoop();\n }\n };\n\n bufferState.state.$on('irc.raw.001', on001);\n }\n\n function nextLoop() {\n (0, _setTimeout2.default)(updateWhoStatusLoop, 30000);\n }\n\n function updateWhoStatusLoop() {\n network = bufferState.state.getNetwork(bufferState.networkid); // Make sure the network still exists\n\n if (!network) {\n return;\n } // Make sure the buffer still exists\n\n\n if (!network.bufferByName(bufferState.name)) {\n return;\n }\n\n var whoLoop = bufferState.setting('who_loop');\n var isJoined = bufferState.joined;\n var hasAwayNotify = network.ircClient.network.cap.isEnabled('away-notify');\n var networkConnected = network.state === 'connected';\n\n if (whoLoop && networkConnected && isJoined && !hasAwayNotify) {\n network.ircClient.who(bufferState.name, function () {\n nextLoop();\n });\n } else {\n nextLoop();\n }\n }\n}","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageInline.vue?vue&type=style&index=0&id=7979fe60&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageInline.vue?vue&type=style&index=0&id=7979fe60&lang=less&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KiwiBnc.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KiwiBnc.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar methods = {\n props: {},\n toggleSelfAway: function toggleSelfAway(props) {\n // let props = this.props;\n if (props.isUserSelf) {\n var val = props.user.isAway();\n props.network.ircClient.raw('AWAY', val ? '' : 'Currently away');\n }\n },\n isUserSelf: function isUserSelf(props) {\n // let props = this.props;\n if (props.toggle === false) {\n return false;\n }\n\n var user = (0, _state.default)().getUser(props.network.id, props.network.nick);\n return props.user === user;\n },\n shouldShowStatus: function shouldShowStatus(props) {\n // let props = this.props;\n if (!(0, _state.default)().setting('showAwayStatusIndicators')) {\n return false;\n }\n\n if (props.network.state !== 'connected') {\n return false;\n }\n\n var awayNotifyEnabled = props.network.ircClient.network.cap.isEnabled('away-notify');\n return (0, _state.default)().setting('buffers.who_loop') || awayNotifyEnabled;\n }\n};\nvar _default = {\n props: {\n network: Object,\n user: Object,\n toggle: Boolean\n },\n m: methods\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"AwayStatusIndicator\"]\r\nwindow._kiwi_exports.components.AwayStatusIndicator = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = bouncerMiddleware;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _ircFramework = require(\"irc-framework\");\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * Adds the BOUNCER IRCv3 spec to irc-framework\n */\nfunction bouncerMiddleware() {\n var networks = [];\n var buffers = {};\n return function middleware(client, rawEvents, parsedEvents) {\n client.requestCap('bouncer');\n addFunctionsToClient(client);\n rawEvents.use(theMiddleware);\n };\n\n function theMiddleware(command, message, rawLine, client, next) {\n var _context, _context2, _context3;\n\n if (command !== 'BOUNCER') {\n next();\n return;\n }\n\n var params = message.params;\n\n if (params[0] === 'listnetworks' && (0, _indexOf.default)(_context = ['end', 'RPL_OK']).call(_context, params[1]) > -1) {\n client.command_handler.emit('bouncer networks', networks);\n networks = [];\n } else if (params[0] === 'listnetworks') {\n var tags = _ircFramework.MessageTags.decode(params[2]);\n\n networks.push({\n networkId: params[1],\n name: tags.network,\n host: tags.host,\n port: (0, _parseInt2.default)(tags.port, 10),\n tls: tags.tls === '1',\n connected: tags.state === 'connected',\n nick: tags.nick,\n currentNick: tags.currentNick,\n password: tags.password || '',\n account: tags.account || '',\n account_password: tags.account_password || ''\n });\n } else if (params[0] === 'listbuffers' && (0, _indexOf.default)(_context2 = ['end', 'RPL_OK']).call(_context2, params[2]) > -1) {\n var netId = params[1] || '';\n var detectedBuffers = buffers[netId] || [];\n delete buffers[netId];\n client.command_handler.emit('bouncer buffers', detectedBuffers);\n client.command_handler.emit('bouncer buffers ' + netId, detectedBuffers);\n } else if (params[0] === 'listbuffers') {\n var _netId = params[1] || '';\n\n var _tags = _ircFramework.MessageTags.decode(params[2]);\n\n buffers[_netId] = buffers[_netId] || [];\n\n buffers[_netId].push({\n networkId: _netId,\n network: _tags.network,\n name: _tags.buffer,\n topic: _tags.topic,\n joined: _tags.joined === '1',\n seen: _tags.seen,\n notify: _tags.notify || 'highlight'\n });\n } else if (params[0] === 'state') {\n client.command_handler.emit('bouncer state', {\n networkId: params[1],\n network: params[2],\n state: params[3]\n });\n } // BOUNCER addnetwork NetID Network1 ERR_NAMEINUSE\n\n\n if (params[0] === 'addnetwork' && params[3].substr(0, 4) === 'ERR_') {\n var netName = (params[2] || '').toLowerCase();\n var eventObj = {\n error: params[3],\n reason: params[4] || ''\n };\n client.command_handler.emit('bouncer addnetwork error', eventObj);\n client.command_handler.emit('bouncer addnetwork error ' + netName, eventObj);\n } else if (params[0] === 'addnetwork' && (0, _indexOf.default)(_context3 = ['end', 'RPL_OK']).call(_context3, params[3]) > -1) {\n // BOUNCER addnetwork 5 Network1 RPL_OK\n var _netId2 = params[1] || '';\n\n var _netName = (params[2] || '').toLowerCase();\n\n var _eventObj = {\n networkId: _netId2,\n network: _netName\n };\n client.command_handler.emit('bouncer addnetwork ok', _eventObj);\n client.command_handler.emit('bouncer addnetwork ok ' + _netName, _eventObj);\n }\n }\n}\n\nfunction addFunctionsToClient(client) {\n var bnc = client.bnc = {};\n\n bnc.tags = function tags() {\n var token = client.network.supports('bouncer');\n return !token || typeof token !== 'string' ? {} : _ircFramework.MessageTags.decode(token) || {};\n };\n\n bnc.hasNetwork = function hasNetwork() {\n var token = client.network.supports('bouncer');\n\n if (!token || token === true) {\n return false;\n }\n\n var tags = _ircFramework.MessageTags.decode(token);\n\n return tags && !!tags.network;\n };\n\n bnc.getNetworks = function getNetworks() {\n return new _promise.default(function (resolve, reject) {\n client.raw('BOUNCER listnetworks');\n client.once('bouncer networks', function (networks) {\n resolve(networks);\n });\n });\n };\n\n bnc.getBuffers = function getBuffers(netId) {\n return new _promise.default(function (resolve, reject) {\n client.raw('BOUNCER listbuffers ' + netId);\n client.once('bouncer buffers ' + netId, function (buffers) {\n resolve(buffers);\n });\n });\n };\n\n bnc.closeBuffer = function closeBuffer(netId, bufferName) {\n return new _promise.default(function (resolve, reject) {\n var _context4;\n\n client.raw((0, _concat.default)(_context4 = \"BOUNCER delbuffer \".concat(netId, \" \")).call(_context4, bufferName));\n });\n };\n\n bnc.bufferSeen = function bufferSeen(netId, bufferName, seenTime) {\n return new _promise.default(function (resolve, reject) {\n var _context5, _context6;\n\n // 1 tells the bouncer to use the current time\n var timeStr = seenTime ? Misc.dateIso(seenTime) : '1';\n client.raw((0, _concat.default)(_context5 = (0, _concat.default)(_context6 = \"BOUNCER changebuffer \".concat(netId, \" \")).call(_context6, bufferName, \" seen=\")).call(_context5, timeStr));\n });\n };\n\n bnc.addNetwork = function addNetwork(netName, host, port, tls, nick, user, password) {\n var tags = {};\n tags.network = netName;\n tags.host = host;\n tags.port = port;\n tags.tls = tls ? 1 : 0;\n tags.nick = nick;\n tags.password = password;\n\n if (user) {\n tags.user = user;\n }\n\n var tagString = createTagString(tags);\n return new _promise.default(function (resolve, reject) {\n client.raw('BOUNCER addnetwork ' + tagString);\n client.once('bouncer addnetwork ok ' + netName.toLowerCase(), onOk);\n client.once('bouncer addnetwork error', onError);\n\n function onOk(event) {\n client.off('bouncer addnetwork error', onError);\n resolve(event);\n }\n\n function onError(event) {\n client.off('bouncer addnetwork ok ' + netName.toLowerCase(), onOk);\n reject({\n error: event.error,\n reason: event.reason\n });\n }\n });\n };\n\n bnc.removeNetwork = function removeNetwork(netId, bufferName) {\n return new _promise.default(function (resolve, reject) {\n client.raw(\"BOUNCER delnetwork \".concat(netId));\n });\n };\n\n bnc.saveNetwork = function saveNetwork(netId, opts) {\n var tags = {};\n\n if (typeof opts.network !== 'undefined') {\n tags.network = opts.network;\n }\n\n if (typeof opts.host !== 'undefined') {\n tags.host = opts.host;\n }\n\n if (typeof opts.port !== 'undefined') {\n tags.port = opts.port;\n }\n\n if (typeof opts.tls !== 'undefined') {\n tags.tls = opts.tls ? 1 : 0;\n }\n\n if (typeof opts.nick !== 'undefined') {\n tags.nick = opts.nick;\n }\n\n if (typeof opts.user !== 'undefined') {\n tags.user = opts.user;\n }\n\n if (typeof opts.password !== 'undefined') {\n tags.password = opts.password;\n }\n\n if (typeof opts.account_password !== 'undefined') {\n tags.account_password = opts.account_password;\n }\n\n if (typeof opts.account !== 'undefined') {\n tags.account = opts.account;\n }\n\n var tagString = createTagString(tags);\n return new _promise.default(function (resolve, reject) {\n if (tagString.length === 0) {\n resolve();\n } else {\n var _context7;\n\n client.raw((0, _concat.default)(_context7 = \"BOUNCER changenetwork \".concat(netId, \" \")).call(_context7, tagString));\n }\n });\n };\n}\n\nfunction createTagString(tags) {\n var _context8;\n\n var tagParts = [];\n (0, _forEach.default)(_context8 = (0, _keys.default)(tags)).call(_context8, function (tag) {\n var val = tags[tag];\n\n if (typeof val !== 'undefined') {\n val = val.toString().replace(' ', '\\\\s').replace(';', '\\\\:');\n tagParts.push(tag + '=' + val);\n } else {\n tagParts.push(tag);\n }\n });\n return tagParts.join(';');\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"BouncerMiddleware\"]\r\nwindow._kiwi_exports.libs.BouncerMiddleware = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerView.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-inputtool-emoji\"},[_c('div',{staticClass:\"kiwi-inputtool-emoji-palette\",on:{\"mousedown\":function($event){$event.preventDefault();},\"click\":function($event){$event.preventDefault();}}},_vm._l((_vm.emojis),function(text,eCode){return _c('div',{key:eCode,staticClass:\"kiwi-inputtool-emoji-emoji\",style:({'background-image':(\"url(\" + _vm.location + eCode + \".png)\")}),attrs:{\"data-code\":text + ' '},on:{\"click\":_vm.onImgClick}})}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-notconnected kiwi-warning-block\",class:{ connecting: _vm.shouldShowLoading }},[(!_vm.shouldShowLoading)?[_c('div',{staticClass:\"kiwi-notconnected-caption\"},[_c('span',[_vm._v(_vm._s(_vm.$t('not_connected')))]),(!_vm.shouldShowLoading)?_c('i',{staticClass:\"fa fa-frown-o\",attrs:{\"aria-hidden\":\"true\"}}):_vm._e()]),_c('div',{staticClass:\"kiwi-notconnected-buttons\"},[(_vm.isChannel())?[_c('span',{staticClass:\"kiwi-notconnected-button\",attrs:{\"disabled\":!_vm.readyToStart},on:{\"click\":_vm.reconnect}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('reconnect_channel', {channel: _vm.buffer.name}))+\" \")])]:(_vm.isServer())?[_c('span',{staticClass:\"kiwi-notconnected-button\",attrs:{\"disabled\":!_vm.readyToStart},on:{\"click\":_vm.reconnect}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('reconnect_network', {network: _vm.buffer.getNetwork().name}))+\" \")])]:(_vm.isQuery())?[_c('span',{staticClass:\"kiwi-notconnected-button\",attrs:{\"disabled\":!_vm.readyToStart},on:{\"click\":_vm.reconnect}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('reconnect_query', {user: _vm.buffer.name}))+\" \")])]:_vm._e(),(!_vm.restrictedServer)?_c('a',{staticClass:\"kiwi-notconnected-button kiwi-notconnected-button-settings\",on:{\"click\":_vm.showNetworkSettings}},[_c('i',{staticClass:\"fa fa-cogs\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e()],2)]:_c('div',{staticClass:\"kiwi-notconnected-caption\"},[_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \"),_c('i',{staticClass:\"fa fa-refresh fa-spin kiwi-notconnected-bigicon\",attrs:{\"aria-hidden\":\"true\"}})]),_c('captcha',{staticClass:\"kiwi-notconnected-captcha\",attrs:{\"network\":_vm.network}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./NicklistUser.vue?vue&type=template&id=0543df6d&functional=true&\"\nimport script from \"./NicklistUser.vue?vue&type=script&lang=js&\"\nexport * from \"./NicklistUser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NicklistUser.vue?vue&type=style&index=0&lang=css&\"\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 true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./TypingUsersList.vue?vue&type=template&id=28f29f38&\"\nimport script from \"./TypingUsersList.vue?vue&type=script&lang=js&\"\nexport * from \"./TypingUsersList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypingUsersList.vue?vue&type=style&index=0&lang=css&\"\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","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n data: function data() {\n return {\n closing: false\n };\n },\n computed: {\n backgroundStyle: function backgroundStyle() {\n var style = {};\n var options = this.$state.settings.startupOptions;\n\n if (options.infoBackground) {\n style['background-image'] = \"url(\".concat(options.infoBackground, \")\");\n }\n\n return style;\n },\n backgroundImage: function backgroundImage() {\n return this.$state.settings.startupOptions.infoBackground || '';\n },\n infoContent: function infoContent() {\n return this.$state.settings.startupOptions.infoContent || '';\n }\n },\n methods: {\n close: function close() {\n var _this = this;\n\n this.closing = true;\n\n var startApp = function startApp(event) {\n _this.$el.removeEventListener('transitionend', startApp);\n\n _this.$state.persistence.watchStateForChanges(); // Hacky to be using $parent but this component should only be used in a sepcific\n // scope within startup screens\n\n\n _this.$parent.$emit('start');\n };\n\n this.$el.addEventListener('transitionend', startApp, false);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"CommonLayout\"]\r\nwindow._kiwi_exports.components.startups.CommonLayout = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-wrap kiwi-theme-bg\",class:{\n 'kiwi-wrap--statebrowser-drawopen': _vm.stateBrowserDrawOpen,\n 'kiwi-wrap--monospace': _vm.$state.setting('useMonospace'),\n 'kiwi-wrap--touch': _vm.$state.ui.is_touch,\n },attrs:{\"data-activebuffer\":_vm.buffer ? _vm.buffer.name.toLowerCase() : ''},on:{\"click\":_vm.emitDocumentClick,\"!paste\":function($event){return _vm.emitBufferPaste($event)}}},[_c('link',{attrs:{\"href\":_vm.themeUrl,\"rel\":\"stylesheet\",\"type\":\"text/css\"}}),(!_vm.hasStarted || (!_vm.fallbackComponent && _vm.networks.length === 0))?[_c(_vm.startupComponent,{tag:\"component\",on:{\"start\":_vm.startUp}})]:[_c('state-browser',{attrs:{\"networks\":_vm.networks,\"sidebar-state\":_vm.sidebarState}}),_c('div',{staticClass:\"kiwi-workspace\",class:{\n 'kiwi-workspace--disconnected': _vm.network && _vm.network.state !== 'connected'\n },on:{\"click\":function($event){_vm.stateBrowserDrawOpen = false}}},[_c('div',{staticClass:\"kiwi-workspace-background\"}),(!_vm.activeComponent && _vm.network)?[_c('container',{attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState},scopedSlots:_vm._u([(_vm.mediaviewerOpen)?{key:\"before\",fn:function(){return [_c('media-viewer',{staticClass:\"kiwi-main-mediaviewer\",attrs:{\"url\":_vm.mediaviewerUrl,\"component\":_vm.mediaviewerComponent,\"component-props\":_vm.mediaviewerComponentProps,\"is-iframe\":_vm.mediaviewerIframe},on:{\"close\":function($event){return _vm.$state.$emit('mediaviewer.hide', { source: 'user' });}}})]},proxy:true}:null],null,true)}),(_vm.buffer.show_input)?_c('control-input',{attrs:{\"container\":_vm.networks,\"buffer\":_vm.buffer}}):_vm._e()]:(!_vm.activeComponent)?_c(_vm.fallbackComponent,_vm._b({tag:\"component\"},'component',_vm.fallbackComponentProps,false)):_c(_vm.activeComponent,_vm._b({tag:\"component\"},'component',_vm.activeComponentProps,false))],2)]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _about = _interopRequireDefault(require(\"./about.html\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar firstRun = true;\nvar ctor = {\n data: function data() {\n return {\n about_open: false\n };\n },\n computed: {\n networks: function networks() {\n return this.$state.networks;\n },\n aboutContent: function aboutContent() {\n return _about.default;\n }\n },\n methods: {\n addNetwork: function addNetwork() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var network = this.$state.addNetwork(TextFormatting.t('new_network'), nick, {});\n network.showServerBuffer('settings');\n },\n toggleStateBrowser: function toggleStateBrowser() {\n this.$state.$emit('statebrowser.show');\n },\n init: function init() {\n var _this = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this.$state.persistence.watchStateForChanges();\n\n _this.$emit('start', {\n fallbackComponent: _this.constructor\n });\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n }\n },\n created: function () {\n var _created = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (firstRun) {\n this.init();\n firstRun = false;\n }\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function created() {\n return _created.apply(this, arguments);\n }\n\n return created;\n }()\n};\nvar _default = ctor;\nexports.default = _default;\n(0, _state.default)().getStartups().kiwiirccom = ctor;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"thirdparty\"]) window._kiwi_exports[\"thirdparty\"] = {};\nwindow._kiwi_exports[\"thirdparty\"][\"kiwiirccom\"]\r\nwindow._kiwi_exports.thirdparty.kiwiirccom = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IrcInput.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-channelinfo\"},[_c('form',{staticClass:\"u-form kiwi-channelinfo-basicmodes\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('label',{staticClass:\"kiwi-channelinfo-topic\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_topic')))]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.topic),expression:\"topic\",modifiers:{\"lazy\":true}}],attrs:{\"rows\":\"2\"},domProps:{\"value\":(_vm.topic)},on:{\"change\":function($event){_vm.topic=$event.target.value}}})]),(_vm.buffer.topics.length > 1)?_c('div',{staticClass:\"kiwi-channelinfo-previoustopics\"},[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){_vm.showPrevTopics = !_vm.showPrevTopics}}},[_vm._v(\" Previous topics \"),_c('i',{class:'fa fa-caret-' + (_vm.showPrevTopics ? 'up' : 'down')})]),(_vm.showPrevTopics)?_c('ul',_vm._l((_vm.prevTopics),function(topicText,idx){return _c('li',{key:idx},[_c('span',[_vm._v(_vm._s(topicText.trim()))])])}),0):_vm._e()]):_vm._e(),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_moderated')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeM),expression:\"modeM\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeM)?_vm._i(_vm.modeM,null)>-1:(_vm.modeM)},on:{\"change\":function($event){var $$a=_vm.modeM,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeM=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeM=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeM=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_invite')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeI),expression:\"modeI\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeI)?_vm._i(_vm.modeI,null)>-1:(_vm.modeI)},on:{\"change\":function($event){var $$a=_vm.modeI,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeI=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeI=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeI=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_moderated_topic')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeT),expression:\"modeT\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeT)?_vm._i(_vm.modeT,null)>-1:(_vm.modeT)},on:{\"change\":function($event){var $$a=_vm.modeT,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeT=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeT=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeT=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('channel_external')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.modeN),expression:\"modeN\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.modeN)?_vm._i(_vm.modeN,null)>-1:(_vm.modeN)},on:{\"change\":function($event){var $$a=_vm.modeN,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.modeN=$$a.concat([$$v]))}else{$$i>-1&&(_vm.modeN=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.modeN=$$c}}}})]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('password')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(_vm.modeK),expression:\"modeK\",modifiers:{\"lazy\":true}}],staticClass:\"u-input\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.modeK)},on:{\"change\":function($event){_vm.modeK=$event.target.value}}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setInterval2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-interval\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar WindowTitle = /*#__PURE__*/function () {\n function WindowTitle(state) {\n var _this = this;\n\n (0, _classCallCheck2.default)(this, WindowTitle);\n this.state = state;\n this.title = state.settings.windowTitle || '';\n this.alert = false; // Update the window title if we have one\n\n if (state.settings.windowTitle) {\n this.updateTitle();\n }\n\n state.$watch('settings.windowTitle', function (newVal) {\n _this.updateTitle(newVal);\n });\n state.$watch('ui.app_has_focus', function (newVal) {\n if (newVal && _this.alertTmr) {\n _this.stopAlert();\n }\n });\n state.$on('notification.title', function (enable) {\n if (enable) {\n _this.startAlert();\n } else {\n _this.stopAlert();\n }\n });\n }\n\n (0, _createClass2.default)(WindowTitle, [{\n key: \"startAlert\",\n value: function startAlert() {\n var _this2 = this;\n\n if (this.alertTmr) {\n return;\n }\n\n this.alertTmr = (0, _setInterval2.default)(function () {\n _this2.updateTitle();\n }, 1000);\n }\n }, {\n key: \"stopAlert\",\n value: function stopAlert() {\n if (this.alertTmr) {\n clearInterval(this.alertTmr);\n this.alertTmr = null;\n }\n\n this.updateTitle();\n }\n }, {\n key: \"updateTitle\",\n value: function updateTitle(newTitle) {\n if (typeof newTitle === 'string') {\n this.title = newTitle;\n }\n\n if (this.alertTmr && !this.alert) {\n window.document.title = '* ' + this.title;\n this.alert = true;\n } else {\n window.document.title = this.title;\n this.alert = false;\n }\n }\n }]);\n return WindowTitle;\n}();\n\nexports.default = WindowTitle;","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _Avatar = _interopRequireDefault(require(\"./Avatar\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n components: {\n AwayStatusIndicator: _AwayStatusIndicator.default,\n Avatar: _Avatar.default\n },\n props: ['network'],\n data: function data() {\n return {\n is_usermenu_open: false\n };\n },\n computed: {\n networkName: function networkName() {\n var name = TextFormatting.t('no_network');\n\n if (this.network) {\n name = this.network.name;\n }\n\n return name;\n },\n getUser: function getUser() {\n return this.network && this.network.currentUser() ? this.network.currentUser() : null;\n },\n isConnected: function isConnected() {\n return this.network && this.network.state === 'connected';\n }\n },\n methods: {\n clickForget: function clickForget() {\n var msg = 'This will delete all stored networks and start fresh. Are you sure?';\n /* eslint-disable no-restricted-globals, no-alert */\n\n var confirmed = confirm(msg);\n\n if (!confirmed) {\n return;\n }\n\n this.$state.persistence.forgetState();\n window.location.reload();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StateBrowserUsermenu\"]\r\nwindow._kiwi_exports.components.StateBrowserUsermenu = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\n/**\n * Command input Alias + re-writing\n *\n * Variables used in aliases:\n * - $0 = the command being run\n * - $1 = first param of input\n * - $N = Nth param of input\n * - $1+2 = first param of input and the next 2 words\n * - $2+4 = second param of input and the next 4 words\n * - $2+ = second param of input and all words after\n * - $variable = variable as set in the vars object\n */\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar AliasRewriter = /*#__PURE__*/function () {\n function AliasRewriter() {\n (0, _classCallCheck2.default)(this, AliasRewriter);\n // Max alias recursion depth\n this.recursiveDepth = 3; // Current alias recursion depth\n\n this.depth = 0;\n this.aliases = {};\n }\n /** Reset the current aliases object from a newline delimited string of aliases */\n\n\n (0, _createClass2.default)(AliasRewriter, [{\n key: \"importFromString\",\n value: function importFromString(str) {\n var _context,\n _this = this;\n\n // Clear out the current aliases before adding new ones in\n this.aliases = {};\n (0, _forEach.default)(_context = str.split('\\n')).call(_context, function (line) {\n var _context2;\n\n if (line[0] !== '/') {\n return;\n }\n\n var spaceSep = (0, _indexOf.default)(line).call(line, ' ');\n\n if (spaceSep === -1) {\n return;\n }\n\n var command = line.substring(0, spaceSep);\n var actions = (0, _trim.default)(_context2 = line.substring(spaceSep + 1)).call(_context2);\n\n if (!actions) {\n return;\n }\n\n _this.aliases[command.toLowerCase()] = actions;\n });\n } // Takes an array of words to process!\n\n }, {\n key: \"processInput\",\n value: function processInput(input, vars) {\n var words = input || [];\n var alias = this.aliases[words[0].toLowerCase()];\n var aliasLen;\n var currentAliasWord = '';\n var currentAliasWordLen = 0;\n var processedConditionals = false;\n var compiled = []; // If an alias wasn't found, return the original input\n\n if (!alias) return input; // Split the alias up into useable words\n\n alias = alias.split(' ');\n aliasLen = alias.length; // Iterate over each word and pop them into the final compiled array.\n // Any $ words are processed with the result ending into the compiled array.\n\n for (var i = 0; i < aliasLen; i++) {\n currentAliasWord = alias[i];\n currentAliasWordLen = currentAliasWord.length; // $var? word makes this command only run if the var exists\n\n if (!processedConditionals && currentAliasWord[0] === '$' && currentAliasWord[currentAliasWordLen - 1] === '?') {\n var checkVar = currentAliasWord.substr(1, currentAliasWordLen - 2);\n\n if (!vars[checkVar]) {\n compiled = [];\n break;\n } else {\n continue;\n }\n } else {\n processedConditionals = true;\n } // Non $ word\n\n\n if (currentAliasWord[0] !== '$') {\n compiled.push(currentAliasWord);\n continue;\n } // Refering to an input word ($N)\n\n\n if ((currentAliasWord[1] || '').match(/\\d/)) {\n var num = currentAliasWord.match(/\\$(\\d+)(\\+)?(\\d+)?/); // Did we find anything or does the word it refers to non-existant?\n\n if (!num || !words[num[1]]) continue;\n\n if (num[2] === '+' && num[3]) {\n // Add X number of words\n compiled = (0, _concat.default)(compiled).call(compiled, (0, _slice.default)(words).call(words, (0, _parseInt2.default)(num[1], 10), (0, _parseInt2.default)(num[1], 10) + (0, _parseInt2.default)(num[3], 10)));\n } else if (num[2] === '+') {\n // Add the remaining of the words\n compiled = (0, _concat.default)(compiled).call(compiled, (0, _slice.default)(words).call(words, (0, _parseInt2.default)(num[1], 10)));\n } else {\n // Add a single word\n compiled.push(words[(0, _parseInt2.default)(num[1], 10)]);\n }\n\n continue;\n } // Refering to a variable\n\n\n if (typeof vars[currentAliasWord.substr(1)] !== 'undefined') {\n // Get the variable\n compiled.push(vars[currentAliasWord.substr(1)]);\n continue;\n }\n }\n\n return compiled;\n }\n /** Take a string input, process any aliases and output the finalised string */\n\n }, {\n key: \"process\",\n value: function process(input, vars) {\n var line = input || '';\n var words = line.split(' ');\n var firstWord = (words[0] || '').toLowerCase();\n this.depth++;\n\n if (this.depth >= this.recursiveDepth) {\n this.depth--;\n return line;\n }\n\n if (this.aliases[firstWord]) {\n words = this.processInput(words, vars);\n firstWord = (words[0] || '').toLowerCase();\n\n if (this.aliases[firstWord]) {\n words = this.process(words.join(' '), vars).split(' ');\n }\n }\n\n this.depth--;\n return words.join(' ');\n }\n }]);\n return AliasRewriter;\n}();\n\nexports.default = AliasRewriter;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"AliasRewriter\"]\r\nwindow._kiwi_exports.libs.AliasRewriter = exports.default ? exports.default : exports;\r\n","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _MediaViewer = _interopRequireDefault(require(\"./MediaViewer\"));\n\nvar _MessageInfo = _interopRequireDefault(require(\"./MessageInfo\"));\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar methods = {\n props: {},\n displayNick: function displayNick() {\n var props = this.props;\n var suffix = props.message.nick ? ':' : '';\n return props.message.nick + suffix;\n },\n userMode: function userMode(user) {\n var props = this.props;\n return props.ml.buffer.userMode(user);\n },\n userModePrefix: function userModePrefix(user) {\n var props = this.props;\n return props.ml.buffer.userModePrefix(user);\n }\n};\nvar _default = {\n inject: {\n components: {\n default: {\n MessageInfo: _MessageInfo.default,\n MediaViewer: _MediaViewer.default\n }\n }\n },\n props: {\n ml: Object,\n message: Object,\n idx: Number,\n m: {\n default: function m() {\n // vue uses this function to generate the prop. `this`==null Return our own function\n return function n() {\n // Give our methods some props context before its function is called.\n // This is only safe because the function on the methods object is called on\n // the same js tick\n methods.props = this;\n return methods;\n };\n }\n }\n }\n};\nexports.default = _default;","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBox.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _default = {\n props: ['network', 'buffer', 'sidebarState'],\n data: function data() {\n return {\n pluginUiSections: _GlobalApi.default.singleton().aboutBufferPlugins,\n closedSections: {}\n };\n },\n computed: {\n b: function b() {\n return this.buffer || {};\n },\n formattedTopic: function formattedTopic() {\n var blocks = (0, _MessageParser.default)(this.b.topic || '', {\n extras: false\n });\n var content = (0, _Html.default)(blocks);\n return content;\n },\n highlights: function highlights() {\n var _context, _context2, _context3, _context4, _context5, _context6;\n\n // Tap into buffer.message_count to force vuejs to update this function when\n // it changes\n\n /* eslint-disable no-unused-vars */\n var tmp = this.buffer.message_count;\n return (0, _sort.default)(_context = (0, _filter.default)(_context2 = (0, _filter.default)(_context3 = (0, _filter.default)(_context4 = (0, _filter.default)(_context5 = (0, _filter.default)(_context6 = this.buffer.getMessages()).call(_context6, function (m) {\n return m.isHighlight;\n })).call(_context5, function (m) {\n return m.type !== 'traffic';\n })).call(_context4, function (m) {\n return m.type !== 'topic';\n })).call(_context3, function (m) {\n return m.type !== 'mode';\n })).call(_context2, function (m) {\n return m.html;\n })).call(_context, function (a, b) {\n return b.time - a.time;\n });\n }\n },\n methods: {\n toggleSection: function toggleSection(section) {\n this.$set(this.closedSections, section, !this.closedSections[section]);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SidebarAboutBuffer\"]\r\nwindow._kiwi_exports.components.SidebarAboutBuffer = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputConfirm.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n props: ['error']\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StartupError\"]\r\nwindow._kiwi_exports.components.StartupError = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageInfo.vue?vue&type=script&lang=js&\"","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _construct = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/reflect/construct\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/getPrototypeOf\"));\n\nvar _eventemitter = _interopRequireDefault(require(\"eventemitter3\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _json = _interopRequireDefault(require(\"json5\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _compareVersions = _interopRequireDefault(require(\"compare-versions\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _Logger = _interopRequireDefault(require(\"./Logger\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = (0, _construct.default)(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !_construct.default) return false; if (_construct.default.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call((0, _construct.default)(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar singletonInstance = null;\nvar pluginsToInit = [];\nvar nextPluginId = 0;\n/** The global kiwi API instance */\n\nvar GlobalApi = /*#__PURE__*/function (_EventEmitter) {\n (0, _inherits2.default)(GlobalApi, _EventEmitter);\n\n var _super = _createSuper(GlobalApi);\n\n function GlobalApi() {\n var _this;\n\n (0, _classCallCheck2.default)(this, GlobalApi);\n _this = _super.call(this); // eslint-disable-next-line no-undef\n\n _this.version = __VERSION__;\n /** A reference to the internal Vuejs instance */\n\n _this.Vue = _vue.default;\n /** Expose JSON5 so that plugins can use the same config format */\n\n _this.JSON5 = _json.default;\n /** The applications internal state */\n\n _this.state = null;\n /** The applications ThemeManager */\n\n _this.themes = null;\n _this.controlInputPlugins = [];\n _this.stateBrowserPlugins = [];\n _this.channelHeaderPlugins = [];\n _this.queryHeaderPlugins = [];\n _this.sideBarPlugins = [];\n _this.appSettingsPlugins = [];\n _this.serverViewPlugins = [];\n _this.aboutBufferPlugins = [];\n _this.tabs = (0, _create.default)(null);\n _this.isReady = false;\n /* eslint-disable no-underscore-dangle */\n\n _this.exports = window._kiwi_exports || {};\n\n _this.on('init', function () {\n _this.isReady = true;\n\n _this.initPlugins();\n });\n\n return _this;\n }\n\n (0, _createClass2.default)(GlobalApi, [{\n key: \"versionMatches\",\n value: function versionMatches(v) {\n return (0, _compareVersions.default)(this.version, v) >= 0;\n }\n /**\n * Register a plugin with kiwi\n *\n * Plugins being loaded at startup will be registered once Kiwi is ready. At any\n * other point the plugin will be registered instantly\n * @param {String} pluginName The name of this plugin\n * @param {Function} fn A callback function to start the plugin. function(kiwi, logger)\n */\n\n }, {\n key: \"plugin\",\n value: function plugin(pluginName, fn) {\n var plugin = {\n name: pluginName,\n fn: fn\n };\n\n if (this.isReady) {\n this.initPlugin(plugin);\n } else {\n pluginsToInit.push(plugin);\n }\n } // Init any plugins that were added before we were ready\n\n }, {\n key: \"initPlugins\",\n value: function initPlugins() {\n var _this2 = this;\n\n (0, _forEach.default)(pluginsToInit).call(pluginsToInit, function (plugin) {\n return _this2.initPlugin(plugin);\n });\n pluginsToInit = [];\n }\n }, {\n key: \"initPlugin\",\n value: function initPlugin(plugin) {\n var pluginLogger = _Logger.default.namespace(\"Plugin \".concat(plugin.name));\n\n try {\n plugin.fn(this, pluginLogger);\n this.state.$emit('plugin.loaded', {\n name: plugin.name\n });\n } catch (err) {\n pluginLogger.error(err.stack);\n }\n }\n /**\n * Get a reference to an internal Kiwi module\n *\n * E.g. require('helpers/TextFormatting');\n * @param {String} mod The module path\n */\n\n }, {\n key: \"require\",\n value: function require(modPath) {\n var path = modPath.replace(/\\//g, '.');\n\n var mod = _lodash.default.get(this.exports, path);\n\n if (typeof mod === 'undefined') {\n _Logger.default.error('Module does not exist: ' + modPath);\n }\n\n return mod;\n }\n }, {\n key: \"setState\",\n value: function setState(state) {\n var _this3 = this;\n\n this.state = state; // Hacky, but since Vues emitter doesnt support 'all', hijack its $emit call\n // so that we can forward the event on to plugins\n\n var stateEmit = this.state.$emit;\n var thisEmit = this.emit;\n\n this.state.$emit = function () {\n var _context3;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n try {\n var _context, _context2;\n\n thisEmit.call.apply(thisEmit, (0, _concat.default)(_context = [_this3, 'all', args[0]]).call(_context, (0, _toConsumableArray2.default)((0, _slice.default)(args).call(args, 1))));\n thisEmit.call.apply(thisEmit, (0, _concat.default)(_context2 = [_this3]).call(_context2, args));\n } catch (err) {\n _Logger.default.error(err.stack);\n }\n\n return stateEmit.call.apply(stateEmit, (0, _concat.default)(_context3 = [_this3.state]).call(_context3, args));\n }; // Let plugins emit events into the internal state\n\n\n this.emit = function () {\n var _context4, _context5;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n stateEmit.call.apply(stateEmit, (0, _concat.default)(_context4 = [_this3.state]).call(_context4, args));\n thisEmit.call.apply(thisEmit, (0, _concat.default)(_context5 = [_this3]).call(_context5, args));\n };\n }\n }, {\n key: \"setThemeManager\",\n value: function setThemeManager(themeManager) {\n this.themes = themeManager;\n }\n /**\n * Change the logging level output\n * @param {number} newLevel The new logging level\n */\n\n }, {\n key: \"logLevel\",\n value: function logLevel(newLevel) {\n _Logger.default.setLevel(newLevel);\n }\n }, {\n key: \"log\",\n get: function get() {\n return _Logger.default;\n }\n /**\n * Add a DOM element to different parts of the Kiwi UI\n * - addUi('input', domElement)\n * - addUi('browser', domElement)\n * - addUi('header_channel', domElement)\n * - addUi('header_query', domElement)\n * @param {string} type Where this DOM element should be added\n * @param {element} element The HTML element to add\n * @param {object} args Optional arguments for this plugis\n */\n\n }, {\n key: \"addUi\",\n value: function addUi(type, element) {\n var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var plugin = {\n el: element,\n id: nextPluginId++,\n args: args\n };\n\n switch (type) {\n case 'input':\n this.controlInputPlugins.push(plugin);\n break;\n\n case 'browser':\n this.stateBrowserPlugins.push(plugin);\n break;\n\n case 'header_channel':\n this.channelHeaderPlugins.push(plugin);\n break;\n\n case 'header_query':\n this.queryHeaderPlugins.push(plugin);\n break;\n\n case 'about_buffer':\n this.aboutBufferPlugins.push(plugin);\n break;\n\n default:\n break;\n }\n }\n /**\n * Add a Vue component as a tab to different tabbed views in the Kiwi API\n * - addTab('channel', 'title', component, props)\n * - addTab('settings', 'title', component, props)\n * - addTab('server', 'title', component, props)\n * @param {String} type The type of tab to add. This determines where it will be shown\n * @param {String} title The title shown on the tab\n * @param {Component} component The vuejs component that is displayed for this tab\n * @param {Object} props Optional properties for the vuejs component\n */\n\n }, {\n key: \"addTab\",\n value: function addTab(type, title, component, props) {\n var plugin = {\n id: nextPluginId++,\n title: title,\n component: component,\n props: props\n };\n\n switch (type) {\n case 'channel':\n this.sideBarPlugins.push(plugin);\n break;\n\n case 'settings':\n this.appSettingsPlugins.push(plugin);\n break;\n\n case 'server':\n this.serverViewPlugins.push(plugin);\n break;\n\n default:\n break;\n }\n }\n /**\n * Register a Vue component that may be shown in future. It is shown over the entire\n * client alongside the StateBrowser\n * @param {String} name A name to reference this view in future\n * @param {Component} component The vuejs component to create the view\n * @param {Object} props Optional properties the the vuejs component\n */\n\n }, {\n key: \"addView\",\n value: function addView(name, component, props) {\n this.tabs[name] = {\n id: nextPluginId++,\n component: _vue.default.extend(component),\n props: props || {}\n };\n }\n /**\n * Show a previously registered view\n * @param {String} name The name of previously registered view to show\n */\n\n }, {\n key: \"showView\",\n value: function showView(name) {\n // null disables any active component and reverts the UI back to the buffers\n var tab = this.tabs[name];\n\n if (tab) {\n this.state.$emit('active.component', tab.component, tab.props);\n } else {\n this.state.$emit('active.component', null);\n }\n }\n /**\n * Show a Vuejs component in the sidebar\n * @param {Object} component The vuejs component to render\n */\n\n }, {\n key: \"showInSidebar\",\n value: function showInSidebar(component) {\n this.state.$emit('sidebar.component', component);\n }\n /**\n * Add a custom startup screen that may be loaded by the configuration file\n * @param {String} name The name of this startup screen\n * @param {Object} ctor The constructor object for the vuejs component\n */\n\n }, {\n key: \"addStartup\",\n value: function addStartup(name, ctor) {\n var startups = this.state.getStartups();\n startups[name] = ctor;\n }\n /**\n *\n * @param {String} dest The module path to replace\n * @param {Object} source The new module to insert in place\n */\n\n }, {\n key: \"replaceModule\",\n value: function replaceModule(dest, source) {\n var mod = this.require(dest);\n\n if (!mod) {\n throw new Error(\"The module \".concat(dest, \" does not exist\"));\n }\n\n Misc.replaceObjectProps(mod, source);\n }\n }], [{\n key: \"singleton\",\n value: function singleton() {\n singletonInstance = singletonInstance || new GlobalApi();\n return singletonInstance;\n }\n }]);\n return GlobalApi;\n}(_eventemitter.default);\n\nexports.default = GlobalApi;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"GlobalApi\"]\r\nwindow._kiwi_exports.libs.GlobalApi = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingStatusIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingStatusIndicator.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _CommonLayout = _interopRequireDefault(require(\"./CommonLayout\"));\n\nvar log = _Logger.default.namespace('Startup/kiwiBnc');\n\nvar _default = {\n components: {\n StartupLayout: _CommonLayout.default\n },\n data: function data() {\n return {\n loading: false,\n username: '',\n password: '',\n statusMessage: ''\n };\n },\n computed: {\n greetingText: function greetingText() {\n var greeting = this.$state.settings.startupOptions.greetingText;\n return typeof greeting === 'string' ? greeting : this.$t('start_greeting');\n },\n buttonText: function buttonText() {\n if (this.loading) {\n return '';\n }\n\n var greeting = this.$state.settings.startupOptions.buttonText;\n return typeof greeting === 'string' ? greeting : this.$t('start_button');\n }\n },\n methods: {\n startUp: function () {\n var _startUp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var _this = this;\n\n var bncnet, cleanUpEvents, onRegistered, onError, onClose;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n this.statusMessage = this.$t('logging_in');\n this.loading = true;\n bncnet = this.getBncNetwork();\n\n cleanUpEvents = function cleanUpEvents() {\n bncnet.ircClient.off('registered', onRegistered);\n bncnet.ircClient.off('irc error', onError);\n bncnet.ircClient.off('close', onClose);\n };\n\n onRegistered = /*#__PURE__*/function () {\n var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var bncNetworks, i, network, buffers;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cleanUpEvents();\n _context.next = 3;\n return bncnet.ircClient.bnc.getNetworks();\n\n case 3:\n bncNetworks = _context.sent;\n i = 0;\n\n case 5:\n if (!(i < bncNetworks.length)) {\n _context.next = 22;\n break;\n }\n\n network = bncNetworks[i];\n network.buffers = [];\n _context.prev = 8;\n _context.next = 11;\n return bncnet.ircClient.bnc.getBuffers(network.name);\n\n case 11:\n buffers = _context.sent;\n network.buffers = buffers;\n _context.next = 18;\n break;\n\n case 15:\n _context.prev = 15;\n _context.t0 = _context[\"catch\"](8);\n // Log the error here or something\n log.error(_context.t0);\n\n case 18:\n _this.addNetworkToState(network);\n\n case 19:\n i++;\n _context.next = 5;\n break;\n\n case 22:\n _this.monitorNetworkChanges(bncnet, bncNetworks);\n\n _this.$refs.layout.close();\n\n case 24:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[8, 15]]);\n }));\n\n return function onRegistered() {\n return _ref.apply(this, arguments);\n };\n }();\n\n onError = function onError(event) {\n cleanUpEvents();\n _this.statusMessage = _this.$t('invalid_login');\n _this.loading = false;\n };\n\n onClose = function onClose(event) {\n cleanUpEvents();\n _this.statusMessage = _this.$t('invalid_login');\n _this.loading = false;\n };\n\n bncnet.ircClient.once('registered', onRegistered);\n bncnet.ircClient.once('irc error', onError);\n bncnet.ircClient.once('close', onClose);\n bncnet.ircClient.connect();\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function startUp() {\n return _startUp.apply(this, arguments);\n }\n\n return startUp;\n }(),\n getBncNetwork: function getBncNetwork() {\n var bnc = this.$state.setting('bnc');\n\n if (bnc.network) {\n bnc.username = this.username;\n bnc.password = this.password;\n return bnc.network;\n }\n\n var options = this.$state.settings.startupOptions; // Indicate that all our connections will be going through a BNC\n\n bnc.active = true;\n bnc.server = options.server || '';\n bnc.port = options.port || 6667;\n bnc.tls = !!options.tls;\n bnc.username = this.username;\n bnc.password = this.password;\n var bncnet = this.$state.addNetwork('bnccontrol', this.username, {\n server: bnc.server,\n port: bnc.port,\n tls: bnc.tls\n });\n bnc.network = bncnet;\n return bncnet;\n },\n addNetworkToState: function addNetworkToState(network) {\n var _context3,\n _this2 = this;\n\n // Expects network to be in the format of:\n // {\n // \"buffers\":[{\"channel\":\"1\",\"name\":\"#prawnsalad\",\"joined\":\"1\"}],\n // \"name\":\"freenode\",\n // \"channel\":\"1\",\n // \"connected\":\"1\",\n // \"host\":\"irc.freenode.net\",\n // \"port\":\"6667\",\n // \"tls\":\"0\",\n // \"nick\":\"notprawn99829\"\n // },\n var net = this.$state.addNetwork(network.name, network.nick, {\n server: network.host,\n port: network.port,\n tls: network.tls,\n password: network.password,\n bncname: network.name,\n username: network.user\n });\n (0, _forEach.default)(_context3 = network.buffers).call(_context3, function (buffer) {\n var newBuffer = _this2.$state.addBuffer(net.id, buffer.name);\n\n if (buffer.joined) {\n newBuffer.enabled = true;\n }\n\n if (buffer.seen) {\n newBuffer.last_read = new Date(buffer.seen).getTime();\n }\n });\n },\n monitorNetworkChanges: function monitorNetworkChanges(bncNet, bncNetworks) {\n var _this3 = this;\n\n var existingNets = (0, _create.default)(null);\n\n function rememberNetworks() {\n var _context4;\n\n (0, _forEach.default)(_context4 = this.$state.networks).call(_context4, function (network) {\n if (!network.connection.bncname) {\n return;\n }\n\n existingNets[network.connection.bncname] = {\n name: network.connection.bncname,\n host: network.connection.server,\n port: network.connection.port,\n tls: network.connection.tls,\n password: network.password,\n nick: network.nick,\n username: network.username\n };\n });\n }\n\n rememberNetworks();\n\n var saveState = function saveState(newVal) {\n var _context5;\n\n (0, _forEach.default)(_context5 = _this3.$state.networks).call(_context5, function (network) {\n // Only deal with BNC networks\n if (network.name === 'bnccontrol') {\n return;\n }\n\n var bncName = network.connection.bncname;\n var current = existingNets[bncName] || {};\n var tags = {};\n\n if (network.connection.server !== current.host) {\n tags.host = network.connection.server;\n }\n\n if (network.connection.port !== current.port) {\n tags.port = network.connection.port;\n }\n\n if (network.connection.tls !== current.tls) {\n tags.tls = network.connection.tls;\n }\n\n if (network.password !== current.password) {\n tags.password = network.password;\n }\n\n if (network.nick !== current.nick) {\n tags.nick = network.nick;\n }\n\n if (network.username !== current.username) {\n tags.user = network.username;\n } // A newly added network would not have a current name property set yet.\n // Only save the network if we've entered a host.\n\n\n if (!current.name && tags.host) {\n network.connection.bncname = network.name;\n bncNet.ircClient.bnc.addNetwork(network.name, tags.host, tags.port, tags.tls, tags.nick, tags.user, tags.password);\n } else if (current.name) {\n bncNet.ircClient.bnc.saveNetwork(bncName, tags);\n }\n });\n rememberNetworks();\n };\n\n var debouncedSaveState = _lodash.default.debounce(saveState, 2000);\n\n this.$state.$watch('networks', debouncedSaveState, {\n deep: true\n }); // Just before we connect to a network, make sure the BNC is sabed and connected to\n // it or at least trying to connect.\n\n this.$state.$on('network.connecting', function (event) {\n saveState();\n var netName = event.network.connection.bncname;\n var networkFromBnc = (0, _find.default)(_lodash.default).call(_lodash.default, bncNetworks, {\n name: netName\n });\n\n if (networkFromBnc && !networkFromBnc.connected) {\n bncNet.ircClient.raw('BOUNCER connect ' + netName);\n }\n }); // Very hacky until we have network name renaming on the bnc. When a new network\n // is added, change the name to the next available network name.\n\n this.$state.$on('network.new', function (event) {\n var currentNum = 1;\n var existingNet = true;\n\n while (existingNet) {\n existingNet = (0, _find.default)(_lodash.default).call(_lodash.default, _this3.$state.networks, {\n name: 'Network' + currentNum\n });\n\n if (!existingNet) {\n event.network.name = 'Network' + currentNum;\n }\n\n currentNum++;\n }\n });\n this.$state.$on('network.removed', function (event) {\n bncNet.ircClient.bnc.removeNetwork(event.network.connection.bncname);\n });\n this.$state.$on('buffer.close', function (event) {\n var buffer = event.buffer;\n var network = event.buffer.getNetwork();\n var bncName = network.connection.bncname;\n\n if (bncName) {\n bncNet.ircClient.bnc.closeBuffer(bncName, buffer.name);\n }\n });\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"KiwiBnc\"]\r\nwindow._kiwi_exports.components.startups.KiwiBnc = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _CommonLayout = _interopRequireDefault(require(\"./CommonLayout\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n components: {\n StartupLayout: _CommonLayout.default\n },\n data: function data() {\n return {\n network: null,\n network_extras: null,\n username: '',\n password: '',\n znc_network: '',\n showNetwork: true,\n showPass: true,\n showUser: true,\n show_password_box: false\n };\n },\n computed: {\n greetingText: function greetingText() {\n var greeting = this.$state.settings.startupOptions.greetingText;\n return typeof greeting === 'string' ? greeting : this.$t('start_greeting');\n },\n buttonText: function buttonText() {\n var greeting = this.$state.settings.startupOptions.buttonText;\n return typeof greeting === 'string' ? greeting : this.$t('start_button');\n },\n readyToStart: function readyToStart() {\n return this.username && (this.password || this.showPass === false);\n },\n infoContent: function infoContent() {\n return this.$state.settings.startupOptions.infoContent || '';\n }\n },\n created: function created() {\n var options = this.$state.settings.startupOptions;\n this.username = options.username || '';\n this.password = options.password || '';\n this.znc_network = window.location.hash.substr(1) || options.network || '';\n this.showNetwork = typeof options.showNetwork === 'boolean' ? options.showNetwork : true;\n this.showUser = typeof options.showUser === 'boolean' ? options.showUser : true;\n this.showPass = typeof options.showPass === 'boolean' ? options.showPass : true;\n\n if (options.autoConnect && this.username && this.password) {\n this.startUp();\n }\n },\n methods: {\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n formSubmit: function formSubmit() {\n if (this.readyToStart) {\n this.startUp();\n }\n },\n addNetwork: function addNetwork(netName) {\n var options = this.$state.settings.startupOptions;\n var password = this.username;\n\n if (netName) {\n password += '/' + netName;\n }\n\n password += ':' + this.password;\n var net = this.$state.addNetwork(netName, 'ZNC', {\n server: (0, _trim.default)(_lodash.default).call(_lodash.default, options.server),\n port: options.port,\n tls: options.tls,\n password: password\n });\n return net;\n },\n startUp: function startUp() {\n var _this = this;\n\n if (this.network) {\n this.$state.removeNetwork(this.network.id);\n }\n\n var netList = _lodash.default.compact(this.znc_network.split(','));\n\n if (netList.length === 0) {\n netList.push('');\n } // add our first network and make sure we can connect\n // before trying to add other networks.\n\n\n var net = this.network = this.addNetwork(netList.shift());\n this.network_extras = netList;\n\n var onRegistered = function onRegistered() {\n var _context;\n\n _this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n (0, _forEach.default)(_context = _this.network_extras).call(_context, function (netName, idx) {\n var extraNet = _this.addNetwork((0, _trim.default)(_lodash.default).call(_lodash.default, netName));\n\n extraNet.ircClient.connect();\n });\n\n _this.$refs.layout.close();\n };\n\n var onClosed = function onClosed() {\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n net.ircClient.once('registered', onRegistered);\n net.ircClient.once('close', onClosed);\n net.ircClient.connect();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"ZncLogin\"]\r\nwindow._kiwi_exports.components.startups.ZncLogin = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./MediaViewer.vue?vue&type=template&id=47b80fad&\"\nimport script from \"./MediaViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaViewer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MediaViewer.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferKey.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferKey.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Personal.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Personal.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _strftime = _interopRequireDefault(require(\"strftime\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar bufferTools = _interopRequireWildcard(require(\"@/libs/bufferTools\"));\n\nvar _BufferKey = _interopRequireDefault(require(\"./BufferKey\"));\n\nvar _MessageListMessageCompact = _interopRequireDefault(require(\"./MessageListMessageCompact\"));\n\nvar _MessageListMessageModern = _interopRequireDefault(require(\"./MessageListMessageModern\"));\n\nvar _MessageListMessageInline = _interopRequireDefault(require(\"./MessageListMessageInline\"));\n\nvar _LoadingAnimation = _interopRequireDefault(require(\"./LoadingAnimation.vue\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nrequire('@/libs/polyfill/Element.closest');\n\nvar log = _Logger.default.namespace('MessageList.vue'); // If we're scrolled up more than this many pixels, don't auto scroll down to the bottom\n// of the message list\n\n\nvar BOTTOM_SCROLL_MARGIN = 60;\nvar _default = {\n components: {\n BufferKey: _BufferKey.default,\n MessageListMessageModern: _MessageListMessageModern.default,\n MessageListMessageCompact: _MessageListMessageCompact.default,\n MessageListMessageInline: _MessageListMessageInline.default,\n LoadingAnimation: _LoadingAnimation.default\n },\n props: ['buffer'],\n data: function data() {\n return {\n smooth_scroll: false,\n auto_scroll: true,\n force_smooth_scroll: null,\n chathistoryAvailable: true,\n hover_nick: '',\n message_info_open: null,\n timeToClose: false,\n startClosing: false,\n selectedMessages: (0, _create.default)(null)\n };\n },\n computed: {\n thisMl: function thisMl() {\n return this;\n },\n listType: function listType() {\n if (this.$state.setting('messageLayout')) {\n log.info('Deprecation Warning: The config option \\'messageLayout\\' has been moved to buffers.messageLayout');\n }\n\n return this.buffer.setting('messageLayout') || this.$state.setting('messageLayout');\n },\n useExtraFormatting: function useExtraFormatting() {\n // Enables simple markdown formatting\n return this.buffer.setting('extra_formatting');\n },\n shouldShowChathistoryTools: function shouldShowChathistoryTools() {\n // Only show it if we're connected\n if (this.buffer.getNetwork().state !== 'connected') {\n return false;\n }\n\n var isCorrectBufferType = this.buffer.isChannel() || this.buffer.isQuery();\n var isSupported = !!this.buffer.getNetwork().ircClient.chathistory.isSupported();\n return isCorrectBufferType && isSupported && (0, _flags.default)(this.buffer).chathistory_available;\n },\n shouldRequestChannelKey: function shouldRequestChannelKey() {\n return this.buffer.getNetwork().state === 'connected' && this.buffer.isChannel() && (0, _flags.default)(this.buffer).channel_badkey;\n },\n ourNick: function ourNick() {\n return this.buffer ? this.buffer.getNetwork().nick : '';\n },\n filteredMessagesGroupedDay: function filteredMessagesGroupedDay() {\n var _context;\n\n // Group messages by day\n var days = [];\n var lastDay = null;\n (0, _forEach.default)(_context = this.filteredMessages).call(_context, function (message) {\n var day = Math.floor(message.time / 1000 / 86400);\n\n if (!lastDay || day !== lastDay) {\n days.push({\n dayNum: day,\n messages: []\n });\n lastDay = day;\n }\n\n days[days.length - 1].messages.push(message);\n });\n return days;\n },\n filteredMessages: function filteredMessages() {\n return bufferTools.orderedMessages(this.buffer);\n },\n shouldShowJoiningLoader: function shouldShowJoiningLoader() {\n return this.buffer.isChannel() && this.buffer.enabled && !this.buffer.joined && this.buffer.getNetwork().state === 'connected';\n }\n },\n watch: {\n filteredMessages: function filteredMessages() {\n var _this = this;\n\n // Data has changed and now preparing to update the DOM.\n // Check our scrolling state before the DOM updates so that we know if we're scrolled\n // at the bottom before new messages are added\n this.checkScrollingState(); // Wait until after the DOM has updated before possibly scrolling down based on the\n // previous check\n\n this.$nextTick(function () {\n _this.maybeScrollToBottom();\n });\n },\n buffer: function buffer(newBuffer, oldBuffer) {\n var _this2 = this;\n\n if (oldBuffer) {\n oldBuffer.isMessageTrimming = true;\n }\n\n if (!newBuffer) {\n return;\n }\n\n this.message_info_open = null;\n\n if (this.buffer.getNetwork().state === 'connected') {\n (0, _flags.default)(newBuffer).has_opened = true;\n }\n\n this.auto_scroll = true;\n this.force_smooth_scroll = false;\n this.$nextTick(function () {\n _this2.scrollToBottom();\n });\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.addCopyListeners();\n this.$nextTick(function () {\n _this3.scrollToBottom(); // this.smooth_scroll = true;\n\n });\n this.listen(this.$state, 'mediaviewer.opened', function () {\n _this3.$nextTick(_this3.maybeScrollToBottom.apply(_this3));\n });\n this.listen(this.$state, 'messagelist.scrollto', function (opt) {\n if (opt && opt.id) {\n _this3.maybeScrollToId(opt.id);\n }\n });\n },\n methods: {\n isHoveringOverMessage: function isHoveringOverMessage(message) {\n return message.nick && message.nick.toLowerCase() === this.hover_nick.toLowerCase();\n },\n toggleMessageInfo: function toggleMessageInfo(message) {\n if (!message) {\n this.message_info_open = null;\n } else if (this.message_info_open === message) {// It's already open, so don't do anything\n } else if (this.canShowInfoForMessage(message)) {\n var _context2;\n\n // If in the process of selecting text, don't show the info box\n var sel = window.getSelection();\n\n if (sel.rangeCount > 0) {\n var range = sel.getRangeAt(0);\n\n if (range && !range.collapsed) {\n return;\n }\n }\n\n this.message_info_open = message;\n this.$nextTick((0, _bind.default)(_context2 = this.maybeScrollToBottom).call(_context2, this));\n }\n },\n shouldShowUnreadMarker: function shouldShowUnreadMarker(message) {\n var _context3;\n\n var idx = (0, _indexOf.default)(_context3 = this.filteredMessages).call(_context3, message);\n var previous = this.filteredMessages[idx - 1];\n var current = this.filteredMessages[idx];\n var lastRead = this.buffer.last_read;\n\n if (!lastRead) {\n return false;\n }\n\n if (!current) {\n return false;\n } // If the last message has been read, and this message not read\n\n\n if (previous && previous.time < lastRead && current.time > lastRead) {\n return true;\n }\n\n return false;\n },\n shouldShowDateChangeMarker: function shouldShowDateChangeMarker(idx) {\n var previous = this.filteredMessages[idx - 1];\n var current = this.filteredMessages[idx];\n\n if (!previous && new Date(current.time).getDay() !== new Date().getDay()) {\n // The first message of the lsit and it's not today\n return true;\n } else if (!previous) {\n // The first message of the lsit but it's today\n return false;\n } // If the last message has been read, and this message not read\n\n\n if (new Date(previous.time).getDay() !== new Date(current.time).getDay()) {\n return true;\n }\n\n return false;\n },\n canShowInfoForMessage: function canShowInfoForMessage(message) {\n var showInfoForTypes = ['privmsg', 'notice', 'action'];\n return (0, _indexOf.default)(showInfoForTypes).call(showInfoForTypes, message.type) > -1;\n },\n bufferSetting: function bufferSetting(key) {\n return this.buffer.setting(key);\n },\n formatTime: function formatTime(time) {\n return (0, _strftime.default)(this.buffer.setting('timestamp_format') || '%T', new Date(time));\n },\n formatTimeFull: function formatTimeFull(time) {\n var format = this.buffer.setting('timestamp_full_format');\n return format ? (0, _strftime.default)(format, new Date(time)) : new Date(time).toLocaleString();\n },\n formatMessage: function formatMessage(message) {\n return message.toHtml(this);\n },\n isMessageHighlight: function isMessageHighlight(message) {\n // Highlighting ourselves when we join or leave a channel is silly\n if (message.type === 'traffic') {\n return false;\n }\n\n return message.isHighlight;\n },\n userColour: function userColour(user) {\n if (user && this.bufferSetting('colour_nicknames_in_messages')) {\n return user.getColour();\n }\n\n return '';\n },\n openUserBox: function openUserBox(nick) {\n var user = this.$state.getUser(this.buffer.networkid, nick);\n\n if (user) {\n this.$state.$emit('userbox.show', user, {\n buffer: this.buffer\n });\n }\n },\n onListClick: function onListClick(event) {\n this.toggleMessageInfo();\n },\n onMessageDblClick: function onMessageDblClick(event, message) {\n clearTimeout(this.messageClickTmr);\n var dataNick = event.target.getAttribute('data-nick');\n\n if (!dataNick) {\n return;\n }\n\n var network = this.buffer.getNetwork();\n var user = network.userByName(dataNick); // The user might have left use dataNick as fallback\n\n var nick = user && user.nick ? user.nick : dataNick;\n this.$state.$emit('input.insertnick', nick);\n },\n onMessageClick: function onMessageClick(event, message, delay) {\n // Delaying the click for 200ms allows us to check for a second click. ie. double click\n // Quick hack as we only need double click for nicks, nothing else\n if (delay && event.target.getAttribute('data-nick')) {\n clearTimeout(this.messageClickTmr);\n this.messageClickTmr = (0, _setTimeout2.default)(this.onMessageClick, 200, event, message, false);\n return;\n }\n\n var isLink = event.target.tagName === 'A';\n var channelName = event.target.getAttribute('data-channel-name');\n\n if (channelName && isLink) {\n var network = this.buffer.getNetwork();\n this.$state.addBuffer(this.buffer.networkid, channelName);\n network.ircClient.join(channelName);\n this.$state.setActiveBuffer(this.buffer.networkid, channelName);\n return;\n }\n\n var userNick = event.target.getAttribute('data-nick');\n\n if (userNick && isLink) {\n this.openUserBox(userNick);\n return;\n }\n\n var url = event.target.getAttribute('data-url');\n\n if (url && isLink) {\n if (this.$state.setting('buffers.inline_link_auto_previews')) {\n message.embed.type = 'url';\n message.embed.payload = url;\n } else {\n this.$state.$emit('mediaviewer.show', url);\n }\n }\n\n if (this.message_info_open && this.message_info_open !== message) {\n // Clicking on another message while another info is open, just close the info\n this.toggleMessageInfo();\n event.preventDefault();\n return;\n }\n\n if (this.$state.ui.is_touch && this.$state.setting('buffers.show_message_info')) {\n if (this.canShowInfoForMessage(message) && event.target.nodeName === 'A') {\n // We show message info boxes on touch screen devices so that the user has an\n // option to preview the links or do other stuff.\n event.preventDefault();\n }\n\n this.toggleMessageInfo(message);\n }\n },\n checkScrollingState: function checkScrollingState() {\n var el = this.$el;\n var scrolledUpByPx = el.scrollHeight - (el.offsetHeight + el.scrollTop); // We need to know at this point (before the DOM has updated with new messages) if we\n // are at the bottom of the messagelist or not, otherwise once the DOM has updated then\n // it is too late to determine if we should auto scroll down\n\n if (scrolledUpByPx > BOTTOM_SCROLL_MARGIN) {\n this.auto_scroll = false;\n this.buffer.isMessageTrimming = false;\n } else {\n this.auto_scroll = true;\n this.buffer.isMessageTrimming = true;\n }\n\n if (this.force_smooth_scroll !== null) {\n this.smooth_scroll = this.force_smooth_scroll;\n this.force_smooth_scroll = null; // TODO: Enabling smooth_scroll breaks the auto-scroll-to-bottom on fast buffers as\n // it takes time to scroll down and it looks like we're scrolled too far up when\n // detecting if were scrolled up or not. Look into ways around this so that we\n // can enable it as it does look a lot better.\n // } else if (scrolledUpByPx < BOTTOM_SCROLL_MARGIN) {\n // this.smooth_scroll = true;\n } else {\n this.smooth_scroll = false;\n }\n },\n onListResize: function onListResize(e) {\n // The messagelist has resized or had new content added so check if we should auto\n // scroll down to the bottom\n this.maybeScrollToBottom();\n },\n scrollToBottom: function scrollToBottom() {\n this.$el.scrollTop = this.$el.scrollHeight;\n },\n maybeScrollToBottom: function maybeScrollToBottom() {\n if (this.auto_scroll) {\n this.scrollToBottom();\n }\n },\n maybeScrollToId: function maybeScrollToId(id) {\n var messageElement = this.$el.querySelector('.kiwi-messagelist-message[data-message-id=\"' + id + '\"]');\n\n if (messageElement && messageElement.offsetTop) {\n this.$el.scrollTop = messageElement.offsetTop;\n this.auto_scroll = false;\n }\n },\n getSelectedMessages: function getSelectedMessages() {\n var sel = document.getSelection();\n var r = sel.getRangeAt(0);\n var messageEls = (0, _toConsumableArray2.default)(this.$el.querySelectorAll('.kiwi-messagelist-message'));\n var selectedMessageEls = (0, _filter.default)(messageEls).call(messageEls, function (el) {\n return r.intersectsNode(el);\n });\n return selectedMessageEls;\n },\n restrictTextSelection: function restrictTextSelection() {\n // Prevents the selection cursor escaping the message list.\n document.querySelector('body').classList.add('kiwi-unselectable');\n this.$el.style.userSelect = 'text';\n },\n unrestrictTextSelection: function unrestrictTextSelection() {\n // Allows all page elements to be selected again.\n document.querySelector('body').classList.remove('kiwi-unselectable');\n this.$el.style.userSelect = 'auto';\n },\n removeSelections: function removeSelections() {\n var removeNative = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.selectedMessages = (0, _create.default)(null);\n var selection = document.getSelection();\n\n if (removeNative && selection) {\n // stops the native browser selection being left behind after ctrl+c\n selection.removeAllRanges();\n }\n },\n addCopyListeners: function addCopyListeners() {\n var _this4 = this;\n\n // Better copy pasting\n var LogFormatter = function LogFormatter(msg) {\n var _context4;\n\n var text = '';\n\n switch (msg.type) {\n case 'privmsg':\n text = (0, _concat.default)(_context4 = \"<\".concat(msg.nick, \"> \")).call(_context4, msg.message);\n break;\n\n case 'nick':\n case 'mode':\n case 'action':\n case 'traffic':\n text = \"\".concat(msg.message);\n break;\n\n default:\n text = msg.message;\n }\n\n if (text.length) {\n var _context5;\n\n return (0, _concat.default)(_context5 = \"[\".concat(new Date(msg.time).toLocaleTimeString({\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit'\n }), \"] \")).call(_context5, text);\n }\n\n return null;\n };\n\n var copyData = '';\n var selecting = false;\n var selectionChangeOff = null;\n this.listen(document, 'selectstart', function (e) {\n if (!_this4.$el.contains(e.target)) {\n // Selected elsewhere on the page\n copyData = '';\n\n _this4.removeSelections();\n\n return;\n }\n\n _this4.removeSelections();\n\n selectionChangeOff = _this4.listen(document, 'selectionchange', onSelectionChange);\n });\n this.listen(document, 'mouseup', function (e) {\n selectionChangeOff && selectionChangeOff();\n\n _this4.unrestrictTextSelection();\n\n if (selecting) {\n e.preventDefault();\n }\n\n selecting = false;\n });\n\n var onSelectionChange = function onSelectionChange(e) {\n if (!_this4.$el) {\n return true;\n }\n\n copyData = ''; // Store the text data to be copied in this.\n\n var selection = document.getSelection();\n\n if (!selection || !selection.anchorNode || !selection.anchorNode.parentNode.closest('.' + _this4.$el.className)) {\n _this4.unrestrictTextSelection();\n\n _this4.removeSelections();\n\n return true;\n }\n\n _this4.removeSelections(); // Prevent the selection escaping the message list\n\n\n _this4.restrictTextSelection();\n\n if (selection.rangeCount > 0) {\n var _context6, _context7;\n\n selecting = true;\n\n var selectedMesssageEls = _this4.getSelectedMessages();\n\n var selectedMessages = [];\n (0, _forEach.default)(selectedMesssageEls).call(selectedMesssageEls, function (el) {\n var m = _this4.buffer.messagesObj.messageIds[el.dataset.messageId];\n\n if (m) {\n selectedMessages.push(m);\n }\n }); // If only 1 message is selected then treat the selection as native text\n // selection. Most likely copying part of a message only.\n\n if (selectedMessages.length === 1) {\n selectedMessages = [];\n }\n\n _this4.selectedMessages = (0, _create.default)(null);\n (0, _forEach.default)(selectedMessages).call(selectedMessages, function (m) {\n _this4.selectedMessages[m.id] = m;\n }); // Iterate through the selected messages, format and store as a\n // string to be used in the copy handler\n\n copyData = (0, _map.default)(_context6 = (0, _filter.default)(_context7 = (0, _sort.default)(selectedMessages).call(selectedMessages, function (a, b) {\n return a.time > b.time ? 1 : -1;\n })).call(_context7, function (m) {\n var _context8;\n\n return (0, _trim.default)(_context8 = m.message).call(_context8).length;\n })).call(_context6, LogFormatter).join('\\r\\n');\n } else {\n _this4.unrestrictTextSelection();\n }\n\n return false;\n };\n\n this.listen(document, 'copy', function (e) {\n if (!copyData || !copyData.length) {\n // Just do a normal copy if no special data\n return true;\n }\n\n if (navigator.clipboard) {\n // Supports Clipboard API\n navigator.clipboard.writeText(copyData);\n } else {\n var input = document.createElement('textarea');\n document.body.appendChild(input);\n input.innerHTML = copyData;\n input.select();\n document.execCommand('copy');\n document.body.removeChild(input);\n }\n\n return true;\n });\n },\n // Move a messages embeded content to the main media preview\n openEmbedInPreview: function openEmbedInPreview(message) {\n // First open the embed in the main media preview\n var embed = message.embed;\n\n if (embed.type === 'url') {\n this.$state.$emit('mediaviewer.show', embed.payload);\n } else if (embed.type === 'component') {\n this.$state.$emit('mediaviewer.show', {\n component: embed.payload\n });\n } // Remove the embed from the message\n\n\n embed.payload = null;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageList\"]\r\nwindow._kiwi_exports.components.MessageList = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _Avatar = _interopRequireDefault(require(\"./Avatar\"));\n\n// This component simply wraps the Avatar component so that plugins may override this messagelist\n// avatar separately than the nicklist avatar\nvar _default = {\n c: {\n Avatar: _Avatar.default\n },\n props: ['message', 'user']\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageListAvatar\"]\r\nwindow._kiwi_exports.components.MessageListAvatar = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-statebrowser kiwi-theme-bg\"},[(!_vm.$state.setting('hideSettings'))?_c('div',{staticClass:\"kiwi-statebrowser-appsettings\",attrs:{\"title\":_vm.$t('kiwi_settings')},on:{\"click\":_vm.clickAppSettings}},[_c('i',{staticClass:\"fa fa-cog\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(_vm.isPersistingState)?_c('state-browser-usermenu',{attrs:{\"network\":_vm.getNetwork}}):_vm._e(),_c('div',{staticClass:\"kiwi-statebrowser-tools\"},_vm._l((_vm.pluginUiElements),function(plugin){return _c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(plugin.el),expression:\"plugin.el\"}],key:plugin.id,staticClass:\"kiwi-statebrowser-tool\"})}),0),(Object.keys(_vm.provided_networks).length > 0)?_c('div',{staticClass:\"kiwi-statebrowser-availablenetworks\"},[_c('div',{staticClass:\"kiwi-statebrowser-availablenetworks-toggle\",on:{\"click\":function($event){_vm.show_provided_networks=!_vm.show_provided_networks}}},[_vm._v(\" ↪ \"+_vm._s(_vm.$t('state_available'))+\" \")]),_c('div',{staticClass:\"kiwi-statebrowser-availablenetworks-networks\",class:{\n 'kiwi-statebrowser-availablenetworks-networks--open': _vm.show_provided_networks\n }},_vm._l((_vm.provided_networks),function(pNets,pNetTypeName){return _c('div',{key:pNetTypeName,staticClass:\"kiwi-statebrowser-availablenetworks-type\"},[_c('div',{staticClass:\"kiwi-statebrowser-availablenetworks-name\"},[_vm._v(_vm._s(pNetTypeName))]),_vm._l((pNets),function(pNet){return _c('div',{key:pNet.name,staticClass:\"kiwi-statebrowser-availablenetworks-link\",class:[\n pNet.connected?'kiwi-statebrowser-availablenetworks-link--connected':''\n ]},[_c('a',{on:{\"click\":function($event){return _vm.connectProvidedNetwork(pNet)}}},[_vm._v(_vm._s(pNet.name))]),_c('br')])})],2)}),0)]):_vm._e(),_c('div',{staticClass:\"kiwi-statebrowser-scrollarea\"},[_c('div',{staticClass:\"kiwi-statebrowser-networks\"},_vm._l((_vm.networksToShow),function(network){return _c('state-browser-network',{key:network.id,attrs:{\"network\":network,\"sidebar-state\":_vm.sidebarState}})}),1)]),(!_vm.isRestrictedServer)?_c('div',{staticClass:\"kiwi-statebrowser-newnetwork\"},[_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.clickAddNetwork}},[_vm._v(\" \"+_vm._s(_vm.$t('add_network'))+\" \"),_c('i',{staticClass:\"fa fa-plus\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-serverselector\",class:{'kiwi-serverselector--custom': _vm.presetServer === 'custom'}},[(_vm.usePreset && _vm.presetNetworks.length > 0)?_c('div',{staticClass:\"kiwi-serverselector-presets\"},[_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('server')))]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.presetServer),expression:\"presetServer\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.presetServer=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"custom\"}},[_vm._v(\"Custom Server\")]),_c('option',{attrs:{\"disabled\":\"\"}},[_vm._v(\"-----------------\")]),_vm._l((_vm.presetNetworks),function(s){return _c('option',{key:s.name,domProps:{\"value\":_vm.toUri(s)}},[_vm._v(_vm._s(s.name))])})],2)])]):_vm._e(),(_vm.showCustom || _vm.presetNetworks.length === 0 || !_vm.usePreset)?[_c('input-text',{directives:[{name:\"focus\",rawName:\"v-focus\"}],staticClass:\"kiwi-networksettings-connection-address\",attrs:{\"label\":_vm.$t('server')},model:{value:(_vm.connection.server),callback:function ($$v) {_vm.$set(_vm.connection, \"server\", $$v)},expression:\"connection.server\"}}),_c('input-text',{staticClass:\"kiwi-networksettings-connection-port\",attrs:{\"label\":_vm.$t('settings_port'),\"type\":\"number\"},model:{value:(_vm.connection.port),callback:function ($$v) {_vm.$set(_vm.connection, \"port\", $$v)},expression:\"connection.port\"}},[_c('span',{staticClass:\"fa-stack fa-lg kiwi-customserver-tls\",class:{ 'kiwi-customserver-tls--enabled' : _vm.connection.tls },on:{\"click\":_vm.toggleTls}},[(_vm.connection.tls)?_c('i',{staticClass:\"fa fa-lock fa-stack-1x kiwi-customserver-tls-lock\"}):_c('i',{staticClass:\"fa fa-unlock fa-stack-1x kiwi-customserver-tls-minus\"})])])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-wrap kiwi-wrap-error\"},[_c('h2',[_vm._v(\"Kiwi IRC could not start :(\")]),_c('div',[_vm._v(_vm._s(_vm.error))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ZncLogin.vue?vue&type=template&id=d0abb22c&\"\nimport script from \"./ZncLogin.vue?vue&type=script&lang=js&\"\nexport * from \"./ZncLogin.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ZncLogin.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserNetwork.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserNetwork.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonLayout.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('input-prompt', {\n props: ['label', 'hideCancel', 'noprompt', 'block'],\n data: function data() {\n return {\n value: '',\n state: 'pre'\n };\n },\n created: function created() {\n if (this.noprompt) {\n this.prompt();\n }\n },\n methods: {\n prompt: function prompt() {\n var _this = this;\n\n this.state = 'prompt';\n this.$nextTick(function () {\n _this.$el.querySelector('input').focus();\n });\n },\n complete: function complete() {\n this.$emit('submit', this.value);\n this.state = 'pre';\n },\n cancel: function cancel() {\n this.$emit('cancel');\n this.state = 'pre';\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"InputPrompt\"]\r\nwindow._kiwi_exports.components.utils.InputPrompt = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./AwayStatusIndicator.vue?vue&type=template&id=3462e1e5&functional=true&\"\nimport script from \"./AwayStatusIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./AwayStatusIndicator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AwayStatusIndicator.vue?vue&type=style&index=0&lang=css&\"\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 true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AutoComplete.vue?vue&type=template&id=7ce603d2&\"\nimport script from \"./AutoComplete.vue?vue&type=script&lang=js&\"\nexport * from \"./AutoComplete.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AutoComplete.vue?vue&type=style&index=0&lang=css&\"\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 { render, staticRenderFns } from \"./ChannelList.vue?vue&type=template&id=20211d72&\"\nimport script from \"./ChannelList.vue?vue&type=script&lang=js&\"\nexport * from \"./ChannelList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChannelList.vue?vue&type=style&index=0&lang=css&\"\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","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar ipRegex = _interopRequireWildcard(require(\"ip-regex\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar IrcdDiffs = _interopRequireWildcard(require(\"@/helpers/IrcdDiffs\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _Avatar = _interopRequireDefault(require(\"./Avatar\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n components: {\n Avatar: _Avatar.default,\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: ['buffer', 'network', 'user'],\n data: function data() {\n return {\n whoisRequested: false,\n whoisLoading: false\n };\n },\n computed: {\n // Channel modes differ on some IRCds so get them from the network options\n availableChannelModes: function availableChannelModes() {\n var availableModes = [];\n var prefixes = this.network.ircClient.network.options.PREFIX;\n var knownPrefix = {\n q: 'Owner',\n a: 'Admin',\n o: 'Operator',\n h: 'Half-Operator',\n v: 'Voice'\n };\n\n if (!IrcdDiffs.isAChannelModeAdmin(this.network)) {\n delete knownPrefix.a;\n }\n\n if (!IrcdDiffs.isQChannelModeOwner(this.network)) {\n delete knownPrefix.q;\n }\n\n if (!IrcdDiffs.supportsHalfOp(this.network)) {\n delete knownPrefix.h;\n }\n\n (0, _forEach.default)(prefixes).call(prefixes, function (prefix) {\n var mode = prefix.mode;\n\n if (knownPrefix[mode]) {\n availableModes.push({\n mode: mode,\n description: knownPrefix[mode]\n });\n }\n });\n return availableModes;\n },\n areWeAnOp: function areWeAnOp() {\n if (!this.buffer) {\n return false;\n }\n\n return this.buffer.isUserAnOp(this.buffer.getNetwork().nick);\n },\n realname: function realname() {\n var _context;\n\n return (0, _trim.default)(_context = this.user.realname || '').call(_context);\n },\n formattedRealname: function formattedRealname() {\n var blocks = (0, _MessageParser.default)(this.realname, {\n extras: false\n });\n var content = (0, _Html.default)(blocks, false);\n return content;\n },\n isUserOnBuffer: function isUserOnBuffer() {\n if (!this.buffer) {\n return false;\n }\n\n if (!this.user.buffers[this.buffer.id]) {\n // Probably switched buffer while the userbox was open\n return false;\n }\n\n return true;\n },\n userMode: {\n get: function getUserMode() {\n if (!this.buffer) {\n return '';\n }\n\n var userBufferInfo = this.user.buffers[this.buffer.id];\n\n if (!userBufferInfo) {\n // Probably switched buffer while the userbox was open\n return '';\n }\n\n var modes = userBufferInfo.modes;\n return modes.length > 0 ? modes[0] : '';\n },\n // Switch the current user mode for the new one\n set: function setUserMode(newVal) {\n var _context2;\n\n var client = this.network.ircClient;\n var oldVal = this.userMode;\n var changes = [];\n var targets = [];\n\n if (oldVal) {\n changes.push('-' + oldVal);\n targets.push(this.user.nick);\n }\n\n if (newVal) {\n changes.push('+' + newVal);\n targets.push(this.user.nick);\n }\n\n var params = (0, _concat.default)(_context2 = ['MODE', this.buffer.name, changes.join('')]).call(_context2, targets);\n client.raw(params);\n }\n },\n userChannels: function userChannels() {\n var _context3;\n\n var channels = (0, _trim.default)(_context3 = this.user.channels).call(_context3).split(' ');\n\n for (var i = 0; i < channels.length; i++) {\n channels[i] = TextFormatting.linkifyChannels(channels[i]);\n }\n\n return channels.join(' ');\n },\n isSelf: function isSelf() {\n return this.user === this.network.currentUser();\n }\n },\n watch: {\n user: function watchUser() {\n // Reset the whois view since the user is now different\n this.whoisRequested = false;\n this.whoisLoading = false;\n }\n },\n methods: {\n userModeOnThisBuffer: function userModeOnBuffer(user) {\n if (!this.buffer) {\n return '';\n }\n\n var userBufferInfo = user.buffers[this.buffer.id];\n var modes = userBufferInfo.modes;\n return modes.length > 0 ? modes[0] : '';\n },\n openQuery: function openQuery() {\n var buffer = this.$state.addBuffer(this.network.id, this.user.nick);\n this.$state.setActiveBuffer(this.network.id, buffer.name);\n\n if (this.$state.ui.is_narrow) {\n this.$state.$emit('userbox.hide');\n }\n },\n onChannelsClick: function onChannelsClick(event) {\n var channelName = event.target.getAttribute('data-channel-name');\n\n if (channelName) {\n var network = this.buffer.getNetwork();\n this.$state.addBuffer(this.buffer.networkid, channelName);\n network.ircClient.join(channelName);\n }\n },\n updateWhoisData: function updateWhoisData() {\n var _this = this;\n\n this.whoisRequested = true;\n this.whoisLoading = true;\n this.network.ircClient.whois(this.user.nick, function () {\n _this.whoisLoading = false;\n });\n },\n kickUser: function kickUser() {\n var reason = this.$state.setting('buffers.default_kick_reason');\n this.network.ircClient.raw('KICK', this.buffer.name, this.user.nick, reason);\n },\n createBanMask: function createBanMask() {\n // try to ban via user account first\n if (this.user.account) {\n var _context4;\n\n // if EXTBAN is supported use that\n var extban = IrcdDiffs.extbanAccount(this.network);\n\n if (extban) {\n return extban + ':' + this.user.account;\n } // if the account name is in the host ban the host\n // Eg. user@network/user/accountname\n\n\n if ((0, _indexOf.default)(_context4 = this.user.host.toLowerCase()).call(_context4, this.user.account.toLowerCase()) > -1) {\n return '*!*@' + this.user.host;\n }\n } // if an ip address is in the host and not the whole host ban the ip\n // Eg. user@gateway/1.2.3.4\n\n\n var ipTest = new RegExp('(' + ipRegex.v4().source + '|' + ipRegex.v6().source + ')');\n\n if (ipTest.test(this.user.host)) {\n var match = this.user.host.match(ipTest)[0];\n\n if (match !== this.user.host) {\n return '*!*@*' + match + '*';\n }\n } // if an 8 char hex is the username ban by username. Commonly used in gateways\n // Eg. 59d4c432@a.clients.kiwiirc.com\n\n\n var hexTest = /^([a-f0-9]{8})$/i;\n\n if (hexTest.test(this.user.username)) {\n var _match = this.user.username.match(hexTest)[0];\n return '*!' + _match + '@*';\n } // fallback to default_ban_mask from config\n\n\n var mask = this.$state.setting('buffers.default_ban_mask');\n mask = mask.replace('%n', this.user.nick);\n mask = mask.replace('%i', this.user.username);\n mask = mask.replace('%h', this.user.host);\n return mask;\n },\n banUser: function banUser() {\n if (!this.user.username || !this.user.host) {\n return;\n }\n\n var banMask = this.createBanMask();\n this.network.ircClient.raw('MODE', this.buffer.name, '+b', banMask);\n },\n kickbanUser: function kickbanuser() {\n if (!this.user.username || !this.user.host) {\n return;\n }\n\n var banMask = this.createBanMask();\n var reason = this.$state.setting('buffers.default_kick_reason');\n this.network.ircClient.raw('MODE', this.buffer.name, '+b', banMask);\n this.network.ircClient.raw('KICK', this.buffer.name, this.user.nick, reason);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"UserBox\"]\r\nwindow._kiwi_exports.components.UserBox = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/**\n * batchedAdd prevents a flood of new inserts into state. Based on JS ticks, inserts /sec are\n * counted by each JS tick that inserts an item. Eg. 10 inserts in 1 tick = 1 count. 10 inserts\n * on different JS ticks = 10 counts.\n * After X counts/sec, batch each second worth of new items at the same time.\n */\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = batchedAdd;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nfunction batchedAdd(singleFn, batchedFn) {\n var numInsertsSec = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3;\n var inTick = false;\n var queue = [];\n var numInLastSec = 0;\n var queueLoopTmr = null;\n var loopInterval = 1000;\n var checkSecRateTmr = null;\n\n function queueLoop() {\n numInLastSec = 0;\n\n if (queue.length) {\n // emptying queue before calling batchedFn in case that function triggers\n // code that needs to see that the queue has been processed.\n var q = queue;\n queue = [];\n batchedFn(q);\n queueLoopTmr = (0, _setTimeout2.default)(queueLoop, loopInterval);\n } else {\n queueLoopTmr = null;\n }\n }\n\n function maybeStartLoop() {\n if (!queueLoopTmr) {\n queueLoopTmr = (0, _setTimeout2.default)(queueLoop, loopInterval);\n }\n } // Reset numInLastSec after loopInterval. This allows enough time for the counter to\n // increase to detect batching. Only needs to run if we are not currently batching and\n // only needs to run once at a time.\n\n\n function resetAddCounter() {\n if (!queueLoopTmr && !checkSecRateTmr) {\n checkSecRateTmr = (0, _setTimeout2.default)(function () {\n checkSecRateTmr = null;\n\n if (!queueLoopTmr) {\n numInLastSec = 0;\n }\n }, loopInterval);\n }\n }\n\n function batchFn(item) {\n if (!inTick) {\n numInLastSec++;\n } // If already queuing or we reached our limit on items/sec, queue the item\n\n\n if (queue.length || numInLastSec > numInsertsSec) {\n queue.push(item);\n maybeStartLoop();\n } else {\n inTick = true;\n (0, _setTimeout2.default)(function () {\n inTick = false;\n });\n singleFn(item);\n resetAddCounter();\n }\n }\n\n batchFn.queue = function getQueue() {\n return queue;\n };\n\n return batchFn;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"batchedAdd\"]\r\nwindow._kiwi_exports.libs.batchedAdd = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar embedlyTagIncluded = false;\nvar _default = {\n props: ['url', 'showPin', 'iframeSandboxOptions'],\n data: function data() {\n return {\n debouncedUpdateEmbed: null\n };\n },\n computed: {\n settings: function settings() {\n return this.$state.setting('embedly');\n }\n },\n watch: {\n url: function url() {\n this.updateEmbed();\n }\n },\n created: function created() {\n this.updateEmbed();\n },\n methods: {\n updateEmbed: function updateEmbed() {\n var _this = this;\n\n var checkEmbedlyAndShowCard = function checkEmbedlyAndShowCard() {\n // If the embedly function doesn't exist it's probably still loading\n // the embedly script\n if (typeof window.embedly !== 'function') {\n (0, _setTimeout2.default)(checkEmbedlyAndShowCard, 100);\n return;\n }\n\n _this.$nextTick(function () {\n window.embedly('card', _this.$refs.embedlyLink);\n\n _this.$emit('setHeight', 'auto');\n\n if (_this.showPin) {\n // This is inline so set a max height\n _this.$el.style.maxHeight = (_this.settings.maxHeight || 400) + 'px';\n } else {\n // This is main media view set a relative max height\n _this.$emit('setMaxHeight', '54%');\n }\n });\n };\n\n if (!embedlyTagIncluded) {\n var head = document.getElementsByTagName('head')[0];\n var script = document.createElement('script');\n script.type = 'text/javascript';\n var embedlyUrl = this.$state.getSetting('settings.embedly.script') || '//cdn.embedly.com/widgets/platform.js';\n script.src = embedlyUrl;\n head.appendChild(script);\n embedlyTagIncluded = true;\n }\n\n checkEmbedlyAndShowCard();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"UrlEmbed\"]\r\nwindow._kiwi_exports.components.UrlEmbed = exports.default ? exports.default : exports;\r\n","\"use strict\";\n\nrequire(\"./kiwiirccom\");","import { render, staticRenderFns } from \"./ControlInput.vue?vue&type=template&id=7c84e8be&\"\nimport script from \"./ControlInput.vue?vue&type=script&lang=js&\"\nexport * from \"./ControlInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ControlInput.vue?vue&type=style&index=0&lang=less&\"\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 { render, staticRenderFns } from \"./kiwiirccom.vue?vue&type=template&id=5b797949&\"\nimport script from \"./kiwiirccom.vue?vue&type=script&lang=js&\"\nexport * from \"./kiwiirccom.vue?vue&type=script&lang=js&\"\nimport style0 from \"./kiwiirccom.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerSelector.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowser.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-controlinput kiwi-theme-bg\",class:{\n 'kiwi-controlinput-selfuser--open': _vm.selfuser_open,\n 'kiwi-controlinput--focus': _vm.has_focus,\n }},[_c('div',{staticClass:\"kiwi-controlinput-selfuser\"},[_c('transition',{attrs:{\"name\":\"kiwi-selfuser-trans\"}},[(_vm.networkState==='connected'\n && _vm.selfuser_open === true)?_c('self-user',{attrs:{\"network\":_vm.buffer.getNetwork()},on:{\"close\":function($event){_vm.selfuser_open=false}}}):_vm._e()],1)],1),_c('div',{staticClass:\"kiwi-controlinput-inner\",class:[_vm.selfuser_open ? 'kiwi-controlinput-portrait-hide' : '']},[(_vm.buffer.getNetwork() && _vm.buffer.getNetwork().state === 'connected')?_c('away-status-indicator',{attrs:{\"network\":_vm.buffer.getNetwork(),\"user\":_vm.buffer.getNetwork().currentUser()}}):_vm._e(),(_vm.currentNick)?_c('div',{staticClass:\"kiwi-controlinput-user\",on:{\"click\":_vm.toggleSelfUser}},[_c('span',{staticClass:\"kiwi-controlinput-user-nick\"},[_vm._v(_vm._s(_vm.currentNick))]),_c('i',{staticClass:\"fa\",class:[_vm.selfuser_open ? 'fa-caret-down' : 'fa-caret-up'],attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_c('form',{staticClass:\"kiwi-controlinput-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submitForm($event)},\"click\":_vm.maybeHidePlugins}},[(_vm.autocomplete_open)?_c('auto-complete',{ref:\"autocomplete\",attrs:{\"items\":_vm.autocomplete_items,\"filter\":_vm.autocomplete_filter,\"buffer\":_vm.buffer},on:{\"temp\":_vm.onAutocompleteTemp,\"selected\":_vm.onAutocompleteSelected,\"cancel\":_vm.onAutocompleteCancel}}):_vm._e(),(_vm.buffer.setting('share_typing'))?_c('typing-users-list',{attrs:{\"buffer\":_vm.buffer}}):_vm._e(),_c('div',{staticClass:\"kiwi-controlinput-input-wrap\"},[_c('irc-input',{ref:\"input\",staticClass:\"kiwi-controlinput-input\",attrs:{\"placeholder\":_vm.$t('input_placeholder'),\"wrap\":\"off\"},on:{\"input\":_vm.inputUpdate,\"keydown\":function($event){return _vm.inputKeyDown($event)},\"keyup\":function($event){return _vm.inputKeyUp($event)},\"click\":_vm.closeInputTool,\"focus\":function($event){_vm.has_focus = true},\"blur\":function($event){_vm.has_focus = false}}})],1),(_vm.shouldShowSendButton)?_c('button',{staticClass:\"kiwi-controlinput-send fa fa-paper-plane\",attrs:{\"type\":\"submit\"}}):_vm._e()],1),(_vm.shouldShowInputButtons)?_c('div',{ref:\"plugins\",staticClass:\"kiwi-controlinput-tools\"},[_c('div',{staticClass:\"kiwi-controlinput-tools-container-expand\",class:{'kiwi-controlinput-tools-container-expand--inverse': !_vm.showPlugins},on:{\"click\":function($event){_vm.showPlugins=!_vm.showPlugins}}},[_c('i',{staticClass:\"fa fa-bars\",attrs:{\"aria-hidden\":\"true\"}})]),_c('transition',{attrs:{\"name\":\"kiwi-plugin-ui-trans\"}},[(_vm.showPlugins)?_c('div',{staticClass:\"kiwi-controlinput-tools-container\"},[(_vm.shouldShowColorPicker)?_c('a',{staticClass:\"kiwi-controlinput-tool\",on:{\"click\":function($event){$event.preventDefault();return _vm.onToolClickTextStyle($event)}}},[_c('i',{staticClass:\"fa fa-adjust\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),(_vm.shouldShowEmojiPicker)?_c('a',{staticClass:\"kiwi-controlinput-tool\",on:{\"click\":function($event){$event.preventDefault();return _vm.onToolClickEmoji($event)}}},[_c('i',{staticClass:\"fa fa-smile-o\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._l((_vm.pluginUiElements),function(plugin){return _c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:({\n el: plugin.el,\n props: {\n controlinput: _vm.self,\n }\n }),expression:\"{\\n el: plugin.el,\\n props: {\\n controlinput: self,\\n }\\n }\"}],key:plugin.id,staticClass:\"kiwi-controlinput-tool\"})})],2):_vm._e()])],1):_vm._e()],1),_c('div',{staticClass:\"kiwi-controlinput-active-tool\"},[_c(_vm.active_tool,_vm._b({tag:\"component\"},'component',_vm.active_tool_props,false))],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('img',{staticClass:\"kiwi-loading-logo\",attrs:{\"src\":require(\"../res/kiwiLoadingLogo.png\")}}),_c('canvas',{staticClass:\"kiwi-loading-animation\"})])}]\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _BufferSettings = _interopRequireDefault(require(\"./BufferSettings\"));\n\nvar _ChannelInfo = _interopRequireDefault(require(\"./ChannelInfo\"));\n\nvar _ChannelBanlist = _interopRequireDefault(require(\"./ChannelBanlist\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _default = {\n components: {\n BufferSettings: _BufferSettings.default,\n ChannelInfo: _ChannelInfo.default,\n ChannelBanlist: _ChannelBanlist.default,\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: ['buffer', 'sidebarState'],\n data: function data() {\n return {\n pluginUiChannelElements: _GlobalApi.default.singleton().channelHeaderPlugins,\n pluginUiQueryElements: _GlobalApi.default.singleton().queryHeaderPlugins,\n prompts: {\n closeChannel: false\n }\n };\n },\n computed: {\n isJoined: function isJoined() {\n var buffer = this.buffer;\n return buffer.getNetwork().state === 'connected' && buffer.joined;\n },\n isConnected: function isConnected() {\n return this.buffer.getNetwork().state === 'connected';\n },\n formattedTopic: function formattedTopic() {\n var blocks = (0, _MessageParser.default)(this.buffer.topic, {\n extras: false\n });\n var content = (0, _Html.default)(blocks);\n return content;\n },\n network: function network() {\n return this.buffer.getNetwork();\n },\n sidebarSection: function sidebarSection() {\n return this.sidebarState.section();\n },\n userOnline: function userOnline() {\n var user = this.$state.getUser(this.buffer.getNetwork().id, this.buffer.name);\n return !!user;\n }\n },\n created: function created() {\n var _this = this;\n\n this.listen(this.$state, 'document.clicked', function (e) {\n // If clicking anywhere else on the page, close all our prompts\n if (!_this.$el.contains(e.target)) {\n var _context;\n\n (0, _forEach.default)(_context = (0, _keys.default)(_this.prompts)).call(_context, function (prompt) {\n _this.prompts[prompt] = false;\n });\n }\n });\n },\n methods: {\n showPrompt: function showPrompt(prompt) {\n this.prompts[prompt] = true;\n },\n isChannel: function isChannel() {\n return this.buffer.isChannel();\n },\n isServer: function isServer() {\n return this.buffer.isServer();\n },\n isQuery: function isQuery() {\n return this.buffer.isQuery();\n },\n isSpecial: function isSpecial() {\n return this.buffer.isSpecial();\n },\n showNetworkSettings: function showNetworkSettings(network) {\n network.showServerBuffer('settings');\n },\n onConnectButtonClick: function onConnectButtonClick() {\n var network = this.buffer.getNetwork();\n\n if (!network.connection.server) {\n network.showServerBuffer('settings');\n } else {\n network.ircClient.connect();\n }\n },\n toggleUser: function toggleUser() {\n var user = this.$state.getUser(this.buffer.getNetwork().id, this.buffer.name);\n this.sidebarState.toggleUser(user);\n },\n joinCurrentBuffer: function joinCurrentBuffer() {\n var network = this.buffer.getNetwork();\n this.buffer.enabled = true;\n network.ircClient.join(this.buffer.name);\n },\n closeCurrentBuffer: function closeCurrentBuffer() {\n this.$state.removeBuffer(this.buffer);\n },\n onHeaderClick: function onHeaderClick(event) {\n var channelName = event.target.getAttribute('data-channel-name');\n\n if (channelName) {\n var network = this.buffer.getNetwork();\n this.$state.addBuffer(this.buffer.networkid, channelName);\n network.ircClient.join(channelName);\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ContainerHeader\"]\r\nwindow._kiwi_exports.components.ContainerHeader = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-channelbanlist\"},[_c('form',{staticClass:\"u-form kiwi-channelbanlist\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.updateBanlist}},[_vm._v(_vm._s(_vm.$t('bans_refresh')))]),(_vm.banlist.length > 0)?_c('table',{staticClass:\"kiwi-channelbanlist-table\"},[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('bans_user')))]),_c('th'),_c('th')]),_vm._l((_vm.banlist),function(ban){return _c('tr',{key:ban.banned,attrs:{\"title\":'By ' + ban.banned_by}},[_c('td',{staticClass:\"kiwi-channelbanlist-table-mask\"},[_vm._v(_vm._s(ban.banned))]),_c('td',{staticClass:\"kiwi-channelbanlist-table-bannedat\"},[_vm._v(\" \"+_vm._s((new Date(ban.banned_at * 1000)).toDateString())+\" \")]),_c('td',{staticClass:\"kiwi-channelbanlist-table-actions\"},[_c('i',{staticClass:\"fa fa-trash\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.removeBan(ban.banned)}}})])])})],2):(_vm.is_refreshing)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('bans_refreshing'))+\" \")]):_c('div',{staticClass:\"kiwi-channelbanlist-empty\"},[_vm._v(\" \"+_vm._s(_vm.$t('bans_nobody'))+\" \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{key:_vm.url,staticClass:\"kiwi-mediaviewer-embedly\"},[_c('a',{ref:\"embedlyLink\",staticClass:\"kiwi-embedly-card\",attrs:{\"href\":_vm.url,\"data-card-key\":_vm.settings.key,\"data-card-chrome\":\"0\",\"data-card-controls\":\"0\",\"data-card-recommend\":\"0\"}},[_vm._v(_vm._s(_vm.$t('media_loading', {url: _vm.url})))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarState.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarState.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAdvanced.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAdvanced.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _BouncerProvider = _interopRequireDefault(require(\"@/libs/BouncerProvider\"));\n\nvar _IPC = _interopRequireDefault(require(\"@/libs/IPC\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar firstRun = true;\nvar _default = {\n data: function data() {\n return {\n hasOtherTab: false,\n addedNetworkToExisting: false,\n server: null,\n readyToShowOptions: false\n };\n },\n computed: {\n networks: function networks() {\n return this.$state.networks;\n },\n hasFragment: function hasFragment() {\n return window.location.hash && window.location.hash.length > 1;\n }\n },\n created: function created() {\n var _this = this;\n\n this.$state.setting('allowRegisterProtocolHandler', true);\n var server = null;\n\n if (this.hasFragment) {\n server = this.parseFragment();\n this.server = server;\n }\n\n if (server) {\n this.findOtherTabs().then(function (hasOtherTab) {\n if (hasOtherTab) {\n _this.hasOtherTab = true; // Don't start the main kiwi app here as it's already open elsewhere\n } else {\n _this.listenForOtherTabs();\n\n _this.init();\n }\n\n _this.readyToShowOptions = true;\n });\n } else {\n this.listenForOtherTabs();\n this.init();\n }\n },\n methods: {\n listenForOtherTabs: function listenForOtherTabs() {\n var _this2 = this;\n\n _IPC.default.on('message', function (e) {\n // respond to other tabs that are looking\n var msg = e.data;\n\n if (msg.type === 'ping' && _this2.networks.length > 0) {\n _IPC.default.send({\n type: 'pong'\n });\n } else if (msg.type === 'addNetwork') {\n var _context;\n\n var network = (0, _find.default)(_context = _this2.networks).call(_context, function (n) {\n return n.name === msg.server;\n });\n\n if (!network) {\n network = _this2.$state.addNetwork(msg.server, msg.nick || 'Guest' + Math.floor(Math.random() * 100), msg);\n }\n\n network.showServerBuffer('settings');\n }\n });\n },\n addEmptyNetwork: function addEmptyNetwork() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var network = this.$state.addNetwork(TextFormatting.t('new_network'), nick, {});\n network.showServerBuffer('settings');\n },\n findOtherTabs: function findOtherTabs() {\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", new _promise.default(function (resolve, reject) {\n var handleIPCMessage = function handleIPCMessage(e) {\n var msg = e.data;\n\n if (msg.type === 'pong') {\n clearTimeout(timer);\n resolve(true);\n }\n };\n\n var timer = (0, _setTimeout2.default)(function (e) {\n _IPC.default.removeListener('message', handleIPCMessage);\n\n resolve(false);\n }, 200);\n\n _IPC.default.on('message', handleIPCMessage);\n\n _IPC.default.send({\n type: 'ping'\n });\n }));\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee);\n }))();\n },\n addNetworkToExistingTab: function addNetworkToExistingTab() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var con = this.server;\n this.$state.addNetwork(TextFormatting.t('new_network'), nick, {});\n\n _IPC.default.send({\n nick: nick,\n server: con.server,\n port: con.port,\n tls: con.tls,\n password: con.password || '',\n type: 'addNetwork'\n });\n\n window.location.hash = '';\n this.addedNetworkToExisting = true;\n },\n addNetwork: function addNetwork() {\n var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.server) {\n return;\n }\n\n var con = this.server;\n\n if (temporary) {\n this.$state.persistence.storageKey = null;\n this.$state.persistence.forgetState();\n this.init();\n }\n\n var network = this.$state.getNetworkFromAddress(con.server);\n\n if (!network) {\n network = this.$state.addNetwork(con.server, con.nick || 'Guest' + Math.floor(Math.random() * 100), {\n server: con.server,\n port: con.port,\n tls: con.tls,\n password: con.password || ''\n });\n }\n\n window.location.hash = '';\n network.showServerBuffer('settings');\n this.$emit('start', {\n fallbackComponent: this.constructor\n });\n },\n parseFragment: function parseFragment() {\n if (window.location.hash.substr(1)) {\n var fragment = window.location.hash.substr(1); // Check to see if we're dealing with an encoded irc: uri (browsers do this\n // when clicking an IRC link)\n\n var uriCheck = fragment.substr(0, 7).toLowerCase();\n\n if (uriCheck === 'ircs%3a' || uriCheck.substr(0, 6) === 'irc%3a') {\n fragment = decodeURIComponent(fragment);\n }\n\n var connections = Misc.parseIrcUri(fragment);\n var con = connections[0];\n return con;\n }\n\n return null;\n },\n toggleStateBrowser: function toggleStateBrowser() {\n this.$state.$emit('statebrowser.show');\n },\n init: function init() {\n var _this3 = this;\n\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var persistSetting, _context3, controllerNet, bouncer;\n\n return _regenerator.default.wrap(function _callee2$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (firstRun) {\n _context4.next = 2;\n break;\n }\n\n return _context4.abrupt(\"return\");\n\n case 2:\n firstRun = false; // persist the buffers in the state by default\n\n persistSetting = _this3.$state.settings.startupOptions.remember_buffers;\n\n if (typeof persistSetting === 'undefined') {\n _this3.$state.persistence.includeBuffers = true;\n } else {\n _this3.$state.persistence.includeBuffers = !!persistSetting;\n }\n\n _this3.$state.persistence.watchStateForChanges();\n\n if (_this3.$state.settings.startupOptions.bouncer) {\n controllerNet = (0, _find.default)(_context3 = _this3.$state.networks).call(_context3, function (n) {\n return n.is_bnc;\n });\n\n if (controllerNet) {\n bouncer = new _BouncerProvider.default(_this3.$state);\n bouncer.enable(controllerNet.connection.server, controllerNet.connection.port, controllerNet.connection.tls, controllerNet.connection.direct, controllerNet.connection.path);\n }\n } // force restricted: false as users need access\n // to network settings to add a network\n\n\n _this3.$state.setSetting('settings.restricted', false);\n\n _this3.$emit('start', {\n fallbackComponent: _this3.constructor\n });\n\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee2);\n }))();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"Personal\"]\r\nwindow._kiwi_exports.components.startups.Personal = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInfo.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n\nvar _typeof3 = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _setInterval3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-interval\"));\n\nvar _setTimeout3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _symbol = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/symbol\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _includes = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/includes\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _json = _interopRequireDefault(require(\"json5\"));\n\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\n\nvar _i18nextXhrBackend = _interopRequireDefault(require(\"i18next-xhr-backend\"));\n\nvar _vueI18next = _interopRequireDefault(require(\"@panter/vue-i18next\"));\n\nvar _vueVirtualScroller = _interopRequireDefault(require(\"vue-virtual-scroller\"));\n\nrequire(\"vue-virtual-scroller/dist/vue-virtual-scroller.css\");\n\nrequire(\"whatwg-fetch\");\n\nrequire(\"intersection-observer\");\n\nvar _available = _interopRequireDefault(require(\"@/res/locales/available.json\"));\n\nvar _enUs = _interopRequireDefault(require(\"@/../static/locales/en-us.json\"));\n\nvar _App = _interopRequireDefault(require(\"@/components/App\"));\n\nvar _StartupError = _interopRequireDefault(require(\"@/components/StartupError\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _ConfigLoader = _interopRequireDefault(require(\"@/libs/ConfigLoader\"));\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _ThemeManager = _interopRequireDefault(require(\"@/libs/ThemeManager\"));\n\nvar _InputHandler = _interopRequireDefault(require(\"@/libs/InputHandler\"));\n\nvar _StatePersistence = _interopRequireDefault(require(\"@/libs/StatePersistence\"));\n\nvar Storage = _interopRequireWildcard(require(\"@/libs/storage/Local\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _AudioManager = require(\"@/libs/AudioManager\");\n\nvar _SoundBleep = require(\"@/libs/SoundBleep\");\n\nvar _WindowTitle = _interopRequireDefault(require(\"@/libs/WindowTitle\"));\n\nvar _configTemplates = require(\"@/res/configTemplates\");\n\nrequire(\"@/components/utils/TabbedView\");\n\nrequire(\"@/components/utils/InputText\");\n\nrequire(\"@/components/utils/IrcInput\");\n\nrequire(\"@/components/utils/InputPrompt\");\n\nrequire(\"@/components/utils/InputConfirm\");\n\nrequire(\"@/thirdparty/\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n// fetch polyfill\n// polyfill for vue-virtual-scroller & ie11\n// Global utilities\n_vue.default.use(_vueVirtualScroller.default);\n\nvar logLevelMatch = window.location.href.match(/kiwi-loglevel=(\\d)/);\n\nif (logLevelMatch && logLevelMatch[1]) {\n var newLevel = (0, _parseInt2.default)(logLevelMatch[1], 10);\n\n _Logger.default.setLevel(newLevel);\n\n (0, _Logger.default)('Logging level set to', newLevel);\n}\n\nvar log = _Logger.default.namespace('main'); // Add the global API as soon as possible so that things can start listening to it\n\n\nvar api = window.kiwi = _GlobalApi.default.singleton(); // Third party imports now have access to the state and api\n\n/* eslint-disable import/first */\n\n\nfunction getQueryVariable(variable) {\n var query = window.location.search.substring(1);\n var vars = query.split('&');\n\n for (var i = 0; i < vars.length; i++) {\n var pair = vars[i].split('=');\n\n if (pair[0] === variable) {\n return pair[1];\n }\n }\n\n return false;\n} // Add a handy this.listen() fn to Vue instances. Saves on the need to add an event listener\n// and then manually remove them all the time.\n\n\n_vue.default.mixin({\n beforeDestroy: function beforeDestroy() {\n var _context;\n\n (0, _forEach.default)(_context = this.listeningEvents || []).call(_context, function (fn) {\n return fn();\n });\n },\n methods: {\n listen: function listen(source, event, fn) {\n this.listeningEvents = this.listeningEvents || [];\n\n var off = function off() {\n (source.removeEventListener || source.$off || source.off).call(source, event, fn);\n };\n\n this.listeningEvents.push(off);\n (source.addEventListener || source.$on || source.on).call(source, event, fn);\n return off;\n },\n listenOnce: function listenOnce(source, event, _fn) {\n var fn = _fn;\n this.listeningEvents = this.listeningEvents || [];\n\n var off = function off() {\n (source.removeEventListener || source.$off || source.off).call(source, event, fn);\n };\n\n this.listeningEvents.push(off);\n\n if (source.addEventListener) {\n // Create our own once handler as the DOM doesn't support this itself\n fn = function onceFn() {\n source.removeEventListener(event, onceFn);\n fn.apply(void 0, arguments);\n };\n\n source.addEventListener(event, fn);\n } else {\n (source.$once || source.once).call(source, event, fn);\n }\n\n return off;\n }\n }\n}); // Timer functions that are auto cleaned up when a component is destroyed\n\n\n_vue.default.mixin({\n beforeDestroy: function beforeDestroy() {\n var _context2;\n\n (0, _forEach.default)(_context2 = this.timerEvents || []).call(_context2, function (tmr) {\n return clearTimeout(tmr);\n });\n },\n methods: {\n setInterval: function (_setInterval) {\n function setInterval() {\n return _setInterval.apply(this, arguments);\n }\n\n setInterval.toString = function () {\n return _setInterval.toString();\n };\n\n return setInterval;\n }(function () {\n this.timerEvents = this.timerEvents || [];\n\n var v = _setInterval3.default.apply(void 0, arguments);\n\n this.timerEvents.push(v);\n return v;\n }),\n setTimeout: function (_setTimeout) {\n function setTimeout() {\n return _setTimeout.apply(this, arguments);\n }\n\n setTimeout.toString = function () {\n return _setTimeout.toString();\n };\n\n return setTimeout;\n }(function () {\n this.timerEvents = this.timerEvents || [];\n\n var v = _setTimeout3.default.apply(void 0, arguments);\n\n this.timerEvents.push(v);\n return v;\n })\n }\n}); // Make the state available to all components by default\n\n\n_vue.default.mixin({\n computed: {\n $state: function $state() {\n return (0, _state.default)();\n }\n }\n}); // Allow adding existing raw elements to component templates\n// Eg:
\n// Eg:
\n\n\n_vue.default.directive('rawElement', {\n bind: function bind(el, binding) {\n if (binding.value.nodeName) {\n el.appendChild(binding.value);\n } else if (binding.value.el) {\n var rawEl = binding.value.el;\n el.appendChild(rawEl); // Add any data attributes to the raw element\n\n if (binding.value.data) {\n var _context3;\n\n (0, _forEach.default)(_context3 = (0, _keys.default)(binding.value.data)).call(_context3, function (key) {\n rawEl.dataset[key] = binding.value.data[key];\n });\n } // Add any properties to the raw element\n\n\n if (binding.value.props) {\n var _context4;\n\n (0, _forEach.default)(_context4 = (0, _keys.default)(binding.value.props)).call(_context4, function (key) {\n rawEl[key] = binding.value.props[key];\n });\n }\n }\n }\n}); // Register a global custom directive called `v-focus`\n\n\n_vue.default.directive('focus', {\n // Support conditional eg. v-focus=\"false\"\n bind: function bind(el, bindings) {\n el.dataset.focus = bindings.value === undefined || !!bindings.value;\n },\n // When the bound element is inserted into the DOM...\n inserted: function inserted(el) {\n // dataset properties are strings\n if (el.dataset.focus !== 'true') {\n return;\n } // Element is input so focus it\n\n\n if (el.tagName === 'INPUT') {\n el.focus();\n return;\n } // Try to focus the first input element\n\n\n var input = el.getElementsByTagName('input')[0];\n\n if (input) {\n input.focus();\n }\n }\n});\n\nvar ROSymbol = (0, _symbol.default)('resizeobserver');\n\n_vue.default.directive('resizeobserver', {\n bind: function bind(el, bindings) {\n var cb = bindings.value || function noop() {};\n\n el[ROSymbol] = new ResizeObserver(cb);\n el[ROSymbol].observe(el);\n },\n unbind: function unbind(el) {\n el[ROSymbol].unobserve(el);\n }\n});\n\nloadApp();\n\nfunction loadApp() {\n var configFile = 'static/config.json';\n var configObj = null;\n /**\n * Finding the config file\n * In order, looks in the following places:\n * 1. If a 'config' argument is in the query string, static/config_THEVALUE_.json\n * 2. If a window.kiwiConfig function exists, use it's return value as the config object.\n * 3. If a is found, then the content becomes the config\n * URL.\n * 4. If a is found, then the\n * content becomes the config JSON without making another web request.\n */\n\n if (getQueryVariable('config')) {\n configFile = 'static/config_' + getQueryVariable('config') + '.json';\n } else if (typeof window.kiwiConfig === 'function') {\n try {\n configObj = window.kiwiConfig();\n } catch (err) {\n log.error('Config file: ' + err.stack);\n showError();\n }\n } else if (document.querySelector('meta[name=\"kiwiconfig\"]')) {\n configFile = document.querySelector('meta[name=\"kiwiconfig\"]').content;\n } else if (document.querySelector('script[name=\"kiwiconfig\"]')) {\n var configContents = document.querySelector('script[name=\"kiwiconfig\"]').innerHTML;\n\n try {\n configObj = _json.default.parse(configContents);\n } catch (parseErr) {\n log.error('Config file: ' + parseErr.stack);\n showError();\n }\n }\n\n var configLoader = new _ConfigLoader.default();\n configLoader.addValueReplacement('protocol', window.location.protocol).addValueReplacement('wsprotocol', window.location.protocol === 'https:' ? 'wss:' : 'ws:').addValueReplacement('tls', window.location.protocol === 'https:').addValueReplacement('hostname', window.location.hostname).addValueReplacement('host', window.location.host).addValueReplacement('port', window.location.port || (window.location.protocol === 'https:' ? 443 : 80)).addValueReplacement('hash', (window.location.hash || '').substr(1)).addValueReplacement('query', (window.location.search || '').substr(1)).addValueReplacement('referrer', window.document.referrer);\n (configObj ? configLoader.loadFromObj(configObj) : configLoader.loadFromUrl(configFile)).then(applyConfig).then(initState).then(initInputCommands).then(initLocales).then(initThemes).then(loadPlugins).then(initSound).then(startApp).catch(showError);\n}\n\nfunction applyConfig(config) {\n Misc.dedotObject(config); // if we have a config template apply that before other configs\n\n if (_configTemplates.configTemplates[config.template]) {\n applyConfigObj(_configTemplates.configTemplates[config.template], (0, _state.default)().settings);\n }\n\n applyConfigObj(config, (0, _state.default)().settings);\n} // Recursively merge an object onto another via Vue.$set\n\n\nfunction applyConfigObj(obj, target) {\n _lodash.default.each(obj, function (val, key) {\n if ((0, _typeof2.default)(val) === 'object') {\n if ((0, _typeof2.default)(target[key]) !== 'object') {\n // Create the correct type of object\n var newVal = _lodash.default.isArray(val) ? [] : {};\n\n _vue.default.set(target, key, newVal);\n }\n\n applyConfigObj(val, target[key]);\n } else {\n _vue.default.set(target, key, val);\n }\n });\n}\n\nfunction loadPlugins() {\n return new _promise.default(function (resolve, reject) {\n var plugins = (0, _state.default)().settings.plugins || [];\n var pluginIdx = -1;\n loadNextScript();\n\n function loadNextScript(sSrc, fOnload) {\n var _context5;\n\n var plugin = plugins[++pluginIdx];\n\n if (!plugin) {\n resolve();\n return;\n }\n\n if ((0, _indexOf.default)(_context5 = plugin.url).call(_context5, '.js') > -1) {\n // The plugin is a .js file so inject it as a script\n var scr = document.createElement('script');\n\n scr.onerror = function () {\n var _context6;\n\n log.error((0, _concat.default)(_context6 = \"Error loading plugin '\".concat(plugin.name, \"' from '\")).call(_context6, plugin.url, \"'\"));\n loadNextScript();\n };\n\n scr.onload = function () {\n loadNextScript();\n };\n\n document.body.appendChild(scr);\n scr.src = plugin.url;\n } else {\n // Treat the plugin as a HTML document and just inject it into the document\n fetch(plugin.url).then(function (response) {\n return response.text();\n }).then(function (pluginRaw) {\n var el = document.createElement('div');\n el.id = 'kiwi_plugin_' + plugin.name.replace(/[ \"']/g, '');\n el.style.display = 'none';\n el.innerHTML = pluginRaw; // The browser won't execute any script elements so we need to extract them and\n // place them into the DOM using our own script elements\n\n var scripts = (0, _toConsumableArray2.default)(el.querySelectorAll('script')); // IE11 does not support nodes.forEach()\n\n (0, _forEach.default)(scripts).call(scripts, function (limitedScr) {\n limitedScr.parentElement.removeChild(limitedScr);\n var scr = document.createElement('script');\n scr.text = limitedScr.text;\n el.appendChild(scr);\n });\n document.body.appendChild(el);\n loadNextScript();\n }).catch(function () {\n var _context7;\n\n log.error((0, _concat.default)(_context7 = \"Error loading plugin '\".concat(plugin.name, \"' from '\")).call(_context7, plugin.url, \"'\"));\n loadNextScript();\n });\n }\n }\n });\n}\n\nfunction initLocales() {\n _vue.default.use(_vueI18next.default); // Make the translation services available via the global API\n\n\n api.i18n = _i18next.default;\n\n _i18next.default.use(_i18nextXhrBackend.default);\n\n _i18next.default.init({\n whitelist: _available.default.locales,\n fallbackLng: 'en-us',\n lowerCaseLng: true,\n backend: {\n loadPath: 'static/locales/{{lng}}.json',\n // allow cross domain requests\n crossDomain: false,\n // allow credentials on cross domain requests\n withCredentials: false\n },\n interpolation: {\n // We let vuejs handle HTML output escaping\n escapeValue: false\n }\n }); // Build in the english translation so it can be used as a fallback\n\n\n _i18next.default.addResourceBundle('en-us', 'translation', _enUs.default); // Override the $t function so that empty translations fallback to en-us\n\n\n _vue.default.mixin({\n computed: {\n $t: function $t() {\n var _this = this;\n\n return function (key, options) {\n var val = _this.$i18n.i18next.t(key, options, _this.$i18n.i18nLoadedAt);\n\n if (!val) {\n var opts = options || {};\n opts.lng = 'en-us';\n val = _this.$i18n.i18next.t(key, opts, _this.$i18n.i18nLoadedAt);\n }\n\n return val;\n };\n }\n }\n });\n\n var setDefaultLanguage = function setDefaultLanguage() {\n var defaultLang = (0, _state.default)().setting('language');\n var preferredLangs = _lodash.default.clone(window.navigator && window.navigator.languages) || []; // our configs default lang overrides all others\n\n if (defaultLang) {\n preferredLangs.unshift(defaultLang);\n } // set a default language\n\n\n _i18next.default.changeLanguage('en-us'); // Go through our browser languages until we find one that we support\n\n\n for (var idx = 0; idx < preferredLangs.length; idx++) {\n var lang = preferredLangs[idx]; // if this is a language such as 'fr', add a following one of 'fr-fr' to cover\n // both cases\n\n if (lang.length === 2) {\n (0, _splice.default)(preferredLangs).call(preferredLangs, idx + 1, 0, lang + '-' + lang);\n }\n\n if ((0, _includes.default)(_lodash.default).call(_lodash.default, _available.default.locales, lang.toLowerCase())) {\n _i18next.default.changeLanguage(lang, function (err, t) {\n if (err) {\n // setting the language failed so set default again\n _i18next.default.changeLanguage('en-us');\n }\n });\n\n break;\n }\n }\n };\n\n setDefaultLanguage(); // Update the language if the setting changes.\n\n (0, _state.default)().$watch('user_settings.language', function (lang) {\n if (!lang && !(0, _state.default)().setting('language')) {\n setDefaultLanguage();\n } else {\n _i18next.default.changeLanguage(lang || (0, _state.default)().setting('language') || 'en-us');\n }\n });\n}\n\nfunction initState() {\n return _initState.apply(this, arguments);\n}\n\nfunction _initState() {\n _initState = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var stateKey, persistLog, persist;\n return _regenerator.default.wrap(function _callee$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n stateKey = (0, _state.default)().settings.startupOptions.state_key; // Default to a preset key if it wasn't set\n\n if (typeof stateKey === 'undefined') {\n stateKey = 'kiwi-state';\n }\n\n persistLog = _Logger.default.namespace('StatePersistence');\n persist = new _StatePersistence.default(stateKey || '', (0, _state.default)(), Storage, persistLog);\n persist.includeBuffers = !!(0, _state.default)().settings.startupOptions.remember_buffers;\n\n if (!stateKey) {\n _context8.next = 8;\n break;\n }\n\n _context8.next = 8;\n return persist.loadStateIfExists();\n\n case 8:\n api.setState((0, _state.default)());\n\n case 9:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee);\n }));\n return _initState.apply(this, arguments);\n}\n\nfunction initThemes() {\n var themeMgr = _ThemeManager.default.instance((0, _state.default)());\n\n api.setThemeManager(themeMgr);\n var argTheme = getQueryVariable('theme');\n\n if (argTheme) {\n themeMgr.setTheme(argTheme);\n }\n}\n\nfunction initSound() {\n var sound = new _SoundBleep.SoundBleep();\n var bleep = new _AudioManager.AudioManager(sound);\n bleep.listen((0, _state.default)());\n bleep.watchForMessages((0, _state.default)());\n}\n\nfunction initInputCommands() {\n /* eslint-disable no-new */\n new _InputHandler.default((0, _state.default)());\n}\n\nfunction startApp() {\n new _WindowTitle.default((0, _state.default)());\n api.emit('init');\n /* eslint-disable no-new */\n\n new _vue.default({\n el: '#app',\n render: function render(h) {\n return h(_App.default);\n },\n i18n: new _vueI18next.default(_i18next.default)\n });\n api.emit('ready');\n}\n\nfunction showError(err) {\n if (err) {\n log.error('Error starting Kiwi IRC:', err);\n } else {\n log.error('Unknown error starting Kiwi IRC');\n }\n /* eslint-disable no-new */\n\n\n new _vue.default({\n el: '#app',\n render: function render(h) {\n return h(_StartupError.default, {\n props: {\n error: err\n }\n });\n }\n });\n}","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.configTemplates = void 0;\n\n/**\n * Configuration templates\n *\n * All the default values for config options throughout kiwi are set here, under\n * the 'default' template object below.\n * If a 'default.template' value is set in the user config, this is used to\n * find the next template object below and is merged over the default config\n * template.\n * The user config (config.json by default) is then merged over the resulting\n * config object.\n *\n * The advanced settings dialog also displays these settings by iterating\n * through the keys. The values must not be null otherwise they will not be\n * shown.\n */\nvar configTemplates = {\n default: {\n plugins: [],\n windowTitle: 'Kiwi IRC - The web IRC client',\n useMonospace: false,\n language: '',\n theme: 'Default',\n themes: [{\n name: 'Default',\n url: 'static/themes/default'\n }],\n // Restricted to a single IRC server\n restricted: true,\n // The startup screen\n startupScreen: 'customServer',\n // Where to find the kiwi server\n kiwiServer: '/webirc/kiwiirc/',\n // If active, all connections will be routed via this BNC server. Network settings\n // will be read and updated to the BNC as they are changed.\n bnc: {\n active: false,\n server: '',\n port: 6667,\n tls: false,\n path: '',\n username: '',\n password: ''\n },\n warnOnExit: true,\n quitMessage: 'Page closed',\n // Default buffer settings\n buffers: {\n messageLayout: 'modern',\n alert_on: 'highlight',\n timestamp_format: '%H:%M:%S',\n // If timestamp_full_format is falsy, the browsers locale date format will be used\n timestamp_full_format: '',\n show_timestamps: true,\n scrollback_size: 250,\n show_hostnames: false,\n show_joinparts: true,\n show_topics: true,\n show_nick_changes: true,\n show_mode_changes: true,\n show_presence_changes: true,\n traffic_as_activity: false,\n coloured_nicklist: true,\n colour_nicknames_in_messages: true,\n block_pms: false,\n show_emoticons: true,\n extra_formatting: true,\n mute_sound: false,\n hide_message_counts: false,\n show_realnames: false,\n default_ban_mask: '*!%i@%h',\n default_kick_reason: 'Your behaviour is not conducive to the desired environment.',\n shared_input: false,\n show_message_info: true,\n who_loop: true,\n share_typing: true,\n // flash_title: message/highlight/off\n flash_title: 'message',\n nicklist_avatars: false,\n show_link_previews: true,\n inline_link_auto_previews: true,\n inline_link_auto_preview_whitelist: '.*',\n show_buffer_groups: true\n },\n // Startup screen default\n startupOptions: {\n server: '',\n port: 6667,\n tls: false,\n channel: '',\n nick: 'kiwi_?',\n direct: false,\n state_key: 'kiwi-state',\n remember_buffers: true,\n nick_format: ''\n },\n autoReconnect: false,\n disconnectOnSaslFail: true,\n allowRegisterProtocolHandler: false,\n noticeActiveBuffer: true,\n nicklistGroupAway: false,\n showChanlistModes: false,\n showAutocomplete: true,\n showEmojiPicker: true,\n showColorPicker: false,\n showSendButton: false,\n showAwayStatusIndicators: true,\n sidebarDefault: 'nicklist',\n showRaw: false,\n useBufferHistory: true,\n hideSettings: null,\n highlights: '',\n teamHighlights: false,\n aliases: \"\\n# General aliases\\n/p /part $1+\\n/me /action $destination $1+\\n/j /join $1+\\n/q /query $1+\\n/w /whois $1+\\n/raw /quote $1+\\n/connect /server $1+\\n/disconnect /quit $1+\\n/cycle $channel? /lines /part $channel | /join $channel\\n/active /back $1+\\n/umode /mode $nick $1+\\n\\n# Op related aliases\\n/op /quote mode $channel +o $1+\\n/deop /quote mode $channel -o $1+\\n/hop /quote mode $channel +h $1+\\n/dehop /quote mode $channel -h $1+\\n/voice /quote mode $channel +v $1+\\n/devoice /quote mode $channel -v $1+\\n/k /kick $channel $1+\\n/bans /mode $channel +b\\n/ban /quote mode $channel +b $1+\\n/unban /quote mode $channel -b $1+\\n\\n# Misc aliases\\n/slap /me slaps $1 around a bit with a large trout\\n/tick /msg $channel \\u2714\",\n embedly: {\n Key: ''\n },\n\n /* eslint-disable quote-props */\n emojis: {\n '-___-': '1f611',\n ':\\'-)': '1f602',\n '\\':-)': '1f605',\n '\\':-D': '1f605',\n '>:-)': '1f606',\n '\\':-(': '1f613',\n '>:-(': '1f620',\n ':\\'-(': '1f622',\n 'O:-)': '1f607',\n '0:-3': '1f607',\n '0:-)': '1f607',\n '0;^)': '1f607',\n 'O;-)': '1f607',\n '0;-)': '1f607',\n 'O:-3': '1f607',\n '-__-': '1f611',\n ':-Þ': '1f61b',\n '<3': '2764',\n ':)': '1f606',\n '>;)': '1f606',\n '>=)': '1f606',\n 'XD': '1f606',\n ';-)': '1f609',\n '*-)': '1f609',\n ';-]': '1f609',\n ';^)': '1f609',\n '\\':(': '1f613',\n '\\'=(': '1f613',\n ':-*': '1f618',\n ':^*': '1f618',\n '>:P': '1f61c',\n 'X-P': '1f61c',\n '>:[': '1f61e',\n ':-(': '1f61e',\n ':-[': '1f61e',\n '>:(': '1f620',\n ':\\'(': '1f622',\n ';-(': '1f622',\n '>.<': '1f623',\n '#-)': '1f635',\n '%-)': '1f635',\n 'X-)': '1f635',\n '\\\\0/': '1f646',\n '\\\\O/': '1f646',\n '0:3': '1f607',\n '0:)': '1f607',\n 'O:)': '1f607',\n 'O=)': '1f607',\n 'O:3': '1f607',\n 'B-)': '1f60e',\n '8-)': '1f60e',\n 'B-D': '1f60e',\n '8-D': '1f60e',\n '-_-': '1f611',\n '>:\\\\': '1f615',\n '>:/': '1f615',\n ':-/': '1f615',\n ':-.': '1f615',\n ':-P': '1f61b',\n ':Þ': '1f61b',\n ':-b': '1f61b',\n ':-O': '1f62e',\n 'O_O': '1f62e',\n '>:O': '1f62e',\n ':-X': '1f636',\n ':-#': '1f636',\n ':-)': '1f642',\n '(y)': '1f44d',\n ':D': '1f603',\n '=D': '1f603',\n ';)': '1f609',\n '*)': '1f609',\n ';]': '1f609',\n ';D': '1f609',\n ':*': '1f618',\n '=*': '1f618',\n ':(': '1f61e',\n ':[': '1f61e',\n '=(': '1f61e',\n ':@': '1f620',\n ';(': '1f622',\n 'D:': '1f628',\n ':$': '1f633',\n '=$': '1f633',\n '#)': '1f635',\n '%)': '1f635',\n 'X)': '1f635',\n 'B)': '1f60e',\n '8)': '1f60e',\n ':/': '1f615',\n ':\\\\': '1f615',\n '=/': '1f615',\n '=\\\\': '1f615',\n ':L': '1f615',\n '=L': '1f615',\n ':P': '1f61b',\n ':p': '1f61b',\n '=P': '1f61b',\n ':b': '1f61b',\n ':O': '1f62e',\n ':X': '1f636',\n ':#': '1f636',\n '=X': '1f636',\n '=#': '1f636',\n ':)': '1f642',\n '=]': '1f642',\n '=)': '1f642',\n ':]': '1f642'\n },\n emojiLocation: 'https://kiwiirc.com/shared/emoji/',\n textFormats: {\n user: '%nick',\n user_full: '%nick (%username@%host)',\n channel_join: '→ %text',\n channel_part: '← %text (%reason)',\n channel_quit: '← %text (%reason)',\n channel_kicked: '← %text (%reason)',\n channel_selfkick: '× %text (%reason)',\n channel_badpassword: '× %text',\n channel_topic: 'ⓘ %text',\n channel_banned: '× %text',\n channel_badkey: '⚠ %text',\n channel_inviteonly: '⚠ %channel %text',\n channel_alreadyin: '⚠ %nick %text',\n channel_limitreached: '⚠ %channel %text',\n channel_invalid_name: '⚠ %channel %text',\n channel_topic_setby: 'ⓘ %text',\n channel_has_been_invited: 'ⓘ %nick %text',\n server_connecting: '%text',\n server_connecting_error: '%text',\n mode: 'ⓘ %text',\n selfmode: 'ⓘ %nick %text',\n nickname_alreadyinuse: '⚠ %text',\n network_disconnected: '%text',\n network_connected: '%text',\n whois_channels: '%text',\n whois_idle_and_signon: '%text',\n whois_away: '%text',\n whois_server: '%text',\n whois_idle: '%text',\n whois_notfound: 'ⓘ %text',\n nick_changed: 'ⓘ %text',\n applet_notfound: '⚠ %text',\n encoding_changed: 'ⓘ %text',\n encoding_invalid: '⚠ %text',\n settings_saved: 'ⓘ %text',\n ignore_title: '%text:',\n ignore_none: '%text',\n ignore_nick: '%text',\n ignore_stop_notice: '%text',\n ignore_stopped: '%text',\n chanop_privs_needed: '⚠ %text',\n no_such_nick: 'ⓘ %nick: %text',\n unknown_command: 'ⓘ %text',\n motd: '%text',\n ctcp_response: '[CTCP %nick reply] %message',\n ctcp_request: '[CTCP %nick] %message',\n privmsg: '%text',\n notice: '[NOTICE] %text',\n action: '* %nick %text',\n whois_ident: '%nick [%nick!%ident@%host] * %text',\n whois_error: '[%nick] %text',\n whois: '%text',\n whowas_ident: 'was [%nick!%ident@%host] * %name',\n whowas_server: 'using %server (%info)',\n whowas_error: '[%nick] %text',\n who: '%nick [%nick!%ident@%host] * %realname',\n quit: '%text',\n rejoin: '%text',\n set_setting: 'ⓘ %text',\n list_aliases: 'ⓘ %text',\n ignored_pattern: 'ⓘ %text',\n wallops: '[WALLOPS] %text',\n message_nick: '%prefix%nick',\n general_error: '%text'\n },\n presetNetworks: []\n },\n // Config template for those hardcore irc veterans\n irc: {\n showEmojiPicker: false,\n sidebarDefault: 'nicklist',\n buffers: {\n messageLayout: 'inline',\n show_hostnames: true,\n coloured_nicklist: false,\n colour_nicknames_in_messages: false,\n show_emoticons: false,\n show_message_info: false,\n share_typing: false,\n inline_link_auto_previews: false\n }\n },\n // Config template for working as part of a team\n team: {\n teamHighlights: true,\n buffers: {\n messageLayout: 'modern',\n show_joinparts: false,\n show_nick_changes: true,\n show_mode_changes: true,\n show_realnames: true\n }\n }\n};\nexports.configTemplates = configTemplates;","import { render, staticRenderFns } from \"./ChannelInfo.vue?vue&type=template&id=118a686e&\"\nimport script from \"./ChannelInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./ChannelInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChannelInfo.vue?vue&type=style&index=0&lang=css&\"\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","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _isNan = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/number/is-nan\"));\n\nvar _url = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/url\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _Captcha = _interopRequireDefault(require(\"@/components/Captcha\"));\n\nvar _ServerSelector = _interopRequireDefault(require(\"./ServerSelector\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n components: {\n ServerSelector: _ServerSelector.default,\n Captcha: _Captcha.default\n },\n props: ['network'],\n data: function data() {\n return {\n server_type: 'network',\n znc_username: '',\n znc_network: '',\n znc_password: '',\n show_advanced: false,\n switch_tabs_on_connect: false,\n network_list: []\n };\n },\n computed: {\n settingShowRaw: {\n get: function get() {\n return this.network.setting('show_raw');\n },\n set: function set(val) {\n return this.network.setting('show_raw', val);\n }\n },\n directWs: {\n get: function get() {\n if (!this.network.connection.direct) {\n return '';\n }\n\n var connection = this.network.connection;\n var addr = '';\n addr += connection.tls ? 'wss://' : 'ws://';\n addr += connection.server;\n var port = (0, _parseInt2.default)(connection.port, 10);\n\n if ((0, _isNan.default)(port)) {\n port = connection.tls ? 443 : 80;\n } // Only include the port if needed\n\n\n if (connection.tls && port !== 443 || !connection.tls && port !== 80) {\n addr += ':' + connection.port;\n }\n\n addr += connection.path;\n return addr;\n },\n set: function set(newVal) {\n var url = null;\n\n try {\n url = new _url.default(newVal);\n } catch (e) {\n return;\n }\n\n var connection = this.network.connection;\n connection.tls = url.protocol.toLowerCase() === 'wss:';\n connection.server = url.hostname;\n var port = (0, _parseInt2.default)(url.port, 10);\n\n if ((0, _isNan.default)(port)) {\n port = url.protocol.toLowerCase() === 'wss:' ? 443 : 80;\n }\n\n connection.port = port;\n var u = url.href.replace(url.protocol + '//', '');\n connection.path = u.substr((0, _indexOf.default)(u).call(u, '/'));\n }\n }\n },\n watch: {\n znc_username: function znc_username() {\n this.setZncPass();\n },\n znc_network: function znc_network() {\n this.setZncPass();\n },\n znc_password: function znc_password() {\n this.setZncPass();\n },\n 'network.state': function networkState() {\n if (!this.switch_tabs_on_connect) {\n return;\n }\n\n if (this.network.state === 'connected') {\n this.switch_tabs_on_connect = false;\n this.$state.$emit('server.tab.show', 'messages');\n } else if (this.network.state_error) {\n this.switch_tabs_on_connect = false;\n }\n }\n },\n created: function created() {\n var isZnc = !!(this.network.connection.password || '').match(/^(.*)\\/(.*):(.*)$/);\n this.server_type = isZnc ? 'znc' : 'network';\n\n if (isZnc) {\n var match = (this.network.connection.password || '').match(/^(.*)\\/(.*):(.*)$/);\n this.znc_username = match[1] || '';\n this.znc_network = match[2] || '';\n this.znc_password = match[3] || '';\n }\n\n this.network_list = this.$state.setting('presetNetworks') || [];\n },\n methods: {\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n connect: function connect() {\n this.switch_tabs_on_connect = true;\n this.network.ircClient.connect();\n },\n reconnect: function reconnect() {\n this.network.ircClient.connect();\n },\n removeNetwork: function removeNetwork() {\n /* eslint-disable no-restricted-globals, no-alert */\n var confirmed = confirm('Really remove this network? This cannot be undone!');\n\n if (!confirmed) {\n return;\n }\n\n this.$state.removeNetwork(this.network.id);\n this.$state.$emit('active.component');\n },\n setZncPass: function setZncPass() {\n var _context, _context2;\n\n var newPass = (0, _concat.default)(_context = (0, _concat.default)(_context2 = \"\".concat(this.znc_username, \"/\")).call(_context2, this.znc_network, \":\")).call(_context, this.znc_password);\n this.network.connection.password = newPass;\n this.network.connection.nick = this.znc_username;\n },\n toggleTls: function toggleTls() {\n var connection = this.network.connection;\n connection.tls = !connection.tls; // Switching the port only if were currently using the most common TLS/plain text ports\n\n if (connection.tls && connection.port === 6667) {\n connection.port = 6697;\n } else if (!connection.tls && connection.port === 6697) {\n connection.port = 6667;\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"NetworkSettings\"]\r\nwindow._kiwi_exports.components.NetworkSettings = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-statebrowser-channel\",class:{\n 'kiwi-statebrowser-channel-active': _vm.isActiveBuffer(),\n 'kiwi-statebrowser-channel-notjoined': _vm.buffer.isChannel() &&\n !_vm.buffer.joined\n },attrs:{\"data-name\":_vm.buffer.name.toLowerCase()}},[_c('div',{staticClass:\"kiwi-statebrowser-channel-name\",on:{\"click\":function($event){return _vm.$emit('selected')}}},[(_vm.buffer.isQuery() && _vm.awayNotifySupported())?_c('away-status-indicator',{attrs:{\"network\":_vm.network,\"user\":_vm.network.userByName(_vm.buffer.name)}}):_vm._e(),_vm._v(_vm._s(_vm.buffer.name)+\" \")],1),_c('div',{staticClass:\"kiwi-statebrowser-buffer-actions\"},[_c('div',{staticClass:\"kiwi-statebrowser-channel-labels\"},[(_vm.buffer.flags.unread && _vm.showMessageCounts(_vm.buffer))?_c('div',{staticClass:\"kiwi-statebrowser-channel-label\",class:[\n _vm.buffer.flags.highlight ?\n 'kiwi-statebrowser-channel-label--highlight' :\n ''\n ]},[_vm._v(\" \"+_vm._s(_vm.buffer.flags.unread > 999 ? \"999+\": _vm.buffer.flags.unread)+\" \")]):_vm._e()]),_c('div',{staticClass:\"kiwi-statebrowser-channel-leave\",on:{\"click\":function($event){return _vm.closeBuffer(_vm.buffer)}}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelBanlist.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelBanlist.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomServer.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default2 = {\n props: {\n usePreset: {\n type: Boolean,\n default: true\n },\n networkList: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n connection: {\n type: Object,\n default: function _default() {}\n }\n },\n data: function data() {\n return {\n name: '',\n presetNetworks: [],\n showCustom: true,\n willEmit: false\n };\n },\n computed: {\n presetServer: {\n set: function set(newVal) {\n if (newVal === 'custom') {\n this.name = '';\n this.connection.server = '';\n this.connection.port = 6697;\n this.connection.tls = true;\n this.showCustom = true;\n } else {\n var addr = Misc.parsePresetServer(newVal);\n this.name = addr.name;\n this.connection.server = addr.server;\n this.connection.port = addr.port;\n this.connection.tls = addr.tls;\n this.showCustom = false;\n }\n },\n get: function get() {\n return this.showCustom ? 'custom' : this.toUri(this.connection);\n }\n }\n },\n created: function created() {\n if (this.networkList) {\n this.importUris(this.networkList);\n } // If the given network is in the preset server list, select it\n\n\n var con = this.connection;\n\n if ((0, _find.default)(_lodash.default).call(_lodash.default, this.presetNetworks, function (s) {\n var match = s.server === con.server && s.port === con.port && s.tls === con.tls;\n return match;\n })) {\n this.showCustom = false;\n }\n },\n methods: {\n toUri: function toUri(s) {\n var _context, _context2;\n\n return (0, _concat.default)(_context = (0, _concat.default)(_context2 = \"\".concat(s.server, \":\")).call(_context2, s.tls ? '+' : '')).call(_context, s.port);\n },\n toggleTls: function toggleTls() {\n this.connection.tls = !this.connection.tls; // Switching the port only if were currently using the most common TLS/plain text ports\n\n if (this.connection.tls && this.connection.port === 6667) {\n this.connection.port = 6697;\n } else if (!this.connection.tls && this.connection.port === 6697) {\n this.connection.port = 6667;\n }\n },\n importUris: function importUris(serverList) {\n // [ 'freenode|irc.freenode.net:+6697', 'irc.snoonet.org:6667' ]\n var servers = (0, _map.default)(serverList).call(serverList, function (s) {\n return Misc.parsePresetServer(s);\n });\n this.$set(this, 'presetNetworks', servers);\n }\n }\n};\nexports.default = _default2;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ServerSelector\"]\r\nwindow._kiwi_exports.components.ServerSelector = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _typeof3 = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.linkifyChannels = linkifyChannels;\nexports.createNickColour = createNickColour;\nexports.toInt = toInt;\nexports.hexVal = hexVal;\nexports.mapRange = mapRange;\nexports.formatAndT = formatAndT;\nexports.formatUser = formatUser;\nexports.formatUserFull = formatUserFull;\nexports.formatText = formatText;\nexports.formatDuration = formatDuration;\nexports.formatNumber = formatNumber;\nexports.t = t;\nexports.channelRegex = exports.urlRegex = void 0;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _isNan = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/number/is-nan\"));\n\nvar _parseFloat2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-float\"));\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _ThemeManager = _interopRequireDefault(require(\"@/libs/ThemeManager\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar ipRegex = _interopRequireWildcard(require(\"ip-regex\"));\n\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\n\nvar murmurhash3 = _interopRequireWildcard(require(\"murmurhash3js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar urlRegex = new RegExp( // Detect either a protocol or 'www.' to start a URL\n/(([A-Za-z][A-Za-z0-9-]*:\\/\\/)|(www\\.))/.source + '(' + // Hostname and tld\n/([\\w\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF.-]+\\.[a-zA-Z]{2,63})/.source + '|' + // IPv4 address\nipRegex.v4().source + '|' + // IPv6 address\n'(\\\\[?' + ipRegex.v6().source + '\\\\]?)' + ')' + // Optional port..\n/(:[0-9]+)?/.source + // Optional path..\n/(\\/[\\w\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF!:.?$'()[\\]*,;~+=&%@!\\-/]*)?/.source + // Optional fragment\n/(#.*)?/.source, 'i');\nexports.urlRegex = urlRegex;\nvar channelRegex = /(^|\\s)([@+~&%}]*)([#&][^ .,\\007<>\\n\\r]+?)([:;.,<>\\n\\r]+)?$/i;\nexports.channelRegex = channelRegex;\n\nfunction linkifyChannels(word) {\n // \"@#kiwiirc,\" = 3 parts. (prefix=@)(channel=#kiwiirc)(suffix=,)\n return word.replace(channelRegex, function (match, mLead, mPrefix, mChannel, mSuffix) {\n var _context, _context2, _context3, _context4;\n\n var chan = _lodash.default.escape((0, _trim.default)(mChannel).call(mChannel));\n\n var lead = _lodash.default.escape(mLead);\n\n var prefix = _lodash.default.escape(mPrefix);\n\n var suffix = _lodash.default.escape(mSuffix);\n\n var link = (0, _concat.default)(_context = \"\")).call(_context, chan, \"\");\n return (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = \"\".concat(lead)).call(_context4, prefix)).call(_context3, link)).call(_context2, suffix);\n });\n}\n/**\n * Convert a nickname string to a colour code\n * Uses these properties from the CSS theme file:\n * --kiwi-nickcolour-count: 200; - number of available nick colours\n * --kiwi-nickcolour-hueoffset: 0; - moves the hue value by hueoffset amounts\n * --kiwi-nickcolour-saturation: 70; - the nick saturation in HSL value\n * --kiwi-nickcolour-lightness: 40; - the nick lightness in HSL value\n */\n\n\nfunction createNickColour(nick) {\n var _context5, _context6;\n\n var themeMngr = _ThemeManager.default.instance();\n\n var nickLower = (nick || '').toLowerCase();\n var nickNum = murmurhash3.x86.hash32(nickLower);\n var bucketSize = toInt(themeMngr.themeVar('nickcolour-count')) || 200;\n var hueOffset = toInt(themeMngr.themeVar('nickcolour-hueoffset'));\n var hsl = {\n h: mapRange(Math.abs(nickNum) % bucketSize, 0, bucketSize, 0, 360) + hueOffset,\n s: toInt(themeMngr.themeVar('nickcolour-saturation')) || 70,\n l: toInt(themeMngr.themeVar('nickcolour-lightness')) || 40\n };\n return (0, _concat.default)(_context5 = (0, _concat.default)(_context6 = \"hsl(\".concat(hsl.h, \", \")).call(_context6, hsl.s, \"%, \")).call(_context5, hsl.l, \"%)\");\n}\n/**\n * Parse a string to an int, where NaN is 0\n * @param {string} inp\n */\n\n\nfunction toInt(inp) {\n var int = (0, _parseInt2.default)(inp, 10);\n\n if ((0, _isNan.default)(int)) {\n int = 0;\n }\n\n return int;\n}\n/**\n * Extract a substring from a hex string and parse it as an integer\n * @param {string} hash - Source hex string\n * @param {number} index - Start index of substring\n * @param {number} [length] - Length of substring. Defaults to 1.\n */\n\n\nfunction hexVal(hash, index, len) {\n return (0, _parseInt2.default)(hash.substr(index, len || 1), 16);\n}\n/*\n * Re-maps a number from one range to another\n * http://processing.org/reference/map_.html\n */\n\n\nfunction mapRange(value, vMin, vMax, dMin, dMax) {\n var vValue = (0, _parseFloat2.default)(value);\n var vRange = vMax - vMin;\n var dRange = dMax - dMin;\n return (vValue - vMin) * dRange / vRange + dMin;\n}\n/**\n * Format a string according to the configured textFormats, including a\n * translation for the %text formatting variable\n */\n\n\nfunction formatAndT(formatId, formatParams, localeId, localeParams) {\n var body = t(localeId, localeParams);\n\n if (formatParams) {\n formatParams.text = body;\n body = formatText(formatId, formatParams);\n } else {\n body = formatText(formatId, {\n text: body\n });\n }\n\n return body;\n}\n/**\n * Create a user reference string similar to 'nick'\n */\n\n\nfunction formatUser(fNick) {\n var nick = fNick; // Allow passing of a user object or irc-framework event\n\n if ((0, _typeof2.default)(nick) === 'object') {\n nick = nick.nick;\n }\n\n return formatText('user', {\n nick: nick\n });\n}\n/**\n * Create a full user reference similar to 'nick (user@host)'\n */\n\n\nfunction formatUserFull(fNick, fUsername, fHost) {\n var nick = '';\n var username = '';\n var host = ''; // Allow passing of a user object or irc-framework event\n\n if ((0, _typeof2.default)(fNick) === 'object') {\n var user = fNick;\n nick = user.nick;\n username = user.username || user.ident;\n host = user.hostname || user.host;\n } else {\n nick = fNick;\n username = fUsername;\n host = fHost;\n }\n\n return formatText('user_full', {\n nick: nick,\n username: username,\n host: host\n });\n}\n/**\n * Format a string according to the configured textFormats\n */\n\n\nfunction formatText(formatId, formatParams) {\n var format = (0, _state.default)().setting('textFormats.' + formatId);\n var params = formatParams; // Most texts only have a 'text' variable so allow passing of a string for this\n // variable as shorthand.\n\n if (typeof params === 'string') {\n params = {\n text: params\n };\n } // Expand a user mask into its individual parts (nick, ident, hostname)\n\n\n if (params.user) {\n params.nick = params.user.nick || '';\n params.username = params.user.username || '';\n params.host = params.user.hostname || '';\n params.prefix = params.user.prefix || '';\n } // Do the magic. Use the %shorthand syntax to produce output.\n\n\n var result = format.replace(/%([A-Z]{2,})/ig, function (match, key) {\n var ret = '';\n\n if (typeof params[key] !== 'undefined') {\n ret = params[key];\n }\n\n return ret;\n });\n return result;\n} // Convert a given duration in seconds to human readable weeks,days,hours,minutes,seconds\n// only showing the duration parts that are used eg 3666 --> 1 hour, 1 minute, 6 seconds\n\n\nfunction formatDuration(timeSeconds) {\n var seconds = timeSeconds;\n var weeks = Math.floor(seconds / (3600 * 24 * 7));\n seconds -= weeks * 3600 * 24 * 7;\n var days = Math.floor(seconds / (3600 * 24));\n seconds -= days * 3600 * 24;\n var hours = Math.floor(seconds / 3600);\n seconds -= hours * 3600;\n var minutes = Math.floor(seconds / 60);\n seconds -= minutes * 60;\n var tmp = [];\n weeks && tmp.push(t('week', {\n count: weeks\n }));\n (weeks || days) && tmp.push(t('day', {\n count: days\n }));\n (days || hours) && tmp.push(t('hour', {\n count: hours\n }));\n (days || hours || minutes) && tmp.push(t('minute', {\n count: minutes\n }));\n tmp.push(t('second', {\n count: seconds\n }));\n return tmp.join(' ');\n}\n\nfunction formatNumber(num) {\n return num.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n}\n\nfunction t(key, options) {\n var val = _i18next.default.t(key, options);\n\n if (!val) {\n var opts = options || {};\n opts.lng = 'en-us';\n val = _i18next.default.t(key, opts);\n }\n\n return val;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"TextFormatting\"]\r\nwindow._kiwi_exports.helpers.TextFormatting = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-buffersettings\"},[_c('div',{staticClass:\"kiwi-buffersettings-alerts\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_notify')))]),_c('hr'),_c('form',{staticClass:\"u-form\"},[_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingAlertOn),expression:\"settingAlertOn\"}],attrs:{\"type\":\"radio\",\"name\":\"alert_on\",\"value\":\"message\"},domProps:{\"checked\":_vm._q(_vm.settingAlertOn,\"message\")},on:{\"change\":function($event){_vm.settingAlertOn=\"message\"}}}),_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_all')))])]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingAlertOn),expression:\"settingAlertOn\"}],attrs:{\"type\":\"radio\",\"name\":\"alert_on\",\"value\":\"highlight\"},domProps:{\"checked\":_vm._q(_vm.settingAlertOn,\"highlight\")},on:{\"change\":function($event){_vm.settingAlertOn=\"highlight\"}}}),_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_mentioned')))])]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingAlertOn),expression:\"settingAlertOn\"}],attrs:{\"type\":\"radio\",\"name\":\"alert_on\",\"value\":\"never\"},domProps:{\"checked\":_vm._q(_vm.settingAlertOn,\"never\")},on:{\"change\":function($event){_vm.settingAlertOn=\"never\"}}}),_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_never')))])])]),_c('h3',[_vm._v(_vm._s(_vm.$t('settings')))]),_c('hr'),_c('form',{staticClass:\"u-form\"},[_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_notify_mute')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingMuteSound),expression:\"settingMuteSound\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingMuteSound)?_vm._i(_vm.settingMuteSound,null)>-1:(_vm.settingMuteSound)},on:{\"change\":function($event){var $$a=_vm.settingMuteSound,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingMuteSound=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingMuteSound=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingMuteSound=$$c}}}})]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_show_message_counts')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingHideMessageCount),expression:\"settingHideMessageCount\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingHideMessageCount)?_vm._i(_vm.settingHideMessageCount,null)>-1:(_vm.settingHideMessageCount)},on:{\"change\":function($event){var $$a=_vm.settingHideMessageCount,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingHideMessageCount=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingHideMessageCount=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingHideMessageCount=$$c}}}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./TextStyle.vue?vue&type=template&id=2a7204ee&\"\nimport script from \"./TextStyle.vue?vue&type=script&lang=js&\"\nexport * from \"./TextStyle.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextStyle.vue?vue&type=style&index=0&lang=less&\"\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","\"use strict\";\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty2 = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor2 = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty2(exports, \"__esModule\", {\n value: true\n});\n\nexports.create = create;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/slicedToArray\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/defineProperty\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _entries = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/entries\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _getOwnPropertySymbols = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols\"));\n\nvar _getOwnPropertyDescriptor = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\"));\n\nvar _getOwnPropertyDescriptors = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors\"));\n\nvar _defineProperties = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-properties\"));\n\nvar _defineProperty3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _strftime = _interopRequireDefault(require(\"strftime\"));\n\nvar _ircFramework = _interopRequireDefault(require(\"irc-framework\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar IrcdDiffs = _interopRequireWildcard(require(\"@/helpers/IrcdDiffs\"));\n\nvar _TypingMiddleware = _interopRequireDefault(require(\"./TypingMiddleware\"));\n\nvar _ChathistoryMiddleware = _interopRequireDefault(require(\"./ChathistoryMiddleware\"));\n\nvar ServerConnection = _interopRequireWildcard(require(\"./ServerConnection\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty2 && _Object$getOwnPropertyDescriptor2; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor2(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty2(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = (0, _keys.default)(object); if (_getOwnPropertySymbols.default) { var symbols = (0, _getOwnPropertySymbols.default)(object); if (enumerableOnly) { symbols = (0, _filter.default)(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor.default)(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context27; (0, _forEach.default)(_context27 = ownKeys(Object(source), true)).call(_context27, function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors.default) { (0, _defineProperties.default)(target, (0, _getOwnPropertyDescriptors.default)(source)); } else { var _context28; (0, _forEach.default)(_context28 = ownKeys(Object(source))).call(_context28, function (key) { (0, _defineProperty3.default)(target, key, (0, _getOwnPropertyDescriptor.default)(source, key)); }); } } return target; }\n\nfunction create(state, network) {\n var networkid = network.id;\n var ircClient = new _ircFramework.default.Client({\n // Most options are set under the overloaded .connect()\n version: null,\n enable_chghost: true,\n enable_setname: true,\n message_max_length: 350\n });\n ircClient.requestCap('znc.in/self-message');\n ircClient.use((0, _ChathistoryMiddleware.default)());\n ircClient.use(clientMiddleware(state, network));\n ircClient.use((0, _TypingMiddleware.default)()); // Overload the connect() function to make sure we are connecting with the\n // most recent connection details from the network state\n\n var originalIrcClientConnect = ircClient.connect;\n\n ircClient.connect = function connect() {\n // Set some defaults if we don't have eveything\n if (!network.connection.nick) {\n network.connection.nick = 'Guest' + Math.floor(Math.random() * 100);\n }\n\n ircClient.options.host = network.connection.server;\n ircClient.options.port = network.connection.port;\n ircClient.options.tls = network.connection.tls;\n ircClient.options.path = network.connection.path;\n ircClient.options.password = network.connection.password;\n\n if (network.password) {\n ircClient.options.account = {\n account: network.connection.nick,\n password: network.password\n };\n } else {\n // No password so give an empty account config. This forces irc-framework to keep\n // the server password (options.password) separate from SASL\n ircClient.options.account = {};\n }\n\n ircClient.options.nick = network.connection.nick;\n ircClient.options.username = network.username || network.connection.nick;\n ircClient.options.gecos = network.gecos || 'https://kiwiirc.com/';\n ircClient.options.encoding = network.connection.encoding;\n ircClient.options.auto_reconnect = !!state.setting('autoReconnect'); // Apply any irc-fw options specified in kiwiirc config\n\n var configOptions = state.setting('ircFramework');\n\n if (configOptions) {\n (0, _assign.default)(ircClient.options, configOptions);\n }\n\n var eventObj = {\n network: network,\n transport: null\n };\n state.$emit('network.connecting', eventObj);\n\n if (eventObj.transport) {\n // A plugin might use its own transport of some kind\n ircClient.options.transport = eventObj.transport;\n } else if (!network.connection.direct) {\n // A direct connection uses a websocket to connect (note: some browsers limit\n // the number of connections to the same host!).\n // A non-direct connection will connect via the configured kiwi server using\n // with our own irc-framework compatible transport.\n ircClient.options.transport = ServerConnection.createChannelConstructor(state.settings.kiwiServer, (window.location.hash || '').substr(1), networkid);\n } else {\n // Use the irc-framework default transport\n ircClient.options.transport = undefined;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n originalIrcClientConnect.apply(ircClient, args);\n }; // Overload the raw() function so that we can emit outgoing IRC messages to plugins\n\n\n var originalIrcClientRaw = ircClient.raw;\n\n ircClient.raw = function raw() {\n var message = null;\n\n if ((arguments.length <= 0 ? undefined : arguments[0]) instanceof _ircFramework.default.Message) {\n message = arguments.length <= 0 ? undefined : arguments[0];\n } else {\n var rawString = ircClient.rawString.apply(ircClient, arguments);\n message = _ircFramework.default.ircLineParser(rawString);\n }\n\n var eventObj = {\n network: network,\n message: message,\n handled: false\n };\n state.$emit('ircout', eventObj);\n\n if (!eventObj.handled) {\n originalIrcClientRaw.apply(ircClient, [message]);\n }\n };\n\n ircClient.on('raw', function (event) {\n if (!network.setting('show_raw') && !state.setting('showRaw')) {\n return;\n }\n\n var buffer = state.getOrAddBufferByName(networkid, '*raw');\n state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: (event.from_server ? '[S] ' : '[C] ') + event.line\n });\n });\n ircClient.on('typing', function (event) {\n var user = state.getUser(network.id, event.nick);\n\n if (user) {\n user.typingStatus(event.target, event.status);\n }\n });\n return ircClient;\n}\n\nfunction clientMiddleware(state, network) {\n var networkid = network.id; // eslint-disable-next-line\n\n var numConnects = 0;\n var isRegistered = false;\n return function middlewareFn(client, rawEvents, parsedEvents) {\n parsedEvents.use(parsedEventsHandler);\n rawEvents.use(rawEventsHandler);\n client.on('connecting', function () {\n network.state_error = '';\n network.state = 'connecting';\n network.last_error = '';\n network.last_error_numeric = 0;\n });\n client.on('connected', function () {\n network.state_error = '';\n network.state = 'connected';\n });\n client.on('socket close', function (err) {\n var _context;\n\n isRegistered = false;\n network.state = 'disconnected';\n network.state_error = err || '';\n (0, _forEach.default)(_context = network.buffers).call(_context, function (buffer) {\n if (!buffer) {\n return;\n }\n\n buffer.joined = false;\n buffer.clearUsers();\n });\n });\n };\n\n function rawEventsHandler(command, event, rawLine, client, next) {\n // Allow plugins to override raw IRC events\n var eventObj = _objectSpread(_objectSpread({}, event), {}, {\n raw: rawLine,\n handled: false\n });\n\n state.$emit('irc.raw', command, eventObj, network);\n\n if (eventObj.handled) {\n return;\n }\n\n state.$emit('irc.raw.' + command, command, eventObj, network);\n\n if (eventObj.handled) {\n return;\n }\n\n if (command === '002') {\n // Your host is server.example.net, running version InspIRCd-2.0\n var param = event.params[1] || '';\n var m = param.match(/running version (.*)$/);\n network.ircd = m ? m[1] : '';\n } // SASL failed auth\n\n\n if (command === '904') {\n if (!network.state !== 'connected') {\n network.last_error = 'Invalid login';\n\n if (state.setting('disconnectOnSaslFail')) {\n network.ircClient.connection.end();\n }\n }\n\n var serverBuffer = network.serverBuffer();\n state.addMessage(serverBuffer, {\n time: (0, _now.default)(),\n nick: '*',\n message: 'Invalid login'\n });\n }\n\n if (command === 'CAP' && network.setting('show_raw_caps')) {\n var _context2;\n\n var params = (0, _toConsumableArray2.default)(event.params);\n\n if ((0, _indexOf.default)(_context2 = params[params.length - 1]).call(_context2, ' ') > -1) {\n params[params.length - 1] = ':' + params[params.length - 1];\n }\n\n var buffer = network.serverBuffer();\n state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: event.command + ' ' + params.join(' ')\n });\n }\n\n next();\n }\n\n function parsedEventsHandler(command, event, client, next) {\n // Trigger this event through the state object first. If it's been handled\n // somewhere else then we ignore it.\n var ircEventObj = {\n handled: false\n };\n state.$emit('irc.' + command, event, network, ircEventObj);\n\n if (ircEventObj.handled) {\n next();\n return;\n } // Ignore any of the control messages. They're transport related to kiwi internals\n\n\n if (event && event.command === 'CONTROL') {\n next();\n return;\n } // If there is a time difference between this client and the server, convert it\n // to match our local time so it makes sense to the user\n\n\n var eventTime = event && event.time ? network.ircClient.network.timeToLocal(event.time) : (0, _now.default)();\n var serverTime = event && event.time || 0;\n\n if (command === 'channel_redirect') {\n var b = network.bufferByName(event.from);\n\n if (b) {\n (0, _flags.default)(b).redirect_to = event.to;\n }\n }\n\n if (command === 'registered') {\n isRegistered = true;\n network.nick = event.nick;\n state.addUser(networkid, {\n nick: event.nick,\n username: client.user.username\n });\n var serverBuffer = network.serverBuffer();\n state.addMessage(serverBuffer, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: TextFormatting.t('connected_to', {\n network: client.network.name\n })\n }); // Get some extra info about ourselves\n\n client.raw('WHO ' + event.nick);\n\n if (network.auto_commands) {\n var _context3;\n\n (0, _forEach.default)(_context3 = network.auto_commands.split('\\n')).call(_context3, function (line) {\n state.$emit('input.raw', line[0] === '/' ? line : \"/\".concat(line));\n });\n } // Join our channels\n // If under bouncer mode, the bouncer will send the channels were joined to instead.\n\n\n if (!network.connection.bncnetid) {\n var _context4;\n\n (0, _forEach.default)(_context4 = network.buffers).call(_context4, function (buffer) {\n if (buffer.isChannel() && buffer.enabled) {\n client.join(buffer.name, buffer.key);\n }\n });\n }\n\n numConnects++;\n }\n\n if (command === 'server options') {\n // If the network name has changed from the irc-framework default, update ours\n // Also if it isn't a BNC network as the name is then derived from the BNC info instead\n if (client.network.name !== 'Network' && !network.connection.bncnetid) {\n network.name = client.network.name;\n }\n } // Show unhandled data from the server in the servers tab\n\n\n if (command === 'unknown command') {\n if (event.command === '486') {\n // You must log in with services to message this user\n var targetNick = event.params[1];\n var buffer = state.getOrAddBufferByName(network.id, targetNick);\n state.addMessage(buffer, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n message: event.params[2],\n type: 'error'\n });\n } else {\n var _buffer = network.serverBuffer();\n\n var message = ''; // Only show non-numeric commands\n\n if (!event.command.match(/^\\d+$/)) {\n message += event.command + ' ';\n }\n\n var containsNick = event.params[0] === network.ircClient.user.nick;\n var isChannelMessage = network.isChannelName(event.params[1]); // Strip out the nick if it's the first params (many commands include this)\n\n if (containsNick && isChannelMessage) {\n var _context5;\n\n var channelBuffer = network.bufferByName(event.params[1]);\n\n if (channelBuffer) {\n _buffer = channelBuffer;\n }\n\n message += (0, _slice.default)(_context5 = event.params).call(_context5, 2).join(', ');\n } else if (containsNick) {\n var _context6;\n\n message += (0, _slice.default)(_context6 = event.params).call(_context6, 1).join(', ');\n } else {\n message += event.params.join(', ');\n }\n\n state.addMessage(_buffer, {\n nick: '',\n message: message\n });\n }\n }\n\n if (command.toLowerCase() === 'batch start chathistory' && client.chathistory) {\n var _context7;\n\n // We have a new batch of messages. To prevent duplicate messages being shown, we remove\n // all messages we have locally in the range of these new messages so that the new block\n // of messages we recieved are displayed accurately. Each message in the block will\n // trigger a 'message' event after this.\n var startTime = 0;\n var endTime = 0;\n (0, _forEach.default)(_context7 = event.commands).call(_context7, function (message) {\n if (message.time && message.time > endTime) {\n endTime = message.time;\n }\n\n if (message.time && message.time < startTime) {\n startTime = message.time;\n }\n });\n\n if (!startTime || !endTime) {\n return;\n }\n\n var _buffer2 = state.getBufferByName(networkid, event.params[0]);\n\n if (_buffer2) {\n _buffer2.clearMessageRange(startTime, endTime);\n }\n }\n\n if (command === 'message') {\n var isPrivateMessage = false;\n var bufferName = event.from_server ? '*' : event.target; // If the message came from a batch then params[0] is the bufferName\n\n if (event.batch && event.batch.type === 'chathistory' && event.batch.params[0]) {\n bufferName = event.batch.params[0];\n isPrivateMessage = !network.isChannelName(bufferName);\n } else if (!event.from_server && event.target === client.user.nick) {\n // PMs should go to a buffer with the name of the other user\n isPrivateMessage = true;\n bufferName = event.nick;\n } // Chanserv sometimes PMs messages about a channel on join in the format of\n // [#channel] welcome!\n // Redirect these to #channel\n\n\n if (event.nick.toLowerCase() === 'chanserv' && isPrivateMessage && event.message[0] === '[') {\n var _context8;\n\n bufferName = event.message.substr(1, (0, _indexOf.default)(_context8 = event.message).call(_context8, ']') - 1);\n } // Notices from somewhere when we don't have an existing buffer for them should go into\n // the server tab. ie. notices from servers\n\n\n if (event.type === 'notice') {\n var existingBuffer = state.getBufferByName(networkid, bufferName);\n var noticeActiveBuffer = state.setting('noticeActiveBuffer');\n var activeBuffer = state.getActiveBuffer();\n var hasActiveBuffer = activeBuffer && activeBuffer.networkid === networkid; // If we don't have a buffer for this notice sender, either show it in our active\n // buffer or the server buffer\n\n if (!existingBuffer) {\n if (noticeActiveBuffer && hasActiveBuffer) {\n bufferName = activeBuffer.name;\n } else {\n bufferName = '*';\n }\n }\n }\n\n var PM_BLOCK_BLOCKED = false; // const PM_BLOCK_NOT_BLOCKED = true;\n\n var PM_BLOCK_REQUIRES_CHECK = null;\n var pmBlock = network.isNickExemptFromPmBlocks(event.nick);\n var blockNewPms = state.setting('buffers.block_pms');\n\n var _buffer3 = state.getBufferByName(networkid, bufferName);\n\n var textFormatType = 'privmsg';\n\n if (event.type === 'action') {\n textFormatType = 'action';\n } else if (event.type === 'notice') {\n textFormatType = 'notice';\n }\n\n var messageBody = TextFormatting.formatText(textFormatType, {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n text: event.message\n });\n var _message = {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: messageBody,\n type: event.type,\n tags: event.tags || {}\n }; // If this is a new PM and the sending user is not exempt from blocks, ignore it\n\n if (blockNewPms && isPrivateMessage && !_buffer3 && pmBlock === PM_BLOCK_BLOCKED) {\n return;\n } // If we need to manually check if this user is blocked..\n // PM_BLOCK_REQUIRES_CHECK means we should whois the user to get their oper status. We\n // allways allow messages from opers.\n\n\n if (blockNewPms && isPrivateMessage && !_buffer3 && pmBlock === PM_BLOCK_REQUIRES_CHECK) {\n // if the nick is in pendingPms it has already issued a whois request\n var awaitingWhois = !!(0, _find.default)(_lodash.default).call(_lodash.default, network.pendingPms, {\n nick: event.nick\n });\n network.pendingPms.push({\n bufferName: bufferName,\n message: _message\n }); // Don't send another whois if we are already awaiting another\n\n if (awaitingWhois) {\n return;\n }\n\n network.ircClient.whois(event.nick, event.nick, function (whoisData) {\n var _context9;\n\n (0, _forEach.default)(_context9 = network.pendingPms).call(_context9, function (pm, idx, obj) {\n var nickLower = pm.message.nick.toLowerCase();\n\n if (nickLower === whoisData.nick.toLowerCase()) {\n if (whoisData.operator) {\n _buffer3 = state.getOrAddBufferByName(network.id, pm.bufferName);\n state.addMessage(_buffer3, pm.message);\n }\n\n (0, _splice.default)(obj).call(obj, idx, 1);\n }\n });\n });\n return;\n } // Make sure we have a buffer for our message\n\n\n if (!_buffer3) {\n _buffer3 = state.getOrAddBufferByName(networkid, bufferName);\n }\n\n state.addMessage(_buffer3, _message);\n }\n\n if (command === 'wallops') {\n var _buffer4 = state.getOrAddBufferByName(networkid, '*');\n\n var _messageBody = TextFormatting.formatText('wallops', {\n text: event.message\n });\n\n state.addMessage(_buffer4, {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: _messageBody,\n type: 'wallops'\n });\n }\n\n if (command === 'join') {\n // If we have any buffers marked as being redirected to this new channel, update\n // that buffer instead of creating a new one\n if (event.nick === client.user.nick) {\n var _context10;\n\n (0, _forEach.default)(_context10 = network.buffers).call(_context10, function (b) {\n if (((0, _flags.default)(b).redirect_to || '').toLowerCase() === event.channel.toLowerCase()) {\n state.$delete((0, _flags.default)(b), 'redirect_to');\n b.rename(event.channel);\n }\n });\n }\n\n var _buffer5 = state.getOrAddBufferByName(networkid, event.channel); // The case does not match, update buffer.name to the casing sent by the server\n\n\n if (_buffer5.name !== event.channel) {\n _buffer5.rename(event.channel);\n }\n\n state.addUserToBuffer(_buffer5, {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n realname: event.gecos,\n account: event.account || ''\n });\n\n if (event.nick === client.user.nick) {\n _buffer5.enabled = true;\n _buffer5.joined = true;\n (0, _flags.default)(_buffer5).channel_badkey = false;\n network.ircClient.raw('MODE', event.channel);\n network.ircClient.who(event.channel);\n }\n\n var nick = _buffer5.setting('show_hostnames') ? TextFormatting.formatUserFull(event) : TextFormatting.formatUser(event);\n\n var _messageBody2 = TextFormatting.formatAndT('channel_join', null, 'has_joined', {\n nick: nick\n });\n\n state.addMessage(_buffer5, {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: _messageBody2,\n type: 'traffic',\n type_extra: 'join'\n });\n }\n\n if (command === 'kick') {\n var _buffer6 = state.getOrAddBufferByName(networkid, event.channel);\n\n state.removeUserFromBuffer(_buffer6, event.kicked);\n var _messageBody3 = '';\n\n if (event.kicked === client.user.nick) {\n _buffer6.joined = false;\n\n _buffer6.clearUsers();\n\n _messageBody3 = TextFormatting.formatAndT('channel_selfkick', {\n reason: event.message\n }, 'kicked_you_from', {\n nick: TextFormatting.formatUser(event),\n channel: event.channel\n });\n } else {\n _messageBody3 = TextFormatting.formatAndT('channel_kicked', {\n reason: event.message\n }, 'was_kicked_from', {\n nick: event.kicked,\n channel: event.channel,\n chanop: TextFormatting.formatUser(event.nick)\n });\n }\n\n state.addMessage(_buffer6, {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: _messageBody3,\n type: 'traffic',\n type_extra: 'kick'\n });\n }\n\n if (command === 'part') {\n var _buffer7 = state.getBufferByName(networkid, event.channel);\n\n if (!_buffer7) {\n return;\n }\n\n state.removeUserFromBuffer(_buffer7, event.nick);\n\n if (event.nick === client.user.nick) {\n _buffer7.joined = false;\n _buffer7.enabled = false;\n\n _buffer7.clearUsers();\n } // Remove the user from network state if no remaining common channels\n\n\n var remainingBuffers = state.getBuffersWithUser(networkid, event.nick);\n\n if (remainingBuffers.length === 0) {\n state.removeUser(networkid, {\n nick: event.nick\n });\n }\n\n var _nick = _buffer7.setting('show_hostnames') ? TextFormatting.formatUserFull(event) : TextFormatting.formatUser(event);\n\n var _messageBody4 = TextFormatting.formatAndT('channel_part', {\n reason: event.message\n }, 'has_left', {\n nick: _nick\n });\n\n state.addMessage(_buffer7, {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: _messageBody4,\n type: 'traffic',\n type_extra: 'part'\n });\n }\n\n if (command === 'quit') {\n var buffers = state.getBuffersWithUser(networkid, event.nick);\n (0, _forEach.default)(buffers).call(buffers, function (buffer) {\n if (!buffer) {\n return;\n }\n\n if (event.nick === client.user.nick) {\n buffer.joined = false;\n buffer.clearUsers();\n }\n\n var nick = buffer.setting('show_hostnames') ? TextFormatting.formatUserFull(event) : TextFormatting.formatUser(event);\n var messageBody = TextFormatting.formatAndT('channel_quit', {\n reason: event.message\n }, 'has_left', {\n nick: nick\n });\n state.addMessage(buffer, {\n time: eventTime,\n server_time: serverTime,\n nick: event.nick,\n message: messageBody,\n type: 'traffic',\n type_extra: 'quit'\n });\n });\n state.removeUser(networkid, {\n nick: event.nick\n });\n }\n\n if (command === 'invite') {\n var _buffer8 = network.serverBuffer();\n\n state.addMessage(_buffer8, {\n nick: '*',\n message: TextFormatting.t('invited_you', {\n nick: event.nick,\n channel: event.channel\n })\n });\n }\n\n if (command === 'account') {\n state.addUser(networkid, {\n nick: event.nick,\n account: event.account || ''\n });\n }\n\n if (command === 'whois') {\n var _context11;\n\n var obj = {\n nick: event.nick,\n host: event.hostname,\n username: event.ident,\n away: event.away || '',\n realname: event.real_name,\n hasWhois: true\n }; // Some other optional bits of info\n\n (0, _forEach.default)(_context11 = ['actual_host', 'helpop', 'bot', 'server', 'server_info', 'operator', 'channels', 'modes', 'idle', 'logon', 'registered_nick', 'account', 'secure', 'certfp', 'special']).call(_context11, function (prop) {\n if (typeof event[prop] !== 'undefined') {\n obj[prop] = event[prop];\n }\n });\n state.addUser(networkid, obj);\n }\n\n if (command === 'away') {\n state.addUser(networkid, {\n nick: event.nick,\n away: event.message || ''\n });\n\n var _buffer9 = state.getActiveBuffer();\n\n if (_buffer9 && event.nick === network.nick) {\n network.away = 'away';\n state.addMessage(_buffer9, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n type: 'presence',\n message: event.message\n });\n }\n }\n\n if (command === 'back') {\n state.addUser(networkid, {\n nick: event.nick,\n away: ''\n });\n\n var _buffer10 = state.getActiveBuffer();\n\n if (_buffer10 && event.nick === network.nick) {\n network.away = '';\n state.addMessage(_buffer10, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n type: 'presence',\n message: event.message\n });\n }\n }\n\n if (command === 'wholist') {\n state.usersTransaction(networkid, function (users) {\n var _context12;\n\n (0, _forEach.default)(_context12 = event.users).call(_context12, function (eventUser) {\n var _context13;\n\n var userObj = {\n nick: eventUser.nick,\n host: eventUser.hostname || undefined,\n username: eventUser.ident || undefined,\n away: eventUser.away ? 'Away' : '',\n realname: eventUser.real_name,\n account: eventUser.account || undefined\n };\n var user = state.addUser(networkid, userObj, users);\n\n if (!user) {\n // Should never happen as this network should always exist\n return;\n }\n\n var buffer = network.bufferByName(eventUser.channel);\n\n if (!buffer || !user.buffers[buffer.id]) {\n return;\n } // Add all the user channel modes\n\n\n var modes = user.buffers[buffer.id].modes;\n (0, _forEach.default)(_context13 = eventUser.channel_modes).call(_context13, function (mode) {\n if ((0, _indexOf.default)(modes).call(modes, mode) === -1) {\n modes.push(mode);\n }\n });\n });\n });\n }\n\n if (command === 'channel list start') {\n network.channel_list_cache = [];\n network.channel_list_state = 'updating';\n }\n\n if (command === 'channel list') {\n var _context14;\n\n network.channel_list_state = 'updating'; // Filter private channels from the channel list\n\n var filteredEvent = (0, _filter.default)(_lodash.default).call(_lodash.default, event, function (o) {\n return o.channel !== '*';\n }); // Store the channels in channel_list_cache before moving it all to\n // channel_list at the end. This gives a huge performance boost since\n // it doesn't need to be all reactive for every update\n\n network.channel_list_cache = (0, _concat.default)(_context14 = network.channel_list_cache || []).call(_context14, filteredEvent);\n }\n\n if (command === 'channel list end') {\n network.channel_list = network.channel_list_cache || [];\n network.channel_list_state = 'updated';\n delete network.channel_list_cache;\n }\n\n if (command === 'motd') {\n var _buffer11 = network.serverBuffer();\n\n var _messageBody5 = TextFormatting.formatText('motd', {\n text: event.motd\n });\n\n state.addMessage(_buffer11, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody5,\n type: 'motd'\n });\n }\n\n if (command === 'nick in use' && !client.connection.registered) {\n var _context15;\n\n var newNick = client.user.nick + rand(1, 100);\n\n var _messageBody6 = TextFormatting.formatAndT('nickname_alreadyinuse', null, 'nick_in_use_retrying', {\n nick: client.user.nick,\n newnick: newNick\n });\n\n (0, _forEach.default)(_context15 = network.buffers).call(_context15, function (b) {\n state.addMessage(b, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody6,\n type: 'error'\n });\n });\n client.changeNick(newNick);\n }\n\n if (command === 'nick in use' && client.connection.registered) {\n var _buffer12 = state.getActiveBuffer();\n\n _buffer12 && state.addMessage(_buffer12, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n type: 'error',\n message: \"The nickname '\".concat(event.nick, \"' is already in use!\")\n });\n }\n\n if (command === 'nick') {\n if (event.nick === client.user.nick) {\n network.nick = event.new_nick;\n }\n\n state.changeUserNick(networkid, event.nick, event.new_nick);\n\n var _messageBody7 = TextFormatting.formatAndT('nick_changed', null, 'now_known_as', {\n nick: event.nick,\n newnick: event.new_nick\n });\n\n var _buffers = state.getBuffersWithUser(networkid, event.new_nick);\n\n (0, _forEach.default)(_buffers).call(_buffers, function (buffer) {\n state.addMessage(buffer, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody7,\n type: 'nick'\n });\n });\n }\n\n if (command === 'userlist') {\n var _context16, _context17;\n\n var _buffer13 = state.getOrAddBufferByName(networkid, event.channel);\n\n var hadExistingUsers = (0, _filter.default)(_context16 = (0, _keys.default)(_buffer13.users)).call(_context16, function (u) {\n return u !== network.ircClient.user.nick;\n }).length > 0;\n var users = [];\n (0, _forEach.default)(_context17 = event.users).call(_context17, function (user) {\n users.push({\n user: {\n nick: user.nick,\n username: user.ident,\n hostname: user.hostname\n },\n modes: user.modes\n });\n });\n state.addMultipleUsersToBuffer(_buffer13, users);\n\n if (!hadExistingUsers && network.ircClient.chathistory.isSupported()) {\n var correctBuffer = _buffer13.isChannel() || _buffer13.isQuery(); // TODO: If this is a reconnect (numConnects > 1) then paginate backwards\n // until we reach our last message.\n // OR\n // Add a marker at the gap between this new chathistory block starts and when\n // the existing messages end so that we can add a \"load missing messages\"\n // button there or have it auto request them when it scrolls into view\n\n\n if (correctBuffer) {\n _buffer13.requestLatestScrollback();\n }\n }\n }\n\n if (command === 'user updated') {\n var user = network.userByName(event.nick);\n\n if (user) {\n var _context18;\n\n (0, _forEach.default)(_context18 = (0, _entries.default)(event)).call(_context18, function (_ref) {\n var _ref2 = (0, _slicedToArray2.default)(_ref, 2),\n key = _ref2[0],\n val = _ref2[1];\n\n if ((0, _indexOf.default)(key).call(key, 'new_') !== 0) {\n return;\n }\n\n var paramName = key.substr(4);\n\n switch (paramName) {\n case 'gecos':\n user.realname = val;\n break;\n\n case 'ident':\n user.username = val;\n break;\n\n case 'hostname':\n user.host = val;\n break;\n\n default:\n }\n });\n }\n }\n\n if (command === 'channel info') {\n var _buffer14 = network.bufferByName(event.channel);\n\n if (!_buffer14) {\n return;\n }\n\n if (event.modes) {\n var _context19;\n\n var modeStrs = [];\n (0, _forEach.default)(_context19 = event.modes).call(_context19, function (mode) {\n var adding = mode.mode[0] === '+';\n var modeChar = mode.mode.substr(1);\n\n if (adding) {\n state.$set(_buffer14.modes, modeChar, mode.param);\n } else if (!adding) {\n state.$delete(_buffer14.modes, modeChar);\n }\n\n modeStrs.push(mode.mode + (mode.param ? ' ' + mode.param : ''));\n });\n\n if ((0, _flags.default)(_buffer14).requested_modes) {\n state.addMessage(_buffer14, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n message: _buffer14.name + ' ' + modeStrs.join(', ')\n });\n }\n }\n\n if (event.created_at) {\n _buffer14.created_at = new Date(event.created_at * 1000);\n }\n\n if (event.created_at && (0, _flags.default)(_buffer14).requested_modes) {\n var tFormat = _buffer14.setting('timestamp_full_format');\n\n var timeCreated = tFormat ? (0, _strftime.default)(tFormat, new Date(event.created_at * 1000)) : new Date(event.created_at * 1000).toLocaleString();\n state.addMessage(_buffer14, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n message: _buffer14.name + ' ' + timeCreated\n });\n }\n }\n\n if (command === 'mode') {\n var _buffer15 = network.bufferByName(event.target);\n\n var _modeStrs = {};\n\n if (_buffer15) {\n var _context20;\n\n // Join all the same mode changes together so they can be shown on one\n // line such as \"prawnsalad sets +b on nick1, nick2\"\n (0, _forEach.default)(_context20 = event.modes).call(_context20, function (mode) {\n _modeStrs[mode.mode] = _modeStrs[mode.mode] || []; // If this mode has a user prefix then we need to update the user object\n\n var prefix = (0, _find.default)(_lodash.default).call(_lodash.default, network.ircClient.network.options.PREFIX, {\n mode: mode.mode[1]\n });\n\n if (prefix) {\n var _user = state.getUser(network.id, mode.param);\n\n if (_user) {\n var adding = mode.mode[0] === '+';\n var modes = _user.buffers[_buffer15.id].modes;\n var modeIdx = (0, _indexOf.default)(modes).call(modes, prefix.mode); // Add or remove the mode from the users mode list\n\n if (adding && modeIdx === -1) {\n modes.push(prefix.mode);\n } else if (!adding && modeIdx > -1) {\n (0, _splice.default)(modes).call(modes, modeIdx, 1);\n }\n }\n\n _modeStrs[mode.mode].push({\n target: mode.param\n });\n } else {\n // Not a user prefix, add it as a channel mode\n // TODO: Why are these not appearing as the 'channel info' command?\n var _adding = mode.mode[0] === '+';\n\n var modeChar = mode.mode.substr(1);\n\n if (_adding) {\n state.$set(_buffer15.modes, modeChar, mode.param);\n } else if (!_adding) {\n state.$delete(_buffer15.modes, modeChar);\n }\n\n _modeStrs[mode.mode].push({\n target: _buffer15.name,\n param: mode.param\n });\n }\n }); // Mode -> locale ID mappings\n // If a mode isn't found here, the local ID modes_other is used\n\n var modeLocaleIds = {\n '+o': 'modes_give_ops',\n '-o': 'modes_take_ops',\n '+h': 'modes_give_halfops',\n '-h': 'modes_take_halfops',\n '+v': 'modes_give_voice',\n '-v': 'modes_take_voice',\n '+a': 'modes_give_admin',\n '-a': 'modes_take_admin',\n '+q': 'modes_give_owner',\n '-q': 'modes_take_owner',\n '+b': 'modes_gives_ban',\n '-b': 'modes_takes_ban'\n }; // Some IRCd differences\n\n if (!IrcdDiffs.isQChannelModeOwner(network)) {\n delete modeLocaleIds['+q'];\n delete modeLocaleIds['-q'];\n }\n\n if (!IrcdDiffs.isAChannelModeAdmin(network)) {\n delete modeLocaleIds['+a'];\n delete modeLocaleIds['-a'];\n }\n\n if (!IrcdDiffs.supportsHalfOp(network)) {\n delete modeLocaleIds['+h'];\n delete modeLocaleIds['-h'];\n } // Some modes have specific data for its locale data while most\n // use a default. The returned objects are passed to the translation\n // functions to build the translation\n\n\n var modeLocaleDataBuilders = {\n default: function _default(targets, mode) {\n return {\n mode: mode + (targets[0].param ? ' ' + targets[0].param : ''),\n target: (0, _map.default)(targets).call(targets, function (t) {\n return t.target;\n }).join(', '),\n nick: event.nick\n };\n },\n b: function b(targets, mode) {\n return {\n mode: mode,\n target: targets[0].param ? targets[0].param : '',\n nick: event.nick\n };\n }\n }; // Show one line per mode, listing each effecting user\n\n _lodash.default.each(_modeStrs, function (targets, mode) {\n // Find a locale data builder for this mode\n var builders = modeLocaleDataBuilders;\n var localeDataFn = builders[mode[1]] || builders.default;\n var localeData = localeDataFn(targets, mode); // Translate using the built locale data\n\n var localeKey = modeLocaleIds[mode] || 'modes_other';\n var text = TextFormatting.t(localeKey, localeData);\n var messageBody = TextFormatting.formatText('mode', {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n target: (0, _map.default)(targets).call(targets, function (t) {\n return t.target;\n }).join(', '),\n text: text\n });\n state.addMessage(_buffer15, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: messageBody,\n type: 'mode'\n });\n });\n } else {\n var _context21;\n\n // target is not a channel buffer (user mode ?)\n // if mode had param, show in a new line\n var modeslines = {}; // Group each - or + modes to each of their own message lines\n\n (0, _forEach.default)(_context21 = event.modes).call(_context21, function (mode) {\n if (mode.param) {\n modeslines[mode.mode] = ' ' + mode.param;\n } else if (mode.mode[0] === '-') {\n var _context22;\n\n if (!modeslines['-']) {\n modeslines['-'] = '';\n }\n\n modeslines['-'] += (0, _slice.default)(_context22 = mode.mode).call(_context22, 1);\n } else {\n if (!modeslines['+']) {\n modeslines['+'] = '';\n }\n\n if (mode.mode[0] === '+') {\n var _context23;\n\n modeslines['+'] += (0, _slice.default)(_context23 = mode.mode).call(_context23, 1);\n } else {\n modeslines['+'] += mode.mode;\n }\n }\n });\n\n var _serverBuffer = network.serverBuffer();\n\n _lodash.default.each(modeslines, function (mode, value) {\n var text = TextFormatting.t('modes_other', {\n nick: event.nick,\n target: event.target,\n mode: value + mode\n });\n var messageBody = TextFormatting.formatText('mode', {\n nick: event.nick,\n username: event.ident,\n host: event.hostname,\n target: event.target,\n text: text\n });\n state.addMessage(_serverBuffer, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: messageBody,\n type: 'mode'\n });\n });\n }\n }\n\n if (command === 'banlist') {\n var _buffer16 = state.getBufferByName(networkid, event.channel);\n\n if (_buffer16 && (0, _flags.default)(_buffer16).requested_banlist) {\n if (!event.bans || event.bans.length === 0) {\n state.addMessage(_buffer16, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: TextFormatting.t('bans_nobody'),\n type: 'banlist'\n });\n } else {\n var banText = '';\n\n _lodash.default.each(event.bans, function (ban) {\n var _context24, _context25;\n\n var dateStr = new Date(ban.banned_at * 1000).toDateString();\n banText += (0, _concat.default)(_context24 = (0, _concat.default)(_context25 = \"+b \".concat(ban.banned, \" [by \")).call(_context25, ban.banned_by, \", \")).call(_context24, dateStr, \"]\\n\");\n });\n\n state.addMessage(_buffer16, {\n time: eventTime,\n server_time: serverTime,\n nick: '*',\n message: banText,\n type: 'banlist'\n });\n }\n\n (0, _flags.default)(_buffer16).requested_banlist = false;\n }\n }\n\n if (command === 'topic') {\n var _context26;\n\n var _buffer17 = state.getOrAddBufferByName(networkid, event.channel);\n\n _buffer17.topic = event.topic || '';\n var _messageBody8 = '';\n\n if (event.nick) {\n _messageBody8 = TextFormatting.formatAndT('channel_topic', null, 'changed_topic_to', {\n nick: event.nick,\n topic: event.topic\n });\n } else if ((0, _trim.default)(_context26 = _buffer17.topic).call(_context26)) {\n _messageBody8 = TextFormatting.formatText('channel_topic', _buffer17.topic);\n }\n\n if (_messageBody8) {\n state.addMessage(_buffer17, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody8,\n type: 'topic'\n });\n }\n }\n\n if (command === 'help') {\n var _buffer18 = state.getOrAddBufferByName(networkid, '*help');\n\n state.addMessage(_buffer18, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: event.help,\n type: 'help',\n tags: event.tags || {}\n });\n }\n\n if (command === 'ctcp response' || command === 'ctcp request') {\n var _buffer19 = network.bufferByName(event.target) || network.serverBuffer();\n\n var textFormatId = command === 'ctcp response' ? 'ctcp_response' : 'ctcp_request';\n\n var _messageBody9 = TextFormatting.formatText(textFormatId, {\n nick: event.nick,\n message: event.message,\n type: event.type\n });\n\n state.addMessage(_buffer19, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody9,\n type: 'error'\n });\n\n if (command === 'ctcp request' && event.type === 'VERSION') {\n client.ctcpResponse(event.nick, 'VERSION', 'Kiwi IRC');\n }\n }\n\n if (command === 'nick invalid') {\n var _messageBody10 = TextFormatting.formatText('general_error', {\n text: event.reason\n });\n\n var _buffer20 = state.getActiveBuffer();\n\n state.addMessage(_buffer20, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody10,\n type: 'error'\n });\n\n if (!isRegistered) {\n network.last_error_numeric = 432;\n network.last_error = event.reason;\n network.ircClient.quit();\n }\n }\n\n if (command === 'irc error') {\n var _buffer21;\n\n if (event.channel || event.nick) {\n _buffer21 = state.getOrAddBufferByName(network.id, event.channel || event.nick);\n }\n\n if (!_buffer21) {\n _buffer21 = network.serverBuffer();\n }\n\n if (!_buffer21) {\n // we could not find a buffer, this is likely because the network was removed\n return;\n } // TODO: Some of these errors contain a .error property whcih we can match against,\n // ie. password_mismatch.\n\n\n if (event.error === 'bad_channel_key') {\n (0, _flags.default)(_buffer21).channel_badkey = true;\n } // ignore error 432 (erroneous nickname) as it is handled above\n\n\n if (event.reason && network.last_error_numeric !== 432) {\n if (!isRegistered) {\n network.last_error = event.reason;\n }\n\n var _messageBody11 = TextFormatting.formatText('general_error', {\n text: event.reason || event.error\n });\n\n state.addMessage(_buffer21, {\n time: eventTime,\n server_time: serverTime,\n nick: '',\n message: _messageBody11,\n type: 'error'\n });\n } // Getting an error about a channel while we are not joined means that we couldn't join\n // or do some action on it. Disable it until we manually reattempt to join.\n\n\n if (_buffer21.isChannel() && !_buffer21.joined) {\n _buffer21.enabled = false;\n }\n }\n\n next();\n }\n}\n\nfunction rand(min, max) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"IrcClient\"]\r\nwindow._kiwi_exports.libs.IrcClient = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./MessageListMessageModern.vue?vue&type=template&id=fe3ccb9c&scoped=true&functional=true&\"\nimport script from \"./MessageListMessageModern.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListMessageModern.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageListMessageModern.vue?vue&type=style&index=0&id=fe3ccb9c&lang=less&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 true,\n null,\n \"fe3ccb9c\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=6e1b8873&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&lang=less&\"\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 { render, staticRenderFns } from \"./InputText.vue?vue&type=template&id=54bd521c&\"\nimport script from \"./InputText.vue?vue&type=script&lang=js&\"\nexport * from \"./InputText.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputText.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StartupError.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StartupError.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotConnected.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-personal\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('personal_client')))]),_c('p',[_vm._v(_vm._s(_vm.$t('personal_addjoin')))]),_c('p',[_vm._v(_vm._s(_vm.$t('personal_return')))]),_c('button',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.addNetwork}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_add'))+\" \")]),_vm._v(\" \"),_c('br'),(_vm.networks.length>0)?_c('a',{staticClass:\"u-link kiwi-personal-existing-networks\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleStateBrowser($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_saved'))+\" \")]):_vm._e(),_c('div',{staticClass:\"kiwi-aboutnew-content\",class:{'kiwi-aboutnew-content--open': _vm.about_open},domProps:{\"innerHTML\":_vm._s(_vm.aboutContent)}}),_c('div',{staticClass:\"kiwi-aboutnew\"},[_c('div',{staticClass:\"kiwi-aboutnew-sep\"}),_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){_vm.about_open=!_vm.about_open}}},[_vm._v(\" Link to your network / channel \")]),_c('div',{staticClass:\"kiwi-aboutnew-help\"},[_c('a',{on:{\"click\":function($event){_vm.about_open=!_vm.about_open}}},[_c('i',{staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\"}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=35f9c35c&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=less&\"\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","\"use strict\";\n'kiwi public';\n/* eslint-disable */\n// command descriptions can be either a static string or a translation key prefixed with locale_id_\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = [{\n command: 'msg',\n alias: [],\n description: 'locale_id_command_msg'\n}, {\n command: 'action',\n alias: [],\n description: 'locale_id_command_action'\n}, {\n command: 'join',\n alias: [],\n description: 'locale_id_command_join'\n}, {\n command: 'part',\n alias: [],\n description: 'locale_id_command_part'\n}, {\n command: 'cycle',\n alias: [],\n description: 'locale_id_command_cycle'\n}, {\n command: 'nick',\n alias: [],\n description: 'locale_id_command_nick'\n}, {\n command: 'query',\n alias: [],\n description: 'locale_id_command_query'\n}, {\n command: 'invite',\n alias: [],\n description: 'locale_id_command_invite'\n}, {\n command: 'topic',\n alias: [],\n description: 'locale_id_command_topic'\n}, {\n command: 'notice',\n alias: [],\n description: 'locale_id_command_notice'\n}, {\n command: 'quote',\n alias: [],\n description: 'locale_id_command_quote'\n}, {\n command: 'kick',\n alias: [],\n description: 'locale_id_command_kick'\n}, {\n command: 'clear',\n alias: [],\n description: 'locale_id_command_clear'\n}, {\n command: 'ctcp',\n alias: [],\n description: 'locale_id_command_ctcp'\n}, {\n command: 'quit',\n alias: [],\n description: 'locale_id_command_quit'\n}, {\n command: 'server',\n alias: [],\n description: 'locale_id_command_server'\n}, {\n command: 'whois',\n alias: [],\n description: 'locale_id_command_whois'\n}, {\n command: 'whowas',\n alias: [],\n description: 'locale_id_command_whowas'\n}, {\n command: 'away',\n alias: [],\n description: 'locale_id_command_away'\n}, {\n command: 'back',\n alias: ['active'],\n description: 'locale_id_command_back'\n}, {\n command: 'encoding',\n alias: [],\n description: 'locale_id_command_encoding'\n}, {\n command: 'ignore',\n alias: [],\n description: 'locale_id_command_ignore'\n}, {\n command: 'unignore',\n alias: [],\n description: 'locale_id_command_unignore'\n}, {\n command: 'dice',\n alias: [],\n description: 'locale_id_command_dice'\n}];\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"res\"]) window._kiwi_exports[\"res\"] = {};\nwindow._kiwi_exports[\"res\"][\"autocompleteCommands\"]\r\nwindow._kiwi_exports.res.autocompleteCommands = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar StatePersistence = /*#__PURE__*/function () {\n function StatePersistence(storageKey, state, storage, logger) {\n (0, _classCallCheck2.default)(this, StatePersistence);\n this.storageKey = storageKey;\n this.state = state;\n this.storage = storage;\n this.logger = logger;\n this.isPersisting = false;\n this.includeBuffers = true;\n this.watcher = null;\n this.state.persistence = this;\n }\n\n (0, _createClass2.default)(StatePersistence, [{\n key: \"loadStateIfExists\",\n value: function () {\n var _loadStateIfExists = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var storedState;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (this.storageKey) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n _context.next = 4;\n return this.storage.get(this.storageKey);\n\n case 4:\n storedState = _context.sent;\n\n if (storedState) {\n if (this.logger) {\n this.logger('Importing state', storedState);\n }\n\n this.state.importState(storedState);\n }\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function loadStateIfExists() {\n return _loadStateIfExists.apply(this, arguments);\n }\n\n return loadStateIfExists;\n }()\n }, {\n key: \"stopWatchingState\",\n value: function stopWatchingState() {\n if (this.watcher) {\n this.watcher();\n this.watcher = null;\n }\n }\n }, {\n key: \"watchStateForChanges\",\n value: function watchStateForChanges() {\n var _this = this;\n\n if (!this.storageKey) {\n return;\n } // Throttle saving the state into storage so we don't thrash the disk\n\n\n var debouncedSaveState = _lodash.default.debounce(function () {\n if (_this.logger) {\n _this.logger('State updated, setting localStorage');\n }\n\n _this.storage.set(_this.storageKey, _this.state.exportState(_this.includeBuffers));\n }, 1000);\n\n this.state.$watch('networks', debouncedSaveState, {\n deep: true\n });\n this.state.$watch('user_settings', debouncedSaveState, {\n deep: true\n }); // We need to touch each property of each buffer for that we want to save our state on.\n // If any of the properties change then the $watch()er will call debouncedSaveState()\n\n this.watcher = this.state.$watch(function () {\n var _context2;\n\n var watchVals = [];\n (0, _forEach.default)(_context2 = _this.state.networks).call(_context2, function (network) {\n var _context3, _context4;\n\n var buffersVals = [];\n buffersVals.push((0, _map.default)(_context3 = network.buffers).call(_context3, function (b) {\n return b.name;\n }).join(','));\n (0, _forEach.default)(_context4 = network.buffers).call(_context4, function (buffer) {\n buffersVals.push([buffer.name, buffer.settings, buffer.joined, buffer.enabled, buffer.last_read]);\n });\n watchVals.push(buffersVals);\n });\n return (0, _stringify.default)(watchVals);\n }, debouncedSaveState);\n this.isPersisting = true;\n }\n }, {\n key: \"forgetState\",\n value: function () {\n var _forgetState = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n return _regenerator.default.wrap(function _callee2$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n this.state.resetState();\n _context5.next = 3;\n return this.storage.set(this.storageKey, null);\n\n case 3:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function forgetState() {\n return _forgetState.apply(this, arguments);\n }\n\n return forgetState;\n }()\n }]);\n return StatePersistence;\n}();\n\nexports.default = StatePersistence;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"StatePersistence\"]\r\nwindow._kiwi_exports.libs.StatePersistence = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./ServerSelector.vue?vue&type=template&id=f413800a&\"\nimport script from \"./ServerSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ServerSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ServerSelector.vue?vue&type=style&index=0&lang=css&\"\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","\"use strict\";\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n props: ['network'],\n data: function data() {\n return {\n recaptchaUrl: '',\n recaptchaSiteId: '',\n recaptchaResponse: '',\n showCaptcha: false\n };\n },\n created: function created() {\n var _this = this;\n\n var options = this.$state.settings.startupOptions;\n this.recaptchaSiteId = options.recaptchaSiteId || '';\n this.recaptchaUrl = options.recaptchaUrl || 'https://www.google.com/recaptcha/api.js';\n this.listen(this.$state, 'network.connecting', function (event) {\n event.network.ircClient.once('socket connected', function () {\n if (_this.recaptchaResponse) {\n event.network.ircClient.raw('CAPTCHA', _this.recaptchaResponse);\n }\n });\n });\n this.listen(this.$state, 'irc.raw.CAPTCHA', function (command, event, network) {\n if (network !== _this.network) {\n return;\n }\n\n if (event.params[0] === 'NEEDED') {\n _this.loadRecaptcha();\n }\n });\n },\n methods: {\n loadRecaptcha: function loadRecaptcha() {\n var _this2 = this;\n\n this.showCaptcha = true; // Recaptcha calls this callback once it's loaded and ready to be used\n\n window.recaptchaLoaded = function () {\n window.grecaptcha.render(_this2.$refs.captchacontainer, {\n sitekey: _this2.recaptchaSiteId,\n callback: _this2.recaptchaSuccess,\n 'expired-callback': _this2.recaptchaExpired\n });\n };\n\n var scr = document.createElement('script');\n scr.src = this.recaptchaUrl + '?onload=recaptchaLoaded&render=explicit';\n scr.defer = true;\n this.$el.appendChild(scr);\n },\n recaptchaSuccess: function recaptchaSuccess(response) {\n this.recaptchaResponse = response; // If we have a network instance already, send the captcha response\n\n if (this.network && this.network.state === 'connecting') {\n this.network.ircClient.raw('CAPTCHA', response);\n }\n\n this.showCaptcha = false;\n },\n recaptchaExpired: function recaptchaExpired() {\n this.recaptchaResponse = '';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Captcha\"]\r\nwindow._kiwi_exports.components.Captcha = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-ircinput\"},[_c('div',{ref:\"editor\",staticClass:\"kiwi-ircinput-editor\",attrs:{\"placeholder\":_vm.placeholder,\"contenteditable\":\"true\",\"role\":\"textbox\",\"spellcheck\":\"true\"},on:{\"keypress\":function($event){_vm.updateValueProps(); _vm.$emit('keypress', $event)},\"keydown\":function($event){_vm.updateValueProps(); _vm.$emit('keydown', $event)},\"keyup\":function($event){_vm.updateValueProps(); _vm.$emit('keyup', $event)},\"textInput\":function($event){_vm.updateValueProps(); _vm.onTextInput($event); _vm.$emit('textInput', $event)},\"mouseup\":function($event){return _vm.updateValueProps();},\"click\":function($event){return _vm.$emit('click', $event)},\"paste\":_vm.onPaste,\"focus\":function($event){return _vm.onFocus()},\"blur\":function($event){return _vm.$emit('blur', $event)}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./StateBrowser.vue?vue&type=template&id=15af12f8&\"\nimport script from \"./StateBrowser.vue?vue&type=script&lang=js&\"\nexport * from \"./StateBrowser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StateBrowser.vue?vue&type=style&index=0&lang=less&\"\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 { render, staticRenderFns } from \"./CommonLayout.vue?vue&type=template&id=5651b698&\"\nimport script from \"./CommonLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./CommonLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CommonLayout.vue?vue&type=style&index=0&lang=css&\"\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 { render, staticRenderFns } from \"./LoadingAnimation.vue?vue&type=template&id=0d280fd9&\"\nimport script from \"./LoadingAnimation.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingAnimation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoadingAnimation.vue?vue&type=style&index=0&lang=css&\"\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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{key:'messagelist-' + _vm.buffer.name,staticClass:\"kiwi-messagelist\",class:{'kiwi-messagelist--smoothscroll': _vm.smooth_scroll},on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.onListClick($event)}}},[_c('div',{directives:[{name:\"resizeobserver\",rawName:\"v-resizeobserver\",value:(_vm.onListResize),expression:\"onListResize\"}]},[(_vm.shouldShowChathistoryTools)?_c('div',{staticClass:\"kiwi-messagelist-scrollback\"},[(!_vm.buffer.flag('is_requesting_chathistory'))?_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.buffer.requestScrollback()}}},[_vm._v(\" \"+_vm._s(_vm.$t('messages_load'))+\" \")]):_c('a',{staticClass:\"u-link\"},[_vm._v(\"...\")])]):_vm._e(),_vm._l((_vm.filteredMessagesGroupedDay),function(day){return _c('div',{key:day.dayNum},[(_vm.filteredMessagesGroupedDay.length > 1 && day.messages.length > 0)?_c('div',{key:'msgdatemarker' + day.dayNum,staticClass:\"kiwi-messagelist-seperator\"},[_c('span',[_vm._v(_vm._s((new Date(day.messages[0].time)).toDateString()))])]):_vm._e(),_vm._l((day.messages),function(message){return [(_vm.shouldShowUnreadMarker(message))?_c('div',{key:'msgunreadmarker' + message.id,staticClass:\"kiwi-messagelist-seperator\"},[_c('span',[_vm._v(_vm._s(_vm.$t('unread_messages')))])]):_vm._e(),_c('div',{key:'msg' + message.id,class:[\n 'kiwi-messagelist-item',\n _vm.selectedMessages[message.id] ?\n 'kiwi-messagelist-item--selected' :\n ''\n ]},[(message.render() && message.template && message.template.$el)?_c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(message.template.$el),expression:\"message.template.$el\"}]}):(_vm.listType === 'modern')?_c('message-list-message-modern',{attrs:{\"message\":message,\"idx\":_vm.filteredMessages.indexOf(message),\"ml\":_vm.thisMl}}):(_vm.listType === 'inline')?_c('message-list-message-inline',{attrs:{\"message\":message,\"idx\":_vm.filteredMessages.indexOf(message),\"ml\":_vm.thisMl}}):(_vm.listType === 'compact')?_c('message-list-message-compact',{attrs:{\"message\":message,\"idx\":_vm.filteredMessages.indexOf(message),\"ml\":_vm.thisMl}}):_vm._e()],1)]})],2)}),_c('transition',{attrs:{\"name\":\"kiwi-messagelist-joinloadertrans\"}},[(_vm.shouldShowJoiningLoader)?_c('div',{staticClass:\"kiwi-messagelist-joinloader\"},[_c('LoadingAnimation')],1):_vm._e()]),(_vm.shouldRequestChannelKey)?_c('buffer-key',{attrs:{\"buffer\":_vm.buffer,\"network\":_vm.buffer.getNetwork()}}):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-nicklist\",class:{\n 'kiwi-nicklist--filtering': _vm.filter_visible,\n 'kiwi-nicklist--avatars': _vm.shouldShowAvatars,\n }},[_c('div',{staticClass:\"kiwi-nicklist-usercount\",on:{\"click\":_vm.toggleUserFilter}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.filter_visible ? _vm.sortedUsers.length : _vm.$t('person', {count: _vm.sortedUsers.length}))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user_filter),expression:\"user_filter\"}],ref:\"user_filter\",attrs:{\"placeholder\":_vm.$t('filter_users')},domProps:{\"value\":(_vm.user_filter)},on:{\"blur\":_vm.onFilterBlur,\"input\":function($event){if($event.target.composing){ return; }_vm.user_filter=$event.target.value}}}),_c('i',{staticClass:\"fa fa-search\"})]),_c('DynamicScroller',{staticClass:\"kiwi-nicklist-users\",attrs:{\"items\":_vm.sortedUsers,\"min-item-size\":34,\"key-field\":'nick'},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var item = ref.item;\n var index = ref.index;\n var active = ref.active;\nreturn [_c('DynamicScrollerItem',{attrs:{\"item\":item,\"active\":active,\"size-dependencies\":[],\"data-index\":index}},[_c('nicklist-user',{key:item.nick,attrs:{\"user\":item,\"nicklist\":_vm.self,\"network\":_vm.network}})],1)]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-channellist\",class:{'kiwi-channellist-padding-top': !_vm.list.length}},[_c('div',{staticClass:\"kiwi-channellist-content-container\"},[_c('div',{staticClass:\"kiwi-channellist-nav\"},[_c('form',{staticClass:\"u-form u-form--big kiwi-channellist-search\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.search),expression:\"search\"}],staticClass:\"u-input\",attrs:{\"placeholder\":_vm.$t('do_search')},domProps:{\"value\":(_vm.search)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.search=$event.target.value}}}),_c('a',{staticClass:\"u-button kiwi-channellist-refresh\",class:{\n 'u-button-primary': !_vm.isLoading,\n 'u-button-secondary': _vm.isLoading,\n },on:{\"click\":_vm.maybeUpdateList}},[(!_vm.isLoading)?_c('i',{staticClass:\"fa fa-refresh\",attrs:{\"aria-hidden\":\"true\"}}):_c('i',{staticClass:\"fa fa-refresh fa-spin\",attrs:{\"aria-hidden\":\"true\"}})])]),(_vm.list.length)?_c('div',{staticClass:\"kiwi-channellist-pagination\"},[_c('a',{on:{\"click\":_vm.prevPage}},[_c('i',{staticClass:\"fa fa-step-backward\",attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"+_vm._s(_vm.page + 1)+\" / \"+_vm._s(_vm.maxPages + 1)+\" \"),_c('a',{on:{\"click\":_vm.nextPage}},[_c('i',{staticClass:\"fa fa-step-forward\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e()]),_c('div',{staticClass:\"kiwi-channellist-table\"},[(!_vm.isLoading && !_vm.noResults)?_c('table',{key:_vm.last_updated,attrs:{\"width\":\"100%\"}},[_c('tbody',_vm._l((_vm.paginated),function(channel){return _c('tr',{key:channel.channel},[_c('td',{staticClass:\"kiwi-channellist-user-center\"},[(channel.num_users >= 0)?_c('span',{staticClass:\"kiwi-channellist-users\"},[_c('i',{staticClass:\"fa fa-user\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(channel.num_users)+\" \")]):_vm._e()]),_c('td',[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.joinChannel(channel.channel)}}},[_vm._v(\" \"+_vm._s(channel.channel)+\" \")])]),_c('td',{staticClass:\"kiwi-channellist-table-topic\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.formatAndTrimTopic(channel.topic))}})]),_c('td',{staticClass:\"kiwi-channellist-user-center\"},[_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":function($event){return _vm.joinChannel(channel.channel)}}},[_vm._v(\" \"+_vm._s(_vm.$t('container_join'))+\" \")])])])}),0)]):(_vm.noResults)?_c('div',{staticClass:\"kiwi-channellist-info\"},[_c('p',[_vm._v(_vm._s(_vm.$t('channel_list_nonefound')))])]):_c('div',{staticClass:\"kiwi-channellist-info\"},[_vm._v(_vm._s(_vm.$t('channel_list_fetch')))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContainerHeader.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContainerHeader.vue?vue&type=style&index=0&lang=less&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _ThemeManager = _interopRequireDefault(require(\"@/libs/ThemeManager\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _localesList = _interopRequireDefault(require(\"@/res/localesList\"));\n\nvar _SettingsAliases = _interopRequireDefault(require(\"./SettingsAliases\"));\n\nvar _SettingsAdvanced = _interopRequireDefault(require(\"./SettingsAdvanced\"));\n\n/**\n * Returns an object for a vuejs computated property on a state settings value\n * This allows default settings from the server config, but overrides with user config\n */\nfunction bindSetting(settingName) {\n return {\n get: function settingGetter() {\n return this.$state.setting(settingName);\n },\n set: function settingSetter(newVal) {\n this.$state.setting(settingName, newVal);\n }\n };\n}\n\nvar _default = {\n components: {\n SettingsAliases: _SettingsAliases.default,\n SettingsAdvanced: _SettingsAdvanced.default\n },\n data: function data() {\n return {\n theme: '',\n customThemeUrl: '',\n pluginUiElements: _GlobalApi.default.singleton().appSettingsPlugins,\n localesList: _localesList.default\n };\n },\n computed: {\n themeSupportsMonospace: function themeSupportsMonospace() {\n var themeMgr = _ThemeManager.default.instance();\n\n var val = themeMgr.themeVar('supports-monospace');\n return val === '1';\n },\n canRegisterProtocolHandler: function canRegisterProtocolHandler() {\n return !!navigator.registerProtocolHandler && this.$state.setting('allowRegisterProtocolHandler');\n },\n timestamps_24h: {\n get: function get24Timestamps() {\n // %H is 24 hour format\n return this.$state.setting('buffers.timestamp_format').substr(0, 2) === '%H';\n },\n set: function set24Timestamps(newVal) {\n var newFormat = newVal ? '%H:%M:%S' : '%l:%M:%S %p';\n this.$state.setting('buffers.timestamp_format', newFormat);\n }\n },\n settings: function getSettings() {\n return this.$state.settings;\n },\n settingShowAutoComplete: bindSetting('showAutocomplete'),\n settingUseMonospace: bindSetting('useMonospace'),\n settingHighlights: bindSetting('highlights'),\n settingBufferColourNicknames: bindSetting('buffers.colour_nicknames_in_messages'),\n settingBufferShowTimestamps: bindSetting('buffers.show_timestamps'),\n settingBufferShowEmoticons: bindSetting('buffers.show_emoticons'),\n settingBufferBlockPms: bindSetting('buffers.block_pms'),\n settingBufferScrollbackSize: bindSetting('buffers.scrollback_size'),\n settingBufferExtraFormatting: bindSetting('buffers.extra_formatting'),\n settingBufferTrafficAsActivity: bindSetting('buffers.traffic_as_activity'),\n settingBufferMuteSound: bindSetting('buffers.mute_sound'),\n settingBufferShareTyping: bindSetting('buffers.share_typing'),\n settingBufferInlineLinkPreviews: bindSetting('buffers.inline_link_auto_previews'),\n settingDefaultBanMask: bindSetting('buffers.default_ban_mask'),\n settingDefaultKickReason: bindSetting('buffers.default_kick_reason'),\n settingAdvancedEnable: {\n get: function getSettingShowAdvancedTab() {\n return this.$state.ui.show_advanced_tab;\n },\n set: function setSettingShowAdvancedTab(newVal) {\n this.$state.ui.show_advanced_tab = newVal;\n }\n },\n settingLanguage: {\n get: function getSettingLanguage() {\n return this.$state.setting('language') || '';\n },\n set: function setSettingLanguage(newVal) {\n this.$state.setting('language', newVal || null);\n }\n },\n messageLayouts: function messageLayouts() {\n return {\n traditional: 'compact',\n modern: 'modern',\n inline: 'inline'\n };\n },\n settingMessageLayout: {\n set: function setSettingMessageLayout(newVal) {\n var l = this.messageLayouts;\n this.$state.setting('buffers.messageLayout', l[newVal] || l.modern);\n },\n get: function get() {\n var s = this.$state.setting('buffers.messageLayout');\n\n var l = _lodash.default.invert(this.messageLayouts);\n\n return l[s];\n }\n }\n },\n created: function created() {\n this.listenForThemeSettings();\n },\n methods: {\n closeSettings: function closeSettings() {\n this.$state.$emit('active.component');\n },\n refreshTheme: function refreshTheme() {\n _ThemeManager.default.instance().reload();\n },\n listenForThemeSettings: function listenForThemeSettings() {\n var _this = this;\n\n var themeMgr = _ThemeManager.default.instance();\n\n var watches = []; // Called when the current theme changes (including url refreshes)\n\n var updateFn = function updateFn() {\n var theme = themeMgr.currentTheme();\n _this.theme = theme.name;\n _this.customThemeUrl = theme.name === 'custom' ? theme.url : '';\n };\n\n var watchTheme = function watchTheme(newVal) {\n themeMgr.setTheme(newVal);\n };\n\n var watchCustomThemeUrl = function watchCustomThemeUrl(newVal) {\n if (themeMgr.currentTheme().name === 'custom') {\n themeMgr.setCustomThemeUrl(newVal);\n }\n }; // Remove all our attached events to cleanup\n\n\n var teardownFn = function teardownFn() {\n _this.$state.$off('theme.change', updateFn);\n\n (0, _forEach.default)(watches).call(watches, function (unwatchFn) {\n return unwatchFn();\n });\n\n _this.$off('hook:destroy', teardownFn);\n }; // Update our info with the latest theme settings before we start\n // listening for changes\n\n\n updateFn();\n this.$state.$on('theme.change', updateFn);\n this.$once('hook:destroyed', teardownFn); // $watch returns a function to stop watching the data field. Add them into\n // an array to make it easier to iterate over them all and unwatch them all\n // when needed.\n\n watches = [this.$watch('theme', watchTheme), this.$watch('customThemeUrl', watchCustomThemeUrl)];\n },\n enableAdvancedTab: function enableAdvancedTab() {\n var _this2 = this;\n\n this.settingAdvancedEnable = true;\n this.$nextTick(function () {\n _this2.$refs.tabs.setActiveByName('advanced');\n\n _this2.$el.scrollTop = 0;\n });\n },\n makeDefaultProtocolHandler: function makeDefaultProtocolHandler() {\n navigator.registerProtocolHandler('irc', document.location.origin + document.location.pathname + '#%s', 'Kiwi IRC');\n navigator.registerProtocolHandler('ircs', document.location.origin + document.location.pathname + '#%s', 'Kiwi IRC');\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"AppSettings\"]\r\nwindow._kiwi_exports.components.AppSettings = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypingUsersList.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./kiwiirccom.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UrlEmbed.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UrlEmbed.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelList.vue?vue&type=script&lang=js&\"","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.get = get;\nexports.set = set;\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar supportedCached = null;\n\nfunction get(name) {\n if (!isSupported()) {\n return _promise.default.resolve();\n }\n\n return new _promise.default(function (resolve) {\n resolve(window.localStorage.getItem(name));\n });\n}\n\nfunction set(name, val) {\n if (!isSupported()) {\n return _promise.default.resolve();\n }\n\n return new _promise.default(function (resolve) {\n resolve(window.localStorage.setItem(name, val));\n });\n}\n\nfunction isSupported() {\n if (supportedCached === null) {\n supportedCached = storageAvailable('localStorage');\n }\n\n return supportedCached;\n} // https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API#Testing_for_availability\n\n\nfunction storageAvailable(type) {\n var storage;\n\n try {\n var x = '__storage_test__';\n storage = window[type];\n storage.setItem(x, x);\n storage.removeItem(x);\n return true;\n } catch (e) {\n return e instanceof DOMException && ( // everything except Firefox\n e.code === 22 || // Firefox\n e.code === 1014 || // test name field too, because code might not be present\n // everything except Firefox\n e.name === 'QuotaExceededError' || // Firefox\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && // acknowledge QuotaExceededError only if there's something already stored\n storage.length !== 0;\n }\n}","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n data: function data() {\n return {\n logo: '',\n c: '',\n x: '',\n Y: [],\n t: 0,\n fontSize: 72,\n font: 'bold ' + 72 + 'px verdana',\n text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eu arcu ipsum. ',\n animationFrame: null,\n destroying: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.logo = this.$el.querySelector('.kiwi-loading-logo');\n this.c = this.$el.querySelector('.kiwi-loading-animation');\n this.x = this.c.getContext('2d');\n var tmpText = '';\n\n for (var i = 0; i < 9; i += 1) {\n tmpText += this.text;\n }\n\n this.text = String(tmpText).match(/.{1,43}/g);\n this.c.width = 1256;\n this.c.height = 1080;\n\n for (var _i = 0; _i < this.text.length; _i += 1) {\n this.Y.push(_i * this.fontSize - 1600);\n }\n\n this.logo.onload = function () {\n if (_this.destroying) {\n // the component has already been destroyed, we nolonger need the animation\n return;\n }\n\n _this.draw();\n };\n },\n beforeDestroy: function beforeDestroy() {\n this.destroying = true;\n cancelAnimationFrame(this.animationFrame);\n },\n methods: {\n draw: function draw() {\n this.x.clearRect(0, 0, this.c.width, this.c.height);\n this.x.globalCompositeOperation = 'source-over';\n this.x.drawImage(this.logo, 0, 0, this.c.width, this.c.height);\n this.x.globalCompositeOperation = 'xor';\n this.x.fillStyle = '#000';\n this.x.font = this.font;\n\n for (var i = 0; i < this.text.length; i += 1) {\n if (this.t % 4.5 < 2) {\n this.Y[i] += (250 + (10 + i) / this.text.length * 4000) / 120;\n\n if (this.Y[i] > i * this.fontSize) {\n this.Y[i] = i * this.fontSize;\n }\n } else {\n if (this.text.length - (this.t % 4.5 - 2) / 2.5 * this.text.length * 1.75 < i) {\n this.Y[i] += 10 + this.Y[i] / 20;\n }\n\n if (this.Y[i] > 1080 || this.Y[i] < 0) {\n this.Y[i] = -1500 + i * this.fontSize;\n }\n }\n\n if (this.Y[i] > -100) {\n this.x.fillText(this.text[i], 0, this.fontSize + this.Y[i]);\n }\n }\n\n this.x.globalCompositeOperation = 'source-out';\n this.x.drawImage(this.logo, 0, 0, this.c.width, this.c.height);\n this.x.globalCompositeOperation = 'source-over';\n this.x.globalAlpha = 0.1;\n this.x.drawImage(this.logo, 0, 0, this.c.width, this.c.height);\n this.x.globalAlpha = 1;\n this.animationFrame = requestAnimationFrame(this.draw);\n this.t += 1 / 40;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"LoadingAnimation\"]\r\nwindow._kiwi_exports.components.LoadingAnimation = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AwayStatusIndicator.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AwayStatusIndicator.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n'kiwi public'; // Do channels support half-op mode\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.supportsHalfOp = supportsHalfOp;\nexports.isAChannelModeAdmin = isAChannelModeAdmin;\nexports.isQChannelModeOwner = isQChannelModeOwner;\nexports.extbanAccount = extbanAccount;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nfunction supportsHalfOp(network) {\n var ircdType = network.ircd.toLowerCase();\n var notSupported = ['ircd-seven', 'charybdis'];\n\n for (var i = 0; i < notSupported.length; i++) {\n if ((0, _indexOf.default)(ircdType).call(ircdType, notSupported[i]) > -1) {\n return false;\n }\n }\n\n return true;\n} // Does channel mode +a = admin\n\n\nfunction isAChannelModeAdmin(network) {\n var ircdType = network.ircd.toLowerCase();\n var notAdmin = ['ircd-seven', 'charybdis'];\n\n for (var i = 0; i < notAdmin.length; i++) {\n if ((0, _indexOf.default)(ircdType).call(ircdType, notAdmin[i]) > -1) {\n return false;\n }\n }\n\n return true;\n} // Does channel mode +q = owner\n\n\nfunction isQChannelModeOwner(network) {\n var ircdType = network.ircd.toLowerCase();\n var notOwner = ['ircd-seven', 'charybdis'];\n\n for (var i = 0; i < notOwner.length; i++) {\n if ((0, _indexOf.default)(ircdType).call(ircdType, notOwner[i]) > -1) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction extbanAccount(network) {\n // Eg. InspIRCd-2.0\n // Eg. UnrealIRCd-4.0.17\n // Eg. ircd-seven-1.1.7\n // Eg. u2.10.12.10+snircd(1.3.4a)\n var ircdType = network.ircd.toLowerCase(); // Eg. ~,qjncrRa\n // Eg. ,qjncrRa\n\n var extban = network.ircClient.network.supports('EXTBAN') || '';\n\n if (!extban) {\n return '';\n }\n\n var prefix = extban.split(',')[0];\n var type = 'a'; // https://docs.inspircd.org/3/modules/services_account/#extended-bans\n\n if ((0, _indexOf.default)(ircdType).call(ircdType, 'inspircd') > -1) {\n type = 'R';\n }\n\n return prefix + type;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"IrcdDiffs\"]\r\nwindow._kiwi_exports.helpers.IrcdDiffs = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./IrcInput.vue?vue&type=template&id=958580d2&\"\nimport script from \"./IrcInput.vue?vue&type=script&lang=js&\"\nexport * from \"./IrcInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./IrcInput.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageList.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-bufferkey kiwi-warning-block\"},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.joinChannel($event)}}},[_c('label',[_vm._v(_vm._s(_vm.$t('bufferkey_input')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.buffer.key),expression:\"buffer.key\"},{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.buffer.key)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.buffer, \"key\", $event.target.value)}}}),_c('div',{staticClass:\"kiwi-bufferkey-buttons\"},[_c('span',{staticClass:\"kiwi-bufferkey-button\",on:{\"click\":_vm.joinChannel}},[_c('i',{staticClass:\"fa fa-arrow-circle-o-right\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('bufferkey_rejoin', {channel: _vm.buffer.name}))+\" \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=less&\"","var render = function (_h,_vm) {\nvar _obj;\nvar _c=_vm._c;return (_vm.props.user && _vm.$options.m.status(_vm.props) !== '')?_c('span',{staticClass:\"kiwi-typingstatusindicator kiwi-typing\",class:( _obj = {\n 'kiwi-typingstatusindicator--paused': _vm.$options.m.status(_vm.props) === 'paused'\n }, _obj[_vm.data.staticClass] = true, _obj )}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./MessageListAvatar.vue?vue&type=template&id=482f7543&functional=true&\"\nimport script from \"./MessageListAvatar.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListAvatar.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 true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputPrompt.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputPrompt.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('input-confirm', {\n props: ['label', 'flipConnotation'],\n data: function data() {\n return {\n state: 'pre'\n };\n },\n computed: {\n connoteCss: function connoteCss() {\n return {\n yes: this.flipConnotation ? 'warning' : 'primary',\n no: this.flipConnotation ? 'primary' : 'warning'\n };\n }\n },\n created: function created() {\n if (!this.$slots.default) {\n this.state = 'prompt';\n }\n },\n methods: {\n prompt: function prompt() {\n this.state = 'prompt';\n },\n complete: function complete(val) {\n this.$emit('submit', val);\n this.$emit(val ? 'ok' : 'cancel');\n this.state = 'pre';\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"InputConfirm\"]\r\nwindow._kiwi_exports.components.utils.InputConfirm = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./Welcome.vue?vue&type=template&id=7e27c7c8&\"\nimport script from \"./Welcome.vue?vue&type=script&lang=js&\"\nexport * from \"./Welcome.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Welcome.vue?vue&type=style&index=0&lang=css&\"\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 { render, staticRenderFns } from \"./AppSettings.vue?vue&type=template&id=8f888884&\"\nimport script from \"./AppSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./AppSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppSettings.vue?vue&type=style&index=0&lang=less&\"\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","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _xhr = _interopRequireDefault(require(\"xhr\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _json = _interopRequireDefault(require(\"json5\"));\n\nvar _Logger = _interopRequireDefault(require(\"./Logger\"));\n\nvar log = _Logger.default.namespace('ConfigLoader');\n\nvar ConfigLoader = /*#__PURE__*/function () {\n function ConfigLoader() {\n (0, _classCallCheck2.default)(this, ConfigLoader);\n this.config = (0, _create.default)(null);\n this.valReplacements = (0, _create.default)(null);\n }\n\n (0, _createClass2.default)(ConfigLoader, [{\n key: \"addValueReplacement\",\n value: function addValueReplacement(key, value) {\n this.valReplacements[key] = value;\n return this;\n }\n }, {\n key: \"loadFromUrl\",\n value: function loadFromUrl(configUrl) {\n var _this = this;\n\n return new _promise.default(function (resolve, reject) {\n (0, _xhr.default)({\n url: configUrl\n }, function (err, response) {\n if (err) {\n reject();\n return;\n }\n\n var configObj = null;\n\n try {\n configObj = _json.default.parse(response.body);\n } catch (parseErr) {\n log.error('Config ' + parseErr.message);\n var errMsg = 'Config file error: ' + parseErr.message.replace('JSON5: ', ''); // Convert \"at 22:16\" to \"at line 22, position 16\"\n\n /* eslint-disable arrow-body-style */\n\n errMsg = errMsg.replace(/at (\\d+):(\\d+)/g, function (m, m1, m2) {\n var _context;\n\n return (0, _concat.default)(_context = \"line \".concat(m1, \", position \")).call(_context, m2);\n });\n reject(errMsg);\n return;\n }\n\n _this.setConfig(configObj);\n\n resolve(_this.config);\n });\n });\n }\n }, {\n key: \"loadFromObj\",\n value: function loadFromObj(configObj) {\n var _this2 = this;\n\n return new _promise.default(function (resolve, reject) {\n _this2.setConfig(configObj);\n\n resolve(_this2.config);\n });\n }\n }, {\n key: \"setConfig\",\n value: function setConfig(confObj) {\n var _this3 = this;\n\n var walkObject = function walkObject(obj, target) {\n _lodash.default.each(obj, function (_val, key) {\n var val = _val;\n\n if (typeof val === 'string') {\n val = _this3.insertReplacements(val);\n target[key] = val;\n } else if ((0, _typeof2.default)(val) === 'object') {\n target[key] = _lodash.default.isArray(val) ? [] : {};\n walkObject(val, target[key]);\n } else {\n target[key] = val;\n }\n });\n };\n\n this.config = (0, _create.default)(null);\n walkObject(confObj, this.config);\n }\n }, {\n key: \"insertReplacements\",\n value: function insertReplacements(input) {\n var out = input;\n var keys = (0, _keys.default)(this.valReplacements);\n\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i];\n\n if (input === '{{' + k + '}}') {\n // If we have an exact match, return the exact replacement value we have as\n // it may not be a string\n return this.valReplacements[k];\n }\n\n out = out.replace('{{' + k + '}}', this.valReplacements[k]);\n }\n\n return out;\n }\n }]);\n return ConfigLoader;\n}();\n\nexports.default = ConfigLoader;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"ConfigLoader\"]\r\nwindow._kiwi_exports.libs.ConfigLoader = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _default = {\n props: ['filter', 'buffer', 'items'],\n data: function data() {\n return {\n items_: [{\n text: 'anick1',\n type: 'user'\n }, {\n text: 'anick2',\n type: 'user'\n }, {\n text: 'bnick3',\n type: 'user'\n }, {\n text: 'cnick4'\n }, {\n text: 'dnick5'\n }],\n selected_idx: 0\n };\n },\n computed: {\n filteredItems: function filteredItems() {\n var _context, _context2;\n\n var filterVal = ((0, _filter.default)(this) || '').toLowerCase();\n return (0, _sort.default)(_context = (0, _filter.default)(_context2 = (0, _lodash.default)(this.items)).call(_context2, function (item) {\n var _context3, _context4;\n\n var s = false;\n\n if ((0, _indexOf.default)(_context3 = item.text.toLowerCase()).call(_context3, filterVal) === 0) {\n s = true;\n }\n\n (0, _forEach.default)(_context4 = item.alias || []).call(_context4, function (alias) {\n var _context5;\n\n if ((0, _indexOf.default)(_context5 = alias.toLowerCase()).call(_context5, filterVal) === 0) {\n s = true;\n }\n });\n return s;\n })).call(_context, function (a, b) {\n return a.text.localeCompare(b.text);\n }).value();\n },\n filteredAndLimitedItems: function filteredAndLimitedItems() {\n var _context6,\n _this = this;\n\n return (0, _filter.default)(_context6 = this.filteredItems).call(_context6, function (item, itemIdx, items) {\n var numItems = items.length - 1;\n var idxFrom = _this.selected_idx - 3;\n var idxTo = _this.selected_idx + 3;\n var isInRange = false; // Adjust the number of items before and after the selected item\n // when we reach either end of the list.\n // If we don't do this then this:\n // * Item 1\n // * item 2\n // * Item 3\n // * Item 4\n // * Item 5 < selected\n // Can turn into this:\n // * Item 4\n // * Item 5 < selected\n\n if (idxFrom < 0) {\n idxTo += -idxFrom;\n idxFrom = 0;\n } else if (idxTo > numItems) {\n idxFrom -= idxTo - numItems;\n idxTo = numItems;\n }\n\n if (itemIdx >= idxFrom && itemIdx <= idxTo) {\n isInRange = true;\n } // Keep track of the pre-limited index for item selection\n\n\n item.idx = itemIdx;\n return isInRange;\n });\n },\n selectedItem: function selectedItem() {\n var item = this.filteredItems[this.selected_idx];\n return item || null;\n }\n },\n watch: {\n selected_idx: function watchSelectedIdx() {\n var _this2 = this;\n\n // nextTick() as the DOM hasn't updated yet\n this.$nextTick(function () {\n var el = _this2.$el.querySelector('.kiwi-autocomplete-item--selected');\n\n if (!el) {\n return;\n }\n\n _this2.$el.scrollTop = el.offsetTop - el.getBoundingClientRect().height * 2;\n });\n this.tempCurrentItem();\n },\n filter: function watchFilter() {\n var numItems = this.filteredAndLimitedItems.length - 1;\n\n if (this.selected_idx > numItems) {\n this.selected_idx = numItems;\n }\n }\n },\n mounted: function mounted() {\n this.tempCurrentItem();\n },\n methods: {\n handleOnKeyDown: function handleOnKeyDown(event) {\n var handled = false;\n var cancelKeyCodes = [13, // return\n 32, // space\n 186, // semi-colon\n 188, // comma\n 190 // period\n ];\n\n if ((0, _indexOf.default)(cancelKeyCodes).call(cancelKeyCodes, event.keyCode) > -1) {\n // If no item is selected (ie. on an empty list), leave the return key\n // to do its default action as if the autocomplete box isn't active.\n if (!this.selectedItem) {\n this.cancel();\n } else {\n this.selectCurrentItem();\n\n if (event.keyCode === 13) {\n event.preventDefault();\n }\n\n handled = true;\n }\n } else if (event.keyCode === 38 || event.keyCode === 9 && event.shiftKey) {\n // Up or tab + shift\n if (this.selected_idx > 0) {\n this.selected_idx--;\n } else {\n // Wrap around to the end\n this.selected_idx = this.filteredItems.length - 1;\n }\n\n event.preventDefault();\n handled = true;\n } else if (event.keyCode === 40 && !event.altKey || event.keyCode === 9) {\n // Down or tab\n if (this.selected_idx < this.filteredItems.length - 1) {\n this.selected_idx++;\n } else {\n // Wrap around to the start\n this.selected_idx = 0;\n }\n\n event.preventDefault();\n handled = true;\n } else if (event.keyCode === 16) {\n handled = true;\n }\n\n return handled;\n },\n openQuery: function openQuery(nick) {\n var buffer = this.$state.addBuffer(this.buffer.networkid, nick);\n this.$state.setActiveBuffer(buffer.networkid, buffer.name);\n this.cancel();\n },\n tempCurrentItem: function tempCurrentItem() {\n var item = this.selectedItem;\n\n if (!item) {\n return;\n }\n\n this.$emit('temp', item.value || item.text, item);\n },\n selectCurrentItem: function selectCurrentItem() {\n var item = this.selectedItem;\n var value = '';\n\n if (item) {\n value = item.value || item.text;\n }\n\n this.$emit('selected', value, item);\n },\n cancel: function cancel() {\n this.$emit('cancel');\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"AutoComplete\"]\r\nwindow._kiwi_exports.components.AutoComplete = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./TabbedView.vue?vue&type=template&id=6c7be4c1&\"\nimport script from \"./TabbedView.vue?vue&type=script&lang=js&\"\nexport * from \"./TabbedView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TabbedView.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserUsermenu.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _lastIndexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/last-index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _assign = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/assign\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _BouncerProvider = _interopRequireDefault(require(\"@/libs/BouncerProvider\"));\n\nvar _Captcha = _interopRequireDefault(require(\"@/components/Captcha\"));\n\nvar _CommonLayout = _interopRequireDefault(require(\"./CommonLayout\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar log = _Logger.default.namespace('Welcome.vue');\n\nvar _default = {\n components: {\n Captcha: _Captcha.default,\n StartupLayout: _CommonLayout.default\n },\n data: function data() {\n return {\n errorMessage: '',\n network: null,\n channel: '',\n nick: '',\n password: '',\n showChannel: true,\n showPass: true,\n toggablePass: true,\n showNick: true,\n show_password_box: '',\n connectWithoutChannel: false,\n showPlainText: false,\n captchaReady: false\n };\n },\n computed: {\n startupOptions: function startupOptions() {\n return this.$state.settings.startupOptions;\n },\n greetingText: function greetingText() {\n var greeting = this.$state.settings.startupOptions.greetingText;\n return typeof greeting === 'string' ? greeting : this.$t('start_greeting');\n },\n footerText: function footerText() {\n var footer = this.$state.settings.startupOptions.footerText;\n return typeof footer === 'string' ? footer : '';\n },\n buttonText: function buttonText() {\n var greeting = this.$state.settings.startupOptions.buttonText;\n return typeof greeting === 'string' ? greeting : this.$t('start_button');\n },\n isNickValid: function isNickValid() {\n var nickPatternStr = this.$state.setting('startupOptions.nick_format');\n var nickPattern = '';\n\n if (!nickPatternStr) {\n // Nicks cannot start with [0-9- ]\n // ? is not a valid nick character but we allow it as it gets replaced\n // with a number.\n nickPattern = /^[a-z_\\\\[\\]{}^`|][a-z0-9_\\-\\\\[\\]{}^`|]*$/i;\n } else {\n // Support custom pattern matches. Eg. only '@example.com' may be allowed\n // on some IRCDs\n var pattern = '';\n var flags = '';\n\n if (nickPatternStr[0] === '/') {\n // Custom regex\n var pos = (0, _lastIndexOf.default)(nickPatternStr).call(nickPatternStr, '/');\n pattern = nickPatternStr.substring(1, pos);\n flags = nickPatternStr.substr(pos + 1);\n } else {\n // Basic contains rule\n pattern = _lodash.default.escapeRegExp(nickPatternStr);\n flags = 'i';\n }\n\n try {\n nickPattern = new RegExp(pattern, flags);\n } catch (error) {\n log.error('Nick format error: ' + error.message);\n return false;\n }\n }\n\n return this.nick.match(nickPattern);\n },\n readyToStart: function readyToStart() {\n var ready = !!this.nick;\n\n if (!this.connectWithoutChannel && !this.channel) {\n ready = false;\n } // Make sure the channel name starts with a common channel prefix\n\n\n if (!this.connectWithoutChannel) {\n var bufferObjs = Misc.extractBuffers(this.channel);\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj) {\n var _context;\n\n if ((0, _indexOf.default)(_context = '#&').call(_context, bufferObj.name[0]) === -1) {\n ready = false;\n }\n });\n } // If toggling the password is is disabled, assume it is required\n\n\n if (!this.toggablePass && !this.password) {\n ready = false;\n }\n\n if (!this.isNickValid) {\n ready = false;\n }\n\n return ready;\n }\n },\n watch: {\n show_password_box: function show_password_box(newVal) {\n if (newVal === false) {\n // clear the password when show password is unchecked\n this.password = '';\n }\n }\n },\n created: function created() {\n var _context2;\n\n var options = this.startupOptions;\n var connectOptions = this.connectOptions(); // Take some settings from a previous network if available\n\n var previousNet = null;\n\n if ((0, _trim.default)(_context2 = connectOptions.hostname).call(_context2)) {\n var _context3;\n\n previousNet = this.$state.getNetworkFromAddress((0, _trim.default)(_context3 = connectOptions.hostname).call(_context3));\n }\n\n if (previousNet && previousNet.connection.nick) {\n this.nick = previousNet.connection.nick;\n } else if (Misc.queryStringVal('nick')) {\n this.nick = Misc.queryStringVal('nick');\n } else {\n this.nick = options.nick;\n }\n\n this.nick = this.processNickRandomNumber(this.nick || '');\n\n if (options.password) {\n this.password = options.password;\n } else if (previousNet && previousNet.password) {\n this.password = previousNet.password;\n this.show_password_box = true;\n } else if (Misc.queryStringVal('show_password_box')) {\n this.show_password_box = true;\n } else {\n this.password = '';\n }\n\n this.channel = decodeURIComponent(window.location.hash) || options.channel || '';\n this.showChannel = typeof options.showChannel === 'boolean' ? options.showChannel : true;\n this.showNick = typeof options.showNick === 'boolean' ? options.showNick : true;\n this.showPass = typeof options.showPassword === 'boolean' ? options.showPassword : true;\n this.toggablePass = typeof options.toggablePassword === 'boolean' ? options.toggablePassword : true;\n this.connectWithoutChannel = !!options.allowNoChannel;\n\n if (options.bouncer) {\n this.toggablePass = false;\n this.showPass = true;\n this.showChannel = false;\n this.connectWithoutChannel = true;\n var bouncer = new _BouncerProvider.default(this.$state);\n bouncer.enable(connectOptions.hostname, connectOptions.port, connectOptions.tls, connectOptions.direct, connectOptions.direct_path);\n }\n\n if (options.autoConnect && this.nick && (this.channel || this.connectWithoutChannel)) {\n this.startUp();\n }\n },\n methods: {\n onAltClose: function onAltClose(event) {\n if (event.channel) {\n this.channel = event.channel;\n }\n\n if (event.nick) {\n this.nick = event.nick;\n }\n\n if (event.password) {\n this.password = event.password;\n }\n\n if (event.error) {\n this.errorMessage = event.error;\n }\n\n this.$state.settings.startupOptions.altComponent = null;\n },\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n formSubmit: function formSubmit() {\n if (this.readyToStart) {\n this.startUp();\n }\n },\n startUp: function startUp() {\n var _this = this;\n\n this.errorMessage = '';\n var options = (0, _assign.default)({}, this.$state.settings.startupOptions);\n var connectOptions = this.connectOptions();\n var netAddress = (0, _trim.default)(_lodash.default).call(_lodash.default, connectOptions.hostname); // Check if we have this network already\n\n var net = this.network || this.$state.getNetworkFromAddress(netAddress);\n var password = this.password; // If the network doesn't already exist, add a new one\n\n net = net || this.$state.addNetwork('Network', this.nick, {\n server: netAddress,\n port: connectOptions.port,\n tls: connectOptions.tls,\n password: password,\n encoding: (0, _trim.default)(_lodash.default).call(_lodash.default, options.encoding),\n direct: connectOptions.direct,\n path: connectOptions.direct_path || '',\n gecos: options.gecos,\n username: options.username\n }); // Clear the server buffer in case it already existed and contains messages relating to\n // the previous connection, such as errors. They are now redundant since this is a\n // new connection.\n\n net.serverBuffer().clearMessages(); // If we retreived an existing network, update the nick+password with what\n // the user has just put in place\n\n net.connection.nick = this.nick;\n\n if (options.bouncer) {\n var _context4;\n\n // Bouncer mode uses server PASS\n net.connection.password = (0, _concat.default)(_context4 = \"\".concat(this.nick, \":\")).call(_context4, password);\n net.password = '';\n } else {\n net.connection.password = '';\n net.password = password;\n }\n\n if ((0, _trim.default)(_lodash.default).call(_lodash.default, options.encoding || '')) {\n net.connection.encoding = (0, _trim.default)(_lodash.default).call(_lodash.default, options.encoding);\n }\n\n this.network = net; // Only switch to the first channel we join if multiple are being joined\n\n var hasSwitchedActiveBuffer = false;\n var bufferObjs = Misc.extractBuffers(this.channel);\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj) {\n var newBuffer = _this.$state.addBuffer(net.id, bufferObj.name);\n\n newBuffer.enabled = true;\n\n if (newBuffer && !hasSwitchedActiveBuffer) {\n _this.$state.setActiveBuffer(net.id, newBuffer.name);\n\n hasSwitchedActiveBuffer = true;\n }\n\n if (bufferObj.key) {\n newBuffer.key = bufferObj.key;\n }\n }); // switch to server buffer if no channels are joined\n\n if (!options.bouncer && !hasSwitchedActiveBuffer) {\n this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n\n net.ircClient.connect();\n\n var onRegistered = function onRegistered() {\n if (_this.$refs.layout) {\n _this.$refs.layout.close();\n }\n\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n var onClosed = function onClosed() {\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n net.ircClient.once('registered', onRegistered);\n net.ircClient.once('close', onClosed);\n },\n processNickRandomNumber: function processNickRandomNumber(nick) {\n // Replace ? with a random number\n var tmp = (nick || '').replace(/\\?/g, function () {\n return Math.floor(Math.random() * 100).toString();\n });\n return (0, _trim.default)(_lodash.default).call(_lodash.default, tmp);\n },\n handleCaptcha: function handleCaptcha(isReady) {\n this.captchaReady = isReady;\n },\n connectOptions: function connectOptions() {\n var options = (0, _assign.default)({}, this.$state.settings.startupOptions);\n var connectOptions = Misc.connectionInfoFromConfig(options); // If a server isn't specified in the config, set some defaults\n // The webircgateway will have a default network set and will connect\n // there instead. This just removes the requirement of specifying the same\n // irc network address in both the server-side and client side configs\n\n connectOptions.hostname = connectOptions.hostname || 'default';\n\n if (!connectOptions.port && connectOptions.direct) {\n connectOptions.port = connectOptions.tls ? 443 : 80;\n } else if (!connectOptions.port && !connectOptions.direct) {\n connectOptions.port = connectOptions.tls ? 6697 : 6667;\n }\n\n return connectOptions;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"Welcome\"]\r\nwindow._kiwi_exports.components.startups.Welcome = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n data: function data() {\n return {\n title: 'Where are you connecting today?',\n buttonText: '',\n server_type: 'default',\n server: '',\n tls: false,\n nick: '',\n password: '',\n encoding: 'utf8',\n channel: '',\n znc_network: '',\n znc_network_support: true,\n direct: false,\n direct_path: '',\n show_type_switcher: true,\n show_password_box: false,\n is_connecting: false,\n network: null\n };\n },\n created: function () {\n var _created = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var _this = this;\n\n var saveThisSessionsState, network, fragment, uriCheck, connections, con;\n return _regenerator.default.wrap(function _callee$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n saveThisSessionsState = false; // If we have networks from a previous state, launch directly into it\n\n if (this.$state.networks.length > 0) {\n network = this.$state.networks[0];\n this.$state.setActiveBuffer(network.id, network.serverBuffer().name);\n saveThisSessionsState = true;\n this.$emit('start');\n } else if (window.location.hash.substr(1)) {\n fragment = window.location.hash.substr(1); // Check to see if we're dealing with an encoded irc: uri (browsers do this\n // when clicking an IRC link)\n\n uriCheck = fragment.substr(0, 7).toLowerCase();\n\n if (uriCheck === 'ircs%3a' || uriCheck.substr(0, 6) === 'irc%3a') {\n fragment = decodeURIComponent(fragment);\n }\n\n connections = Misc.parseIrcUri(fragment); // If more than 1 connection string is given, skip the connection screen\n // and add them all right away.\n\n if (connections.length === 0) {\n saveThisSessionsState = true;\n this.applyDefaults();\n } else if (connections.length === 1) {\n saveThisSessionsState = false;\n this.server_type = 'default_simple';\n this.show_type_switcher = false;\n con = connections[0];\n this.server = con.server + ':' + con.port;\n this.tls = con.tls;\n this.nick = this.processNickRandomNumber(con.nick);\n this.channel = con.channels.join(',');\n this.direct = con.direct;\n this.encoding = con.encoding;\n\n if (con.params.type === 'znc') {\n // Older ZNC versions only support user:pass while newer supports\n // user/network:pass. Setting the network to _ denotes that we are\n // connecting to an older ZNC without network support.\n if (con.params.network === '_') {\n this.znc_network_support = false;\n } else {\n this.znc_network = con.params.network || '';\n }\n\n this.server_type = 'znc';\n this.title = 'Enter your password to connect to ZNC';\n } else {\n this.title = 'Enter a nickname to join';\n }\n } else if (connections.length > 1) {\n saveThisSessionsState = false;\n (0, _forEach.default)(connections).call(connections, function (con, idx) {\n var _context;\n\n var net = _this.$state.addNetwork(con.server, con.nick, {\n server: con.server,\n port: con.port,\n tls: con.tls,\n password: con.password || ''\n });\n\n (0, _forEach.default)(_context = con.channels).call(_context, function (channelName) {\n var buffer = _this.$state.addBuffer(net.id, channelName);\n\n buffer.enabled = true;\n }); // Set the first server buffer active\n\n if (idx === 0) {\n _this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n });\n this.$emit('start');\n }\n } else {\n saveThisSessionsState = true;\n this.applyDefaults();\n }\n\n if (this.$state.settings.startupOptions.greetingText) {\n this.title = this.$state.settings.startupOptions.greetingText;\n }\n\n if (this.$state.settings.startupOptions.buttonText) {\n this.buttonText = this.$state.settings.startupOptions.buttonText;\n } else {\n this.buttonText = this.$t('connect');\n }\n\n if (saveThisSessionsState) {\n this.$state.persistence.watchStateForChanges();\n }\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee, this);\n }));\n\n function created() {\n return _created.apply(this, arguments);\n }\n\n return created;\n }(),\n methods: {\n readableStateError: function readableStateError(err) {\n return Misc.networkErrorMessage(err);\n },\n startUp: function startUp() {\n var _this2 = this;\n\n var net;\n\n if (!this.nick) {\n this.$el.querySelector('.kiwi-customserver-nick input').focus();\n return;\n }\n\n var nick = this.nick;\n\n if (this.server_type === 'znc') {\n // Older ZNC versions only support user:pass while newer supports user/network:pass\n var password = nick;\n\n if (this.znc_network) {\n password += '/' + this.znc_network;\n }\n\n password += ':' + this.password;\n net = this.$state.addNetwork('ZNC', 'ZNC', {\n server: this.server.split(':')[0],\n port: (0, _parseInt2.default)(this.server.split(':')[1] || 6667, 10),\n tls: this.tls,\n password: password\n });\n } else {\n net = this.$state.addNetwork('Network', nick, {\n server: this.server.split(':')[0],\n port: (0, _parseInt2.default)(this.server.split(':')[1] || 6667, 10),\n tls: this.tls,\n password: this.password,\n direct: this.direct,\n path: this.direct_path,\n encoding: this.encoding\n });\n }\n\n if (net) {\n var hasSetActiveBuffer = false;\n var bufferObjs = Misc.extractBuffers(this.channel);\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj, idx) {\n var buffer = _this2.$state.addBuffer(net.id, bufferObj.name);\n\n buffer.enabled = true;\n\n if (bufferObj.key) {\n buffer.key = bufferObj.key;\n }\n\n if (idx === 0) {\n _this2.$state.setActiveBuffer(net.id, buffer.name);\n\n hasSetActiveBuffer = true;\n }\n });\n\n if (!hasSetActiveBuffer) {\n this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n\n this.is_connecting = true;\n this.network = net;\n net.ircClient.connect();\n\n var onRegistered = function onRegistered() {\n (0, _setTimeout2.default)(function () {\n _this2.is_connecting = false;\n }, 1000);\n\n _this2.$emit('start');\n\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n var onClosed = function onClosed() {\n (0, _setTimeout2.default)(function () {\n _this2.is_connecting = false;\n }, 1000);\n net.ircClient.off('registered', onRegistered);\n net.ircClient.off('close', onClosed);\n };\n\n net.ircClient.once('registered', onRegistered);\n net.ircClient.once('close', onClosed);\n }\n },\n processNickRandomNumber: function processNickRandomNumber(nick) {\n // Replace ? with a random number\n var tmp = (nick || '').replace(/\\?/g, function () {\n return Math.floor(Math.random() * 100).toString();\n });\n return (0, _trim.default)(_lodash.default).call(_lodash.default, tmp);\n },\n infoClick: function infoClick() {\n if (this.network) {\n var net = this.network;\n this.$state.setActiveBuffer(net.id, net.serverBuffer().name);\n }\n\n this.$emit('start');\n },\n applyDefaults: function applyDefaults() {\n this.server = this.$state.settings.startupOptions.server;\n this.tls = this.$state.settings.startupOptions.tls;\n this.nick = this.processNickRandomNumber(this.$state.settings.startupOptions.nick);\n this.channel = this.$state.settings.startupOptions.channel;\n this.direct = this.$state.settings.startupOptions.direct;\n this.direct_path = this.$state.settings.startupOptions.direct_path;\n this.encoding = this.$state.settings.startupOptions.encoding; // Only include the port in the server box if it's not the default\n\n if (this.$state.settings.startupOptions.port.toString() !== '6667') {\n this.server += ':' + this.$state.settings.startupOptions.port.toString();\n }\n\n this.title = 'Where are you connecting today?';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"startups\"]) window._kiwi_exports[\"components\"][\"startups\"] = {};\nwindow._kiwi_exports[\"components\"][\"startups\"][\"CustomServer\"]\r\nwindow._kiwi_exports.components.startups.CustomServer = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputText.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputText.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListAvatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListAvatar.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppSettings.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TabbedView.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _reverse = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reverse\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _default = {\n props: ['network'],\n data: function data() {\n return {\n sidebarOpen: false,\n page: 0,\n page_size: 200,\n search: '',\n last_updated: 0\n };\n },\n computed: {\n noResults: function noResults() {\n return this.listState === 'updated' && this.filteredList.length === 0;\n },\n isLoading: function isLoading() {\n return this.listState === 'updating';\n },\n listState: function listState() {\n return this.network.channel_list_state;\n },\n list: function list() {\n return this.network.channel_list || [];\n },\n filteredList: function filteredList() {\n var _this = this,\n _context4;\n\n var list = [];\n\n if (this.search.length <= 2) {\n list = this.list;\n } else {\n var _context;\n\n list = (0, _filter.default)(_context = this.list).call(_context, function (channel) {\n var _context2, _context3;\n\n var found = false;\n\n if ((0, _indexOf.default)(_context2 = channel.channel.toLowerCase()).call(_context2, _this.search) > -1) {\n found = true;\n }\n\n if ((0, _indexOf.default)(_context3 = channel.topic.toLowerCase()).call(_context3, _this.search) > -1) {\n found = true;\n }\n\n return found;\n });\n }\n\n return (0, _reverse.default)(_context4 = _lodash.default.sortBy(list, 'num_users')).call(_context4);\n },\n paginated: function paginated() {\n var offset = this.page * this.page_size;\n var list = this.filteredList;\n var channels = [];\n\n for (var i = offset; i < offset + this.page_size; i++) {\n if (list[i]) {\n channels.push(list[i]);\n }\n }\n\n return channels;\n },\n maxPages: function maxPages() {\n return Math.floor(this.filteredList.length / this.page_size);\n },\n canGoForward: function canGoForward() {\n return this.page * this.page_size >= this.filteredList.length;\n },\n canGoBackward: function canGoBackward() {\n return this.page > 0;\n }\n },\n watch: {\n search: function search() {\n this.page = 0;\n }\n },\n methods: {\n nextPage: function nextPage() {\n if (this.page < this.maxPages) {\n this.page++;\n }\n },\n prevPage: function prevPage() {\n if (this.page > 0) {\n this.page--;\n }\n },\n maybeUpdateList: function maybeUpdateList() {\n if (this.listState !== 'updating') {\n this.network.ircClient.raw('LIST');\n }\n },\n formatAndTrimTopic: function formatAndTrimTopic(rawTopic) {\n var showModes = this.$state.setting('showChanlistModes');\n var topic = showModes ? rawTopic : rawTopic.replace(/^\\[([^\\]]+)\\] ?/, '');\n var blocks = (0, _MessageParser.default)(topic, {\n extras: false\n });\n var content = (0, _Html.default)(blocks);\n return content;\n },\n joinChannel: function joinChannel(channelName) {\n this.$state.addBuffer(this.network.id, channelName);\n this.network.ircClient.join(channelName);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ChannelList\"]\r\nwindow._kiwi_exports.components.ChannelList = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserBuffer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserBuffer.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _values = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/values\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/defineProperty\"));\n\nvar _TypingStatusIndicator = _interopRequireDefault(require(\"./TypingStatusIndicator\"));\n\nvar _default = {\n components: {\n TypingStatusIndicator: _TypingStatusIndicator.default\n },\n props: ['buffer'],\n computed: {\n users: function users() {\n if (this.buffer.isQuery()) {\n // if this is a query return the target as users\n var network = this.$state.getActiveNetwork();\n var user = this.$state.getUser(network.id, this.buffer.name);\n return user ? (0, _defineProperty2.default)({}, user.nick, user) : {};\n }\n\n return this.buffer.users;\n },\n typingUsers: function typingUsers() {\n var _context,\n _this = this;\n\n var myNick = this.$state.getActiveNetwork().nick;\n return (0, _filter.default)(_context = (0, _values.default)(this.users)).call(_context, function (u) {\n return u.nick !== myNick && u.typingStatus(_this.buffer.name).status;\n });\n }\n },\n methods: {\n userColour: function userColour(user) {\n return user && this.buffer.setting('colour_nicknames_in_messages') ? user.getColour() : '';\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"TypingUsersList\"]\r\nwindow._kiwi_exports.components.TypingUsersList = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NicklistUser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NicklistUser.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-sidebar kiwi-theme-bg\",class:['kiwi-sidebar-section-' + _vm.section]},[(!_vm.sidebarState.isOpen)?_c('span',{staticClass:\"kiwi-sidebar-options\"},[_c('div',{staticClass:\"kiwi-sidebar-close\",on:{\"click\":function($event){return _vm.sidebarState.close()}}},[_vm._v(\" \"+_vm._s(_vm.$t('close'))),_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e(),(_vm.sidebarState.activeComponent)?[_c(_vm.sidebarState.activeComponent,{tag:\"component\",attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}})]:(_vm.buffer)?[(_vm.buffer.isChannel())?[(_vm.section === 'settings')?_c('div',{staticClass:\"kiwi-sidebar-buffersettings\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('tabbed-view',[_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings'),\"focus\":true}},[_c('h3',[_vm._v(_vm._s(_vm.$t('channel_settings')))]),_c('hr'),_c('channel-info',{attrs:{\"buffer\":_vm.buffer}}),_c('div',{staticClass:\"kiwi-sidebar-settings\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('side_settings')))]),_c('hr'),_c('form',{staticClass:\"u-form\"},[_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_joins')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowJoinParts),expression:\"settingShowJoinParts\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowJoinParts)?_vm._i(_vm.settingShowJoinParts,null)>-1:(_vm.settingShowJoinParts)},on:{\"change\":function($event){var $$a=_vm.settingShowJoinParts,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowJoinParts=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowJoinParts=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowJoinParts=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_topics')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowTopics),expression:\"settingShowTopics\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowTopics)?_vm._i(_vm.settingShowTopics,null)>-1:(_vm.settingShowTopics)},on:{\"change\":function($event){var $$a=_vm.settingShowTopics,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowTopics=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowTopics=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowTopics=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_nick_changes')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowNickChanges),expression:\"settingShowNickChanges\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowNickChanges)?_vm._i(_vm.settingShowNickChanges,null)>-1:(_vm.settingShowNickChanges)},on:{\"change\":function($event){var $$a=_vm.settingShowNickChanges,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowNickChanges=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowNickChanges=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowNickChanges=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_mode_changes')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowModeChanges),expression:\"settingShowModeChanges\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowModeChanges)?_vm._i(_vm.settingShowModeChanges,null)>-1:(_vm.settingShowModeChanges)},on:{\"change\":function($event){var $$a=_vm.settingShowModeChanges,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowModeChanges=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowModeChanges=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowModeChanges=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_formatting')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingExtraFormatting),expression:\"settingExtraFormatting\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingExtraFormatting)?_vm._i(_vm.settingExtraFormatting,null)>-1:(_vm.settingExtraFormatting)},on:{\"change\":function($event){var $$a=_vm.settingExtraFormatting,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingExtraFormatting=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingExtraFormatting=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingExtraFormatting=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('side_colours')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingColouredNicklist),expression:\"settingColouredNicklist\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingColouredNicklist)?_vm._i(_vm.settingColouredNicklist,null)>-1:(_vm.settingColouredNicklist)},on:{\"change\":function($event){var $$a=_vm.settingColouredNicklist,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingColouredNicklist=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingColouredNicklist=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingColouredNicklist=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_share_typing')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShareTyping),expression:\"settingShareTyping\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShareTyping)?_vm._i(_vm.settingShareTyping,null)>-1:(_vm.settingShareTyping)},on:{\"change\":function($event){var $$a=_vm.settingShareTyping,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShareTyping=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShareTyping=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShareTyping=$$c}}}})])])])],1),_c('tabbed-tab',{attrs:{\"header\":_vm.$t('access')}},[_c('a',{staticClass:\"u-link kiwi-sidebar-accesstab\",class:{\n 'kiwi-sidebar-accesstab--active': _vm.accessTab === 'banlist'\n },on:{\"click\":function($event){_vm.accessTab='banlist'}}},[_vm._v(\" \"+_vm._s(_vm.$t('banned'))+\" \")]),_c('a',{staticClass:\"u-link kiwi-sidebar-accesstab\",class:{\n 'kiwi-sidebar-accesstab--active': _vm.accessTab === 'invitelist'\n },on:{\"click\":function($event){_vm.accessTab='invitelist'}}},[_vm._v(\" \"+_vm._s(_vm.$t('invited'))+\" \")]),(_vm.accessTab==='banlist')?_c('channel-banlist',{attrs:{\"buffer\":_vm.buffer}}):_vm._e(),(_vm.accessTab==='invitelist')?_c('channel-invitelist',{attrs:{\"buffer\":_vm.buffer}}):_vm._e()],1),_c('tabbed-tab',{attrs:{\"header\":_vm.$t('notifications')}},[_c('buffer-settings',{attrs:{\"buffer\":_vm.buffer}})],1),_vm._l((_vm.pluginUiElements),function(item){return _c('tabbed-tab',{key:item.id,attrs:{\"header\":item.title}},[_c(item.component,_vm._b({tag:\"div\"},'div',item.props,false))],1)})],2)],1):(_vm.section === 'user')?_c('div',{staticClass:\"kiwi-sidebar-userbox\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('user-box',{attrs:{\"user\":_vm.sidebarState.sidebarUser,\"buffer\":_vm.buffer,\"network\":_vm.network}})],1):(_vm.section === 'nicklist')?_c('nicklist',{attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}):(_vm.section === 'about')?_c('sidebar-about-buffer',{attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}):_vm._e()]:(_vm.buffer.isQuery())?[(_vm.section === 'user')?_c('div',{staticClass:\"kiwi-sidebar-userbox\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('user-box',{attrs:{\"user\":_vm.sidebarState.sidebarUser,\"buffer\":_vm.buffer,\"network\":_vm.network}})],1):_vm._e()]:_vm._e()]:[_vm._v(\" \"+_vm._s(_vm.$t('side_buffer'))+\" \")]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n components: {\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: {\n network: Object\n },\n data: function data() {\n return {\n new_nick: '',\n error_message: '',\n self_user_settings_open: false\n };\n },\n computed: {\n modeString: function modeString() {\n var _context;\n\n var str = '';\n (0, _forEach.default)(_context = this.network.ircClient.user.modes).call(_context, function (mode) {\n str += mode;\n }); // Only show the + if there are modes to show\n\n if (str) {\n str = '+' + str;\n }\n\n return str;\n },\n netUser: function netUser() {\n return this.network.ircClient.user;\n },\n awayStatus: {\n get: function get() {\n return this.network.currentUser().away;\n },\n set: function set(val) {\n this.network.ircClient.raw('AWAY', val ? 'Currently away' : '');\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.listen(this.network.ircClient, 'nick in use', function (event) {\n _this.error_message = TextFormatting.t('error_nick_in_use', {\n nick: event.nick\n });\n });\n },\n methods: {\n openSelfActions: function openSelfActions() {\n this.self_user_settings_open = true;\n },\n openProfile: function openProfile() {\n this.$state.$emit('userbox.show', this.network.currentUser());\n },\n closeSelfUser: function closeSelfUser() {\n this.$emit('close');\n },\n onNewNickSubmit: function onNewNickSubmit(newVal) {\n this.new_nick = newVal;\n this.changeNick();\n },\n changeNick: function changeNick() {\n var _context2;\n\n var nick = (0, _trim.default)(_context2 = this.new_nick).call(_context2);\n\n if (nick.length === 0) {\n this.error_message = TextFormatting.t('error_empty_nick');\n return;\n }\n\n if (nick.match(/(^[0-9])|(\\s)/)) {\n this.error_message = TextFormatting.t('error_no_number');\n return;\n }\n\n this.error_message = '';\n this.network.ircClient.changeNick(nick);\n this.userNameCancel();\n },\n userNameCancel: function userNameCancel() {\n this.self_user_settings_open = false;\n },\n networkSupportsAway: function networkSupportsAway() {\n return this.network.ircClient.network.cap.isEnabled('away-notify');\n },\n checkUserAway: function checkUserAway() {\n return !!this.network.currentUser().away;\n },\n getUserFromString: function getUserFromString(name) {\n return this.$state.getUser(this.network.id, name);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SelfUser\"]\r\nwindow._kiwi_exports.components.SelfUser = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.extractBuffers = extractBuffers;\nexports.extractURL = extractURL;\nexports.stripStyles = stripStyles;\nexports.mentionsNick = mentionsNick;\nexports.queryStringVal = queryStringVal;\nexports.networkErrorMessage = networkErrorMessage;\nexports.connectionInfoFromConfig = connectionInfoFromConfig;\nexports.matchUri = matchUri;\nexports.parseIrcUri = parseIrcUri;\nexports.parsePresetServer = parsePresetServer;\nexports.dedotObject = dedotObject;\nexports.replaceObjectProps = replaceObjectProps;\nexports.dateIso = dateIso;\nexports.parseIntZero = parseIntZero;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _isNan = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/number/is-nan\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _strftime = _interopRequireDefault(require(\"strftime\"));\n\nvar _TextFormatting = require(\"./TextFormatting\");\n\nvar strftimeUTC = _strftime.default.timezone('+0');\n/**\n * Extract an array of buffers from a string, parsing multiple buffer names and channel keys\n * \"#chan,#chan2\" => 2 channels without a key\n * \"#chan,#chan2 key\" => 2 channels, the first having a key\n * \"#chan,#chan2 key1,key2\" => 2 channels, both having a key\n * \"#chan,#chan2 ,key2\" => 2 channels, the second having a key\n * @param {string} str List of buffer names and channel keys\n */\n\n\nfunction extractBuffers(str) {\n var spaceIdx = (0, _indexOf.default)(str).call(str, ' ');\n if (spaceIdx === -1) spaceIdx = str.length;\n var bufferNames = str.substr(0, spaceIdx).split(',');\n var keys = str.substr(spaceIdx + 1).split(',');\n var buffers = [];\n (0, _forEach.default)(bufferNames).call(bufferNames, function (bufferName, idx) {\n // return if bufferName is empty\n if (!(0, _trim.default)(bufferName).call(bufferName)) {\n return;\n }\n\n buffers.push({\n name: bufferName,\n key: keys[idx] || ''\n });\n });\n return buffers;\n}\n\nfunction extractURL(str) {\n var matches = str.match(_TextFormatting.urlRegex);\n return matches ? matches[0] : '';\n}\n\nfunction stripStyles(str) {\n return str.replace(/(\\x03[0-9]{0,2})?([\\x02\\x16\\x1d\\x1f]+)?/g, '');\n}\n/**\n * Does a string mention a nickname?\n * @param {string} input The string to search within\n * @param {string} nick The nick to search for\n */\n\n\nfunction mentionsNick(input, nick) {\n var _context, _context2;\n\n if ((0, _indexOf.default)(_context = input.toLowerCase()).call(_context, nick.toLowerCase()) === -1) {\n return false;\n }\n\n var punc = '\\\\s,.!:;+()\\\\[\\\\]?¿\\\\/<>@-';\n\n var escapedNick = _lodash.default.escapeRegExp(nick);\n\n var stylesStrippedInput = stripStyles(input);\n var r = new RegExp((0, _concat.default)(_context2 = \"(^|[\".concat(punc, \"])\").concat(escapedNick, \"([\")).call(_context2, punc, \"]|$)\"), 'i');\n return r.test(stylesStrippedInput);\n}\n/**\n * Get a query string value from the current URL\n * @param {string} _name The query string variable name\n * @param {string} _url The full URL to extract the variable from\n */\n\n\nfunction queryStringVal(_name, _url) {\n var url = _url || window.location.href;\n\n var name = _lodash.default.escapeRegExp(_name);\n\n var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');\n var results = regex.exec(url);\n\n if (!results) {\n return null;\n }\n\n if (!results[2]) {\n return '';\n }\n\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n}\n/**\n * Convert a known error code to a human readable message\n * @param {string} err The error message from the network connection\n */\n\n\nfunction networkErrorMessage(err) {\n var errs = {\n err_unknown_host: 'Unknown domain name or host',\n err_forbidden: 'Forbidden to connect',\n err_timeout: 'Took too long to connect',\n err_refused: 'The server refused the connection',\n err_tls: 'Could not connect securely',\n err_proxy: 'The Kiwi IRC server had an error'\n };\n return errs[err] || 'Unknown error';\n}\n/**\n * Take a users connection object (usually from startupOptions) and normalise a connection\n * settings object. Parses websocket/direct/kiwiServer/etc options and creates a single\n * object that Kiwi can consistently read from.\n * @param {Object} config User provided connection config object\n */\n\n\nfunction connectionInfoFromConfig(config) {\n var connection = {\n tls: false,\n port: 0,\n hostname: '',\n direct: false,\n direct_path: ''\n };\n var wsUri = config.websocket ? matchUri(config.websocket) : null;\n\n if (wsUri) {\n var _context3;\n\n connection.direct = true;\n connection.tls = (0, _indexOf.default)(_context3 = ['wss', 'https', 'ircs']).call(_context3, wsUri.protocol) > -1;\n connection.port = wsUri.port;\n connection.hostname = wsUri.hostname;\n connection.direct_path = wsUri.path;\n\n if (wsUri.search) {\n connection.direct_path += '?' + wsUri.search;\n }\n } else {\n connection.tls = config.tls;\n connection.port = config.port;\n connection.hostname = config.server;\n connection.direct = !!config.direct;\n connection.direct_path = config.direct_path || '';\n }\n\n return connection;\n}\n\nfunction matchUri(uri) {\n var reg = /(?:([a-z]+):\\/\\/)?([a-z.0-9-]+)(?::(?:(\\+)?([0-9]+)))?(?:\\/([^?]*))?(?:\\?(.*))?/;\n /*\n 0: \"ws://hostname.com:6676/erferf?foo=val\"\n 1: \"ws\"\n 2: \"hostname.com\"\n 3: undefined\n 4: \"6676\"\n 5: \"erferf\"\n 6: \"foo=var\"\n */\n\n var m = uri.match(reg);\n\n if (!m) {\n return null;\n }\n\n return {\n protocol: (m[1] || '').toLowerCase(),\n hostname: m[2] || '',\n port: parseIntZero(m[4] || ''),\n path: '/' + (m[5] || ''),\n search: m[6] || ''\n };\n}\n/**\n * Parse a connection string into an object\n * E.g. [ircs?://]irc.network.net:[+]6667/channel?nick=mynick;\n * Multiple connections may be given, separated by ;\n * @param {string} str The connection string URI\n */\n\n\nfunction parseIrcUri(str) {\n var _context4;\n\n var reg = /(?:(ircs?):\\/\\/)?([a-z.0-9-]+)(?::(?:(\\+)?([0-9]+)))?(?:\\/([^?]*))?(?:\\?(.*))?/;\n var connections = [];\n (0, _forEach.default)(_context4 = str.split(';')).call(_context4, function (connectionString) {\n var _context5, _context6;\n\n if (!connectionString) {\n return;\n }\n\n var m = connectionString.match(reg);\n\n if (!m) {\n return;\n }\n\n var tls = m[1] === 'ircs' || !!m[3];\n var params = (0, _create.default)(null);\n (0, _forEach.default)(_context5 = (m[6] || '').split('&')).call(_context5, function (p) {\n var parts = p.split('=');\n\n if (parts.length === 2) {\n params[parts[0].toLowerCase()] = parts[1];\n }\n });\n var channels = m[5] || params.channel || '';\n channels = (0, _map.default)(_context6 = (0, _lodash.default)(channels.split(',')).compact()).call(_context6, function (_channelName) {\n var hasPrefix = _channelName[0] === '#' || _channelName[0] === '&';\n var channelName = hasPrefix ? _channelName : '#' + _channelName;\n return channelName;\n });\n connections.push({\n tls: tls,\n server: m[2],\n port: (0, _parseInt2.default)(m[4] || (tls ? 6697 : 6667), 10),\n channels: channels,\n nick: params.nick || '',\n encoding: params.encoding || 'utf8',\n params: params\n });\n });\n return connections;\n}\n/**\n * Parse preset server string to an object\n * format: freenode|irc.freenode.net:+6697\n * @param {string} input Preset server string\n */\n\n\nfunction parsePresetServer(input) {\n var ret = {\n name: '',\n server: '',\n port: 6667,\n tls: false\n };\n\n ret.toUri = function () {\n var _context7, _context8;\n\n return (0, _concat.default)(_context7 = (0, _concat.default)(_context8 = \"\".concat(ret.server, \":\")).call(_context8, ret.tls ? '+' : '')).call(_context7, ret.port);\n };\n\n var val = input;\n var pipePos = (0, _indexOf.default)(val).call(val, '|');\n\n if (pipePos > -1) {\n ret.name = val.substr(0, pipePos);\n val = val.substr(pipePos + 1);\n }\n\n var colonPos = (0, _indexOf.default)(val).call(val, ':');\n\n if (colonPos === -1) {\n ret.server = val;\n val = '';\n } else {\n ret.server = val.substr(0, colonPos);\n val = val.substr(colonPos + 1);\n }\n\n if (val[0] === '+') {\n ret.tls = true;\n val = val.substr(1);\n }\n\n if (val.length > 0) {\n ret.port = (0, _parseInt2.default)(val, 10);\n val = '';\n }\n\n if (!ret.name) {\n ret.name = ret.server;\n }\n\n return ret;\n}\n/**\n * Scan though an object and extend any dot notated keys\n * @param {Object} confObj Source object to traverse\n */\n\n\nfunction dedotObject(confObj, _place) {\n var place = _place || [];\n var regex = /\\w\\.\\w/;\n\n _lodash.default.each(confObj, function (val, key) {\n var ourPlace = (0, _concat.default)(place).call(place, [key]);\n\n if ((0, _typeof2.default)(val) === 'object') {\n dedotObject(confObj[key], ourPlace);\n return;\n }\n\n if (regex.test(key)) {\n delete confObj[key];\n\n _lodash.default.set(confObj, ourPlace.join('.'), val);\n }\n });\n}\n/**\n * Replace the target object with source, while keeping the target object reference intact.\n * Delete all the properties from the target object and copy the properties from source\n * over to the target.\n * a = {one: 1, two: 2, three: 3}\n * b = {four: 4, five: 5, six: 6}\n * replaceObjectProps(a, b)\n * a.one === undefined;\n * a.six === 6;\n * @param {Object} target The target object that will be replaced\n * @param {Object} source The source object from which all properties will be copied from\n */\n\n\nfunction replaceObjectProps(target, source) {\n var _context9, _context10;\n\n (0, _forEach.default)(_context9 = (0, _keys.default)(target)).call(_context9, function (prop) {\n return delete target[prop];\n });\n (0, _forEach.default)(_context10 = (0, _keys.default)(source)).call(_context10, function (prop) {\n target[prop] = source[prop];\n });\n}\n/**\n * Create an ISO8601 formatted date\n * @param {Date} date The date object to create the time from. Defaults to the current time\n */\n\n\nfunction dateIso(date) {\n var d = date || new Date();\n return strftimeUTC('%Y-%m-%dT%H:%M:%S.%LZ', d);\n}\n/**\n * Cast a string to an int, returning 0 if it fails\n * @param {String} inp The number as a string to convert to an int\n */\n\n\nfunction parseIntZero(inp) {\n var int = (0, _parseInt2.default)(inp, 10);\n return (0, _isNan.default)(int) ? 0 : int;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"helpers\"]) window._kiwi_exports[\"helpers\"] = {};\nwindow._kiwi_exports[\"helpers\"][\"Misc\"]\r\nwindow._kiwi_exports.helpers.Misc = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _eventEmitter = _interopRequireDefault(require(\"event-emitter\"));\n\nvar NetworkProvider = /*#__PURE__*/function () {\n function NetworkProvider() {\n (0, _classCallCheck2.default)(this, NetworkProvider);\n (0, _eventEmitter.default)(this);\n this.providers = [];\n }\n\n (0, _createClass2.default)(NetworkProvider, [{\n key: \"addProvider\",\n value: function addProvider(provider) {\n var _this = this;\n\n this.providers.push(provider);\n provider.on('networks', function (networks) {\n _this.emit('networks', _this.availableNetworks());\n });\n }\n }, {\n key: \"availableNetworks\",\n value: function availableNetworks() {\n var _context;\n\n var networks = (0, _create.default)(null);\n (0, _forEach.default)(_context = this.providers).call(_context, function (provider) {\n var pType = provider.type;\n\n if (provider.networks.length > 0) {\n var _context2;\n\n networks[pType] = networks[pType] || [];\n networks[pType] = (0, _concat.default)(_context2 = networks[pType]).call(_context2, provider.networks);\n }\n });\n return networks;\n }\n }]);\n return NetworkProvider;\n}();\n\nexports.default = NetworkProvider;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"NetworkProvider\"]\r\nwindow._kiwi_exports.libs.NetworkProvider = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _construct = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/reflect/construct\"));\n\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/getPrototypeOf\"));\n\nvar _eventemitter = _interopRequireDefault(require(\"eventemitter3\"));\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = (0, _construct.default)(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !_construct.default) return false; if (_construct.default.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call((0, _construct.default)(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar IpcBroadcastChannel = /*#__PURE__*/function (_EventEmitter) {\n (0, _inherits2.default)(IpcBroadcastChannel, _EventEmitter);\n\n var _super = _createSuper(IpcBroadcastChannel);\n\n function IpcBroadcastChannel() {\n var _context;\n\n var _this;\n\n (0, _classCallCheck2.default)(this, IpcBroadcastChannel);\n _this = _super.call(this);\n _this.bc = new BroadcastChannel('kiwi-ipc');\n _this.bc.onmessage = (0, _bind.default)(_context = _this.onmessage).call(_context, (0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n (0, _createClass2.default)(IpcBroadcastChannel, [{\n key: \"send\",\n value: function send(msg) {\n if (this.bc) {\n this.bc.postMessage(msg);\n }\n }\n }, {\n key: \"onmessage\",\n value: function onmessage(msg) {\n this.emit('message', msg);\n }\n }]);\n return IpcBroadcastChannel;\n}(_eventemitter.default);\n\nvar IpcLocalStorage = /*#__PURE__*/function (_EventEmitter2) {\n (0, _inherits2.default)(IpcLocalStorage, _EventEmitter2);\n\n var _super2 = _createSuper(IpcLocalStorage);\n\n function IpcLocalStorage() {\n var _context2;\n\n var _this2;\n\n (0, _classCallCheck2.default)(this, IpcLocalStorage);\n _this2 = _super2.call(this);\n window.addEventListener('storage', (0, _bind.default)(_context2 = _this2.onmessage).call(_context2, (0, _assertThisInitialized2.default)(_this2)));\n return _this2;\n }\n\n (0, _createClass2.default)(IpcLocalStorage, [{\n key: \"send\",\n value: function send(msg) {\n localStorage.setItem('kiwi-ipc', (0, _stringify.default)(msg));\n localStorage.removeItem('kiwi-ipc');\n }\n }, {\n key: \"onmessage\",\n value: function onmessage(msg) {\n if (msg.key === 'kiwi-ipc' && msg.newValue) {\n try {\n var parsedMsg = {\n data: JSON.parse(msg.newValue)\n };\n this.emit('message', parsedMsg);\n } catch (e) {\n this.emit('error');\n }\n }\n }\n }]);\n return IpcLocalStorage;\n}(_eventemitter.default);\n\nvar _default = window.BroadcastChannel ? new IpcBroadcastChannel() : new IpcLocalStorage();\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"IPC\"]\r\nwindow._kiwi_exports.libs.IPC = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarAboutBuffer.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarAboutBuffer.vue?vue&type=style&index=0&lang=less&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar bufferTools = _interopRequireWildcard(require(\"@/libs/bufferTools\"));\n\nvar _BufferSettings = _interopRequireDefault(require(\"./BufferSettings\"));\n\nvar _StateBrowserBuffer = _interopRequireDefault(require(\"./StateBrowserBuffer\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n components: {\n BufferSettings: _BufferSettings.default,\n Buffer: _StateBrowserBuffer.default\n },\n props: ['network', 'sidebarState'],\n data: function data() {\n return {\n collapsed: false,\n channel_filter: '',\n channel_filter_display: false,\n channel_add_display: false,\n channel_add_input_has_focus: false,\n channel_add_input: '',\n show_channels: true,\n show_queries: true\n };\n },\n computed: {\n serverBuffer: function serverBuffer() {\n return this.network.serverBuffer();\n },\n isActiveNetwork: function isActiveNetwork() {\n return this.$state.getActiveNetwork() === this.network;\n },\n totalNetworkCount: function totalNetworkCount() {\n return this.$state.networks.length;\n },\n serverUnread: function serverUnread() {\n var _context;\n\n if (!this.collapsed) {\n return (0, _flags.default)(this.serverBuffer).unread;\n }\n\n var totalUnread = 0;\n (0, _forEach.default)(_context = this.network.buffers).call(_context, function (buffer) {\n if (buffer.isSpecial()) {\n return;\n }\n\n totalUnread += (0, _flags.default)(buffer).unread;\n });\n return totalUnread;\n },\n serverHighlight: function serverHighlight() {\n var _context2;\n\n if (!this.collapsed) {\n return (0, _flags.default)(this.serverBuffer).highlight;\n }\n\n var highlight = false;\n (0, _forEach.default)(_context2 = this.network.buffers).call(_context2, function (buffer) {\n if (buffer.isSpecial()) {\n return;\n }\n\n if ((0, _flags.default)(buffer).highlight) {\n highlight = true;\n }\n });\n return highlight;\n },\n filteredBuffers: function filteredBuffers() {\n var filter = this.channel_filter;\n var filtered = [];\n\n if (!filter) {\n filtered = this.network.buffers;\n } else {\n filtered = (0, _filter.default)(_lodash.default).call(_lodash.default, this.network.buffers, function (buffer) {\n var name = buffer.name.toLowerCase();\n return (0, _indexOf.default)(name).call(name, filter) > -1;\n });\n }\n\n return bufferTools.orderBuffers(filtered);\n },\n filteredBuffersByType: function filteredBuffersByType() {\n var _context3;\n\n var ret = {\n other: [],\n channels: [],\n queries: []\n };\n (0, _forEach.default)(_context3 = this.filteredBuffers).call(_context3, function (bufferObj) {\n if (bufferObj.isChannel()) {\n ret.channels.push(bufferObj);\n } else if (bufferObj.isQuery()) {\n ret.queries.push(bufferObj);\n } else {\n // This is buffers like *raw, *bnc, *status etc\n ret.other.push(bufferObj);\n }\n });\n return ret;\n },\n channelActivity: function channelActivity() {\n return this.activityFromBuffers(this.filteredBuffersByType.channels);\n },\n queryActivity: function queryActivity() {\n return this.activityFromBuffers(this.filteredBuffersByType.queries);\n },\n showBufferGroups: function showBufferGroups() {\n return this.$state.setting('buffers.show_buffer_groups');\n }\n },\n methods: {\n activityFromBuffers: function activityFromBuffers(buffers) {\n var totalUnread = 0;\n var highlight = false;\n (0, _forEach.default)(buffers).call(buffers, function (buffer) {\n if (buffer.isSpecial()) {\n return;\n }\n\n totalUnread += (0, _flags.default)(buffer).unread;\n\n if (!highlight && (0, _flags.default)(buffer).highlight) {\n highlight = true;\n }\n });\n return {\n highlights: highlight,\n unread: totalUnread\n };\n },\n onNewChannelInputFocus: function onNewChannelInputFocus() {\n // Auto insert the # if no value is already in. Easier for mobile users\n if (!this.channel_add_input) {\n this.channel_add_input = '#';\n }\n\n this.channel_add_input_has_focus = true;\n },\n onNewChannelInputBlur: function onNewChannelInputBlur() {\n // Remove the # since we may have auto inserted it as they tabbed past\n if (this.channel_add_input === '#') {\n this.channel_add_input = '';\n } // If nothing was entered into the input box, hide it just to clean up the UI\n\n\n if (!this.channel_add_input) {\n this.channel_add_display = false;\n }\n\n this.channel_add_input_has_focus = false;\n },\n submitNewChannelForm: function submitNewChannelForm() {\n var _this = this;\n\n var newChannelVal = this.channel_add_input;\n this.channel_add_input = '#';\n var network = this.network;\n var bufferObjs = Misc.extractBuffers(newChannelVal); // Only switch to the first channel we join if multiple are being joined\n\n var hasSwitchedActiveBuffer = false;\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj) {\n var chanName = bufferObj.name;\n var ignoreNames = ['#0', '0', '&0'];\n\n if ((0, _indexOf.default)(ignoreNames).call(ignoreNames, chanName) > -1 || chanName.replace(/[#&]/g, '') === '') {\n return;\n }\n\n var newBuffer = _this.$state.addBuffer(network.id, chanName);\n\n if (newBuffer && !hasSwitchedActiveBuffer) {\n _this.$state.setActiveBuffer(network.id, newBuffer.name);\n\n hasSwitchedActiveBuffer = true;\n }\n\n if (bufferObj.key) {\n newBuffer.key = bufferObj.key;\n }\n\n if (network.isChannelName(chanName)) {\n network.ircClient.join(chanName, bufferObj.key);\n }\n });\n },\n onChannelFilterInputBlur: function onChannelFilterInputBlur() {\n var _this2 = this;\n\n // Hacky, but if we remove the channel filter UI at this blur event and the user\n // clicked a link in this filter UI, then the click event will not hit the target\n // link as it has been removed before the event reaches it.\n (0, _setTimeout2.default)(function () {\n _this2.closeFilterChannel();\n }, 200);\n },\n showMessageCounts: function showMessageCounts(buffer) {\n return !buffer.setting('hide_message_counts');\n },\n setActiveBuffer: function switchContainer(buffer) {\n // Clear any active component to show the buffer again\n this.$state.$emit('active.component', null);\n this.$state.setActiveBuffer(buffer.networkid, buffer.name);\n\n if (this.$state.ui.is_narrow) {\n this.$state.$emit('statebrowser.hide');\n }\n },\n showNetworkSettings: function showNetworkSettings(network) {\n network.showServerBuffer('settings');\n },\n showNetworkChannels: function showNetworkChannels(network) {\n network.showServerBuffer('channels');\n },\n onSearchChannelClick: function onSearchChannelClick() {\n // If we have no other buffers than the server buffer, take them straight\n // to the channel list for searching\n if (this.network.buffers.length > 1) {\n this.toggleFilterChannel();\n } else {\n this.network.showServerBuffer('channels');\n }\n },\n toggleAddChannel: function toggleAddChannel() {\n this.channel_add_display = !this.channel_add_display;\n this.channel_filter_display = false;\n },\n toggleFilterChannel: function toggleFilterChannel() {\n this.channel_filter_display = !this.channel_filter_display;\n this.channel_add_display = false;\n },\n toggleSection: function toggleSection(type) {\n if (type === 'channels') {\n this.show_channels = !this.show_channels;\n } else if (type === 'queries') {\n this.show_queries = !this.show_queries;\n }\n },\n closeFilterChannel: function closeFilterChannel() {\n this.channel_filter = '';\n this.channel_filter_display = false;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StateBrowserNetwork\"]\r\nwindow._kiwi_exports.components.StateBrowserNetwork = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar _default = {\n components: {},\n props: ['buffer', 'message'],\n data: function data() {\n return {\n requestingInput: false\n };\n },\n computed: {},\n methods: {\n urlPreview: function urlPreview(url) {\n this.$state.$emit('mediaviewer.show', url);\n },\n areWeAnOp: function areWeAnOp() {\n var ourNick = this.buffer.getNetwork().nick;\n return this.buffer.isUserAnOp(ourNick);\n },\n isSelf: function isSelf() {\n var user = this.$state.getUser(this.buffer.getNetwork().id, this.message.nick);\n return this.buffer.getNetwork().ircClient.user.nick === user.nick;\n },\n onBan: function onBan(reason) {\n var network = this.buffer.getNetwork();\n network.ircClient.mode(this.buffer.name, '+b', this.message.nick);\n },\n onKick: function onKick(promptedReason) {\n var network = this.buffer.getNetwork();\n var defaultReason = this.$state.setting('buffers.default_kick_reason');\n var reason = promptedReason || defaultReason;\n network.ircClient.raw('KICK', this.buffer.name, this.message.nick, reason);\n },\n openQuery: function openQuery() {\n var network = this.buffer.getNetwork();\n var buffer = this.$state.addBuffer(network.id, this.message.nick);\n this.$state.setActiveBuffer(network.id, buffer.name);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageInfo\"]\r\nwindow._kiwi_exports.components.MessageInfo = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkSettings.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-container\",class:{\n /* 'kiwi-container-' + bufferType: true, */\n 'kiwi-container--sidebar-drawn': _vm.sidebarState.isDrawn,\n 'kiwi-container--sidebar-open': _vm.sidebarState.isOpen,\n 'kiwi-container--no-sidebar': _vm.buffer && _vm.buffer.isSpecial,\n}},[(_vm.buffer)?[_c('div',{staticClass:\"kiwi-container-toggledraw-statebrowser\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleStateBrowser($event)}}},[_c('div',{staticClass:\"kiwi-container-toggledraw-statebrowser-messagecount\",class:[\n _vm.unreadMessages.highlight ?\n 'kiwi-container-toggledraw-statebrowser-messagecount--highlight' :\n '' ]},[_c('span',{staticClass:\"kiwi-container-statebrowser-messagecount-alert\"},[_vm._v(\" \"+_vm._s(_vm.unreadMessages.count > 999 ? '999+' : _vm.unreadMessages.count)+\" \")]),_vm._m(0)])]),_c('container-header',{attrs:{\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}),_vm._t(\"before\"),(_vm.buffer.getNetwork().state !== 'connected' && !_vm.buffer.isServer())?_c('not-connected',{attrs:{\"buffer\":_vm.buffer,\"network\":_vm.buffer.getNetwork()}}):_vm._e(),_c('div',{staticClass:\"kiwi-container-content\"},[(_vm.buffer.isServer())?[_c('server-view',{attrs:{\"network\":_vm.network}})]:[_c('message-list',{attrs:{\"buffer\":_vm.buffer}}),(!_vm.buffer.isSpecial())?_c('sidebar',{attrs:{\"network\":_vm.network,\"buffer\":_vm.buffer,\"sidebar-state\":_vm.sidebarState}}):_vm._e()],_vm._t(\"after\")],2)]:[_c('div',{staticClass:\"kiwi-container-empty\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('container_welcome')))]),_c('a',{staticClass:\"u-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleStateBrowser($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('container_statebrowser'))+\" \")])])]],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"kiwi-container-statebrowser-messagecount-close\"},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])}]\n\nexport { render, staticRenderFns }","var render, staticRenderFns\nimport script from \"./SidebarState.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarState.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","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar Vue = require('vue');\n\nVue.component('tabbed-tab', {\n props: {\n header: {\n status: String\n },\n focus: {\n status: Boolean\n },\n name: {\n status: String\n }\n },\n data: function data() {\n return {\n active: false\n };\n },\n template: '
'\n});\n\nvar _default = Vue.component('tabbed-view', {\n data: function data() {\n return {\n // We increment this when we need to re-render the tabs.\n // Vue doesn't pick up on the $children changes all the time so we handle\n // it ourselves.\n a: 1,\n prefixID: Math.floor(Math.random() * 100000).toString(36)\n };\n },\n computed: {\n tabs: function computedtabs() {\n return this.$children;\n }\n },\n mounted: function mounted() {\n this.setActiveCheck();\n },\n methods: {\n getActive: function getActive() {\n var _context;\n\n var foundChild = null;\n (0, _forEach.default)(_context = this.$children).call(_context, function (child) {\n if (child.active) {\n foundChild = child;\n }\n });\n return foundChild;\n },\n setActive: function setActive(c) {\n var _context2;\n\n (0, _forEach.default)(_context2 = this.$children).call(_context2, function (child) {\n if (child !== c) {\n child.active = false;\n }\n });\n c.active = true; // Without this, vue doesnt update itself with the new $children :(\n\n this.a++;\n this.$emit('changed', c.name);\n },\n setActiveByName: function setActiveByName(name) {\n var _context3,\n _this = this;\n\n (0, _forEach.default)(_context3 = this.$children).call(_context3, function (child) {\n if (child.name === name) {\n _this.setActive(child);\n }\n });\n },\n setActiveCheck: function setActiveCheck() {\n var _context4,\n _this2 = this;\n\n (0, _forEach.default)(_context4 = this.$children).call(_context4, function (t) {\n if (t.focus) {\n _this2.setActive(t);\n }\n });\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"TabbedView\"]\r\nwindow._kiwi_exports.components.utils.TabbedView = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar Colours = _interopRequireWildcard(require(\"@/helpers/Colours\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n props: ['ircinput'],\n data: function data() {\n return {};\n },\n methods: {\n onColourClick: function onColourClick(event) {\n var colour = window.getComputedStyle(event.target, null).getPropertyValue('background-color'); // Convert rgb(x,x,x) to its hex form\n\n var m = colour.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\n\n if (m) {\n var rgbObj = {\n r: (0, _parseInt2.default)(m[1], 10),\n g: (0, _parseInt2.default)(m[2], 10),\n b: (0, _parseInt2.default)(m[3], 10)\n };\n colour = Colours.rgb2hex(rgbObj);\n }\n\n var code = event.target.dataset.code;\n this.ircinput.setColour(code, colour);\n },\n onResetClick: function onResetClick() {\n this.ircinput.resetStyles();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"inputtools\"]) window._kiwi_exports[\"components\"][\"inputtools\"] = {};\nwindow._kiwi_exports[\"components\"][\"inputtools\"][\"TextStyle\"]\r\nwindow._kiwi_exports.components.inputtools.TextStyle = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarAboutBuffer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarAboutBuffer.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-networksettings\"},[_c('form',{staticClass:\"u-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.connect($event)}}},[_c('div',{staticClass:\"kiwi-title\"},[_vm._v(_vm._s(_vm.$t('settings_server_details')))]),_c('div',{staticClass:\"kiwi-networksettings-section-block\"},[(_vm.network.state_error)?_c('div',{staticClass:\"kiwi-networksettings-error\"},[_vm._v(\" \"+_vm._s(_vm.$t('network_noconnect'))+\" \"),_c('span',[_vm._v(_vm._s(_vm.readableStateError(_vm.network.state_error)))])]):(_vm.network.last_error)?_c('div',{staticClass:\"kiwi-networksettings-error\"},[_c('span',[_vm._v(_vm._s(_vm.network.last_error))])]):_vm._e(),_c('captcha',{staticClass:\"kiwi-networksettings-captcha\",attrs:{\"network\":_vm.network}}),(_vm.network.editable_name)?_c('div',{staticClass:\"kiwi-networksettings-networkname\"},[_c('input-text',{attrs:{\"label\":_vm.$t('network_name')},model:{value:(_vm.network.name),callback:function ($$v) {_vm.$set(_vm.network, \"name\", $$v)},expression:\"network.name\"}})],1):_vm._e(),_c('server-selector',{attrs:{\"connection\":_vm.network.connection,\"network-list\":_vm.network_list}}),_c('div',{staticClass:\"kiwi-networksettings-connection-password\"},[(_vm.server_type==='network')?[_c('input-text',{attrs:{\"label\":_vm.$t('settings_nickname')},model:{value:(_vm.network.connection.nick),callback:function ($$v) {_vm.$set(_vm.network.connection, \"nick\", $$v)},expression:\"network.connection.nick\"}}),_c('input-text',{attrs:{\"show-plain-text\":true,\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.network.password),callback:function ($$v) {_vm.$set(_vm.network, \"password\", $$v)},expression:\"network.password\"}})]:[_c('input-text',{attrs:{\"label\":_vm.$t('username')},model:{value:(_vm.znc_username),callback:function ($$v) {_vm.znc_username=$$v},expression:\"znc_username\"}}),_c('input-text',{attrs:{\"label\":_vm.$t('network')},model:{value:(_vm.znc_network),callback:function ($$v) {_vm.znc_network=$$v},expression:\"znc_network\"}}),_c('input-text',{attrs:{\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.znc_password),callback:function ($$v) {_vm.znc_password=$$v},expression:\"znc_password\"}})]],2),_c('div',{staticClass:\"kiwi-networksettings-server-types\"},[(_vm.server_type==='znc')?_c('div',{staticClass:\"kiwi-networksettings-server-types-info\"},[_vm._v(\" \"+_vm._s(_vm.$t('settings_znc_other'))+\" \")]):_vm._e(),_c('a',{staticClass:\"u-link kiwi-network-type-button\",class:{\n 'kiwi-networksettings-server-type-active':\n _vm.server_type==='network'\n },on:{\"click\":function($event){_vm.server_type='network'}}},[_vm._v(\" \"+_vm._s(_vm.$t('network'))+\" \")]),_c('a',{staticClass:\"u-link kiwi-network-type-button\",class:{\n 'kiwi-networksettings-server-type-active': _vm.server_type==='znc'\n },on:{\"click\":function($event){_vm.server_type='znc'}}},[_vm._v(\" \"+_vm._s(_vm.$t('znc'))+\" \")])]),_c('h4',{staticClass:\"kiwi-show-advanced-title\",on:{\"click\":function($event){_vm.show_advanced=!_vm.show_advanced}}},[_vm._v(\" \"+_vm._s(_vm.$t('settings_advanced'))+\" \"),_c('i',{staticClass:\"fa\",class:['fa-caret-'+(_vm.show_advanced?'up':'down')],attrs:{\"aria-hidden\":\"true\"}})]),(_vm.show_advanced)?_c('div',{staticClass:\"kiwi-networksettings-advanced\"},[[_c('input-text',{attrs:{\"label\":_vm.$t('settings_encoding')},model:{value:(_vm.network.connection.encoding),callback:function ($$v) {_vm.$set(_vm.network.connection, \"encoding\", $$v)},expression:\"network.connection.encoding\"}}),_c('input-text',{attrs:{\"show-plain-text\":true,\"label\":_vm.$t('server_password'),\"type\":\"password\"},model:{value:(_vm.network.connection.password),callback:function ($$v) {_vm.$set(_vm.network.connection, \"password\", $$v)},expression:\"network.connection.password\"}}),_c('input-text',{attrs:{\"label\":_vm.$t('whois_realname')},model:{value:(_vm.network.gecos),callback:function ($$v) {_vm.$set(_vm.network, \"gecos\", $$v)},expression:\"network.gecos\"}}),_c('label',[_c('span',{staticClass:\"kiwi-appsettings-showraw-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('settings_show_raw'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowRaw),expression:\"settingShowRaw\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowRaw)?_vm._i(_vm.settingShowRaw,null)>-1:(_vm.settingShowRaw)},on:{\"change\":function($event){var $$a=_vm.settingShowRaw,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowRaw=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowRaw=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowRaw=$$c}}}})]),_c('label',[_c('span',{staticClass:\"kiwi-appsettings-showraw-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('settings_use_websocket'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.network.connection.direct),expression:\"network.connection.direct\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.network.connection.direct)?_vm._i(_vm.network.connection.direct,null)>-1:(_vm.network.connection.direct)},on:{\"change\":function($event){var $$a=_vm.network.connection.direct,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.network.connection, \"direct\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.network.connection, \"direct\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.network.connection, \"direct\", $$c)}}}}),(_vm.network.connection.direct)?_c('input-text',{model:{value:(_vm.directWs),callback:function ($$v) {_vm.directWs=$$v},expression:\"directWs\"}}):_vm._e()],1),_c('label',{staticClass:\"u-form-block\"},[_c('input-text',{attrs:{\"label\":_vm.$t('settings_autorun'),\"type\":\"textarea\"},model:{value:(_vm.network.auto_commands),callback:function ($$v) {_vm.$set(_vm.network, \"auto_commands\", $$v)},expression:\"network.auto_commands\"}})],1)]],2):_vm._e(),_c('captcha',{staticClass:\"kiwi-notconnected-captcha\",attrs:{\"network\":_vm.network}}),(_vm.network.state === 'disconnected')?_c('button',{staticClass:\"u-button kiwi-connect-to-newnetwork\",on:{\"click\":function($event){return _vm.connect()}}},[_vm._v(\" \"+_vm._s(_vm.$t('network_connect'))+\" \")]):(_vm.network.state === 'connecting')?_c('button',{staticClass:\"u-button kiwi-connect-to-newnetwork\",attrs:{\"disabled\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \")]):_vm._e()],1),_c('div',{staticClass:\"kiwi-dangerzone\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_danger')))]),_c('a',{staticClass:\"u-button u-button-warning\",on:{\"click\":_vm.removeNetwork}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('settings_remove'))+\" \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.showCaptcha)?_c('div',{ref:\"captchacontainer\"}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UrlEmbed.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UrlEmbed.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Emoji.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Emoji.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChannelBanlist.vue?vue&type=template&id=7eabc099&\"\nimport script from \"./ChannelBanlist.vue?vue&type=script&lang=js&\"\nexport * from \"./ChannelBanlist.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChannelBanlist.vue?vue&type=style&index=0&lang=less&\"\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","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.orderBuffers = orderBuffers;\nexports.orderedMessages = orderedMessages;\nexports.getNextBuffer = getNextBuffer;\nexports.getPreviousBuffer = getPreviousBuffer;\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _includes = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/includes\"));\n\nvar _reverse = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reverse\"));\n\nvar _findIndex = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find-index\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nfunction orderBuffers(buffers) {\n // Since vuejs will sort in-place and update views when .sort is called\n // on an array, clone it first so that we have a plain array to sort\n var list = (0, _map.default)(buffers).call(buffers, function (b) {\n return b;\n });\n list = (0, _filter.default)(_lodash.default).call(_lodash.default, list, function (buffer) {\n return !buffer.isServer();\n });\n list = (0, _sort.default)(list).call(list, function (a, b) {\n var order = 0;\n\n if (a.isChannel() && b.isQuery()) {\n order = -1;\n } else if (a.isQuery() && b.isChannel()) {\n order = 1;\n } else {\n order = a.name.localeCompare(b.name);\n }\n\n return order;\n });\n return list;\n}\n\nfunction orderedMessages(buffer) {\n var _context;\n\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var network = buffer.getNetwork();\n var currentNick = network.nick;\n var bufferMessages = buffer.getMessages(); // Hack; We need to make vue aware that we depend on buffer.message_count in order to\n // get the messagelist to update its DOM, as the change of message_count alerts\n // us that the messages have changed. This is done so that vue does not have to make\n // every emssage reactive which gets very expensive.\n\n /* eslint-disable no-unused-vars */\n\n var ignoredVar = buffer.message_count;\n var messages = [];\n\n if (opts.inPlace) {\n messages = bufferMessages;\n } else {\n messages = (0, _slice.default)(bufferMessages).call(bufferMessages, 0, bufferMessages.length);\n }\n\n (0, _sort.default)(messages).call(messages, function (a, b) {\n if (a.time > b.time) {\n return 1;\n } else if (b.time > a.time) {\n return -1;\n }\n\n return a.instance_num > b.instance_num ? 1 : -1;\n });\n\n if (opts.noFilter) {\n return messages;\n }\n\n var messageTypesToShowSetting = {\n // message.type: 'settings_name'\n traffic: 'show_joinparts',\n topic: 'show_topics',\n nick: 'show_nick_changes',\n mode: 'show_mode_changes',\n presence: 'show_presence_changes'\n };\n var hiddenMessageTypes = (0, _filter.default)(_context = (0, _keys.default)(messageTypesToShowSetting)).call(_context, function (type) {\n return !buffer.setting(messageTypesToShowSetting[type]);\n });\n var list = [];\n\n for (var i = messages.length - 1; i >= 0; i--) {\n // don't include hidden message types\n if ((0, _includes.default)(hiddenMessageTypes).call(hiddenMessageTypes, messages[i].type)) {\n continue;\n } // Ignored users have the ignore flag set\n\n\n if (messages[i].ignore) {\n continue;\n } // Don't show the first connection message. Channels are only interested in\n // the joining message at first. Dis/connection messages are only relevant here\n // if the dis/connection happens between messages (during a conversation)\n\n\n if (messages[i].type === 'connection' && i === 0) {\n continue;\n } // When we join a channel the topic is usually sent next. But this looks\n // ugly when rendered. So we switch the topic + join messages around so\n // that the topic is first in the message list.\n\n\n if (messages[i].type === 'topic' && messages[i - 1] && messages[i - 1].type === 'traffic' && messages[i - 1].nick === currentNick) {\n list.push(messages[i - 1]);\n list.push(messages[i]);\n i--;\n } else {\n list.push(messages[i]);\n }\n }\n\n return (0, _reverse.default)(list).call(list);\n}\n\nfunction getNextBuffer() {\n return getBufferFromDirection(1);\n}\n\nfunction getPreviousBuffer() {\n return getBufferFromDirection(-1);\n}\n\nfunction getBufferFromDirection(direction) {\n var state = (0, _state.default)();\n var network = state.getActiveNetwork();\n var buffer = state.getActiveBuffer();\n\n if (!network || !buffer) {\n return null;\n }\n\n var ordered = orderBuffers(network.buffers);\n var index = (0, _findIndex.default)(_lodash.default).call(_lodash.default, ordered, ['name', buffer.name]) + direction;\n\n if (index >= ordered.length || index < 0) {\n network = getNetworkFromDirection(direction);\n ordered = orderBuffers(network.buffers);\n buffer = direction === 1 ? ordered[0] : ordered[ordered.length - 1];\n } else {\n buffer = ordered[index];\n }\n\n return buffer;\n}\n\nfunction getNetworkFromDirection(direction) {\n var state = (0, _state.default)();\n var network = state.getActiveNetwork();\n\n for (var i = 0; i < state.networks.length; i++) {\n var index = (0, _findIndex.default)(_lodash.default).call(_lodash.default, state.networks, ['id', network.id]) + direction;\n\n if (index >= state.networks.length && state.networks.length >= 0) {\n network = state.networks[0];\n } else if (index < 0) {\n network = state.networks[state.networks.length - 1];\n } else {\n network = state.networks[index];\n }\n\n if (network.buffers.length > 1) {\n return network;\n }\n }\n\n return network;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"bufferTools\"]\r\nwindow._kiwi_exports.libs.bufferTools = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZncLogin.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZncLogin.vue?vue&type=script&lang=js&\"","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _values = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/values\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar IrcdDiffs = _interopRequireWildcard(require(\"@/helpers/IrcdDiffs\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nfunction inviteListSorter(a, b) {\n var aMask = a.invited.toUpperCase();\n var bMask = b.invited.toUpperCase();\n\n if (aMask < bMask) {\n return -1;\n }\n\n if (aMask > bMask) {\n return 1;\n }\n\n return 0;\n}\n\nvar _default = {\n props: ['buffer'],\n data: function data() {\n return {\n inviteList: [],\n is_refreshing: false\n };\n },\n computed: {\n supportsAccounts: function supportsAccounts() {\n return !!this.extban;\n },\n extban: function extban() {\n return IrcdDiffs.extbanAccount(this.buffer.getNetwork());\n },\n inviteListAccounts: function inviteListAccounts() {\n var _context,\n _this = this;\n\n var accounts = (0, _filter.default)(_context = this.inviteList).call(_context, function (i) {\n var _context2;\n\n return (0, _indexOf.default)(_context2 = i.invited).call(_context2, _this.extban) === 0;\n });\n (0, _sort.default)(accounts).call(accounts, inviteListSorter);\n return accounts;\n },\n inviteListNonAccounts: function inviteListNonAccounts() {\n var _this2 = this;\n\n var invites = []; // If the ircd doesn't support accounts extban type, consider every invex non-account\n\n if (!this.supportsAccounts) {\n invites = this.inviteList;\n } else {\n var _context3;\n\n invites = (0, _filter.default)(_context3 = this.inviteList).call(_context3, function (i) {\n var _context4;\n\n return (0, _indexOf.default)(_context4 = i.invited).call(_context4, _this2.extban) !== 0;\n });\n }\n\n (0, _sort.default)(invites).call(invites, inviteListSorter);\n return invites;\n },\n channelIsInviteOnly: function channelIsInviteOnly() {\n return typeof this.buffer.modes.i !== 'undefined';\n },\n anyRegisteredUserCanJoin: function anyRegisteredUserCanJoin() {\n var _context5;\n\n if (!this.supportsAccounts) {\n return false;\n }\n\n if (!this.channelIsInviteOnly) {\n return false;\n }\n\n var extban = this.extban; // Find any invite that only consists of the extban and nothing else. Eg. '~a:'\n\n return !!(0, _find.default)(_context5 = this.inviteListAccounts).call(_context5, function (invite) {\n return invite.invited === extban + ':';\n });\n },\n areWeAnOp: function areWeAnOp() {\n return this.buffer.isUserAnOp(this.buffer.getNetwork().nick);\n },\n knownAccounts: function knownAccounts() {\n var _context6, _context7;\n\n // Get an array of every account name we're aware of on the network, excluding\n // the ones we already have in our invite list\n var users = this.buffer.getNetwork().users;\n var extban = this.extban;\n var inviteAccountNames = (0, _map.default)(_context6 = this.inviteListAccounts).call(_context6, function (i) {\n var mask = i.invited;\n return mask.replace(extban + ':', '');\n });\n var accountUsers = [];\n (0, _forEach.default)(_context7 = (0, _values.default)(users)).call(_context7, function (user) {\n if (user.account && (0, _indexOf.default)(inviteAccountNames).call(inviteAccountNames, user.account) === -1) {\n accountUsers.push(user);\n }\n });\n return _lodash.default.orderBy(accountUsers, ['account', 'nick']);\n }\n },\n created: function created() {\n this.updateInvitelist();\n },\n methods: {\n displayMask: function displayMask(invite) {\n var display = invite.invited.replace(this.extban + ':', '');\n display = display || this.$t('invite_any_registered');\n return display;\n },\n updateInvitelist: function updateInvitelist() {\n var _this3 = this;\n\n if (this.buffer.getNetwork().state !== 'connected' || this.is_refreshing) {\n return;\n }\n\n var channelName = this.buffer.name;\n this.is_refreshing = true;\n this.buffer.getNetwork().ircClient.inviteList(channelName, function (inviteEvent) {\n if (inviteEvent) {\n _this3.inviteList = inviteEvent.invites;\n } else {\n _this3.inviteList = [];\n }\n\n _this3.is_refreshing = false;\n });\n },\n removeInvite: function removeInvite(mask) {\n var _context8;\n\n var channelName = this.buffer.name;\n this.buffer.getNetwork().ircClient.removeInvite(channelName, mask);\n this.inviteList = (0, _filter.default)(_context8 = this.inviteList).call(_context8, function (invite) {\n return invite.invited !== mask;\n });\n },\n addAccountInvite: function addAccountInvite(accountName) {\n var _context9;\n\n if (!accountName) {\n return;\n }\n\n var network = this.buffer.getNetwork();\n network.ircClient.addInvite(this.buffer.name, (0, _concat.default)(_context9 = \"\".concat(this.extban, \":\")).call(_context9, accountName));\n this.updateInvitelist();\n },\n addInvite: function addInvite(mask) {\n var network = this.buffer.getNetwork();\n network.ircClient.addInvite(this.buffer.name, mask);\n this.updateInvitelist();\n },\n setInviteOnly: function setInviteOnly() {\n this.buffer.getNetwork().ircClient.mode(this.buffer.name, '+i');\n },\n removeInviteOnly: function removeInviteOnly() {\n this.buffer.getNetwork().ircClient.mode(this.buffer.name, '-i');\n }\n }\n};\nexports.default = _default;","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlInput.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('startup-layout',{ref:\"layout\",staticClass:\"kiwi-startbnc\",scopedSlots:_vm._u([{key:\"connection\",fn:function(){return [_c('form',{staticClass:\"kiwi-startbnc-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.startUp($event)}}},[_c('h2',{domProps:{\"innerHTML\":_vm._s(_vm.greetingText)}}),_c('div',{staticClass:\"kiwi-startbnc-status\"},[_vm._v(_vm._s(_vm.statusMessage))]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('username')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],attrs:{\"disabled\":_vm.loading,\"type\":\"text\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}})]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('password')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"disabled\":_vm.loading,\"type\":\"password\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}})]),_c('button',{staticClass:\"u-button u-button-primary u-submit\",attrs:{\"disabled\":_vm.loading || !_vm.username || !_vm.password,\"type\":\"submit\"}},[(!_vm.loading)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.buttonText)}}):_c('i',{staticClass:\"fa fa-spinner fa-spin\",attrs:{\"aria-hidden\":\"true\"}})])])]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _reduce = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reduce\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _lodash = require(\"lodash\");\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _default = render;\nexports.default = _default;\n\nfunction render(blocks, renderEmoticons) {\n var state = (0, _state.default)();\n var emojiLocation = state.setting('emojiLocation');\n var showEmoticons = typeof renderEmoticons === 'undefined' ? state.setting('buffers.show_emoticons') : !!renderEmoticons;\n var retHtml = (0, _reduce.default)(blocks).call(blocks, function (html, block, i) {\n var _context;\n\n // a\n var style = '';\n var classes = '';\n (0, _forEach.default)(_context = (0, _keys.default)(block.styles)).call(_context, function (s) {\n if (s === 'underline') {\n style += 'text-decoration:underline;';\n } else if (s === 'bold') {\n style += 'font-weight:bold;';\n } else if (s === 'italic') {\n style += 'font-style:italic;';\n } else if (s === 'quote') {\n classes += 'kiwi-formatting-extras-quote ';\n } else if (s === 'block') {\n classes += 'kiwi-formatting-extras-block ';\n } else if (s === 'color') {\n classes += \"irc-fg-colour-\".concat(block.styles[s], \" \");\n } else if (s === 'background') {\n classes += \"irc-bg-colour-\".concat(block.styles[s], \" \");\n }\n });\n var content;\n\n switch (block.type) {\n case 'url':\n content = linkifyUrl(block, {\n addHandle: state.setting('buffers.show_link_previews'),\n handleClass: 'fa fa-share-square u-link kiwi-messagelist-message-linkhandle'\n });\n break;\n\n case 'user':\n content = linkifyUser(block);\n break;\n\n case 'channel':\n content = linkifyChannel(block);\n break;\n\n case 'emoji':\n content = addEmoji(block, blocks.length === 1, emojiLocation, showEmoticons);\n break;\n\n default:\n content = (0, _lodash.escape)(block.content);\n }\n\n return html + buildSpan(content, classes, style);\n }, '');\n return \"\".concat(retHtml);\n}\n\nfunction linkifyUrl(block, _opts) {\n var _context2;\n\n var opts = _opts || {};\n var nice = ''; // Shorten the displayed URL if it's going to be too long\n\n if (block.content.length > 100) {\n nice = (0, _lodash.escape)(block.content.substr(0, 100)) + '...';\n } else {\n nice = (0, _lodash.escape)(block.content);\n } // Make the link clickable\n\n\n var href = block.meta.url.replace(/\"/g, '%22');\n var out = (0, _concat.default)(_context2 = \"\")).call(_context2, nice, \"\");\n\n if (opts.addHandle) {\n var _context3, _context4;\n\n var cssClass = opts.handleClass || '';\n var content = opts.handleContent || '';\n out += (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = \"\")).call(_context3, content, \"\");\n }\n\n return out;\n}\n\nfunction linkifyUser(block) {\n var escaped = (0, _lodash.escape)(block.meta.user);\n var colour = block.meta.colour;\n return \"\".concat(escaped, \"\");\n}\n\nfunction linkifyChannel(block) {\n var _context5;\n\n return (0, _concat.default)(_context5 = \"\")).call(_context5, (0, _lodash.escape)(block.content), \"\");\n}\n\nfunction addEmoji(block, isSingle, emojiLocation, showEmoticons) {\n var _context6, _context7, _context8, _context9;\n\n if (!showEmoticons) {\n return block.content;\n }\n\n var emoji = block.meta.emoji;\n var classes = 'kiwi-messagelist-emoji' + (isSingle ? ' kiwi-messagelist-emoji--single' : '');\n var src = (0, _concat.default)(_context6 = \"\".concat(emojiLocation)).call(_context6, emoji, \".png\");\n return (0, _concat.default)(_context7 = (0, _concat.default)(_context8 = (0, _concat.default)(_context9 = \"\\\"\")).call(_context8,\");\n}\n\nfunction buildSpan(content, classes, style) {\n if (style === '' && classes === '') {\n return content;\n }\n\n return '\".concat(content, \"\");\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nif(!window._kiwi_exports[\"libs\"][\"renderers\"]) window._kiwi_exports[\"libs\"][\"renderers\"] = {};\nwindow._kiwi_exports[\"libs\"][\"renderers\"][\"Html\"]\r\nwindow._kiwi_exports.libs.renderers.Html = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public'; // What settings keys to ignore when building period delimited settings object\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.buildTree = buildTree;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar ignoreKeys = ['emojis', 'themes', 'bnc', 'aliases', 'restricted', 'kiwiServer', 'hide_advanced', 'windowTitle', 'startupOptions', 'plugins', 'presetNetworks', 'ircFramework']; // Converts settings object to period delimited key based object\n// eg { buffers.alert_on: false }\n\nfunction buildTree(data, base, object, modified) {\n var _context;\n\n (0, _forEach.default)(_context = (0, _keys.default)(object)).call(_context, function (key) {\n var _context2;\n\n var value = object[key];\n var ourBase = (0, _concat.default)(base).call(base, [key]);\n\n if ((0, _indexOf.default)(_context2 = ['string', 'boolean', 'number']).call(_context2, (0, _typeof2.default)(value)) !== -1) {\n if ((0, _indexOf.default)(ignoreKeys).call(ignoreKeys, key) !== -1 || (ourBase[0] && (0, _indexOf.default)(ignoreKeys).call(ignoreKeys, ourBase[0])) !== -1) {\n return;\n }\n\n if (!data[ourBase.join('.')] || data[ourBase.join('.')].val !== value) {\n data[ourBase.join('.')] = {\n key: ourBase.join('.'),\n val: value,\n type: (0, _typeof2.default)(value),\n modified: modified\n };\n }\n } else if ((0, _typeof2.default)(value) === 'object' && value !== null) {\n buildTree(data, ourBase, value, modified);\n }\n });\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"settingTools\"]\r\nwindow._kiwi_exports.libs.settingTools = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoComplete.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoComplete.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _Captcha = _interopRequireDefault(require(\"@/components/Captcha\"));\n\nvar _default = {\n components: {\n Captcha: _Captcha.default\n },\n props: ['buffer', 'network'],\n data: function data() {\n return {\n forceLoader: false\n };\n },\n computed: {\n netStatus: function netStatus() {\n return this.buffer.getNetwork().state;\n },\n shouldShowLoading: function shouldShowLoading() {\n this.maybeForceLoader();\n\n if (this.network.state !== 'disconnected' || this.forceLoader) {\n return true;\n }\n\n return false;\n },\n restrictedServer: function restrictedServer() {\n return this.$state.setting('restricted');\n },\n readyToStart: function readyToStart() {\n return true;\n }\n },\n methods: {\n maybeForceLoader: function maybeForceLoader() {\n var _this = this;\n\n // The connection can fail almost imediately making it look like\n // the connection attempt didn't try anything. Make the connection\n // loder stay visible for at elast X seconds to indicate it's actually\n // tried something.\n var minimumLoaderViewtime = 2000;\n var networkState = this.network.state;\n\n if (networkState !== 'disconnected' && !this.forceLoader) {\n this.forceLoader = true;\n (0, _setTimeout2.default)(function () {\n _this.forceLoader = false;\n }, minimumLoaderViewtime);\n }\n },\n isChannel: function isChannel() {\n return this.buffer.isChannel();\n },\n isServer: function isServer() {\n return this.buffer.isServer();\n },\n isQuery: function isQuery() {\n return this.buffer.isQuery();\n },\n reconnect: function reconnect() {\n if (!this.readyToStart) {\n return;\n }\n\n if (this.buffer.isChannel()) {\n this.buffer.enabled = true;\n }\n\n this.buffer.getNetwork().ircClient.connect();\n },\n showNetworkSettings: function showNetworkSettings() {\n var network = this.buffer.getNetwork();\n network.showServerBuffer('settings');\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"NotConnected\"]\r\nwindow._kiwi_exports.components.NotConnected = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageCompact.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageCompact.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar settingTools = _interopRequireWildcard(require(\"@/libs/settingTools\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n data: function data() {\n return {\n filterString: ''\n };\n },\n computed: {\n filteredSettings: function filteredSettings() {\n var _context;\n\n var settings = this.settings;\n var filter = this.filterString.toLowerCase();\n var out = [];\n (0, _forEach.default)(_context = (0, _keys.default)(settings)).call(_context, function (key) {\n var _context2;\n\n var value = settings[key];\n\n if ((0, _indexOf.default)(_context2 = value.key.toLowerCase()).call(_context2, filter) !== -1) {\n out.push(value);\n }\n });\n return out;\n },\n settings: function settings() {\n var _context3;\n\n var out = {};\n var base = [];\n settingTools.buildTree(out, base, this.$state.getSetting('settings'), false);\n settingTools.buildTree(out, base, this.$state.getSetting('user_settings'), true);\n return _lodash.default.orderBy((0, _map.default)(_context3 = (0, _keys.default)(out)).call(_context3, function (key) {\n return out[key];\n }), [function (o) {\n return o.key.split('.').length - 1;\n }, 'key'], ['asc']);\n }\n },\n methods: {\n resetValue: function resetValue(event, settingKey) {\n var newVal = this.$state.getSetting('settings.' + settingKey);\n\n if (!newVal) {\n newVal = null;\n }\n\n this.$state.setting(settingKey, newVal);\n },\n updateSetting: function updateSetting(event, settingKey) {\n var target = event.target;\n var val = target.type === 'checkbox' ? target.checked : target.value;\n\n switch (target.type) {\n case 'checkbox':\n val = target.checked;\n break;\n\n case 'number':\n val = (0, _parseInt2.default)(target.value, 10);\n break;\n\n default:\n val = target.value;\n break;\n }\n\n if (this.$state.setting(settingKey) === val) {\n return;\n }\n\n this.$state.setting(settingKey, val);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SettingsAdvanced\"]\r\nwindow._kiwi_exports.components.SettingsAdvanced = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\nvar methods = {\n props: {},\n status: function status(props) {\n // let props = this.props;\n if (!props.user || !props.buffer) {\n return '';\n }\n\n return props.user.typingStatus(props.buffer.name).status;\n }\n};\nvar _default = {\n props: {\n user: Object,\n buffer: Object\n },\n m: methods\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"TypingStatusIndicator\"]\r\nwindow._kiwi_exports.components.TypingStatusIndicator = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-aboutbuffer\"},[_c('h3',[_vm._v(_vm._s(_vm.b.name))]),_c('div',{staticClass:\"kiwi-aboutbuffer-section\",class:{'kiwi-aboutbuffer-section--closed': _vm.closedSections.about}},[_c('h4',{on:{\"click\":function($event){return _vm.toggleSection('about')}}},[_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"+_vm._s(_vm.$t('about'))+\" \")]),_c('div',[(_vm.b.topic)?_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.formattedTopic)}}):_c('p',[_vm._v(_vm._s(_vm.$t('no_topic_set')))]),(_vm.b.created_at)?_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('created_at', { when: new Intl.DateTimeFormat().format(_vm.b.created_at) }))+\" \")]):_vm._e(),_c('p',{staticClass:\"kiwi-aboutbuffer-usercount\"},[_c('a',{staticClass:\"u-link \",on:{\"click\":function($event){return _vm.sidebarState.showNicklist()}}},[_vm._v(\" \"+_vm._s(_vm.$t('person', {count: Object.keys(_vm.b.users || {}).length}))+\" \")])])])]),_c('div',{staticClass:\"kiwi-aboutbuffer-section\",class:{'kiwi-aboutbuffer-section--closed': _vm.closedSections.highlights}},[_c('h4',{on:{\"click\":function($event){return _vm.toggleSection('highlights')}}},[_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"+_vm._s(_vm.$t('highlights'))+\" \")]),_c('div',[(_vm.highlights.length > 0)?_c('ul',_vm._l((_vm.highlights),function(msg){return _c('li',{key:msg.id,staticClass:\"kiwi-aboutbuffer-highlight\",on:{\"click\":function($event){return _vm.buffer.scrollToMessage(msg.id)}}},[_vm._v(\" \"+_vm._s(msg.nick ? msg.nick + ': ' : '')),_c('span',{domProps:{\"innerHTML\":_vm._s(msg.html)}})])}),0):_c('p',[_vm._v(_vm._s(_vm.$t('nobody_mentioned_you')))])])]),_vm._l((_vm.pluginUiSections),function(plugin){return _c('div',{key:plugin.id,staticClass:\"kiwi-aboutbuffer-section\",class:{'kiwi-aboutbuffer-section--closed': _vm.closedSections[plugin.id]}},[_c('h4',{on:{\"click\":function($event){return _vm.toggleSection(plugin.id)}}},[_c('i',{staticClass:\"fa fa-angle-right\"}),_vm._v(\" \"+_vm._s(plugin.args.title)+\" \")]),_c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(plugin.el),expression:\"plugin.el\"}]})])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"u-tabbed-view\"},[_c('div',{key:_vm.prefixID + _vm.a,staticClass:\"u-tabbed-view-tabs\"},_vm._l((_vm.tabs),function(c){return _c('a',{key:c.name || c.header,class:{\n 'u-tabbed-view-tab': true,\n 'u-tabbed-view-tab--active': c.active\n },on:{\"click\":function($event){return _vm.setActive(c)}}},[_vm._v(_vm._s(c.header))])}),0),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n/** @module */\n\nvar _typeof3 = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = chathistoryMiddleware;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * Adds the CHATHISTORY IRCv3 spec to irc-framework\n */\nfunction chathistoryMiddleware() {\n return function middleware(client, rawEvents, parsedEvents) {\n client.requestCap('draft/chathistory');\n addFunctionsToClient(client);\n parsedEvents.use(theMiddleware);\n };\n\n function theMiddleware(command, event, client, next) {\n if (command.toLowerCase() === 'batch end chathistory' && client.chathistory) {\n var target = event.params[0];\n client.chathistory.batchCallbacks.resolve(target, event);\n }\n\n if (command.toLowerCase() === 'fail' && event.params[0].toLowerCase() === 'chathistory') {\n // FAIL CHATHISTORY MESSAGE_ERROR the_given_command #target :Messages could not be ...\n if (event.params[1].toLowerCase() === 'message_error') {\n client.chathistory.batchCallbacks.resolve(event.params[3]);\n }\n }\n\n next();\n }\n}\n\nfunction addFunctionsToClient(client) {\n var history = client.chathistory = {};\n history.batchCallbacks = {\n callbacks: (0, _create.default)(null),\n add: function add(target, cb) {\n this.callbacks[target.toLowerCase()] = this.callbacks[target.toLowerCase()] || [];\n this.callbacks[target.toLowerCase()].push(cb);\n },\n resolve: function resolve(target, value) {\n var cbs = this.callbacks[target.toLowerCase()] || [];\n delete this.callbacks[target.toLowerCase()];\n (0, _forEach.default)(cbs).call(cbs, function (cb) {\n return cb(value);\n });\n },\n targetCallbacks: function targetCallbacks(target) {\n return this.callbacks[target.toLowerCase()];\n }\n };\n\n history.isSupported = function () {\n return !!client.network.supports('draft/chathistory');\n };\n\n history.before = function (target, dateOrTime) {\n return new _promise.default(function (resolve) {\n if (!history.isSupported()) {\n resolve();\n return;\n }\n\n client.raw('CHATHISTORY', 'BEFORE', target, messageReference(dateOrTime), '50');\n history.batchCallbacks.add(target, resolve);\n });\n };\n\n history.after = function (target, dateOrTime) {\n return new _promise.default(function (resolve) {\n if (!history.isSupported()) {\n resolve();\n return;\n }\n\n client.raw('CHATHISTORY', 'AFTER', target, messageReference(dateOrTime), '50');\n history.batchCallbacks.add(target, resolve);\n });\n };\n\n history.latest = function (target, dateOrTime) {\n return new _promise.default(function (resolve) {\n if (!history.isSupported()) {\n resolve();\n return;\n }\n\n client.raw('CHATHISTORY', 'LATEST', target, messageReference(dateOrTime), '50');\n history.batchCallbacks.add(target, resolve);\n });\n };\n\n history.around = function (target, dateOrTime) {\n return new _promise.default(function (resolve) {\n if (!history.isSupported()) {\n resolve();\n return;\n }\n\n client.raw('CHATHISTORY', 'AROUND', target, messageReference(dateOrTime), '50');\n history.batchCallbacks.add(target, resolve);\n });\n };\n\n history.between = function (target, fromDateOrTime, toDateOrTime) {\n return new _promise.default(function (resolve) {\n if (!history.isSupported()) {\n resolve();\n return;\n }\n\n var fromRef = messageReference(fromDateOrTime);\n var toRef = messageReference(toDateOrTime);\n client.raw('CHATHISTORY', 'BETWEEN', target, fromRef, toRef, 50);\n history.batchCallbacks.add(target, resolve);\n });\n };\n\n function messageReference(inp) {\n if ((0, _typeof2.default)(inp) === 'object') {\n return 'timestamp=' + Misc.dateIso(inp);\n }\n\n if (inp === '*') {\n return '*';\n }\n\n return 'msgid=' + inp;\n }\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"ChathistoryMiddleware\"]\r\nwindow._kiwi_exports.libs.ChathistoryMiddleware = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./SidebarAboutBuffer.vue?vue&type=template&id=ce12e04e&\"\nimport script from \"./SidebarAboutBuffer.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarAboutBuffer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SidebarAboutBuffer.vue?vue&type=style&index=0&lang=less&\"\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 { render, staticRenderFns } from \"./MessageInfo.vue?vue&type=template&id=c93eacc8&\"\nimport script from \"./MessageInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageInfo.vue?vue&type=style&index=0&lang=css&\"\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 (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"kiwi-avatar\",class:[_vm.$options.m.hasAvatar(_vm.props) ? 'kiwi-avatar--image' : '', _vm.data.staticClass],attrs:{\"data-nick\":_vm.props.message&&_vm.props.message.nick}},[_c('span',{staticClass:\"kiwi-avatar-inner\",class:{'kiwi-avatar--default': _vm.$options.m.isDefault(_vm.props)},style:(_vm.$options.m.avatarStyle(_vm.props))},[_vm._v(\" \"+_vm._s(_vm.$options.m.hasAvatar(_vm.props) ? '' : _vm.$options.m.firstNickLetter(_vm.props))+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-selfuser kiwi-theme-bg\"},[(!_vm.self_user_settings_open)?_c('div',{staticClass:\"kiwi-selfuser-mask\"},[_c('span',{staticClass:\"kiwi-selfuser-nick\"},[_c('away-status-indicator',{attrs:{\"network\":_vm.network,\"user\":_vm.network.currentUser()}}),_vm._v(\" \"+_vm._s(_vm.network.nick)+\" \"),_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.closeSelfUser()}}}),_c('i',{staticClass:\"fa fa-pencil\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.openSelfActions()}}}),_c('i',{staticClass:\"fa fa-user\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.openProfile()}}})],1),_c('span',{staticClass:\"kiwi-selfuser-host\"},[_vm._v(\" \"+_vm._s(_vm.netUser.username)+\"@\"+_vm._s(_vm.netUser.host)+\" ( \"+_vm._s(_vm.modeString)+\" ) \")]),(_vm.networkSupportsAway())?_c('div',{staticClass:\"u-form kiwi-away-checkbox-form\"},[_c('label',{staticClass:\"kiwi-selfuser-away-label\"},[_c('span',[_vm._v(_vm._s(_vm.$t('away')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.awayStatus),expression:\"awayStatus\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.awayStatus)?_vm._i(_vm.awayStatus,null)>-1:(_vm.awayStatus)},on:{\"change\":function($event){var $$a=_vm.awayStatus,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.awayStatus=$$a.concat([$$v]))}else{$$i>-1&&(_vm.awayStatus=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.awayStatus=$$c}}}})])]):_vm._e()]):_c('div',{staticClass:\"kiwi-selfuser-actions\"},[_c('form',{staticClass:\"u-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.changeNick($event)},\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }_vm.self_user_settings_open = false}}},[_c('input-prompt',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"label\":_vm.$t('enter_new_nick'),\"noprompt\":true,\"block\":true},on:{\"submit\":_vm.onNewNickSubmit,\"cancel\":function($event){_vm.self_user_settings_open = false}}})],1),(_vm.error_message)?_c('div',{staticClass:\"kiwi-selfuser-error-message\"},[_vm._v(_vm._s(_vm.error_message))]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageModern.vue?vue&type=style&index=0&id=fe3ccb9c&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageModern.vue?vue&type=style&index=0&id=fe3ccb9c&lang=less&scoped=true&\"","import { render, staticRenderFns } from \"./InputPrompt.vue?vue&type=template&id=a573ee36&\"\nimport script from \"./InputPrompt.vue?vue&type=script&lang=js&\"\nexport * from \"./InputPrompt.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputPrompt.vue?vue&type=style&index=0&lang=css&\"\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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-personal\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('personal_client')))]),(_vm.server && _vm.server.server && !_vm.readyToShowOptions)?_c('div'):(_vm.server && _vm.server.server)?_c('div',[(_vm.addedNetworkToExisting)?_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('personal_added_to_existing'))+\" \")])]):_c('div',[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('personal_connect_to', { network: (\"\" + (_vm.server.server) + \"\") }))}}),(_vm.hasOtherTab)?_c('button',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.addNetworkToExistingTab}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_add_existing_tab'))+\" \")]):_c('button',{staticClass:\"u-button u-button-primary\",on:{\"click\":function($event){return _vm.addNetwork()}}},[_vm._v(\" Add network to Kiwi \")]),_c('br'),_c('button',{staticClass:\"u-button u-button-primary\",on:{\"click\":function($event){return _vm.addNetwork(true)}}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_connect_temporary'))+\" \")]),_vm._v(\" \"),_c('br')])]):_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('personal_addjoin')))]),_c('p',[_vm._v(_vm._s(_vm.$t('personal_return')))]),_c('button',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.addEmptyNetwork}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_add'))+\" \")]),_vm._v(\" \"),_c('br'),(_vm.networks.length>0)?_c('a',{staticClass:\"u-link kiwi-personal-existing-networks\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleStateBrowser($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('personal_saved'))+\" \")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageCompact.vue?vue&type=style&index=0&id=23bc1672&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageCompact.vue?vue&type=style&index=0&id=23bc1672&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-userbox\"},[(_vm.isSelf)?_c('span',{staticClass:\"kiwi-userbox-selfprofile\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_you'))+\" \")]):_vm._e(),_c('div',{staticClass:\"kiwi-userbox-header\"},[_c('div',{staticClass:\"kiwi-userbox-avatar\"},[_c('avatar',{attrs:{\"user\":_vm.user,\"size\":\"large\"}}),_c('away-status-indicator',{attrs:{\"network\":_vm.network,\"user\":_vm.user}})],1),_c('div',{staticClass:\"kiwi-userbox-userinfo\"},[_c('span',{staticClass:\"kiwi-userbox-nick\",style:({ 'color': _vm.user.getColour() })},[_vm._v(_vm._s(_vm.user.nick))]),(_vm.userMode)?_c('span',{staticClass:\"kiwi-userbox-modestring\"},[_vm._v(\"+\"+_vm._s(_vm.userMode))]):_vm._e(),_c('span',{staticClass:\"kiwi-userbox-usermask\"},[_vm._v(_vm._s(_vm.user.username)+\"@\"+_vm._s(_vm.user.host))])])]),(_vm.realname)?_c('div',{staticClass:\"kiwi-userbox-basicinfo\"},[_c('span',{staticClass:\"kiwi-userbox-basicinfo-title\"},[_vm._v(_vm._s(_vm.$t('whois_realname'))+\":\")]),_c('span',{staticClass:\"kiwi-userbox-basicinfo-data\",domProps:{\"innerHTML\":_vm._s(_vm.formattedRealname)}})]):_vm._e(),_c('div',{staticClass:\"kiwi-userbox-actions\"},[(!_vm.isSelf && !_vm.buffer.isQuery())?_c('a',{staticClass:\"kiwi-userbox-action\",on:{\"click\":_vm.openQuery}},[_c('i',{staticClass:\"fa fa-comment-o\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('send_a_message'))+\" \")]):_vm._e(),(!_vm.whoisRequested)?_c('a',{staticClass:\"kiwi-userbox-action\",on:{\"click\":_vm.updateWhoisData}},[_c('i',{staticClass:\"fa fa-question-circle\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('more_information'))+\" \")]):_vm._e()]),(!_vm.isSelf)?_c('form',{staticClass:\"u-form kiwi-userbox-ignoreuser\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.ignore),expression:\"user.ignore\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.user.ignore)?_vm._i(_vm.user.ignore,null)>-1:(_vm.user.ignore)},on:{\"change\":function($event){var $$a=_vm.user.ignore,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.user, \"ignore\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.user, \"ignore\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.user, \"ignore\", $$c)}}}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('ignore_user'))+\" \")])])]):_vm._e(),(_vm.whoisRequested)?_c('div',{staticClass:\"kiwi-userbox-whois\",class:[_vm.whoisLoading?'kiwi-userbox-whois--loading':'']},[(_vm.whoisLoading)?[_c('i',{staticClass:\"fa fa-spinner\",attrs:{\"aria-hidden\":\"true\"}})]:[_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.user.away ? _vm.$t('whois_status') + ': ' + _vm.user.away : _vm.$t('whois_status_available'))+\" \")]),(_vm.user.account)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_account', {user: _vm.user.account}))+\" \")]):_vm._e(),_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_realname', {realname: _vm.user.realname}))+\" \")]),(_vm.user.bot)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(_vm._s(_vm.$t('user_bot')))]):_vm._e(),(_vm.user.helpop)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_help'))+\" \")]):_vm._e(),(_vm.user.operator)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_op'))+\" \")]):_vm._e(),(_vm.user.server)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_server', { server: _vm.user.server, info: (_vm.user.server_info ? (\"(\" + (_vm.user.server_info) + \")\") : '') }))+\" \")]):_vm._e(),(_vm.user.secure)?_c('span',{staticClass:\"kiwi-userbox-whois-line\"},[_vm._v(\" \"+_vm._s(_vm.$t('user_secure'))+\" \")]):_vm._e(),(_vm.user.channels)?_c('span',{staticClass:\"kiwi-userbox-whois-line\",domProps:{\"innerHTML\":_vm._s(_vm.$t('user_channels', {channels: _vm.userChannels}))},on:{\"click\":function($event){return _vm.onChannelsClick($event)}}}):_vm._e()]],2):_vm._e(),(_vm.buffer.isChannel() && _vm.areWeAnOp && !_vm.isSelf)?_c('div',{staticClass:\"kiwi-userbox-opactions\"},[_c('form',{staticClass:\"u-form\",on:{\"submit\":function($event){$event.preventDefault();}}},[(_vm.isUserOnBuffer)?_c('label',[_vm._v(\" \"+_vm._s(_vm.$t('user_access'))+\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userMode),expression:\"userMode\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.userMode=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_vm._l((_vm.availableChannelModes),function(mode){return _c('option',{key:mode.mode,domProps:{\"value\":mode.mode}},[_vm._v(\" \"+_vm._s(mode.description)+\" \")])}),_c('option',{attrs:{\"value\":\"\"}},[_vm._v(_vm._s(_vm.$t('user_normal')))])],2)]):_vm._e(),(_vm.isUserOnBuffer)?_c('label',[_c('button',{staticClass:\"u-button u-button-secondary\\n kiwi-userbox-opaction-kick kiwi-userbox-opaction\",on:{\"click\":_vm.kickUser}},[_c('i',{staticClass:\"fa fa-sign-out\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('user_kick'))+\" \")])]):_vm._e(),_c('label',[_c('button',{staticClass:\"u-button u-button-secondary\\n kiwi-userbox-opaction-ban kiwi-userbox-opaction\",on:{\"click\":_vm.banUser}},[_c('i',{staticClass:\"fa fa-ban\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('user_ban'))+\" \")])]),(_vm.isUserOnBuffer)?_c('label',[_c('button',{staticClass:\"u-button u-button-secondary\\n kiwi-userbox-opaction-kickban kiwi-userbox-opaction\",on:{\"click\":_vm.kickbanUser}},[_c('i',{staticClass:\"fa fa-exclamation-triangle\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('user_kickban'))+\" \")])]):_vm._e()])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _UrlEmbed = _interopRequireDefault(require(\"./UrlEmbed.vue\"));\n\nvar _default = {\n components: {\n UrlEmbed: _UrlEmbed.default\n },\n props: ['url', 'component', 'componentProps', 'isIframe', 'showPin'],\n data: function data() {\n return {\n debouncedUpdateEmbed: null\n };\n },\n computed: {\n iframeSandboxOptions: function iframeSandboxOptions() {\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox\n // Mostly all permissions other than allow-top-navigation so that embedded content\n // cannot redirect the page away from kiwi\n var options = ['allow-downloads', 'allow-forms', 'allow-modals', 'allow-orientation-lock', 'allow-pointer-lock', 'allow-popups', 'allow-popups-to-escape-sandbox', 'allow-presentation', 'allow-same-origin', 'allow-scripts'];\n return options.join(' ');\n }\n },\n watch: {\n url: function url() {\n this.debouncedUpdateEmbed();\n },\n isIframe: function isIframe() {\n this.debouncedUpdateEmbed();\n }\n },\n created: function created() {\n var _this = this;\n\n // Debounce as both watchers may call it in the same tick\n // also causes the method to be called next tick to give dom time to update\n this.debouncedUpdateEmbed = _lodash.default.debounce(function () {\n _this.updateEmbed();\n }, 0);\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.updateEmbed();\n this.$nextTick(function () {\n _this2.$state.$emit('mediaviewer.opened');\n });\n },\n methods: {\n updateEmbed: function updateEmbed() {\n this.setMaxHeight('');\n\n if (this.url && !this.isIframe) {\n return;\n }\n\n this.setHeight(this.isIframe ? '40%' : 'auto');\n },\n setHeight: function setHeight(newHeight) {\n this.$el.style.height = newHeight;\n },\n setMaxHeight: function setMaxHeight(newHeight) {\n this.$el.style.maxHeight = newHeight;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MediaViewer\"]\r\nwindow._kiwi_exports.components.MediaViewer = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./InputConfirm.vue?vue&type=template&id=4eef0170&\"\nimport script from \"./InputConfirm.vue?vue&type=script&lang=js&\"\nexport * from \"./InputConfirm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputConfirm.vue?vue&type=style&index=0&lang=css&\"\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","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _default = {\n props: ['buffer', 'network'],\n data: function data() {\n return {};\n },\n methods: {\n joinChannel: function joinChannel() {\n (0, _flags.default)(this.buffer).channel_badkey = false;\n this.buffer.join();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"BufferKey\"]\r\nwindow._kiwi_exports.components.BufferKey = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAliases.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAliases.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-mediaviewer\"},[_c('div',{staticClass:\"kiwi-mediaviewer-controls\"},[(_vm.showPin)?_c('a',{staticClass:\"u-button u-link kiwi-mediaviewer-controls-pin\",on:{\"click\":function($event){return _vm.$emit('pin')}}},[_c('i',{staticClass:\"fa fa-map-pin\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_c('a',{staticClass:\"u-button u-button-warning kiwi-mediaviewer-controls-close\",on:{\"click\":function($event){return _vm.$emit('close');}}},[_c('i',{staticClass:\"fa fa-window-close\",attrs:{\"aria-hidden\":\"true\"}})])]),_c('div',{staticClass:\"kiwi-mediaviewer-content\"},[(_vm.isIframe)?_c('iframe',{staticClass:\"kiwi-mediaviewer-iframe\",attrs:{\"src\":_vm.url,\"sandbox\":_vm.iframeSandboxOptions}}):(_vm.component)?_c(_vm.component,{tag:\"component\",attrs:{\"component-props\":_vm.componentProps}}):_c('url-embed',{attrs:{\"url\":_vm.url,\"show-pin\":_vm.showPin,\"iframe-sandbox-options\":_vm.iframeSandboxOptions},on:{\"close\":function($event){return _vm.$emit('close')},\"setHeight\":_vm.setHeight,\"setMaxHeight\":_vm.setMaxHeight}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaViewer.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaViewer.vue?vue&type=style&index=0&lang=css&\"","import { render, staticRenderFns } from \"./SettingsAliases.vue?vue&type=template&id=f5a21556&\"\nimport script from \"./SettingsAliases.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsAliases.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SettingsAliases.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputPrompt.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputPrompt.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _sort = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/sort\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _NicklistUser = _interopRequireDefault(require(\"./NicklistUser\"));\n\nvar log = _Logger.default.namespace('Nicklist'); // This provides a better sort for numbered nicks but does not work on ios9\n\n\nvar intlCollator = null;\n\nif (global.Intl) {\n intlCollator = new Intl.Collator({}, {\n numeric: true\n });\n} // Hot function, so it's here for easier caching\n\n\nfunction strCompare(a, b) {\n if (intlCollator) {\n return intlCollator.compare(a, b);\n }\n\n if (a === b) {\n return 0;\n }\n\n return a > b ? 1 : -1;\n}\n\nvar _default = {\n components: {\n NicklistUser: _NicklistUser.default\n },\n props: ['network', 'buffer', 'sidebarState'],\n data: function data() {\n return {\n userbox_user: null,\n user_filter: '',\n filter_visible: false,\n self: this\n };\n },\n computed: {\n shouldShowAvatars: function shouldShowAvatars() {\n return this.buffer.setting('nicklist_avatars');\n },\n sortedUsers: function sortedUsers() {\n var _this = this;\n\n // Get a list of network prefixes and give them a rank number\n var netPrefixes = this.network.ircClient.network.options.PREFIX;\n var prefixOrders = (0, _create.default)(null);\n (0, _forEach.default)(netPrefixes).call(netPrefixes, function (prefix, idx) {\n prefixOrders[prefix.mode] = idx;\n }); // A few things here:\n // * Since vuejs will sort in-place and update views when .sort is called\n // on an array, clone it first so that we have a plain array to sort\n // * Keep a map of lowercased nicks to we don't need to call .toLowerCase()\n // on each one all the time. This is a hot function!\n\n var nickMap = (0, _create.default)(null);\n var users = [];\n var bufferUsers = this.buffer.users;\n var nickFilter = this.user_filter.toLowerCase();\n /* eslint-disable guard-for-in, no-restricted-syntax */\n\n for (var lowercaseNick in bufferUsers) {\n var user = bufferUsers[lowercaseNick];\n nickMap[user.nick] = lowercaseNick;\n\n if (!nickFilter || (0, _indexOf.default)(lowercaseNick).call(lowercaseNick, nickFilter) !== -1) {\n users.push(user);\n }\n }\n\n var bufferId = this.buffer.id;\n return (0, _sort.default)(users).call(users, function (a, b) {\n var bufferA = a.buffers[bufferId];\n var bufferB = b.buffers[bufferId];\n\n if (!bufferA) {\n var msg = 'Nicklist.sortedUsers() User A does not have the buffer in its list!';\n log.error(msg, a.nick, a.buffers);\n return -1;\n }\n\n if (!bufferB) {\n var _msg = 'Nicklist.sortedUsers() User B does not have the buffer in its list!';\n log.error(_msg, b.nick, b.buffers);\n return 1;\n }\n\n var modesA = bufferA.modes;\n var modesB = bufferB.modes; // Neither user has a prefix, compare text\n\n if (modesA.length === 0 && modesB.length === 0) {\n // Compare away status\n if (_this.$state.setting('nicklistGroupAway')) {\n if (a.away && !b.away) {\n return 1;\n }\n\n if (!a.away && b.away) {\n return -1;\n }\n }\n\n return strCompare(nickMap[a.nick], nickMap[b.nick]);\n } // Compare via prefixes..\n\n\n if (modesA.length > 0 && modesB.length === 0) {\n return -1;\n }\n\n if (modesA.length === 0 && modesB.length > 0) {\n return 1;\n } // Both users have a prefix so find the highest ranking one\n\n\n var aP = prefixOrders[_this.buffer.userMode(a)];\n\n var bP = prefixOrders[_this.buffer.userMode(b)];\n\n if (aP > bP) {\n return 1;\n } else if (aP < bP) {\n return -1;\n } // Prefixes are the same, compare away status\n\n\n if (_this.$state.setting('nicklistGroupAway')) {\n if (a.away && !b.away) {\n return 1;\n }\n\n if (!a.away && b.away) {\n return -1;\n }\n } // Prefixes are the same, resort to comparing text\n\n\n return strCompare(nickMap[a.nick], nickMap[b.nick]);\n });\n },\n useColouredNicks: function useColouredNicks() {\n return this.buffer.setting('coloured_nicklist');\n }\n },\n methods: {\n userModePrefix: function userModePrefix(user) {\n return this.buffer.userModePrefix(user);\n },\n userMode: function userMode(user) {\n return this.buffer.userMode(user);\n },\n openQuery: function openQuery(user) {\n var buffer = this.$state.addBuffer(this.buffer.networkid, user.nick);\n this.$state.setActiveBuffer(buffer.networkid, buffer.name);\n\n if (this.$state.ui.is_narrow) {\n this.sidebarState.close();\n }\n },\n openUserbox: function openUserbox(user) {\n this.$state.$emit('userbox.show', user, {\n buffer: this.buffer\n });\n },\n toggleUserFilter: function toggleUserFilter() {\n var _this2 = this;\n\n this.filter_visible = !this.filter_visible;\n\n if (this.filter_visible) {\n this.$nextTick(function () {\n return _this2.$refs.user_filter.focus();\n });\n } else {\n this.user_filter = '';\n }\n },\n onFilterBlur: function onFilterBlur() {\n if (!this.user_filter) {\n this.filter_visible = false;\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Nicklist\"]\r\nwindow._kiwi_exports.components.Nicklist = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAdvanced.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAdvanced.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('startup-layout',{ref:\"layout\",staticClass:\"kiwi-welcome-simple\",scopedSlots:_vm._u([(_vm.startupOptions.altComponent)?{key:\"connection\",fn:function(){return [_c(_vm.startupOptions.altComponent,{tag:\"component\",on:{\"close\":_vm.onAltClose}})]},proxy:true}:{key:\"connection\",fn:function(){return [_c('form',{staticClass:\"u-form u-form--big kiwi-welcome-simple-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.formSubmit($event)}}},[_c('h2',{domProps:{\"innerHTML\":_vm._s(_vm.greetingText)}}),(_vm.errorMessage)?_c('div',{staticClass:\"kiwi-welcome-simple-error\"},[_vm._v(_vm._s(_vm.errorMessage))]):(_vm.network && (_vm.network.last_error || _vm.network.state_error))?_c('div',{staticClass:\"kiwi-welcome-simple-error\"},[(!_vm.network.last_error && _vm.network.state_error)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('network_noconnect'))+\" \")]):_vm._e(),_c('span',[_vm._v(\" \"+_vm._s(_vm.network.last_error || _vm.readableStateError(_vm.network.state_error))+\" \")])]):_vm._e(),_c('input-text',{directives:[{name:\"focus\",rawName:\"v-focus\",value:(!_vm.nick || !_vm.show_password_box),expression:\"!nick || !show_password_box\"}],class:{'kiwi-welcome-invalid-nick': !_vm.isNickValid},attrs:{\"label\":_vm.$t('nick'),\"type\":\"text\"},model:{value:(_vm.nick),callback:function ($$v) {_vm.nick=$$v},expression:\"nick\"}}),(_vm.showPass && _vm.toggablePass)?_c('div',{staticClass:\"kiwi-welcome-simple-input-container\"},[_c('label',{staticClass:\"kiwi-welcome-simple-have-password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.show_password_box),expression:\"show_password_box\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.show_password_box)?_vm._i(_vm.show_password_box,null)>-1:(_vm.show_password_box)},on:{\"change\":function($event){var $$a=_vm.show_password_box,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.show_password_box=$$a.concat([$$v]))}else{$$i>-1&&(_vm.show_password_box=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.show_password_box=$$c}}}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('password_have'))+\" \")])])]):_vm._e(),(_vm.showPass && (_vm.show_password_box || !_vm.toggablePass))?_c('div',{staticClass:\"kiwi-welcome-simple-input-container\"},[_c('input-text',{directives:[{name:\"focus\",rawName:\"v-focus\",value:(_vm.nick || _vm.show_password_box),expression:\"nick || show_password_box\"}],attrs:{\"show-plain-text\":true,\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}})],1):_vm._e(),(_vm.showChannel)?_c('div',{staticClass:\"kiwi-welcome-simple-input-container\"},[_c('input-text',{attrs:{\"label\":_vm.$t('channel')},model:{value:(_vm.channel),callback:function ($$v) {_vm.channel=$$v},expression:\"channel\"}})],1):_vm._e(),_c('captcha',{attrs:{\"network\":_vm.network}}),(!_vm.network || _vm.network.state === 'disconnected')?_c('button',{staticClass:\"u-button u-button-primary u-submit kiwi-welcome-simple-start\",attrs:{\"disabled\":!_vm.readyToStart,\"type\":\"submit\"},domProps:{\"innerHTML\":_vm._s(_vm.buttonText)}}):_c('button',{staticClass:\"u-button u-button-primary u-submit kiwi-welcome-simple-start\",attrs:{\"disabled\":\"\"}},[_c('i',{staticClass:\"fa fa-spin fa-spinner\",attrs:{\"aria-hidden\":\"true\"}})]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.footerText)}})],1)]},proxy:true}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlInput.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ControlInput.vue?vue&type=style&index=0&lang=less&\"","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar _common = require(\"./common\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/** @module */\nvar UserState = /*#__PURE__*/function () {\n function UserState(user) {\n (0, _classCallCheck2.default)(this, UserState);\n this.nick = user.nick;\n this.host = user.host || '';\n this.username = user.username || '';\n this.realname = user.realname || '';\n this.modes = user.modes || '';\n this.away = user.away || '';\n this.colour = user.colour || '';\n this.account = user.account || '';\n this.buffers = (0, _create.default)(null);\n this.hasWhois = false;\n this.typingState = (0, _create.default)(null);\n this.avatar = user.avatar || {\n small: '',\n large: ''\n };\n this.ignore = false;\n\n _vue.default.observable(this); // Whois details are non-enumerable properties (vues $watch won't cover these properties)\n\n\n (0, _common.def)(this, 'actual_host', '', true);\n (0, _common.def)(this, 'helpop', '', true);\n (0, _common.def)(this, 'bot', '', true);\n (0, _common.def)(this, 'server', '', true);\n (0, _common.def)(this, 'server_info', '', true);\n (0, _common.def)(this, 'operator', '', true);\n (0, _common.def)(this, 'channels', '', true);\n (0, _common.def)(this, 'modes', '', true);\n (0, _common.def)(this, 'idle', '', true);\n (0, _common.def)(this, 'logon', '', true);\n (0, _common.def)(this, 'registered_nick', '', true);\n (0, _common.def)(this, 'secure', '', true);\n (0, _common.def)(this, 'special', '', true);\n }\n\n (0, _createClass2.default)(UserState, [{\n key: \"getColour\",\n value: function getColour() {\n if (!this.colour) {\n this.colour = TextFormatting.createNickColour(this.nick);\n } // default will use the themes default text colour\n\n\n return this.colour === 'default' ? '' : this.colour;\n }\n }, {\n key: \"isAway\",\n value: function isAway() {\n return !!this.away;\n }\n }, {\n key: \"typingStatus\",\n value: function typingStatus(_target, status) {\n var _this = this;\n\n var target = _target.toLowerCase();\n\n if (!status) {\n return this.typingState[target] || {\n status: ''\n };\n }\n\n var typing = this.typingState[target];\n\n if (!typing) {\n _vue.default.set(this.typingState, target, {\n started: 0,\n status: ''\n });\n\n typing = this.typingState[target];\n }\n\n if (typing.timeout) {\n clearTimeout(typing.timeout);\n typing.timeout = null;\n }\n\n if (status === 'done') {\n _vue.default.delete(this.typingState, target);\n\n return null;\n }\n\n typing.started = (0, _now.default)();\n typing.status = status; // Paused state gets a longer timeout as it's usually someone stopping typing\n // to think about their words\n\n var timeoutLen = status === 'paused' ? 30000 : 6000;\n typing.timeout = (0, _setTimeout2.default)(function () {\n return _this.typingStatus(target, 'done');\n }, timeoutLen);\n return typing;\n }\n }]);\n return UserState;\n}();\n\nexports.default = UserState;","import { render, staticRenderFns } from \"./CustomServer.vue?vue&type=template&id=bbf836da&\"\nimport script from \"./CustomServer.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomServer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomServer.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Personal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Personal.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-statebrowser-network\",class:[\n _vm.isActiveNetwork ? 'kiwi-statebrowser-network--active' : '' ]},[_c('div',{staticClass:\"kiwi-statebrowser-network-header\"},[_c('a',{staticClass:\"kiwi-statebrowser-network-name u-link\",on:{\"click\":function($event){return _vm.setActiveBuffer(_vm.serverBuffer)}}},[_vm._v(\" \"+_vm._s(_vm.network.name)+\" \")]),_c('div',{staticClass:\"kiwi-statebrowser-buffer-actions\"},[_c('div',{staticClass:\"kiwi-statebrowser-channel-labels\"},[(_vm.serverUnread && _vm.showMessageCounts(_vm.serverBuffer))?_c('div',{staticClass:\"kiwi-statebrowser-channel-label\",class:[\n _vm.serverHighlight ?\n 'kiwi-statebrowser-channel-label--highlight' :\n ''\n ]},[_vm._v(\" \"+_vm._s(_vm.serverUnread > 999 ? \"999+\": _vm.serverUnread)+\" \")]):_vm._e()])]),_c('div',{staticClass:\"kiwi-network-name-options\"},[(_vm.totalNetworkCount > 1)?_c('div',{staticClass:\"kiwi-network-name-option kiwi-network-name-option-collapse\",on:{\"click\":function($event){_vm.collapsed=!_vm.collapsed}}},[_c('i',{staticClass:\"fa\",class:[_vm.collapsed?'fa-plus-square-o':'fa-minus-square-o']})]):_vm._e()])]),(_vm.channel_filter_display)?_c('div',{staticClass:\"kiwi-statebrowser-channelfilter\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.channel_filter),expression:\"channel_filter\"},{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"placeholder\":_vm.$t('filter_channels'),\"type\":\"text\"},domProps:{\"value\":(_vm.channel_filter)},on:{\"blur\":_vm.onChannelFilterInputBlur,\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeFilterChannel($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.channel_filter=$event.target.value}}}),_c('p',[_c('a',{on:{\"click\":function($event){_vm.closeFilterChannel(); _vm.showNetworkChannels(_vm.network)}}},[_vm._v(\" \"+_vm._s(_vm.$t('find_more_channels'))+\" \")])])]):_vm._e(),(_vm.channel_add_display)?_c('div',{staticClass:\"kiwi-statebrowser-channels-info\"},[_c('form',{staticClass:\"kiwi-statebrowser-newchannel\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submitNewChannelForm($event)}}},[_c('div',{directives:[{name:\"focus\",rawName:\"v-focus\"}],staticClass:\"kiwi-statebrowser-newchannel-inputwrap\",class:[\n _vm.channel_add_input_has_focus ?\n 'kiwi-statebrowser-newchannel-inputwrap--focus' :\n ''\n ]},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.channel_add_input),expression:\"channel_add_input\"}],attrs:{\"placeholder\":_vm.$t('state_join'),\"type\":\"text\"},domProps:{\"value\":(_vm.channel_add_input)},on:{\"focus\":_vm.onNewChannelInputFocus,\"blur\":_vm.onNewChannelInputBlur,\"input\":function($event){if($event.target.composing){ return; }_vm.channel_add_input=$event.target.value}}})])])]):_vm._e(),_c('div',{staticClass:\"kiwi-statebrowser-network-toggable-area\",class:[\n _vm.collapsed ? 'kiwi-statebrowser-network-toggable-area--collapsed' : '' ]},[_c('transition',{attrs:{\"name\":\"kiwi-statebrowser-network-status-transition\"}},[(_vm.network.state !== 'connected')?_c('div',{staticClass:\"kiwi-statebrowser-network-status\"},[(_vm.network.state_error)?[_c('i',{staticClass:\"fa fa-exclamation-triangle\",attrs:{\"aria-hidden\":\"true\"}}),_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.showNetworkSettings(_vm.network)}}},[_vm._v(\" \"+_vm._s(_vm.$t('state_configure'))+\" \")])]:(!_vm.network.connection.server)?[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.showNetworkSettings(_vm.network)}}},[_vm._v(\" \"+_vm._s(_vm.$t('state_configure'))+\" \")])]:(_vm.network.state === 'disconnected')?[_vm._v(\" \"+_vm._s(_vm.$t('state_disconnected'))+\" \"),_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.network.ircClient.connect()}}},[_vm._v(\" \"+_vm._s(_vm.$t('connect'))+\" \")])]:(_vm.network.state === 'connecting')?[_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \")]:_vm._e()],2):_vm._e()]),_vm._l((_vm.filteredBuffersByType),function(itemBuffers,type){return _c('div',{key:type,staticClass:\"kiwi-statebrowser-buffers\",attrs:{\"data-name\":type}},[(!_vm.channel_filter_display && _vm.showBufferGroups && type !== 'other')?_c('div',{staticClass:\"kiwi-statebrowser-channels-header\"},[((type === 'queries' && itemBuffers.length) || type !== 'queries')?_c('div',{staticClass:\"kiwi-statebrowser-buffertype\",on:{\"click\":function($event){return _vm.toggleSection(type)}}},[_c('i',{staticClass:\"fa kiwi-statebrowser-channels-toggle\",class:[\n (_vm.show_channels && type === 'channels') ||\n (_vm.show_queries && type === 'queries') ?\n 'fa-caret-down' :\n 'fa-caret-right'\n ]}),_vm._v(\" \"+_vm._s(type === 'channels' ? _vm.$t('channels') : _vm.$t('messages'))+\" \")]):_vm._e(),(type === 'channels')?_c('div',{staticClass:\"kiwi-statebrowser-channels-options\"},[_c('div',{staticClass:\"kiwi-statebrowser-channels-option\",class:{ active: _vm.channel_add_display == true },on:{\"click\":function($event){return _vm.toggleAddChannel()}}},[_c('i',{staticClass:\"fa fa-plus\",attrs:{\"aria-hidden\":\"true\"}})]),_c('div',{staticClass:\"kiwi-statebrowser-channels-option\",class:{ active: _vm.channel_filter_display == true },on:{\"click\":_vm.onSearchChannelClick}},[(type === 'channels')?_c('i',{staticClass:\"fa fa-search\",attrs:{\"aria-hidden\":\"true\"}}):_vm._e()])]):_vm._e(),_c('div',{staticClass:\"kiwi-statebrowser-buffer-actions\"},[_c('div',{staticClass:\"kiwi-statebrowser-channel-labels\"},[(!_vm.show_channels &&\n type === 'channels' &&\n _vm.channelActivity.unread !== 0\n )?_c('div',{staticClass:\"kiwi-statebrowser-channel-label\",class:[\n _vm.channelActivity.highlights ?\n 'kiwi-statebrowser-channel-label--highlight' :\n ''\n ]},[_vm._v(\" \"+_vm._s(_vm.channelActivity.unread > 999 ? '999+' : _vm.channelActivity.unread)+\" \")]):((!_vm.show_queries === true &&\n type === 'queries' && _vm.queryActivity.unread !== 0))?_c('div',{staticClass:\"kiwi-statebrowser-channel-label\",class:[\n _vm.queryActivity.highlights ?\n 'kiwi-statebrowser-channel-label--highlight' :\n ''\n ]},[_vm._v(\" \"+_vm._s(_vm.queryActivity.unread > 999 ? '999+' : _vm.queryActivity.unread)+\" \")]):_vm._e()])])]):_vm._e(),((_vm.show_channels && type === 'channels') ||\n (_vm.show_queries && type === 'queries') ||\n type === 'other')?_c('div',_vm._l((itemBuffers),function(buffer){return _c('buffer',{key:buffer.name,attrs:{\"buffer\":buffer},on:{\"selected\":function($event){return _vm.setActiveBuffer(buffer)}}})}),1):_vm._e()])})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-startup-common\",class:[\n _vm.closing ? 'kiwi-startup-common--closing' : '',\n _vm.backgroundImage ? '' : 'kiwi-startup-common--no-bg' ],style:(_vm.backgroundStyle)},[_c('div',{staticClass:\"kiwi-startup-common-section kiwi-startup-common-section-connection\"},[_vm._t(\"connection\")],2),_c('div',{staticClass:\"kiwi-startup-common-section kiwi-startup-common-section-info\",style:(_vm.backgroundStyle)},[(_vm.infoContent)?_c('div',{staticClass:\"kiwi-startup-common-section-info-content\",domProps:{\"innerHTML\":_vm._s(_vm.infoContent)}}):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ChannelInvitelist.vue?vue&type=template&id=ee75060e&\"\nimport script from \"./ChannelInvitelist.vue?vue&type=script&lang=js&\"\nexport * from \"./ChannelInvitelist.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ChannelInvitelist.vue?vue&type=style&index=0&lang=less&\"\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 mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerView.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerView.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime-corejs3/regenerator\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _bind = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/bind\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/asyncToGenerator\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/slicedToArray\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nvar _BouncerMiddleware = _interopRequireDefault(require(\"@/libs/BouncerMiddleware\"));\n\nvar log = _Logger.default.namespace('BouncerProvider.js');\n\nvar BouncerProvider = /*#__PURE__*/function () {\n function BouncerProvider(state) {\n var _context, _context2, _context3;\n\n (0, _classCallCheck2.default)(this, BouncerProvider);\n this.state = state; // This is the network that will be used to control the bouncer\n\n this.controllerNetwork = null; // The detected credentials for the BNC\n\n this.bnc = {\n enabled: false,\n username: '',\n password: '',\n server: '',\n port: 6667,\n tls: false,\n direct: false,\n path: '',\n registered: false\n }; // If enabled, new IRC connections will be re-routed through the bouncer\n\n this.rewriteConnections = true; // A snapshot of the current networks. Compared against to detect changed networks\n\n this.networksSnapshot = (0, _create.default)(null); // If we are currently monitoring for network settings changes\n\n this.monitoringChanges = false;\n state.$on('irc.motd', (0, _bind.default)(_context = this.onNetworkMotd).call(_context, this));\n state.$on('irc.bouncer state', (0, _bind.default)(_context2 = this.onNetworkState).call(_context2, this));\n state.$on('irc.bouncer networks', (0, _bind.default)(_context3 = this.onBouncerNetworks).call(_context3, this));\n }\n\n (0, _createClass2.default)(BouncerProvider, [{\n key: \"enable\",\n value: function enable(server, port, tls, direct, path) {\n var _context4, _context5, _bncNetwork$connectio, _context6;\n\n log((0, _concat.default)(_context4 = \"Using a Bouncer Provider with server \".concat(server, \":\")).call(_context4, port));\n this.bnc.server = server;\n this.bnc.port = port || 6667;\n this.bnc.tls = !!tls;\n this.bnc.direct = !!direct;\n this.bnc.path = path || '';\n this.bnc.enabled = true; // get the bnc controller network\n\n var bncNetwork = (0, _find.default)(_context5 = this.state.networks).call(_context5, function (network) {\n return network.is_bnc;\n }); // the bnc controller network password is saved in the format :.\n // if there is a bnc controller network with a password, use these credentials\n // for the bnc connection.\n\n if (bncNetwork !== null && bncNetwork !== void 0 && (_bncNetwork$connectio = bncNetwork.connection) !== null && _bncNetwork$connectio !== void 0 && _bncNetwork$connectio.password) {\n var _this$parseBncCredent = this.parseBncCredentials(bncNetwork.connection.password),\n _this$parseBncCredent2 = (0, _slicedToArray2.default)(_this$parseBncCredent, 2),\n username = _this$parseBncCredent2[0],\n password = _this$parseBncCredent2[1];\n\n this.bnc.username = username;\n this.bnc.password = password;\n } // Enable BOUNCER on existing connections\n\n\n (0, _forEach.default)(_context6 = this.state.networks).call(_context6, function (network) {\n network.ircClient.use((0, _BouncerMiddleware.default)());\n }); // this.monitorNetworkChanges();\n\n this.listenToState();\n } // Try to get a connected network that can be used to control the bouncer\n\n }, {\n key: \"getController\",\n value: function getController() {\n if (this.controllerNetwork && this.controllerNetwork.state === 'connected') {\n return this.controllerNetwork;\n }\n\n this.controllerNetwork = null;\n\n for (var i = 0; i < this.state.networks.length; i++) {\n var network = this.state.networks[i];\n var client = network.ircClient;\n\n if (network.state === 'connected' && client.network.cap.isEnabled('bouncer')) {\n this.controllerNetwork = network;\n break;\n }\n }\n\n return this.controllerNetwork;\n }\n }, {\n key: \"onNetworkMotd\",\n value: function () {\n var _onNetworkMotd = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(event, network) {\n var client, _this$parseBncCredent3, _this$parseBncCredent4, username, password;\n\n return _regenerator.default.wrap(function _callee$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n client = network.ircClient;\n\n if (this.bnc.enabled) {\n _context7.next = 3;\n break;\n }\n\n return _context7.abrupt(\"return\");\n\n case 3:\n if (client.network.cap.isEnabled('bouncer')) {\n _context7.next = 6;\n break;\n }\n\n log.debug(\"BOUNCER cap not available on network \".concat(network.name, \", not using for BNC\"));\n return _context7.abrupt(\"return\");\n\n case 6:\n // Set the bncnetid if the network upstream exists and we havn't already set it\n if (client.bnc.hasNetwork() && !network.connection.bncnetid) {\n network.connection.bncnetid = client.bnc.tags().netid;\n } // Use this initial network password for other network connections\n\n\n if (!this.bnc.username) {\n _this$parseBncCredent3 = this.parseBncCredentials(network.connection.password), _this$parseBncCredent4 = (0, _slicedToArray2.default)(_this$parseBncCredent3, 2), username = _this$parseBncCredent4[0], password = _this$parseBncCredent4[1];\n this.bnc.username = username;\n this.bnc.password = password;\n } // If this is a BNC network, sync it before anything else so that we get all its info\n // and buffer states as soon as possible\n\n\n if (!client.bnc.hasNetwork()) {\n _context7.next = 11;\n break;\n }\n\n _context7.next = 11;\n return this.syncBncNetwork(network);\n\n case 11:\n if (network.connection.bncnetid) {\n _context7.next = 14;\n break;\n }\n\n _context7.next = 14;\n return this.initAndAddNetworks(network);\n\n case 14:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee, this);\n }));\n\n function onNetworkMotd(_x, _x2) {\n return _onNetworkMotd.apply(this, arguments);\n }\n\n return onNetworkMotd;\n }()\n }, {\n key: \"onNetworkState\",\n value: function onNetworkState(event, network) {\n var isController = this.getController() === network; // We get connection state changes advertised on all bouncer connections, so only handle\n // the ones that come from the controller network since we only need to deal with it once.\n\n if (isController && event.state === 'disconnected') {\n // Mimick any network disconnections by closing this connection too\n var effectedNetwork = this.state.getNetworkFromBncNetId(event.networkId);\n\n if (effectedNetwork) {\n effectedNetwork.ircClient.connection.transport.close();\n }\n }\n }\n }, {\n key: \"initAndAddNetworks\",\n value: function () {\n var _initAndAddNetworks = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(network) {\n var client;\n return _regenerator.default.wrap(function _callee2$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n client = network.ircClient;\n this.bnc.registered = true; // hide the empty (non-network) controller network\n\n if (!network.ircClient.bnc.hasNetwork()) {\n network.hidden = true;\n network.is_bnc = true;\n } else {\n network.hidden = false;\n network.is_bnc = false;\n } // onBouncerNetworks will pick up the event handler for this\n\n\n client.bnc.getNetworks();\n\n case 4:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function initAndAddNetworks(_x3) {\n return _initAndAddNetworks.apply(this, arguments);\n }\n\n return initAndAddNetworks;\n }()\n }, {\n key: \"onBouncerNetworks\",\n value: function onBouncerNetworks(bncNetworks) {\n var _this = this,\n _context9;\n\n log.debug(\"Got \".concat(bncNetworks.length, \" networks from the BNC\"), bncNetworks);\n (0, _forEach.default)(bncNetworks).call(bncNetworks, function (bncNet) {\n return _this.addNetworkToState(bncNet);\n }); // Remove any networks we have locally but no longer exist on the BNC\n\n (0, _forEach.default)(_context9 = this.state.networks).call(_context9, function (existingNet) {\n var isNetworkInBncList = !!(0, _find.default)(bncNetworks).call(bncNetworks, function (n) {\n return n.networkId === existingNet.connection.bncnetid;\n });\n\n if (!existingNet.is_bnc && !isNetworkInBncList) {\n var _context10;\n\n log.debug((0, _concat.default)(_context10 = \"Network '\".concat(existingNet.name, \"' (\")).call(_context10, existingNet.id, \") was not in the BNC, removing locally\"));\n\n _this.state.removeNetwork(existingNet.id);\n }\n }); // start monitoring network changes\n\n this.monitorNetworkChanges();\n\n if (this.state.getActiveBuffer()) {\n return;\n }\n\n if (!bncNetworks.length) {\n // BNC has no network, lets add one to help the user\n var net = this.state.addNetwork('Network', '', {});\n net.showServerBuffer('settings');\n } else {\n for (var i = 0; i < this.state.networks.length; i++) {\n var _net = this.state.networks[i];\n\n if (!_net.is_bnc) {\n // The first network that is not the BNC control network\n _net.showServerBuffer('settings');\n\n break;\n }\n }\n }\n }\n }, {\n key: \"syncBncNetwork\",\n value: function () {\n var _syncBncNetwork = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(bncNetwork) {\n var _this2 = this,\n _context12;\n\n var client, buffers;\n return _regenerator.default.wrap(function _callee3$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n client = bncNetwork.ircClient;\n log.debug(\"Syncing network \".concat(bncNetwork.name, \" from the BNC\"));\n _context13.next = 4;\n return client.bnc.getBuffers(bncNetwork.connection.bncnetid);\n\n case 4:\n buffers = _context13.sent;\n (0, _forEach.default)(buffers).call(buffers, function (buffer) {\n // The list of buffers also include the network name. Make use of it and make sure our\n // network name is up to date while we can. It may have changed elsewhere\n if (bncNetwork.name !== buffer.network) {\n var _context11;\n\n log((0, _concat.default)(_context11 = \"Detected network name change while syncing buffers. \".concat(bncNetwork.name, \" > \")).call(_context11, buffer.network));\n bncNetwork.name = buffer.network;\n }\n\n var newBuffer = _this2.state.addBuffer(bncNetwork.id, buffer.name);\n\n if (!newBuffer) {\n // The BNC might be giving up bad buffer names or something, so just make sure\n // that it's handled if it ever coccurs\n log.error(\"Couldn't add BNC buffer, '\".concat(buffer.name, \"'\"), buffer);\n return;\n }\n\n if (buffer.joined) {\n newBuffer.enabled = true;\n newBuffer.joined = true;\n } else {\n newBuffer.enabled = false;\n newBuffer.joined = false;\n }\n\n if (buffer.seen) {\n newBuffer.last_read = new Date(buffer.seen).getTime();\n }\n\n if (buffer.notify) {\n newBuffer.setting('alert_on', buffer.notify);\n }\n\n newBuffer.topic = buffer.topic || '';\n\n if (bncNetwork.state === 'connected' && newBuffer.isChannel() && newBuffer.joined) {\n client.raw('NAMES ' + newBuffer.name);\n client.who(newBuffer.name);\n }\n }); // Remove any existing buffers that we no longer have on the bouncer\n\n (0, _forEach.default)(_context12 = bncNetwork.buffers).call(_context12, function (clientBuffer) {\n if (!clientBuffer.isChannel() && !clientBuffer.isQuery()) {\n return;\n }\n\n var existingBuffers = (0, _filter.default)(buffers).call(buffers, function (bncBuffer) {\n return bncBuffer.name.toLowerCase() === clientBuffer.name.toLowerCase();\n });\n\n if (existingBuffers.length === 0) {\n _this2.state.removeBuffer(clientBuffer);\n }\n });\n\n case 7:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee3);\n }));\n\n function syncBncNetwork(_x4) {\n return _syncBncNetwork.apply(this, arguments);\n }\n\n return syncBncNetwork;\n }()\n }, {\n key: \"addNetworkToState\",\n value: function () {\n var _addNetworkToState = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(network) {\n var net;\n return _regenerator.default.wrap(function _callee4$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n // Expects network to be in the format of:\n // {\n // \"networkId\":\"xyz\",\n // \"name\":\"freenode\",\n // \"channel\":\"1\",\n // \"connected\":\"1\",\n // \"host\":\"irc.freenode.net\",\n // \"port\":\"6667\",\n // \"tls\":\"0\",\n // \"nick\":\"notprawn99829\"\n // },\n net = this.state.getNetworkFromBncNetId(network.networkId);\n\n if (!net) {\n net = this.state.addNetwork(network.name, network.nick || '', {\n server: network.host,\n port: network.port,\n tls: network.tls,\n password: network.password || '',\n bncnetid: network.networkId,\n username: network.user,\n account_password: network.account_password\n });\n } else {\n // Make sure our existing network is all up to date\n net.name = network.name;\n net.connection.server = network.host;\n net.connection.port = (0, _parseInt2.default)(network.port, 10);\n net.connection.tls = network.tls;\n net.connection.nick = network.account || network.nick;\n net.connection.password = network.password || '';\n net.nick = network.currentNick || network.nick || '';\n net.password = network.account_password;\n }\n\n net.editable_name = true;\n return _context14.abrupt(\"return\", net);\n\n case 4:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function addNetworkToState(_x5) {\n return _addNetworkToState.apply(this, arguments);\n }\n\n return addNetworkToState;\n }() // Keep a snapshot of what the current networks are. They will be periodically\n // compared with the active networks to see if anything has changed before\n // saving those changes.\n\n }, {\n key: \"snapshotCurrentNetworks\",\n value: function snapshotCurrentNetworks() {\n var _context15,\n _this3 = this;\n\n this.networksSnapshot = (0, _create.default)(null);\n (0, _forEach.default)(_context15 = this.state.networks).call(_context15, function (network) {\n if (!network.connection.bncnetid) {\n return;\n }\n\n _this3.networksSnapshot[network.connection.bncnetid] = {\n bncnetid: network.connection.bncnetid,\n network: network.name,\n host: network.connection.server,\n port: network.connection.port,\n tls: network.connection.tls,\n account: network.connection.nick,\n account_password: network.password,\n server_password: network.connection.password,\n nick: network.connection.nick,\n username: network.username\n };\n });\n } // Compare the current networks with our previously saved snapshot of\n // networks. Save any changes to the bouncer\n\n }, {\n key: \"saveState\",\n value: function saveState() {\n var _context16,\n _this4 = this;\n\n var controller = this.getController();\n\n if (!controller) {\n log.debug('No controller available to save networks');\n return;\n }\n\n (0, _forEach.default)(_context16 = this.state.networks).call(_context16, function (network) {\n // don't save an empty controller to the network.\n // we can't use hasNetwork alone because that requires ircClient to be\n // connected, and we save new nets before they are connected\n if (_this4.getController() === network && !network.ircClient.bnc.hasNetwork()) {\n return;\n } // Don't save any hidden networks. This includes the BNC controller network\n\n\n if (network.hidden) {\n return;\n } // Every network needs a valid name\n\n\n if (!network.name.match(/^[a-zA-Z_0-9.]+$/)) {\n log.debug(\"Network \".concat(network.id, \" has an invalid name. Not saving to the BNC\"));\n return;\n }\n\n var bncnetid = network.connection.bncnetid;\n var snapshot = _this4.networksSnapshot[bncnetid] || {};\n var tags = {};\n\n if (network.name !== snapshot.network) {\n tags.network = network.name;\n }\n\n if (network.connection.server !== snapshot.host) {\n tags.host = network.connection.server;\n }\n\n if (network.connection.port !== snapshot.port) {\n tags.port = network.connection.port;\n }\n\n if (network.connection.tls !== snapshot.tls) {\n tags.tls = network.connection.tls;\n }\n\n if (network.password !== snapshot.account_password) {\n tags.account_password = network.password;\n }\n\n if (network.connection.nick !== snapshot.account) {\n tags.account = network.connection.nick;\n }\n\n if (network.connection.password !== snapshot.server_password) {\n tags.password = network.connection.password;\n }\n\n if (network.connection.nick !== snapshot.nick) {\n tags.nick = network.connection.nick;\n }\n\n if (network.username !== snapshot.username) {\n tags.user = network.username;\n } // A newly added network would not have a snapshot name (bncnetid) property set yet.\n // Only save the network if we've entered connection info.\n\n\n if (!snapshot.bncnetid && tags.host && tags.port && tags.nick) {\n log(\"Saving new network \".concat(network.name, \" to the BNC\")); // ?? network.connection.bncname = network.name;\n\n controller.ircClient.bnc.addNetwork(network.name, tags.host, tags.port, tags.tls, tags.nick, tags.user, tags.password).then(function (networkInfo) {\n network.connection.bncnetid = networkInfo.networkId;\n network.name = networkInfo.network;\n });\n } else if (snapshot.bncnetid && (0, _keys.default)(tags).length > 0) {\n log(\"Updating network \".concat(network.name, \" on the BNC\"));\n controller.ircClient.bnc.saveNetwork(bncnetid, tags);\n }\n });\n this.snapshotCurrentNetworks();\n }\n }, {\n key: \"monitorNetworkChanges\",\n value: function monitorNetworkChanges() {\n var _context17;\n\n if (this.monitoringChanges) {\n return;\n }\n\n this.monitoringChanges = true;\n this.snapshotCurrentNetworks();\n\n var debouncedSaveState = _lodash.default.debounce((0, _bind.default)(_context17 = this.saveState).call(_context17, this), 2000);\n\n this.state.$watch('networks', debouncedSaveState, {\n deep: true\n });\n }\n }, {\n key: \"listenToState\",\n value: function listenToState() {\n var _this5 = this;\n\n var state = this.state; // Just before we connect to a network, make sure the BNC is saved and connected to\n // it or at least trying to connect.\n // Ie. Quickly creating a network and hitting connect before it's had time to\n // save itself to the bouncer\n\n state.$on('network.connecting', function (event) {\n // Redirect the connection towards the bouncer with the network specific password\n var network = event.network;\n\n if (_this5.bnc.enabled && _this5.rewriteConnections) {\n var netname = network.name;\n var ircClient = network.ircClient;\n ircClient.options.host = _this5.bnc.server;\n ircClient.options.port = _this5.bnc.port;\n ircClient.options.tls = _this5.bnc.tls; // Only re-write the server password for non-bnc controller networks\n\n if (_this5.bnc.password && !event.network.is_bnc) {\n var _context18, _context19;\n\n var password = (0, _concat.default)(_context18 = (0, _concat.default)(_context19 = \"\".concat(_this5.bnc.username, \"/\")).call(_context19, netname, \":\")).call(_context18, _this5.bnc.password);\n ircClient.options.password = password;\n } // The SASL auth already happens on the BNC, we only use it for UI purposes in kiwi\n\n\n ircClient.options.account = {};\n network.connection.direct = _this5.bnc.direct;\n ircClient.options.path = _this5.bnc.path;\n }\n });\n state.$on('network.connecting', function (event) {\n var controller = _this5.getController();\n\n if (!controller) {\n log.debug('No controller available to save network states');\n return;\n }\n\n _this5.saveState();\n\n var network = event.network;\n\n if (network.connection.bncnetid) {\n controller.ircClient.raw('BOUNCER connect ' + network.connection.bncnetid);\n }\n });\n state.$on('irc.motd', function (event, network) {\n var _context20;\n\n (0, _forEach.default)(_context20 = network.buffers).call(_context20, function (buffer) {\n if (buffer.isChannel() && buffer.enabled && buffer.joined) {\n network.ircClient.who(buffer.name);\n }\n });\n });\n state.$on('network.new', function (event) {\n var network = event.network; // Enable BOUNCER on this connection\n\n network.ircClient.use((0, _BouncerMiddleware.default)());\n network.editable_name = true; // If network is attached to a bouncer do nothing\n // (use the name provided by the bouncer)\n\n if (network.connection.bncnetid) {\n return;\n }\n\n var existingNet = true; // append a number to the network name. E.g. \"Network, Network2,...\"\n // while there is a network with that name\n\n var currentNum = 1;\n var tryNetworkName;\n\n while (existingNet) {\n if (network.name && currentNum === 1) {\n // don't append the number 1 if there is a custom name\n tryNetworkName = network.name;\n } else {\n tryNetworkName = (network.name || 'Network') + currentNum;\n }\n\n existingNet = (0, _find.default)(_lodash.default).call(_lodash.default, state.networks, {\n name: tryNetworkName\n });\n\n if (!existingNet || existingNet === network) {\n network.name = tryNetworkName;\n break;\n }\n\n currentNum++;\n }\n });\n state.$on('network.removed', function (event) {\n var controller = _this5.getController();\n\n if (!controller) {\n log.debug('No controller available to save network states');\n return;\n }\n\n if (event.network.connection.bncnetid) {\n controller.ircClient.bnc.removeNetwork(event.network.connection.bncnetid);\n }\n });\n state.$on('buffer.close', function (event) {\n var buffer = event.buffer;\n var network = event.buffer.getNetwork();\n var bncnetid = network.connection.bncnetid;\n\n var controller = _this5.getController();\n\n if (!controller) {\n log.debug('No controller available to save buffer states');\n return;\n }\n\n if (bncnetid) {\n controller.ircClient.bnc.closeBuffer(bncnetid, buffer.name);\n }\n });\n }\n }, {\n key: \"parseBncCredentials\",\n value: function parseBncCredentials(bncNetworkPassword) {\n var _bncNetworkPassword$s = bncNetworkPassword.split(':'),\n _bncNetworkPassword$s2 = (0, _slicedToArray2.default)(_bncNetworkPassword$s, 2),\n username = _bncNetworkPassword$s2[0],\n password = _bncNetworkPassword$s2[1];\n\n username = username.split('/')[0];\n return [username, password];\n }\n }]);\n return BouncerProvider;\n}();\n\nexports.default = BouncerProvider;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"BouncerProvider\"]\r\nwindow._kiwi_exports.libs.BouncerProvider = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./BufferSettings.vue?vue&type=template&id=29a6566a&\"\nimport script from \"./BufferSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./BufferSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BufferSettings.vue?vue&type=style&index=0&lang=css&\"\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","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _default = _vue.default.extend({\n data: function data() {\n return {\n sidebarOpen: false,\n // sidebarSection may contain: '', 'user', 'settings', 'nicklist', 'about', 'component'\n sidebarSection: '',\n sidebarUser: null,\n activeComponent: null\n };\n },\n computed: {\n isDrawn: function isDrawn() {\n return this.sidebarOpen && this.section() && this.$state.ui.app_width <= 769;\n },\n isOpen: function isOpen() {\n return this.sidebarOpen && this.section() && this.$state.ui.app_width > 769;\n }\n },\n created: function created() {\n var _this = this;\n\n this.listen(this.$state, 'sidebar.component', function (component) {\n _this.activeComponent = component;\n _this.sidebarOpen = !!component;\n _this.sidebarSection = component ? 'component' : '';\n }); // Allow forcing the sidebar open at startup\n\n this.$nextTick(function () {\n // nextTick is needed because app_width is 0 on created()\n var sidebarDefault = _this.$state.setting('sidebarDefault');\n\n if (sidebarDefault && _this.$state.ui.app_width > 769) {\n _this.sidebarSection = sidebarDefault;\n _this.sidebarOpen = true;\n }\n });\n },\n methods: {\n section: function section() {\n if (!this.sidebarOpen) {\n return '';\n }\n\n var section = this.sidebarSection;\n\n if (section === 'component') {\n return section;\n }\n\n var buffer = this.$state.getActiveBuffer();\n\n if (buffer.isQuery()) {\n // This is a query with only one possible sidebar dont change the current state\n // instead attempt to show the user, this allows channels to show their nicklist\n var user = this.$state.getUser(buffer.getNetwork().id, buffer.name);\n\n if (user) {\n this.sidebarUser = user;\n return 'user';\n }\n\n return '';\n } // The following code is for channels only\n\n\n if (!buffer.isChannel()) {\n return '';\n }\n\n if (section === 'user' && this.sidebarUser) {\n if (buffer.hasNick(this.sidebarUser.nick)) {\n return 'user';\n } // This was going to show a user that is not even present in the current channel\n // permantly switch back to nicklist so it does not jump back to user\n // when they switch to a channel with that user\n\n\n this.sidebarSection = 'nicklist';\n return this.sidebarSection;\n } else if (section === 'nicklist') {\n return 'nicklist';\n } else if (section === 'settings') {\n return 'settings';\n } else if (section === 'about') {\n return 'about';\n }\n\n return '';\n },\n close: function close() {\n this.activeComponent = null;\n this.sidebarOpen = false;\n this.sidebarSection = '';\n this.sidebarUser = null;\n },\n showUser: function showUser(user) {\n this.activeComponent = null;\n this.sidebarUser = user;\n this.sidebarOpen = true;\n this.sidebarSection = 'user';\n },\n showNicklist: function showNicklist() {\n this.activeComponent = null;\n this.sidebarOpen = true;\n this.sidebarSection = 'nicklist';\n },\n showBufferSettings: function showBufferSettings() {\n this.activeComponent = null;\n this.sidebarOpen = true;\n this.sidebarSection = 'settings';\n },\n showAbout: function showAbout() {\n this.activeComponent = null;\n this.sidebarOpen = true;\n this.sidebarSection = 'about';\n },\n toggleUser: function toggleUser(user) {\n this.section() === 'user' ? this.close() : this.showUser(user);\n },\n toggleNicklist: function toggleNicklist() {\n this.section() === 'nicklist' ? this.close() : this.showNicklist();\n },\n toggleBufferSettings: function toggleBufferSettings() {\n this.section() === 'settings' ? this.close() : this.showBufferSettings();\n },\n toggleAbout: function toggleAbout() {\n this.section() === 'about' ? this.close() : this.showAbout();\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SidebarState\"]\r\nwindow._kiwi_exports.components.SidebarState = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-inputtool-colours\"},[_c('div',{staticClass:\"kiwi-inputtool-colours-palette\",on:{\"mousedown\":function($event){$event.preventDefault();},\"click\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-white\",attrs:{\"data-code\":\"00\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-black\",attrs:{\"data-code\":\"01\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-blue\",attrs:{\"data-code\":\"02\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-green\",attrs:{\"data-code\":\"03\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-light-red\",attrs:{\"data-code\":\"04\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-brown\",attrs:{\"data-code\":\"05\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-purple\",attrs:{\"data-code\":\"06\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-orange\",attrs:{\"data-code\":\"07\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-yellow\",attrs:{\"data-code\":\"08\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-light-green\",attrs:{\"data-code\":\"09\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-cyan\",attrs:{\"data-code\":\"10\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-light-cyan\",attrs:{\"data-code\":\"11\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-light-blue\",attrs:{\"data-code\":\"12\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-pink\",attrs:{\"data-code\":\"13\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-grey\",attrs:{\"data-code\":\"14\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour irc-bg-colour-light-grey\",attrs:{\"data-code\":\"15\"},on:{\"click\":_vm.onColourClick}}),_c('div',{staticClass:\"kiwi-inputtools-colours-colour kiwi-inputtools-colours-reset\",on:{\"click\":_vm.onResetClick}},[_c('i',{staticClass:\"fa fa-ban\",attrs:{\"aria-hidden\":\"true\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n\nvar _Object$defineProperty2 = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty2(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar _defineProperty = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _MessageParser = _interopRequireDefault(require(\"@/libs/MessageParser\"));\n\nvar _Html = _interopRequireDefault(require(\"@/libs/renderers/Html\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _state = _interopRequireDefault(require(\"./state\"));\n\nvar nextId = 0;\n\nfunction def(target, key, value) {\n (0, _defineProperty.default)(target, key, {\n writable: true,\n value: value\n });\n}\n\nvar Message = /*#__PURE__*/function () {\n function Message(message, user) {\n (0, _classCallCheck2.default)(this, Message);\n // instance_num is a running number for all messages created within Kiwi. Used to order\n // messages if the message time is the same.\n def(this, 'instance_num', nextId++);\n def(this, 'id', extractMessageId(message) || nextId++); // Two different times;\n // time = time in the users local time\n // server_time = time the server gave us\n\n def(this, 'time', message.time || (0, _now.default)());\n def(this, 'server_time', message.server_time || this.time);\n def(this, 'nick', message.nick);\n def(this, 'message', message.message);\n def(this, 'tags', message.tags);\n def(this, 'type', message.type || 'message');\n def(this, 'type_extra', message.type_extra);\n def(this, 'ignore', false);\n def(this, 'mentioned_urls', []); // If embed.payload is truthy, it will be embedded within the message\n\n this.embed = {\n type: 'url',\n payload: null\n };\n this.html = '';\n this.blocks = [];\n def(this, 'hasRendered', false); // template should be null or a Vue component to render this message\n\n def(this, 'template', message.template || null); // bodyTemplate should be null or a Vue component to render in the body of the message\n\n def(this, 'bodyTemplate', message.bodyTemplate || null);\n def(this, 'isHighlight', false); // We don't want the user object to be enumerable\n\n (0, _defineProperty.default)(this, 'user', {\n value: user\n });\n\n _vue.default.observable(this);\n }\n\n (0, _createClass2.default)(Message, [{\n key: \"render\",\n value: function render() {\n // Allow plugins to render their own messages if needed\n _GlobalApi.default.singleton().emit('message.render', {\n message: this\n });\n\n return this;\n }\n }, {\n key: \"toHtml\",\n value: function toHtml(messageList) {\n if (this.hasRendered) {\n return this.html;\n }\n\n this.hasRendered = true;\n var state = (0, _state.default)();\n var showEmoticons = state.setting('buffers.show_emoticons') && !messageList.buffer.isSpecial();\n this.toBlocks(messageList.buffer, messageList.useExtraFormatting);\n state.$emit('message.prestyle', {\n message: this,\n blocks: this.blocks\n });\n var content = (0, _Html.default)(this.blocks, showEmoticons);\n this.html = content;\n state.$emit('message.poststyle', {\n message: this,\n blocks: this.blocks\n });\n return this.html;\n }\n }, {\n key: \"toBlocks\",\n value: function toBlocks(buffer, useExtraFormatting) {\n var _context;\n\n var state = (0, _state.default)();\n var userList = buffer.users;\n var blocks = (0, _MessageParser.default)(this.message, {\n extras: !buffer.isSpecial() && useExtraFormatting && this.type === 'privmsg'\n }, userList);\n this.mentioned_urls = (0, _map.default)(_context = (0, _filter.default)(blocks).call(blocks, function (block) {\n return block.type === 'url';\n })).call(_context, function (block) {\n return block.meta.url;\n });\n this.maybeAutoEmbed();\n state.$emit('message.blocks', {\n message: this,\n blocks: blocks\n });\n this.blocks = blocks;\n return blocks;\n }\n }, {\n key: \"maybeAutoEmbed\",\n value: function maybeAutoEmbed() {\n var _context2;\n\n if (!this.mentioned_urls || this.mentioned_urls.length === 0) {\n return;\n }\n\n var showLinkPreviews = (0, _state.default)().setting('buffers.inline_link_auto_previews');\n\n if (!showLinkPreviews) {\n return;\n } // Only auto preview links on user messages. Traffic, topics, notices, etc would get\n // annoying as they usually contain links of some sort\n\n\n if (this.type !== 'privmsg') {\n return;\n }\n\n var url = this.mentioned_urls[0];\n var whitelistRegex = (0, _state.default)().setting('buffers.inline_link_auto_preview_whitelist');\n whitelistRegex = (0, _trim.default)(_context2 = whitelistRegex || '').call(_context2);\n\n try {\n if (!whitelistRegex || !new RegExp(whitelistRegex, 'i').test(url)) {\n return;\n }\n } catch (err) {\n // A bad regex pattern will throw an error\n return;\n }\n\n this.embed.payload = url;\n this.embed.type = 'url';\n }\n }, {\n key: \"serialise\",\n value: function serialise() {\n return {\n id: this.id,\n time: this.time,\n server_time: this.server_time,\n nick: this.nick,\n message: this.message,\n tags: this.tags,\n type: this.type,\n type_extra: this.type_extra\n };\n }\n }]);\n return Message;\n}();\n\nexports.default = Message;\n\nfunction extractMessageId(message) {\n if (!message.tags) {\n return undefined;\n }\n\n return message.tags.msgid || message.tags['draft/msgid'] || undefined;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"Message\"]\r\nwindow._kiwi_exports.libs.Message = exports.default ? exports.default : exports;\r\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"kiwi-messagelist-message kiwi-messagelist-message--modern\",class:[\n _vm.props.m().isRepeat() ?\n 'kiwi-messagelist-message--authorrepeat' :\n 'kiwi-messagelist-message--authorfirst',\n 'kiwi-messagelist-message-' + _vm.props.message.type,\n _vm.props.message.type_extra ?\n 'kiwi-messagelist-message-' + _vm.props.message.type + '-' + _vm.props.message.type_extra :\n '',\n _vm.props.ml.isMessageHighlight(_vm.props.message) ?\n 'kiwi-messagelist-message--highlight' :\n '',\n _vm.props.ml.isHoveringOverMessage(_vm.props.message) ?\n 'kiwi-messagelist-message--hover' :\n '',\n _vm.props.ml.buffer.last_read && _vm.props.message.time > _vm.props.ml.buffer.last_read ?\n 'kiwi-messagelist-message--unread' :\n '',\n _vm.props.message.nick.toLowerCase() === _vm.props.ml.ourNick.toLowerCase() ?\n 'kiwi-messagelist-message--own' :\n '',\n _vm.props.ml.message_info_open === _vm.props.message ?\n 'kiwi-messagelist-message--info-open' :\n '',\n _vm.props.ml.message_info_open && _vm.props.ml.message_info_open !== _vm.props.message ?\n 'kiwi-messagelist-message--blur' :\n '',\n (_vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user)) ?\n 'kiwi-messagelist-message--user-mode-' + _vm.props.m().userMode(_vm.props.message.user) :\n '',\n _vm.data.staticClass ],attrs:{\"data-message-id\":_vm.props.message.id,\"data-nick\":(_vm.props.message.nick||'').toLowerCase()},on:{\"click\":function($event){return _vm.props.ml.onMessageClick($event, _vm.props.message, true)},\"dblclick\":function($event){return _vm.props.ml.onMessageDblClick($event, _vm.props.message)}}},[_c('div',{staticClass:\"kiwi-messagelist-modern-left\"},[(_vm.props.m().isMessage(_vm.props.message) && _vm.props.m().displayAvatar(_vm.props.message))?_c(_vm.injections.components.MessageAvatar,{tag:\"component\",attrs:{\"message\":_vm.props.message,\"data-nick\":_vm.props.message.nick,\"user\":_vm.props.message.user}}):_vm._e(),(_vm.props.message.user && !_vm.props.m().isRepeat())?_c(_vm.injections.components.AwayStatusIndicator,{tag:\"component\",staticClass:\"kiwi-messagelist-awaystatus\",attrs:{\"network\":_vm.props.m().getNetwork(),\"user\":_vm.props.message.user,\"toggle\":false}}):_vm._e()],1),_c('div',{staticClass:\"kiwi-messagelist-modern-right\"},[_c('div',{staticClass:\"kiwi-messagelist-top\"},[(_vm.props.message.nick)?_c('a',{class:[\n 'kiwi-messagelist-nick',\n _vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user) ?\n 'kiwi-messagelist-nick--mode-'+_vm.props.m().userMode(_vm.props.message.user) :\n ''\n ],style:({ 'color': _vm.props.ml.userColour(_vm.props.message.user) }),attrs:{\"data-nick\":(_vm.props.message.nick).toLowerCase()},on:{\"mouseover\":function($event){_vm.props.ml.hover_nick=_vm.props.message.nick.toLowerCase();},\"mouseout\":function($event){_vm.props.ml.hover_nick='';}}},[_c('span',{staticClass:\"kiwi-messagelist-nick-prefix\"},[_vm._v(_vm._s(_vm.props.message.user ? _vm.props.m().userModePrefix(_vm.props.message.user) : ''))]),_vm._v(_vm._s(_vm.props.message.nick)+\" \")]):_vm._e(),(_vm.props.m().showRealName())?_c('div',{staticClass:\"kiwi-messagelist-realname\",on:{\"click\":function($event){return _vm.props.ml.openUserBox(_vm.props.message.nick)},\"mouseover\":function($event){_vm.props.ml.hover_nick=_vm.props.message.nick.toLowerCase();},\"mouseout\":function($event){_vm.props.ml.hover_nick='';}}},[_vm._v(\" \"+_vm._s(_vm.props.message.user.realname)+\" \")]):_vm._e(),(_vm.props.m().isMessage(_vm.props.message) &&\n _vm.props.ml.bufferSetting('show_timestamps'))?_c('div',{staticClass:\"kiwi-messagelist-time\",attrs:{\"title\":_vm.props.ml.formatTimeFull(_vm.props.message.time)}},[_vm._v(\" \"+_vm._s(_vm.props.ml.formatTime(_vm.props.message.time))+\" \")]):_vm._e()]),(_vm.props.message.bodyTemplate && _vm.props.message.bodyTemplate.$el)?_c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(_vm.props.message.bodyTemplate.$el),expression:\"props.message.bodyTemplate.$el\"}],staticClass:\"kiwi-messagelist-body\"}):_c('div',{staticClass:\"kiwi-messagelist-body\",domProps:{\"innerHTML\":_vm._s(_vm.props.ml.formatMessage(_vm.props.message))}}),(_vm.props.ml.message_info_open===_vm.props.message)?_c(_vm.injections.components.MessageInfo,{tag:\"component\",attrs:{\"message\":_vm.props.message,\"buffer\":_vm.props.ml.buffer},on:{\"close\":function($event){return _vm.props.ml.toggleMessageInfo()}}}):_vm._e(),(_vm.props.message.embed.payload)?_c('div',[_c(_vm.injections.components.MediaViewer,{tag:\"component\",attrs:{\"url\":_vm.props.message.embed.payload,\"show-pin\":true},on:{\"close\":function($event){_vm.props.message.embed.payload = ''},\"pin\":function($event){return _vm.props.ml.openEmbedInPreview(_vm.props.message)}}})],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _default = {\n props: ['buffer'],\n data: function data() {\n return {\n banlist: [],\n is_refreshing: false\n };\n },\n created: function created() {\n this.updateBanlist();\n },\n methods: {\n updateBanlist: function updateBanlist() {\n var _this = this;\n\n if (this.buffer.getNetwork().state !== 'connected' || this.is_refreshing) {\n return;\n }\n\n var channelName = this.buffer.name;\n this.is_refreshing = true;\n this.buffer.getNetwork().ircClient.banlist(channelName, function (banEvent) {\n _this.banlist = banEvent.bans;\n _this.is_refreshing = false;\n });\n },\n removeBan: function removeBan(mask) {\n var _context;\n\n var channelName = this.buffer.name;\n this.buffer.getNetwork().ircClient.unban(channelName, mask);\n this.banlist = (0, _filter.default)(_context = this.banlist).call(_context, function (ban) {\n return ban.banned !== mask;\n });\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ChannelBanlist\"]\r\nwindow._kiwi_exports.components.ChannelBanlist = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./MessageListMessageInline.vue?vue&type=template&id=7979fe60&scoped=true&functional=true&\"\nimport script from \"./MessageListMessageInline.vue?vue&type=script&lang=js&\"\nexport * from \"./MessageListMessageInline.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MessageListMessageInline.vue?vue&type=style&index=0&id=7979fe60&lang=less&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 true,\n null,\n \"7979fe60\",\n null\n \n)\n\nexport default component.exports","\"use strict\";\n\nvar _Object$defineProperty2 = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty2(exports, \"__esModule\", {\n value: true\n});\n\nexports.def = def;\n\nvar _defineProperty = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\"));\n\n// Define a non-enumerable property on an object with an optional setter callback\nfunction def(target, key, value, canSet) {\n var val = value;\n var definition = {\n get: function get() {\n return val;\n }\n };\n\n if (canSet) {\n definition.set = function set(newVal) {\n var oldVal = val;\n val = newVal;\n\n if (typeof canSet === 'function') {\n canSet(newVal, oldVal);\n }\n };\n }\n\n (0, _defineProperty.default)(target, key, definition);\n\n if (typeof canSet === 'function') {\n canSet(val);\n }\n}","import { render, staticRenderFns } from \"./Nicklist.vue?vue&type=template&id=21a06ab6&\"\nimport script from \"./Nicklist.vue?vue&type=script&lang=js&\"\nexport * from \"./Nicklist.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Nicklist.vue?vue&type=style&index=0&lang=less&\"\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 mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelfUser.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelfUser.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.SoundBleep = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar SoundBleep = /*#__PURE__*/function () {\n function SoundBleep() {\n (0, _classCallCheck2.default)(this, SoundBleep);\n this.audio = document.createElement('audio');\n var source = document.createElement('source');\n\n if (this.audio.canPlayType('audio/mpeg;')) {\n source.type = 'audio/mpeg';\n source.src = 'static/highlight.mp3';\n } else {\n source.type = 'audio/ogg';\n source.src = 'static/highlight.ogg';\n }\n\n this.audio.appendChild(source);\n }\n\n (0, _createClass2.default)(SoundBleep, [{\n key: \"play\",\n value: function play() {\n this.audio.play();\n }\n }]);\n return SoundBleep;\n}();\n\nexports.SoundBleep = SoundBleep;","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NicklistUser.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NicklistUser.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageInline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageListMessageInline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Emoji.vue?vue&type=template&id=7def9e4c&\"\nimport script from \"./Emoji.vue?vue&type=script&lang=js&\"\nexport * from \"./Emoji.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Emoji.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingAnimation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingAnimation.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-settings-aliases\"},[_c('form',{staticClass:\"u-form\"},[_c('a',{staticClass:\"u-link kiwi-settings-aliases-showhelp\",on:{\"click\":function($event){_vm.show_help=!_vm.show_help}}},[_vm._v(\" \"+_vm._s(_vm.$t('what_are_aliases'))+\" \")]),(_vm.show_help)?_c('div',{staticClass:\"kiwi-settings-aliases-help\"},[_c('p',[_vm._v(\"Aliases let you rename existing IRC commands or even build entirely new ones.\")]),_vm._m(0),_c('h4',[_vm._v(\"Variables\")]),_vm._m(1),_vm._m(2),_c('h4',[_vm._v(\"Helper commands\")]),_vm._m(3)]):_vm._e(),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.aliasText),expression:\"aliasText\"}],staticClass:\"kiwi-settings-aliases-input\",domProps:{\"value\":(_vm.aliasText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.aliasText=$event.target.value}}})])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\" They must be one per line and in the form of \"),_c('em',[_vm._v(\"/name /what it should do\")]),_vm._v(\". \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\" There are several variables that may be used to refer to the current environment such as the active channel or active nick. \"),_c('ul',[_c('li',[_c('em',[_vm._v(\"$server\")]),_vm._v(\" The current network name\")]),_c('li',[_c('em',[_vm._v(\"$channel / $destination\")]),_vm._v(\" The current channel / buffer name\")]),_c('li',[_c('em',[_vm._v(\"$nick\")]),_vm._v(\" The current nick\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\" You can also use variables to read input from the typed command. \"),_c('br'),_c('ul',[_c('li',[_c('em',[_vm._v(\"$0\")]),_vm._v(\" The command name\")]),_c('li',[_c('em',[_vm._v(\"$1\")]),_vm._v(\" The first argument from the typed input\")]),_c('li',[_c('em',[_vm._v(\"$2\")]),_vm._v(\" The second argument from the typed input\")]),_c('li',[_c('em',[_vm._v(\"$1+\")]),_vm._v(\" From the first argument to the last argument\")])]),_c('b',[_vm._v(\"Example 1:\")]),_vm._v(\" \"),_c('em',[_vm._v(\"/greet /msg $1 Hello, $1!\")]),_c('br'),_vm._v(\" This creates an IRC command /greet that accepts one argument. Typing \\\"/greet username\\\" will execute \\\"/msg username Hello, username!\\\". \"),_c('br'),_c('b',[_vm._v(\"Example 2:\")]),_vm._v(\" \"),_c('em',[_vm._v(\"/ban /quote mode $channel +b $1+\")]),_c('br'),_vm._v(\" This creates an IRC command /ban that does a few things. Typing \\\"/ban nick1 nick2\\\" will execute \\\"/quote mode #activechannel +b nick1 nick2\\\". $channel is replaced with the active channel name, $1+ is replaced with all the typed input from the first word to the end. \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('ul',[_c('li',[_c('em',[_vm._v(\"/echo\")]),_c('br'),_vm._v(\"Sends a message to the active buffer without sending it to the IRC network. Eg, /echo Something happened \")]),_c('li',[_c('em',[_vm._v(\"/lines\")]),_c('br'),_vm._v(\" Similar to Mirc script, this lets you execute multiples lines of commands separated by a pipe, \\\"|\\\".\"),_c('br'),_vm._v(\" Example: \\\"/lines /ban nick1 | /echo Banned user\\\" would first execute the /ban command, and then the /echo command. This comes in handy with creating short aliases such as the common \\\"/cycle\\\" command that parts and re-joins the active channel: \\\"/cycle /lines /part $channel | /join $channel\\\". \")])])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SettingsAdvanced.vue?vue&type=template&id=0b7f98c0&\"\nimport script from \"./SettingsAdvanced.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsAdvanced.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SettingsAdvanced.vue?vue&type=style&index=0&lang=css&\"\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 { render, staticRenderFns } from \"./StateBrowserBuffer.vue?vue&type=template&id=56ad29e1&\"\nimport script from \"./StateBrowserBuffer.vue?vue&type=script&lang=js&\"\nexport * from \"./StateBrowserBuffer.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 render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"kiwi-messagelist-message kiwi-messagelist-message--text\",class:[\n 'kiwi-messagelist-message-' + _vm.props.message.type,\n _vm.props.message.type_extra ?\n 'kiwi-messagelist-message-' + _vm.props.message.type + '-' + _vm.props.message.type_extra :\n '',\n _vm.props.ml.isMessageHighlight(_vm.props.message) ?\n 'kiwi-messagelist-message--highlight' :\n '',\n _vm.props.ml.isHoveringOverMessage(_vm.props.message) ?\n 'kiwi-messagelist-message--hover' :\n '',\n _vm.props.ml.buffer.last_read && _vm.props.message.time > _vm.props.ml.buffer.last_read ?\n 'kiwi-messagelist-message--unread' :\n '',\n _vm.props.message.nick.toLowerCase() === _vm.props.ml.ourNick.toLowerCase() ?\n 'kiwi-messagelist-message--own' :\n '',\n _vm.props.ml.message_info_open === _vm.props.message ?\n 'kiwi-messagelist-message--info-open' :\n '',\n _vm.props.ml.message_info_open && _vm.props.ml.message_info_open !== _vm.props.message ?\n 'kiwi-messagelist-message--blur' :\n '',\n (_vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user)) ?\n 'kiwi-messagelist-message--user-mode-'+_vm.props.m().userMode(_vm.props.message.user) :\n '',\n _vm.data.staticClass ],attrs:{\"data-message-id\":_vm.props.message.id,\"data-nick\":(_vm.props.message.nick||'').toLowerCase()},on:{\"click\":function($event){return _vm.props.ml.onMessageClick($event, _vm.props.message, true)},\"dblclick\":function($event){return _vm.props.ml.onMessageDblClick($event, _vm.props.message)}}},[_c('div',[(_vm.props.ml.bufferSetting('show_timestamps'))?_c('span',{staticClass:\"kiwi-messagelist-time\"},[_vm._v(\" \"+_vm._s(_vm.props.ml.formatTime(_vm.props.message.time))+\" \")]):_vm._e(),_c('span',{class:[\n 'kiwi-messagelist-nick',\n (_vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user)) ?\n 'kiwi-messagelist-nick--mode-'+_vm.props.m().userMode(_vm.props.message.user) :\n ''\n ],style:({ 'color': _vm.props.ml.userColour(_vm.props.message.user) }),attrs:{\"data-nick\":(_vm.props.message.nick||'').toLowerCase()},on:{\"mouseover\":function($event){_vm.props.ml.hover_nick=_vm.props.message.nick.toLowerCase();},\"mouseout\":function($event){_vm.props.ml.hover_nick='';}}},[_c('span',{staticClass:\"kiwi-messagelist-nick--prefix\"},[_vm._v(\" \"+_vm._s(_vm.props.message.user ? _vm.props.m().userModePrefix(_vm.props.message.user) : '')+\" \")]),_c('a',{attrs:{\"data-nick\":(_vm.props.message.nick||'').toLowerCase()}},[_vm._v(\" \"+_vm._s(_vm.props.m().displayNick())+\" \")])]),(_vm.props.message.bodyTemplate && _vm.props.message.bodyTemplate.$el)?_c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(_vm.props.message.bodyTemplate.$el),expression:\"props.message.bodyTemplate.$el\"}],staticClass:\"kiwi-messagelist-body\"}):_c('div',{staticClass:\"kiwi-messagelist-body\",domProps:{\"innerHTML\":_vm._s(_vm.props.ml.formatMessage(_vm.props.message))}})]),(_vm.props.ml.message_info_open===_vm.props.message)?_c(_vm.injections.components.MessageInfo,{tag:\"component\",attrs:{\"message\":_vm.props.message,\"buffer\":_vm.props.ml.buffer},on:{\"close\":function($event){return _vm.props.ml.toggleMessageInfo()}}}):_vm._e(),(_vm.props.message.embed.payload)?_c('div',[_c(_vm.injections.components.MediaViewer,{tag:\"component\",attrs:{\"url\":_vm.props.message.embed.payload,\"show-pin\":true},on:{\"close\":function($event){_vm.props.message.embed.payload = ''},\"pin\":function($event){return _vm.props.ml.openEmbedInPreview(_vm.props.message)}}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:\"kiwi-messagelist-message kiwi-messagelist-message--compact\",class:[\n _vm.props.m().isRepeat() ?\n 'kiwi-messagelist-message--authorrepeat' :\n 'kiwi-messagelist-message--authorfirst',\n 'kiwi-messagelist-message-' + _vm.props.message.type,\n _vm.props.message.type_extra ?\n 'kiwi-messagelist-message-' + _vm.props.message.type + '-' + _vm.props.message.type_extra :\n '',\n _vm.props.ml.isMessageHighlight(_vm.props.message) ?\n 'kiwi-messagelist-message--highlight' :\n '',\n _vm.props.ml.isHoveringOverMessage(_vm.props.message) ?\n 'kiwi-messagelist-message--hover' :\n '',\n _vm.props.ml.buffer.last_read && _vm.props.message.time > _vm.props.ml.buffer.last_read ?\n 'kiwi-messagelist-message--unread' :\n '',\n _vm.props.message.nick.toLowerCase() === _vm.props.ml.ourNick.toLowerCase() ?\n 'kiwi-messagelist-message--own' :\n '',\n _vm.props.ml.message_info_open === _vm.props.message ?\n 'kiwi-messagelist-message--info-open' :\n '',\n _vm.props.ml.message_info_open && _vm.props.ml.message_info_open !== _vm.props.message ?\n 'kiwi-messagelist-message--blur' :\n '',\n (_vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user)) ?\n 'kiwi-messagelist-message--user-mode-'+_vm.props.m().userMode(_vm.props.message.user) :\n '',\n _vm.data.staticClass ],attrs:{\"data-message-id\":_vm.props.message.id,\"data-nick\":(_vm.props.message.nick||'').toLowerCase()},on:{\"click\":function($event){return _vm.props.ml.onMessageClick($event, _vm.props.message, true)},\"dblclick\":function($event){return _vm.props.ml.onMessageDblClick($event, _vm.props.message)}}},[(_vm.props.ml.bufferSetting('show_timestamps'))?_c('div',{staticClass:\"kiwi-messagelist-time\",attrs:{\"title\":_vm.props.ml.formatTimeFull(_vm.props.message.time)}},[_vm._v(\" \"+_vm._s(_vm.props.ml.formatTime(_vm.props.message.time))+\" \")]):_vm._e(),_c('a',{class:[\n 'kiwi-messagelist-nick',\n (_vm.props.message.user && _vm.props.m().userMode(_vm.props.message.user)) ?\n 'kiwi-messagelist-nick--mode-'+_vm.props.m().userMode(_vm.props.message.user) :\n ''\n ],style:({ 'color': _vm.props.ml.userColour(_vm.props.message.user) }),attrs:{\"data-nick\":(_vm.props.message.nick||'').toLowerCase()},on:{\"mouseover\":function($event){_vm.props.ml.hover_nick=_vm.props.message.nick.toLowerCase();},\"mouseout\":function($event){_vm.props.ml.hover_nick='';}}},[(_vm.props.message.user)?_c(_vm.injections.components.AwayStatusIndicator,{tag:\"component\",attrs:{\"network\":_vm.props.m().getNetwork(),\"user\":_vm.props.message.user,\"toggle\":false}}):_vm._e(),_c('span',{staticClass:\"kiwi-messagelist-nick--prefix\"},[_vm._v(\" \"+_vm._s(_vm.props.message.user ? _vm.props.m().userModePrefix(_vm.props.message.user) : '')+\" \")]),_vm._v(\" \"+_vm._s(_vm.props.message.nick)+\" \")],1),(_vm.props.message.bodyTemplate && _vm.props.message.bodyTemplate.$el)?_c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(_vm.props.message.bodyTemplate.$el),expression:\"props.message.bodyTemplate.$el\"}],staticClass:\"kiwi-messagelist-body\"}):_c('div',{staticClass:\"kiwi-messagelist-body\",domProps:{\"innerHTML\":_vm._s(_vm.props.ml.formatMessage(_vm.props.message))}}),(_vm.props.ml.message_info_open===_vm.props.message)?_c(_vm.injections.components.MessageInfo,{tag:\"component\",attrs:{\"message\":_vm.props.message,\"buffer\":_vm.props.ml.buffer},on:{\"close\":function($event){return _vm.props.ml.toggleMessageInfo()}}}):_vm._e(),(_vm.props.message.embed.payload)?_c('div',[_c(_vm.injections.components.MediaViewer,{tag:\"component\",attrs:{\"url\":_vm.props.message.embed.payload,\"show-pin\":true},on:{\"close\":function($event){_vm.props.message.embed.payload = ''},\"pin\":function($event){return _vm.props.ml.openEmbedInPreview(_vm.props.message)}}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./KiwiBnc.vue?vue&type=template&id=e501b820&\"\nimport script from \"./KiwiBnc.vue?vue&type=script&lang=js&\"\nexport * from \"./KiwiBnc.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KiwiBnc.vue?vue&type=style&index=0&lang=css&\"\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 mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelList.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelList.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public'; // eslint-plugin-vue's max-len rule reads the entire file, including the CSS. so we can't use this\n// here as some of the rules cannot be broken up any smaller\n\n/* eslint-disable max-len */\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _TextFormatting = require(\"@/helpers/TextFormatting\");\n\nvar _MessageInfo = _interopRequireDefault(require(\"./MessageInfo\"));\n\nvar _MessageListAvatar = _interopRequireDefault(require(\"./MessageListAvatar\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _MediaViewer = _interopRequireDefault(require(\"./MediaViewer\"));\n\nvar methods = {\n props: {},\n showRealName: function showRealName() {\n var props = this.props; // Showing realname is not enabled\n\n if (!props.ml.buffer.setting('show_realnames')) {\n return false;\n } // Server does not support extended-join so realname would be inconsistent\n\n\n var client = props.ml.buffer.getNetwork().ircClient;\n\n if (!client.network.cap.isEnabled('extended-join')) {\n return false;\n } // We dont have a user or users realname\n\n\n if (!props.message.user || !props.message.user.realname) {\n return false;\n } // No point showing the realname if it's the same as the nick\n\n\n if (props.message.user.nick.toLowerCase() === props.message.user.realname.toLowerCase()) {\n return false;\n } // If the realname contains a URL it's most likely a clients website\n\n\n if (_TextFormatting.urlRegex.test(props.message.user.realname)) {\n return false;\n }\n\n return true;\n },\n getNetwork: function getNetwork() {\n var props = this.props;\n return props.ml.buffer.getNetwork();\n },\n isRepeat: function isRepeat() {\n var props = this.props;\n var ml = props.ml;\n var idx = props.idx;\n var message = props.message;\n var prevMessage = ml.filteredMessages[idx - 1];\n return !!prevMessage && prevMessage.nick === message.nick && message.time - prevMessage.time < 60000 && prevMessage.type !== 'traffic' && message.type !== 'traffic' && message.type === prevMessage.type;\n },\n isHoveringOverMessage: function isHoveringOverMessage(message) {\n var props = this.props;\n return message.nick && message.nick.toLowerCase() === props.ml.hover_nick.toLowerCase();\n },\n isMessage: function isMessage(message) {\n var types = ['privmsg', 'action', 'notice', 'message'];\n return (0, _indexOf.default)(types).call(types, message.type) > -1;\n },\n displayAvatar: function displayAvatar(message) {\n var props = this.props; // if there is no user attached hide the avatar\n\n if (!message.user) {\n return false;\n } // dont show avatars in server or special buffers\n\n\n if (props.ml.buffer.isServer() || props.ml.buffer.isSpecial()) {\n return false;\n }\n\n return true;\n },\n userMode: function userMode(user) {\n var props = this.props;\n return props.ml.buffer.userMode(user);\n },\n userModePrefix: function userModePrefix(user) {\n var props = this.props;\n return props.ml.buffer.userModePrefix(user);\n }\n};\nvar _default = {\n inject: {\n components: {\n default: {\n MessageAvatar: _MessageListAvatar.default,\n MessageInfo: _MessageInfo.default,\n AwayStatusIndicator: _AwayStatusIndicator.default,\n MediaViewer: _MediaViewer.default\n }\n }\n },\n props: {\n ml: Object,\n message: Object,\n idx: Number,\n m: {\n default: function m() {\n // vue uses this function to generate the prop. `this`==null Return our own function\n return function n() {\n // Give our methods some props context before its function is called.\n // This is only safe because the function on the methods object is called on\n // the same js tick\n methods.props = this;\n return methods;\n };\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageListMessageModern\"]\r\nwindow._kiwi_exports.components.MessageListMessageModern = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public'; // Helper to generate Vues computed methods for simple channel modes.\n// Eg. +i, +n, etc\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nfunction generateComputedMode(mode) {\n return {\n get: function computedModeGet() {\n return this.modeVal(mode);\n },\n set: function computedModeSet(newVal) {\n return this.setMode((newVal ? '+' : '-') + mode);\n }\n };\n} // Helper to generate Vues computed methods for channel modes with a parameter\n// Eg. \"+k key\"\n\n\nfunction generateComputedModeWithParam(mode) {\n return {\n get: function computedModeWithParamGet() {\n var val = this.modeVal(mode);\n return val === false ? '' : val;\n },\n set: function computedModeWithParamSet(newVal) {\n if (newVal) {\n this.setMode('+' + mode, newVal);\n } else {\n this.setMode('-' + mode, this.modeVal(mode));\n }\n }\n };\n}\n\nvar _default = {\n props: ['buffer'],\n data: function data() {\n return {\n showPrevTopics: false\n };\n },\n computed: {\n modeM: generateComputedMode('m'),\n modeI: generateComputedMode('i'),\n modeT: generateComputedMode('t'),\n modeN: generateComputedMode('n'),\n modeK: generateComputedModeWithParam('k'),\n topic: {\n get: function computedTopicGet() {\n return this.buffer.topic;\n },\n set: function computedTopicSet(newVal) {\n var newTopic = newVal.replace('\\n', ' '); // TODO: Update irc-framework to insert a trailing : if the last argument is an\n // empty string. The trailing : makes a difference between things like\n // requesting a topic and changing to an empty topic\n\n if (!(0, _trim.default)(newTopic).call(newTopic)) {\n this.buffer.getNetwork().ircClient.raw(\"TOPIC \".concat(this.buffer.name, \" :\"));\n } else {\n this.buffer.getNetwork().ircClient.setTopic(this.buffer.name, newTopic);\n }\n }\n },\n prevTopics: function prevTopics() {\n var _context;\n\n return (0, _filter.default)(_context = this.buffer.topics).call(_context, function (topic) {\n return (0, _trim.default)(topic).call(topic);\n });\n }\n },\n methods: {\n updateBanList: function updateBanList() {\n this.buffer.getNetwork().ircClient.raw('MODE', this.buffer.name, '+b');\n },\n setMode: function setMode(mode, param) {\n this.buffer.getNetwork().ircClient.raw('MODE', this.buffer.name, mode, param);\n },\n modeVal: function modeVal(mode) {\n var val = false;\n\n if (typeof this.buffer.modes[mode] === 'undefined') {\n // Specifically undefined = mode not set\n val = false;\n } else if (!this.buffer.modes[mode]) {\n // Falsy value = mode set without value\n val = true;\n } else {\n // Anything else = mode set with a value\n val = this.buffer.modes[mode];\n }\n\n return val;\n },\n areWeAnOp: function areWeAnOp() {\n return this.buffer.isUserAnOp(this.buffer.getNetwork().nick);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ChannelInfo\"]\r\nwindow._kiwi_exports.components.ChannelInfo = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nicklist.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nicklist.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaViewer.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KiwiBnc.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KiwiBnc.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _ContainerHeader = _interopRequireDefault(require(\"./ContainerHeader\"));\n\nvar _Sidebar = _interopRequireDefault(require(\"./Sidebar\"));\n\nvar _NotConnected = _interopRequireDefault(require(\"./NotConnected\"));\n\nvar _MessageList = _interopRequireDefault(require(\"./MessageList\"));\n\nvar _ServerView = _interopRequireDefault(require(\"./ServerView\"));\n\nvar _default = {\n components: {\n ContainerHeader: _ContainerHeader.default,\n Sidebar: _Sidebar.default,\n NotConnected: _NotConnected.default,\n MessageList: _MessageList.default,\n ServerView: _ServerView.default\n },\n props: ['network', 'buffer', 'sidebarState'],\n data: function data() {\n return {};\n },\n computed: {\n bufferType: function bufferType() {\n var type = '';\n\n if (!this.buffer) {\n type = 'none';\n } else if (this.buffer.isServer()) {\n type = 'server';\n } else if (this.buffer.isChannel()) {\n type = 'channel';\n } else if (this.buffer.isQuery()) {\n type = 'query';\n }\n\n return type;\n },\n unreadMessages: function unreadMessages() {\n var _context;\n\n var count = 0;\n var highlight = false;\n (0, _forEach.default)(_context = this.$state.networks).call(_context, function (network) {\n var _context2;\n\n (0, _forEach.default)(_context2 = network.buffers).call(_context2, function (buffer) {\n count += (0, _flags.default)(buffer).unread || 0;\n\n if ((0, _flags.default)(buffer).highlight) {\n highlight = true;\n }\n });\n });\n return {\n count: count,\n highlight: highlight\n };\n }\n },\n created: function created() {\n var _this = this;\n\n this.listen(this.$state, 'sidebar.toggle', function () {\n _this.$state.$emit('sidebar.' + (_this.sidebarState.isDrawn ? 'hide' : 'show'));\n });\n this.listen(this.$state, 'sidebar.show', function () {\n _this.sidebarState.showNicklist();\n });\n this.listen(this.$state, 'sidebar.hide', function () {\n _this.sidebarState.close();\n });\n this.listen(this.$state, 'userbox.show', function (user, opts) {\n _this.sidebarState.showUser(user);\n });\n this.listen(this.$state, 'userbox.hide', function () {\n _this.sidebarState.close();\n });\n this.listen(this.$state, 'document.keydown', function (ev) {\n // Return if not Page Up or Page Down keys\n if (ev.keyCode !== 33 && ev.keyCode !== 34) {\n return;\n } // if no messagelist, select the first tabbed content to allow channel list scrolling\n\n\n var messageList = _this.$el.querySelector('.kiwi-messagelist') || _this.$el.querySelector('.u-tabbed-content');\n\n if (!messageList) {\n return;\n }\n\n var scrollDistance = messageList.clientHeight - 0.1 * messageList.clientHeight;\n var scrollTop = messageList.scrollTop;\n var scrollMax = messageList.scrollHeight;\n\n if (ev.keyCode === 33) {\n // up\n scrollTop -= scrollDistance;\n\n if (scrollTop < 0) {\n scrollTop = 0;\n }\n } else {\n // down\n scrollTop += scrollDistance;\n\n if (scrollTop > scrollMax) {\n scrollTop = scrollMax;\n }\n }\n\n messageList.scrollTop = scrollTop;\n });\n },\n methods: {\n toggleStateBrowser: function toggleStateBrowser() {\n this.$state.$emit('statebrowser.toggle');\n },\n toggleSidebar: function toggleSidebar() {\n if (this.buffer.isChannel()) {\n this.$state.$emit('sidebar.toggle');\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Container\"]\r\nwindow._kiwi_exports.components.Container = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-customserver\",class:[_vm.is_connecting ? 'kiwi-customserver--connecting' : '']},[_c('div',{staticClass:\"kiwi-customserver-container\"},[(!_vm.is_connecting)?_c('h2',{domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \"),_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.infoClick}},[_c('i',{staticClass:\"fa fa-info-circle\",attrs:{\"aria-hidden\":\"true\"}})])]),_c('transition',{attrs:{\"name\":\"kiwi-connectingloader\"}},[(!_vm.is_connecting)?_c('form',{staticClass:\"u-form u-form--big kiwi-customserver-form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.startUp($event)}}},[(_vm.network && _vm.network.state_error)?_c('div',{staticClass:\"kiwi-customserver-error\"},[_vm._v(\" We couldn't connect to the server :( \"),_c('span',[_vm._v(_vm._s(_vm.readableStateError(_vm.network.state_error)))])]):_vm._e(),(_vm.server_type === 'default')?[_c('input-text',{attrs:{\"label\":_vm.$t('server')},model:{value:(_vm.server),callback:function ($$v) {_vm.server=$$v},expression:\"server\"}},[_c('span',{staticClass:\"fa-stack fa-lg kiwi-customserver-tls\",class:[_vm.tls ? 'kiwi-customserver-tls--enabled' : ''],on:{\"click\":function($event){_vm.tls=!_vm.tls}}},[_c('i',{staticClass:\"fa fa-lock fa-stack-1x kiwi-customserver-tls-lock\"}),(!_vm.tls)?_c('i',{staticClass:\"fa fa-times fa-stack-1x kiwi-customserver-tls-minus\"}):_vm._e()])]),_c('input-text',{staticClass:\"kiwi-customserver-nick\",attrs:{\"label\":_vm.$t('nick')},model:{value:(_vm.nick),callback:function ($$v) {_vm.nick=$$v},expression:\"nick\"}}),_c('label',{staticClass:\"kiwi-customserver-have-password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.show_password_box),expression:\"show_password_box\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.show_password_box)?_vm._i(_vm.show_password_box,null)>-1:(_vm.show_password_box)},on:{\"change\":function($event){var $$a=_vm.show_password_box,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.show_password_box=$$a.concat([$$v]))}else{$$i>-1&&(_vm.show_password_box=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.show_password_box=$$c}}}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('password_have'))+\" \")])]),(_vm.show_password_box)?_c('input-text',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"label\":_vm.$t('password'),\"show-plain-text\":true,\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}):_vm._e(),_c('input-text',{attrs:{\"label\":_vm.$t('channel')},model:{value:(_vm.channel),callback:function ($$v) {_vm.channel=$$v},expression:\"channel\"}})]:_vm._e(),(_vm.server_type === 'default_simple')?[_c('input-text',{staticClass:\"kiwi-customserver-nick\",attrs:{\"label\":_vm.$t('nick')},model:{value:(_vm.nick),callback:function ($$v) {_vm.nick=$$v},expression:\"nick\"}}),_c('label',{staticClass:\"kiwi-customserver-have-password\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.show_password_box),expression:\"show_password_box\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.show_password_box)?_vm._i(_vm.show_password_box,null)>-1:(_vm.show_password_box)},on:{\"change\":function($event){var $$a=_vm.show_password_box,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.show_password_box=$$a.concat([$$v]))}else{$$i>-1&&(_vm.show_password_box=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.show_password_box=$$c}}}}),_c('span',[_vm._v(_vm._s(_vm.$t('password_have')))])]),(_vm.show_password_box)?_c('input-text',{directives:[{name:\"focus\",rawName:\"v-focus\"}],attrs:{\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}):_vm._e(),_c('input-text',{staticClass:\"kiwi-customserver-channel\",attrs:{\"label\":_vm.$t('channel')},model:{value:(_vm.channel),callback:function ($$v) {_vm.channel=$$v},expression:\"channel\"}})]:_vm._e(),(_vm.server_type === 'znc')?[_c('input-text',{attrs:{\"label\":_vm.$t('server')},model:{value:(_vm.server),callback:function ($$v) {_vm.server=$$v},expression:\"server\"}},[_c('span',{staticClass:\"fa-stack fa-lg kiwi-customserver-tls\",class:[_vm.tls ? 'kiwi-customserver-tls--enabled' : ''],on:{\"click\":function($event){_vm.tls=!_vm.tls}}},[_c('i',{staticClass:\"fa fa-lock fa-stack-1x kiwi-customserver-tls-lock\"}),(!_vm.tls)?_c('i',{staticClass:\"fa fa-times fa-stack-1x kiwi-customserver-tls-minus\"}):_vm._e()])]),_c('input-text',{staticClass:\"kiwi-customserver-nick\",attrs:{\"label\":_vm.$t('username')},model:{value:(_vm.nick),callback:function ($$v) {_vm.nick=$$v},expression:\"nick\"}}),(_vm.znc_network_support)?_c('input-text',{attrs:{\"label\":_vm.$t('network')},model:{value:(_vm.znc_network),callback:function ($$v) {_vm.znc_network=$$v},expression:\"znc_network\"}}):_vm._e(),_c('input-text',{attrs:{\"label\":_vm.$t('password'),\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}})]:_vm._e(),_c('button',{staticClass:\"u-button u-button-primary u-submit\",attrs:{\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")]),(_vm.show_type_switcher)?_c('div',{staticClass:\"kiwi-customserver-server-types\"},[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){_vm.server_type = 'default'}}},[_vm._v(_vm._s(_vm.$t('network')))]),_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){_vm.server_type = 'znc'}}},[_vm._v(_vm._s(_vm.$t('znc')))])]):_vm._e()],2):_c('div',{staticClass:\"kiwi-customserver-loader\"},[_c('i',{staticClass:\"fa fa-spin fa-spinner\",attrs:{\"aria-hidden\":\"true\"}})])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-typinguserslist\"},[_vm._l((_vm.typingUsers),function(user,idx){return _c('span',{key:user.nick,style:({ color: _vm.userColour(user) })},[_vm._v(\" \"+_vm._s(user.nick)+_vm._s(_vm.typingUsers.length - 1 > idx ? ',' : '')+\" \")])}),(_vm.typingUsers.length > 0)?_c('span',{staticClass:\"kiwi-typing\"}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _values = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/values\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar settingTools = _interopRequireWildcard(require(\"@/libs/settingTools\"));\n\nvar _autocompleteCommands = _interopRequireDefault(require(\"@/res/autocompleteCommands\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _AutoComplete = _interopRequireDefault(require(\"./AutoComplete\"));\n\nvar _TextStyle = _interopRequireDefault(require(\"./inputtools/TextStyle\"));\n\nvar _Emoji = _interopRequireDefault(require(\"./inputtools/Emoji\"));\n\nvar _SelfUser = _interopRequireDefault(require(\"./SelfUser\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _TypingUsersList = _interopRequireDefault(require(\"./TypingUsersList\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n components: {\n AutoComplete: _AutoComplete.default,\n AwayStatusIndicator: _AwayStatusIndicator.default,\n SelfUser: _SelfUser.default,\n TypingUsersList: _TypingUsersList.default\n },\n props: ['container', 'buffer'],\n data: function data() {\n return {\n self: this,\n selfuser_open: false,\n autocomplete_open: false,\n autocomplete_items: [],\n autocomplete_filter: '',\n // Not filtering through the autocomplete list means that the entire word is put\n // in place when cycling through items. Just as with traditional IRC clients when\n // tabbing through nicks.\n // When filtering through the list, we keep typing more of the word we want as the\n // autocomplete list filters its results to show us the relevant items, not replacing\n // the current word until we select an item.\n autocomplete_filtering: true,\n active_tool: null,\n active_tool_props: {},\n pluginUiElements: _GlobalApi.default.singleton().controlInputPlugins,\n showPlugins: true,\n current_input_value: '',\n has_focus: false\n };\n },\n computed: {\n currentNick: function currentNick() {\n var activeNetwork = this.$state.getActiveNetwork();\n return activeNetwork ? activeNetwork.nick : '';\n },\n networkState: function networkState() {\n var activeNetwork = this.$state.getActiveNetwork();\n return activeNetwork ? activeNetwork.state : '';\n },\n shouldShowSendButton: function shouldShowSendButton() {\n return this.$state.ui.is_touch || this.$state.setting('showSendButton');\n },\n shouldShowEmojiPicker: function shouldShowEmojiPicker() {\n return this.$state.setting('showEmojiPicker') && !this.$state.ui.is_touch;\n },\n shouldShowColorPicker: function shouldShowColorPicker() {\n return this.$state.setting('showColorPicker');\n },\n shouldShowInputButtons: function shouldShowInputButtons() {\n if (this.pluginUiElements.length || this.shouldShowEmojiPicker || this.shouldShowColorPicker) {\n return true;\n }\n\n return false;\n },\n history: function history() {\n if (this.$state.setting('buffers.shared_input')) {\n return this.$state.ui.input_history;\n }\n\n return this.buffer.input_history;\n },\n history_pos: {\n get: function get() {\n if (this.$state.setting('buffers.shared_input')) {\n return this.$state.ui.input_history_pos;\n }\n\n return this.buffer.input_history_pos;\n },\n set: function set(newVal) {\n if (this.$state.setting('buffers.shared_input')) {\n this.$state.ui.input_history_pos = newVal;\n } else {\n this.buffer.input_history_pos = newVal;\n }\n }\n }\n },\n watch: {\n history_pos: function history_pos(newVal) {\n var val = this.history[this.history_pos];\n this.$refs.input.setValue(val || '');\n },\n buffer: function buffer() {\n if (!this.$state.setting('buffers.shared_input')) {\n this.inputRestore();\n }\n\n this.autocomplete_open = false;\n }\n },\n created: function created() {\n var _this = this;\n\n this.typingTimer = null;\n this.lastTypingTime = 0;\n this.listen(this.$state, 'document.keydown', function (ev) {\n // No input box currently? Nothing to shift focus to\n if (!_this.$refs.input) {\n return;\n } // If we're copying text, don't shift focus\n\n\n if (ev.ctrlKey || ev.altKey || ev.metaKey) {\n return;\n } // shift key on its own, don't shift focus we handle this below\n\n\n if (ev.keyCode === 16) {\n return;\n } // Firefox 66.0.3 on linux isn't consistently setting ev.ctrlKey === true when only\n // the control key is pressed so add a specific check for this\n // TODO: Remove this check once ff 66.0.3 is no longer around\n\n\n if (ev.keyCode === 17) {\n return;\n } // If we are using shift and arrow keys, don't shift focus\n // this allows users to adjust text selection\n\n\n var arrowKeyCodes = [37, 38, 39, 40];\n\n if (ev.shiftKey && (0, _indexOf.default)(arrowKeyCodes).call(arrowKeyCodes, ev.keyCode) !== -1) {\n return;\n } // If we're typing into an input box somewhere, ignore\n\n\n var elements = ['input', 'select', 'textarea', 'button', 'datalist', 'keygen'];\n var doNotRefocus = (0, _indexOf.default)(elements).call(elements, ev.target.tagName.toLowerCase()) > -1 || ev.target.getAttribute('contenteditable');\n\n if (doNotRefocus) {\n return;\n }\n\n _this.$refs.input.focus();\n });\n this.listen(this.$state, 'input.insertnick', function (nick) {\n if (!_this.$refs.input) {\n return;\n }\n\n var val = nick;\n\n if (_this.current_input_value === '') {\n val += ': ';\n } else {\n val += ' ';\n }\n\n _this.$refs.input.insertText(val);\n });\n this.listen(this.$state, 'input.tool', function (toolComponent) {\n _this.toggleInputTool(toolComponent);\n });\n },\n mounted: function mounted() {\n this.inputRestore();\n },\n methods: {\n inputUpdate: function inputUpdate(val) {\n this.current_input_value = val;\n\n if (this.$state.setting('buffers.shared_input')) {\n this.$state.ui.current_input = val;\n } else {\n this.buffer.current_input = val;\n }\n\n this.maybeHidePlugins();\n },\n inputRestore: function inputRestore() {\n var currentInput = this.$state.setting('buffers.shared_input') ? this.$state.ui.current_input : this.buffer.current_input;\n this.$refs.input.reset(currentInput);\n this.$refs.input.selectionToEnd();\n },\n toggleSelfUser: function toggleSelfUser() {\n if (this.networkState === 'connected') {\n this.selfuser_open = !this.selfuser_open;\n }\n },\n maybeHidePlugins: function maybeHidePlugins() {\n // Save some space if we're typing on a small screen\n if (this.$state.ui.app_width < 500) {\n this.showPlugins = false;\n }\n },\n onToolClickTextStyle: function onToolClickTextStyle() {\n this.toggleInputTool(_TextStyle.default);\n },\n onToolClickEmoji: function onToolClickEmoji() {\n this.toggleInputTool(_Emoji.default);\n },\n closeInputTool: function closeInputTool() {\n this.active_tool = null;\n },\n toggleInputTool: function toggleInputTool(tool) {\n if (!tool || this.active_tool === tool) {\n this.active_tool = null;\n } else {\n this.active_tool_props = {\n buffer: this.buffer,\n ircinput: this.$refs.input\n };\n this.active_tool = tool;\n }\n },\n toggleBold: function toggleBold() {\n this.$refs.input.toggleBold();\n },\n toggleItalic: function toggleItalic() {\n this.$refs.input.toggleItalic();\n },\n toggleUnderline: function toggleUnderline() {\n this.$refs.input.toggleUnderline();\n },\n onAutocompleteCancel: function onAutocompleteCancel() {\n this.autocomplete_open = false;\n },\n onAutocompleteTemp: function onAutocompleteTemp(selectedValue, selectedItem) {\n if (!this.autocomplete_filtering) {\n this.$refs.input.setCurrentWord(selectedValue);\n }\n },\n onAutocompleteSelected: function onAutocompleteSelected(selectedValue, selectedItem) {\n var word = selectedValue;\n\n if (word.length > 0) {\n this.$refs.input.setCurrentWord(word);\n }\n\n this.autocomplete_open = false;\n },\n inputKeyDown: function inputKeyDown(event) {\n var _context,\n _this2 = this;\n\n var meta = false;\n\n if ((0, _indexOf.default)(_context = navigator.appVersion).call(_context, 'Mac') !== -1) {\n meta = event.metaKey;\n } else {\n meta = event.ctrlKey;\n } // If autocomplete has handled the event, don't also handle it here\n\n\n if (this.autocomplete_open && this.$refs.autocomplete.handleOnKeyDown(event)) {\n return;\n } // When not filtering, select the current autocomplete item so that we can type any\n // character directly after a nick\n\n\n if (this.autocomplete_open && !this.autocomplete_filtering) {\n this.$refs.autocomplete.selectCurrentItem();\n }\n\n if (event.keyCode === 13 && (event.altKey && !event.shiftKey && !event.metaKey && !event.ctrlKey || event.shiftKey && !event.altKey && !event.metaKey && !event.ctrlKey)) {\n // Add new line when shift+enter or alt+enter is pressed\n event.preventDefault();\n this.$refs.input.insertText('\\n');\n } else if (event.keyCode === 13) {\n // Send message when enter is pressed\n event.preventDefault();\n this.submitForm();\n } else if (event.keyCode === 32) {\n // Hitting space after just typing an ascii emoji will get it replaced with\n // its image\n if (this.$state.setting('buffers.show_emoticons')) {\n var currentWord = this.$refs.input.getCurrentWord();\n var emojiList = this.$state.setting('emojis');\n\n if (emojiList.hasOwnProperty(currentWord.word)) {\n var emoji = emojiList[currentWord.word];\n var url = this.$state.setting('emojiLocation') + emoji + '.png';\n this.$refs.input.setCurrentWord('');\n this.$refs.input.addImg(currentWord.word + ' ', url);\n }\n }\n } else if (event.keyCode === 38) {\n // Up\n event.preventDefault();\n this.historyBack();\n this.$nextTick(function () {\n _this2.$refs.input.selectionToEnd();\n });\n } else if (event.keyCode === 40) {\n // Down\n event.preventDefault();\n this.historyForward();\n this.$nextTick(function () {\n _this2.$refs.input.selectionToEnd();\n });\n } else if (event.keyCode === 9 && !event.shiftKey && !event.altKey && !event.metaKey && !event.ctrlKey) {\n // Tab and no other keys as tab+other is often a keyboard shortcut\n // Tab key was just pressed, start general auto completion\n var _currentWord = this.$refs.input.getCurrentWord();\n\n var currentToken = _currentWord.word.substr(0, _currentWord.position);\n\n var inputText = this.$refs.input.getRawText();\n var items = [];\n\n if ((0, _indexOf.default)(inputText).call(inputText, '/set') === 0) {\n items = this.buildAutoCompleteItems({\n settings: true\n });\n } else {\n items = this.buildAutoCompleteItems({\n users: true,\n buffers: true\n });\n }\n\n this.openAutoComplete(items);\n this.autocomplete_filter = currentToken; // Disable filtering so that tabbing cycles through words more like\n // traditional IRC clients.\n\n this.autocomplete_filtering = false;\n event.preventDefault();\n } else if (meta && event.keyCode === 75) {\n // meta + k\n this.toggleInputTool(_TextStyle.default);\n event.preventDefault();\n } else if (meta && event.keyCode === 66) {\n // meta + b\n this.toggleBold();\n event.preventDefault();\n } else if (meta && event.keyCode === 73) {\n // meta + i\n this.toggleItalic();\n event.preventDefault();\n } else if (meta && event.keyCode === 85) {\n // meta + u\n this.toggleUnderline();\n event.preventDefault();\n }\n },\n inputKeyUp: function inputKeyUp(event) {\n var inputVal = this.$refs.input.getRawText();\n var currentWord = this.$refs.input.getCurrentWord();\n var currentToken = currentWord.word.substr(0, currentWord.position);\n\n if (event.keyCode === 27 && this.autocomplete_open) {\n this.autocomplete_open = false;\n } else if (this.autocomplete_open && currentToken === '') {\n this.autocomplete_open = false;\n } else if (this.autocomplete_open) {\n // @ is a shortcut to open the nicklist autocomplete. It's not part\n // of the nick so strip it out before passing currentToken to the\n // filter.\n if (currentToken[0] === '@') {\n currentToken = currentToken.substr(1);\n }\n } else if (currentToken === '@') {\n // Just typed @ so start the nick auto completion\n this.openAutoComplete(this.buildAutoCompleteItems({\n users: true\n }));\n this.autocomplete_filtering = true;\n } else if (inputVal === '/') {\n // Just typed / so start the command auto completion\n this.openAutoComplete(this.buildAutoCompleteItems({\n commands: true\n }));\n this.autocomplete_filtering = true;\n } else if (currentToken === '#') {\n // Just typed # so start the command auto completion\n this.openAutoComplete(this.buildAutoCompleteItems({\n buffers: true\n }));\n this.autocomplete_filtering = true;\n } else if (event.keyCode === 9 && !event.shiftKey && !event.altKey && !event.metaKey && !event.ctrlKey) {\n // Tab and no other keys as tab+other is often a keyboard shortcut\n event.preventDefault();\n } else if (!event.key.match(/^(Shift|Control|Alt|Enter)/)) {\n if ((0, _trim.default)(inputVal).call(inputVal)) {\n this.startTyping();\n } else {\n this.stopTyping(true);\n }\n }\n\n if (this.autocomplete_open && this.autocomplete_filtering) {\n this.autocomplete_filter = currentToken;\n }\n },\n submitForm: function submitForm() {\n var _context2;\n\n var rawInput = this.$refs.input.getValue();\n\n if (!rawInput) {\n return;\n }\n\n var ircText = this.$refs.input.buildIrcText();\n this.$state.$emit('input.raw', ircText); // Add to history, keeping the history trimmed to the last 50 entries\n\n this.history.push(rawInput);\n (0, _splice.default)(_context2 = this.history).call(_context2, 0, this.history.length - 50);\n this.history_pos = this.history.length;\n this.$refs.input.reset();\n this.stopTyping(false);\n },\n historyBack: function historyBack() {\n if (this.history_pos > 0) {\n this.history_pos--;\n }\n },\n historyForward: function historyForward() {\n // Purposely let history_pos go 1 index beyond the history length\n // so that we can detect if we're not currently using a history value\n if (this.history_pos < this.history.length) {\n this.history_pos++;\n }\n },\n openAutoComplete: function openAutoComplete(items) {\n if (this.$state.setting('showAutocomplete')) {\n this.autocomplete_items = items;\n this.autocomplete_open = true;\n }\n },\n buildAutoCompleteItems: function buildAutoCompleteItems(_opts) {\n var opts = _opts || {};\n var list = [];\n\n if (opts.users) {\n var _context3;\n\n var userList = (0, _map.default)(_context3 = (0, _values.default)(_lodash.default).call(_lodash.default, this.buffer.users)).call(_context3, function (user) {\n var item = {\n text: user.nick,\n type: 'user'\n };\n return item;\n });\n\n if (this.buffer.isQuery()) {\n userList.push({\n text: this.buffer.name,\n type: 'user'\n });\n }\n\n list = (0, _concat.default)(list).call(list, userList);\n }\n\n if (opts.buffers) {\n var _context4;\n\n var bufferList = [];\n (0, _forEach.default)(_context4 = this.buffer.getNetwork().buffers).call(_context4, function (buffer) {\n if (buffer.isChannel()) {\n bufferList.push({\n text: buffer.name,\n type: 'buffer'\n });\n }\n });\n list = (0, _concat.default)(list).call(list, bufferList);\n }\n\n if (opts.commands) {\n var commandList = [];\n (0, _forEach.default)(_autocompleteCommands.default).call(_autocompleteCommands.default, function (command) {\n var _context5, _context6;\n\n // allow descriptions to be translation keys or static strings\n var desc = (0, _indexOf.default)(_context5 = command.description).call(_context5, 'locale_id_') === 0 ? TextFormatting.t(command.description.substr(10)) : command.description;\n commandList.push({\n text: '/' + command.command,\n description: desc,\n type: 'command',\n // Each alias needs the / command prefix adding\n alias: (0, _map.default)(_context6 = command.alias || []).call(_context6, function (c) {\n return '/' + c;\n })\n });\n });\n list = (0, _concat.default)(list).call(list, commandList);\n }\n\n if (opts.settings) {\n var _context7;\n\n var out = {};\n var base = [];\n settingTools.buildTree(out, base, this.$state.getSetting('settings'), false);\n settingTools.buildTree(out, base, this.$state.getSetting('user_settings'), true);\n var settingList = [];\n (0, _forEach.default)(_context7 = (0, _keys.default)(out)).call(_context7, function (setting) {\n settingList.push({\n text: setting,\n type: 'setting'\n });\n });\n list = (0, _concat.default)(list).call(list, settingList);\n }\n\n return list;\n },\n startTyping: function startTyping() {\n var network = this.buffer.getNetwork();\n\n if (!network.ircClient.network.cap.isEnabled('message-tags')) {\n return;\n }\n\n if (!this.buffer || !this.buffer.shouldShareTyping()) {\n return;\n }\n\n if (this.typingTimer) {\n clearTimeout(this.typingTimer);\n this.typingTimer = null;\n }\n\n this.typingTimer = (0, _setTimeout2.default)(this.stopTyping, 3000);\n\n if ((0, _now.default)() < this.lastTypingTime + 3000) {\n return;\n }\n\n network.ircClient.typing.start(this.buffer.name);\n this.lastTypingTime = (0, _now.default)();\n },\n stopTyping: function stopTyping(sendStopPause) {\n var _context8;\n\n var network = this.buffer.getNetwork();\n\n if (!network.ircClient.network.cap.isEnabled('message-tags')) {\n return;\n }\n\n if (!this.buffer || !this.buffer.shouldShareTyping()) {\n return;\n }\n\n if (this.typingTimer) {\n clearTimeout(this.typingTimer);\n this.typingTimer = null;\n this.lastTypingTime = 0;\n } // dont send done if a message was sent\n\n\n if (!sendStopPause) {\n return;\n }\n\n (0, _trim.default)(_context8 = this.$refs.input.getRawText()).call(_context8) ? network.ircClient.typing.pause(this.buffer.name) : network.ircClient.typing.stop(this.buffer.name);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"ControlInput\"]\r\nwindow._kiwi_exports.components.ControlInput = exports.default ? exports.default : exports;\r\n","var render = function (_h,_vm) {\nvar _obj;\nvar _c=_vm._c;return (_vm.$options.m.shouldShowStatus(_vm.props))?_c('span',{staticClass:\"kiwi-awaystatusindicator\",class:( _obj = {\n 'kiwi-awaystatusindicator--away': _vm.props.user && _vm.props.user.isAway(),\n 'kiwi-awaystatusindicator--self': _vm.$options.m.isUserSelf(_vm.props)\n }, _obj[_vm.data.staticClass] = !!_vm.data.staticClass, _obj ),on:{\"click\":function($event){return _vm.$options.m.toggleSelfAway(_vm.props)}}}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContainerHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContainerHeader.vue?vue&type=script&lang=js&\"","// Module\nvar code = \"

Linking to your network /channel

Some quick examples on how you can link directly to your network or channels. Even better, embed them into an iframe directly on your website.

As a bonus, you can link to multiple IRC networks at the same time:

Or maybe you host a ZNC server and want to link to it:


What's new in Kiwi Next?

Networks and settings remembered

All your settings and networks will be remembered for when you come back. You won't need to be re-entering your favourite networks every time you open Kiwi anymore.

Mobile and tablet support

Now that over 50% of internet usage is now on mobile, Kiwi has complete mobile support with new layouts and messages. Everything is accessible with just your fingers.

Embedded images and videos

Opening photos and videos within Kiwi now gets pinned at the bottom of the screen. This lets you switch channels, keep talking without it going off-screen, and have that permenant youtube video playing while you're talking.

ZNC integration

When connecting to a ZNC server, Kiwi will now automatically detect it and look for any other networks in your ZNC account. If any are found then they are shown in a list - just one click away from connecting to it.

Aliases editor

A full alias editor to create command aliases to handle users in your channel, administrate your network or project, or even join multiple commands into a single helpful command. Created by a simple text editor that lets you copy/paste/share your aliases wherever you please.

Raw IRC power

If you're a power IRC user or like to get indepth, Kiwi now uses the raw IRC protocol directly in the browser. Look at the raw IRC messages going back and forth, send raw commands, or use it's scripting to test out new protocol ideas and experiments.

The most IRCv3 compliant open source web IRC client

IRC is being pushed forward by the IRCv3 working group which brings us new features that any IRC client can be using. Not only taking part, but Kiwi is one of the most IRCv3 complete web clients that exists.

\";\n// Exports\nmodule.exports = code;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-serverview\"},[_c('div',{staticClass:\"kiwi-serverview-inner\"},[_c('tabbed-view',{key:_vm.network.id,ref:\"tabs\",on:{\"changed\":_vm.tabChanged}},[_c('tabbed-tab',{attrs:{\"header\":_vm.$t('messages'),\"focus\":_vm.hasMessages,\"name\":\"messages\"}},[_c('message-list',{attrs:{\"buffer\":_vm.serverBuffer}})],1),(!_vm.restrictedServer)?_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings'),\"focus\":!_vm.hasMessages,\"name\":\"settings\"}},[_c('network-settings',{attrs:{\"network\":_vm.network}})],1):_vm._e(),(_vm.networkConnected)?_c('tabbed-tab',{attrs:{\"header\":_vm.$t('channels'),\"name\":\"channels\"}},[_c('channel-list',{attrs:{\"network\":_vm.network}})],1):_vm._e(),_vm._l((_vm.pluginUiElements),function(item){return _c('tabbed-tab',{key:item.id,attrs:{\"header\":item.title}},[_c(item.component,_vm._b({tag:\"div\"},'div',item.props,false))],1)})],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _NetworkProvider = _interopRequireDefault(require(\"@/libs/NetworkProvider\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _StateBrowserNetwork = _interopRequireDefault(require(\"./StateBrowserNetwork\"));\n\nvar _StateBrowserUsermenu = _interopRequireDefault(require(\"./StateBrowserUsermenu\"));\n\nvar _AppSettings = _interopRequireDefault(require(\"./AppSettings\"));\n\nvar _BufferSettings = _interopRequireDefault(require(\"./BufferSettings\"));\n\nvar netProv = new _NetworkProvider.default();\nvar _default = {\n components: {\n BufferSettings: _BufferSettings.default,\n StateBrowserNetwork: _StateBrowserNetwork.default,\n StateBrowserUsermenu: _StateBrowserUsermenu.default\n },\n props: ['networks', 'sidebarState'],\n data: function data() {\n return {\n show_provided_networks: false,\n provided_networks: (0, _create.default)(null),\n pluginUiElements: _GlobalApi.default.singleton().stateBrowserPlugins\n };\n },\n computed: {\n getNetwork: function getNetwork() {\n return this.$state.getActiveNetwork();\n },\n isPersistingState: function isPersistingState() {\n return !!this.$state.persistence;\n },\n isRestrictedServer: function isRestrictedServer() {\n return !!this.$state.settings.restricted;\n },\n networksToShow: function networksToShow() {\n var _context;\n\n return (0, _filter.default)(_context = this.networks).call(_context, function (net) {\n return !net.hidden;\n });\n }\n },\n created: function created() {\n var _this = this;\n\n netProv.on('networks', function (networks) {\n _this.provided_networks = networks;\n });\n },\n methods: {\n clickAddNetwork: function clickAddNetwork() {\n var nick = 'Guest' + Math.floor(Math.random() * 100);\n var network = this.$state.getNetworkFromAddress('');\n\n if (typeof network === 'undefined') {\n network = this.$state.addNetwork('Network', nick, {});\n }\n\n network.showServerBuffer('settings');\n },\n clickAppSettings: function clickAppSettings() {\n this.$state.$emit('active.component.toggle', _AppSettings.default);\n },\n hideStatebrowser: function hideStatebrowser() {\n this.$state.$emit('statebrowser.hide');\n },\n connectProvidedNetwork: function connectProvidedNetwork(pNet) {\n var net = this.$state.addNetwork(pNet.name, pNet.nick, {\n server: pNet.server,\n port: pNet.port,\n tls: pNet.tls,\n password: pNet.password\n });\n net.ircClient.connect();\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"StateBrowser\"]\r\nwindow._kiwi_exports.components.StateBrowser = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextStyle.vue?vue&type=style&index=0&lang=less&\"","import { render, staticRenderFns } from \"./UserBox.vue?vue&type=template&id=e1f770aa&\"\nimport script from \"./UserBox.vue?vue&type=script&lang=js&\"\nexport * from \"./UserBox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserBox.vue?vue&type=style&index=0&lang=less&\"\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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-settings-advanced\"},[_c('div',{staticClass:\"kiwi-settings-advanced-notice\"},[_vm._v(_vm._s(_vm.$t('settings_advanced_header')))]),_c('form',{staticClass:\"u-form\"},[_c('div',{staticClass:\"kiwi-settings-advanced-filter-container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filterString),expression:\"filterString\"}],staticClass:\"u-input\",attrs:{\"placeholder\":_vm.$t('settings_advanced_filter')},domProps:{\"value\":(_vm.filterString)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.filterString=$event.target.value}}}),(!_vm.filterString)?_c('i',{staticClass:\"fa fa-search\",attrs:{\"aria-hidden\":\"true\"}}):_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){_vm.filterString = ''}}})]),_c('table',{staticClass:\"u-table kiwi-settings-advanced-table\",attrs:{\"cellspacing\":\"0\"}},[(_vm.filteredSettings.length === 0)?_c('tr',[_c('td',{staticClass:\"kiwi-settings-advanced-noresult\"},[_vm._v(\" \"+_vm._s(_vm.filterString)+\" - \"+_vm._s(_vm.$t('not_found'))+\" \")])]):_vm._l((_vm.filteredSettings),function(setting){return _c('tr',{key:setting.key,class:{'kiwi-advanced-setting': !setting.modified,\n 'kiwi-advanced-setting--modified': setting.modified,\n }},[_c('td',[_c('label',{attrs:{\"for\":'setting-' + setting.key}},[_vm._v(_vm._s(setting.key))])]),(setting.modified)?_c('td',[_c('a',{staticClass:\"u-link\",on:{\"click\":function($event){return _vm.resetValue($event, setting.key)}}},[_vm._v(\" \"+_vm._s(_vm.$t('settings_advanced_reset'))+\" \"),_c('i',{staticClass:\"fa fa-undo\",staticStyle:{\"margin-left\":\"10px\"}})])]):_c('td'),_c('td',[(setting.type === 'boolean')?_c('input',{attrs:{\"id\":'setting-' + setting.key,\"type\":\"checkbox\"},domProps:{\"checked\":setting.val},on:{\"change\":function($event){return _vm.updateSetting($event, setting.key)}}}):(setting.type === 'number')?_c('input',{staticClass:\"u-input\",attrs:{\"id\":'setting-' + setting.key,\"type\":\"number\"},domProps:{\"value\":setting.val},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }return $event.target.blur()},\"change\":function($event){return _vm.updateSetting($event, setting.key)},\"blur\":function($event){return _vm.updateSetting($event, setting.key)}}}):_c('input',{staticClass:\"u-input\",attrs:{\"id\":'setting-' + setting.key},domProps:{\"value\":setting.val},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }return $event.target.blur()},\"blur\":function($event){return _vm.updateSetting($event, setting.key)}}})])])})],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingAnimation.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingAnimation.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _values = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/values\"));\n\nvar _lastIndexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/last-index-of\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar htmlparser = _interopRequireWildcard(require(\"htmlparser2\"));\n\nvar Colours = _interopRequireWildcard(require(\"@/helpers/Colours\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar Vue = require('vue');\n\nvar _default = Vue.component('irc-input', {\n props: ['placeholder'],\n data: function data() {\n return {\n last_known_value: '',\n text_value: '',\n current_el: null,\n current_el_pos: 0,\n default_colour: null,\n code_map: (0, _create.default)(null)\n };\n },\n computed: {\n editor: function editor() {\n return this.$refs.editor;\n }\n },\n mounted: function mounted() {\n this.resetStyles();\n },\n methods: {\n onTextInput: function onTextInput(event) {\n // Mobile devices trigger a textInput event for things such as autocompletion\n // and suggested words. Unfortunately they end with a return character which\n // is not what we expect, so prevent the original event from inserting anything\n // and manually place it in with the current word.\n if (event.data[event.data.length - 1] === '\\n') {\n var _context;\n\n event.preventDefault();\n this.setCurrentWord((0, _trim.default)(_context = event.data).call(_context));\n }\n },\n onPaste: function onPaste(event) {\n var _this = this;\n\n event.preventDefault();\n\n if (typeof event.clipboardData !== 'undefined') {\n var _context2;\n\n var ignoreThisPaste = false;\n var clpData = event.clipboardData;\n (0, _forEach.default)(_context2 = clpData.types).call(_context2, function (type) {\n var ignoreTypes = ['Files', 'image'];\n (0, _forEach.default)(ignoreTypes).call(ignoreTypes, function (ig) {\n if ((0, _indexOf.default)(type).call(type, ig) > -1) {\n ignoreThisPaste = true;\n }\n });\n });\n\n if (ignoreThisPaste) {\n return;\n }\n\n document.execCommand('insertText', false, clpData.getData('text/plain'));\n } else {\n // IE11\n var clpText = window.clipboardData.getData('Text');\n\n if (!clpText) {\n return;\n }\n\n var selection = window.getSelection();\n var range = selection.getRangeAt(0);\n\n if (range) {\n range.deleteContents();\n range.insertNode(document.createTextNode(clpText));\n }\n }\n\n (0, _setTimeout2.default)(function () {\n _this.updateValueProps();\n }, 0);\n },\n onFocus: function onFocus(event) {\n // when the input is empty there are no children to remember the current colour\n // so upon regaining focus we must set the current colour again\n if (!this.getRawText() && this.default_colour) {\n this.setColour(this.default_colour.code, this.default_colour.colour);\n }\n\n this.$emit('focus', event);\n },\n updateValueProps: function updateValueProps() {\n var selection = window.getSelection();\n\n if (selection.rangeCount === 0) {\n return;\n }\n\n this.current_el_pos = selection.anchorOffset;\n this.current_el = selection.anchorNode;\n this.maybeEmitInput();\n },\n selectionToEnd: function selectionToEnd() {\n // Move the caret to the end\n var el = this.$refs.editor.lastChild || this.$refs.editor;\n this.current_el = el;\n\n if (el.nodeType === 3) {\n this.current_el_pos = el.length;\n } else {\n this.current_el_pos = 0;\n }\n },\n setValue: function setValue(newVal) {\n this.value = newVal;\n this.$refs.editor.innerHTML = newVal;\n },\n getValue: function getValue() {\n return this.$refs.editor.innerHTML;\n },\n maybeEmitInput: function maybeEmitInput() {\n var currentHtml = this.$refs.editor.innerHTML;\n\n if (this.last_known_value !== currentHtml) {\n this.$emit('input', currentHtml);\n this.last_known_value = currentHtml;\n }\n },\n buildIrcText: function buildIrcText() {\n var _this2 = this,\n _context6;\n\n var source = this.$refs.editor.innerHTML;\n var textValue = ''; // Toggles are IRC style and colour codes that should be reset at the end of\n // the current tag\n\n var toggles = [];\n\n function addToggle(t) {\n toggles[toggles.length - 1] += t;\n }\n\n function getToggles() {\n return toggles[toggles.length - 1];\n }\n\n var parser = new htmlparser.Parser({\n onopentag: function onopentag(name, attribs) {\n toggles.push('');\n var codeLookup = '';\n\n if (attribs.style) {\n var _context3, _context4, _context5;\n\n var match = attribs.style.match(/color: ([^;]+)/);\n\n if (match) {\n codeLookup = match[1];\n var mappedCode = _this2.code_map[codeLookup];\n\n if (!mappedCode) {\n // If we didn't have an IRC code for this colour, convert the\n // colour to its hex form and check if we have that instead\n var m = codeLookup.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\n\n if (m) {\n var hex = Colours.rgb2hex({\n r: (0, _parseInt2.default)(m[1], 10),\n g: (0, _parseInt2.default)(m[2], 10),\n b: (0, _parseInt2.default)(m[3], 10)\n });\n mappedCode = _this2.code_map[hex];\n }\n }\n\n if (mappedCode) {\n textValue += '\\x03' + mappedCode;\n addToggle('\\x03' + mappedCode);\n }\n }\n\n if ((0, _indexOf.default)(_context3 = attribs.style).call(_context3, 'bold') > -1) {\n textValue += '\\x02';\n addToggle('\\x02');\n }\n\n if ((0, _indexOf.default)(_context4 = attribs.style).call(_context4, 'italic') > -1) {\n textValue += '\\x1d';\n addToggle('\\x1d');\n }\n\n if ((0, _indexOf.default)(_context5 = attribs.style).call(_context5, 'underline') > -1) {\n textValue += '\\x1f';\n addToggle('\\x1f');\n } // Welcome to the IE/Edge sucks section, time to do crazy things\n // IE11 doesnt support document.execCommand('styleWithCSS')\n // so we have individual nodes instead, which are handled below\n\n } else if (attribs.color) {\n // IE likes to remove spaces from rgb(1, 2, 3)\n // it also likes converting rgb to hex\n var _mappedCode = _this2.code_map[attribs.color] || _this2.code_map[attribs.color.replace(/,/g, ', ')] || _this2.code_map[Colours.hex2rgb(attribs.color)];\n\n if (_mappedCode) {\n textValue += '\\x03' + _mappedCode;\n addToggle('\\x03' + _mappedCode);\n }\n } else if (name === 'strong') {\n textValue += '\\x02';\n addToggle('\\x02');\n } else if (name === 'em') {\n textValue += '\\x1d';\n addToggle('\\x1d');\n } else if (name === 'u') {\n textValue += '\\x1f';\n addToggle('\\x1f');\n } else if (name === 'div' || name === 'br') {\n // divs and breaks are both considered newlines. For each line we need to\n // close all current toggles and then reopen them for the next so that the\n // styles continue .\n textValue += getToggles();\n textValue += '\\n';\n textValue += getToggles();\n }\n\n if (attribs.src && _this2.code_map[attribs.src]) {\n textValue += _this2.code_map[attribs.src];\n }\n },\n ontext: function ontext(text) {\n textValue += text;\n },\n onclosetag: function onclosetag(tagName) {\n textValue += getToggles();\n toggles.pop();\n }\n }, {\n decodeEntities: true\n });\n parser.write(source);\n parser.end(); // Firefox likes to add
at the end (some times inside the span)\n // fix by filtering out any lines that contain no content\n\n return (0, _filter.default)(_context6 = textValue.split(/\\r?\\n/)).call(_context6, function (line) {\n return !!Misc.stripStyles(line);\n }).join('\\n');\n },\n reset: function reset(rawHtml) {\n this.$refs.editor.innerHTML = rawHtml || '';\n this.current_el_pos = 0;\n this.current_el = this.$refs.editor; // Firefox inserts a
on empty contenteditables after it's been reset. But that\n // fucks up the placeholder :empty CSS selector we use. So just remove it.\n\n var br = this.$refs.editor.querySelector('br');\n\n if (br) {\n br.parentNode.removeChild(br);\n }\n\n if (this.default_colour) {\n this.focus();\n this.setColour(this.default_colour.code, this.default_colour.colour);\n }\n\n this.updateValueProps();\n },\n resetStyles: function resetStyles() {\n this.focus();\n document.execCommand('styleWithCSS', false, true);\n document.execCommand('selectAll', false, null);\n document.execCommand('removeFormat', false, null);\n this.default_colour = null;\n },\n setColour: function setColour(code, colour) {\n // If no current text selection, set this colour as the default colour for\n // future messages too\n var range = window.getSelection().getRangeAt(0);\n\n if (range && range.collapsed) {\n this.default_colour = {\n code: code,\n colour: colour\n };\n }\n\n this.focus();\n document.execCommand('styleWithCSS', false, true);\n document.execCommand('foreColor', false, colour);\n this.code_map[colour] = code;\n this.updateValueProps();\n },\n toggleBold: function toggleBold() {\n document.execCommand('bold', false, null);\n this.updateValueProps();\n },\n toggleItalic: function toggleItalic() {\n document.execCommand('italic', false, null);\n this.updateValueProps();\n },\n toggleUnderline: function toggleUnderline() {\n document.execCommand('underline', false, null);\n this.updateValueProps();\n },\n addImg: function addImg(code, url) {\n this.focus();\n var existingImages = (0, _toConsumableArray2.default)((0, _values.default)(_lodash.default).call(_lodash.default, this.$refs.editor.querySelectorAll('img')));\n document.execCommand('styleWithCSS', false, true);\n document.execCommand('insertImage', false, url);\n this.code_map[url] = code;\n var newImg = null;\n var images = (0, _toConsumableArray2.default)((0, _values.default)(_lodash.default).call(_lodash.default, this.$refs.editor.querySelectorAll('img'))); // Find image that has just been inserted\n\n (0, _forEach.default)(images).call(images, function (img) {\n if ((0, _indexOf.default)(existingImages).call(existingImages, img) === -1) {\n newImg = img;\n }\n }); // Find the position of this new image node\n\n var prevElCnt = 0;\n var el = newImg;\n\n while (el) {\n el = el.previousSibling;\n prevElCnt++;\n }\n\n this.current_el = this.$refs.editor;\n this.current_el_pos = prevElCnt;\n this.updateValueProps();\n this.focus();\n },\n // Insert some text at the current position\n insertText: function insertText(text) {\n this.focus();\n document.execCommand('insertText', false, text);\n this.updateValueProps();\n this.focus();\n },\n // Replace the word at the current position with another\n setCurrentWord: function setCurrentWord(text, keepPosition) {\n var el = this.current_el;\n var pos = this.current_el_pos;\n var val = el.textContent || '';\n var startVal = val.substr(0, pos);\n var space = (0, _lastIndexOf.default)(startVal).call(startVal, ' ');\n\n if (space === -1) {\n space = 0;\n } else {\n // include the space after the word\n space++;\n }\n\n var startPos = space;\n var endVal = val.substr(pos);\n space = (0, _indexOf.default)(endVal).call(endVal, ' ');\n if (space === -1) space = endVal.length;\n var endPos = space;\n el.textContent = startVal.substr(0, startPos) + text + endVal.substr(endPos); // Move the caret after the word\n\n var range = document.createRange();\n\n if (keepPosition) {\n range.setStart(el, pos);\n range.setEnd(el, pos);\n } else if (el.nodeType === 3) {\n // TEXT_NODE\n range.setStart(el, startPos + text.length);\n range.setEnd(el, startPos + text.length);\n } else {\n // el is another type of node, so setStart/End() counts in nodes instead\n // of text length\n range.setStart(el, 1);\n range.setEnd(el, 1);\n }\n\n var sel = window.getSelection();\n sel.removeAllRanges();\n sel.addRange(range);\n this.updateValueProps();\n },\n getCurrentWord: function getCurrentWord() {\n var el = this.current_el;\n var pos = this.current_el_pos;\n var val = el.textContent;\n var startVal = val.substr(0, pos);\n var space = (0, _lastIndexOf.default)(startVal).call(startVal, ' ');\n\n if (space === -1) {\n space = 0;\n } else {\n // include the space after the word\n space++;\n }\n\n var startPos = space;\n space = (0, _indexOf.default)(val).call(val, ' ', startPos);\n if (space === -1) space = val.length;\n var endPos = space;\n return {\n word: val.substr(startPos, endPos),\n position: pos - startPos\n };\n },\n getRawText: function getRawText() {\n return this.$refs.editor.innerText;\n },\n // Focus the editable div and move the caret to the end\n focus: function focus() {\n var selection = window.getSelection();\n var range = document.createRange();\n range.setStart(this.current_el || this.$refs.editor, this.current_el_pos || 0);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n});\n\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"utils\"]) window._kiwi_exports[\"components\"][\"utils\"] = {};\nwindow._kiwi_exports[\"components\"][\"utils\"][\"IrcInput\"]\r\nwindow._kiwi_exports.components.utils.IrcInput = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AwayStatusIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AwayStatusIndicator.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkSettings.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkSettings.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferKey.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferKey.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelfUser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelfUser.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelBanlist.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelBanlist.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&lang=less&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Avatar.vue?vue&type=template&id=3e0c776a&functional=true&\"\nimport script from \"./Avatar.vue?vue&type=script&lang=js&\"\nexport * from \"./Avatar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Avatar.vue?vue&type=style&index=0&lang=css&\"\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 true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\"use strict\";\n'kiwi public';\n/** @module */\n\n/**\n * Plays alert sounds\n */\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.AudioManager = void 0;\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar AudioManager = /*#__PURE__*/function () {\n function AudioManager(audio) {\n (0, _classCallCheck2.default)(this, AudioManager);\n this.lastPlayed = 0;\n this.audio = audio;\n }\n /** Play the alert sound */\n\n\n (0, _createClass2.default)(AudioManager, [{\n key: \"play\",\n value: function play() {\n // Only play the bleep once every 2 seconds\n if (!this.lastPlayed || (0, _now.default)() - this.lastPlayed > 2000) {\n this.audio.play();\n this.lastPlayed = (0, _now.default)();\n }\n }\n }, {\n key: \"listen\",\n value: function listen(state) {\n var _this = this;\n\n state.$on('audio.bleep', function () {\n _this.play();\n });\n }\n /** Watch the Kiwi state for any message highlights and play an alert */\n\n }, {\n key: \"watchForMessages\",\n value: function watchForMessages(state) {\n var _this2 = this;\n\n state.$on('message.new', function (event) {\n var message = event.message,\n buffer = event.buffer;\n\n if (buffer.setting('mute_sound')) {\n return;\n }\n\n var ignoreTypes = ['connection', 'traffic', 'mode', 'nick'];\n\n if ((0, _indexOf.default)(ignoreTypes).call(ignoreTypes, message.type) > -1) {\n return;\n }\n\n if (message.ignore || buffer.isSpecial()) {\n return;\n }\n\n var shouldBleep = buffer.getNetwork().nick !== message.nick && (message.isHighlight && buffer.setting('alert_on') === 'highlight' || buffer.setting('alert_on') === 'message');\n var isActiveBuffer = state.getActiveBuffer() === buffer;\n var inFocus = isActiveBuffer && state.ui.app_has_focus;\n\n if (shouldBleep || buffer.isQuery() && !inFocus) {\n _this2.play();\n }\n });\n }\n }]);\n return AudioManager;\n}();\n\nexports.AudioManager = AudioManager;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"AudioManager\"]\r\nwindow._kiwi_exports.libs.AudioManager = exports.default ? exports.default : exports;\r\n","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n props: ['ircinput'],\n computed: {\n emojis: function emojis() {\n var list = {};\n var available = this.$state.setting('emojis');\n\n _lodash.default.each(available, function (code, ascii) {\n list[code] = ascii;\n });\n\n return list;\n },\n location: function location() {\n return this.$state.setting('emojiLocation');\n }\n },\n methods: {\n onImgClick: function onImgClick(event) {\n var url = window.getComputedStyle(event.target, null).getPropertyValue('background-image');\n url = Misc.extractURL(url);\n var code = event.target.dataset.code;\n this.ircinput.addImg(code, url);\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nif(!window._kiwi_exports[\"components\"][\"inputtools\"]) window._kiwi_exports[\"components\"][\"inputtools\"] = {};\nwindow._kiwi_exports[\"components\"][\"inputtools\"][\"Emoji\"]\r\nwindow._kiwi_exports.components.inputtools.Emoji = exports.default ? exports.default : exports;\r\n","\"use strict\";\n'kiwi public';\n\nvar _typeof3 = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _trimEnd = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim-end\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _slice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/slice\"));\n\nvar _isNan = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/number/is-nan\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _setTimeout2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/set-timeout\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/toConsumableArray\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/typeof\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/createClass\"));\n\nvar TextFormatting = _interopRequireWildcard(require(\"@/helpers/TextFormatting\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _AliasRewriter = _interopRequireDefault(require(\"./AliasRewriter\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n// Map of commandName=commandHandlerFn\nvar inputCommands = {};\n\nvar InputHandler = /*#__PURE__*/function () {\n function InputHandler(state) {\n var _this = this;\n\n (0, _classCallCheck2.default)(this, InputHandler);\n this.state = state;\n this.aliasRewriter = new _AliasRewriter.default(); // Load the aliases from general settings\n\n this.aliasRewriter.importFromString(state.setting('aliases')); // Only watch the user setting changes in order to reload them\n\n state.$watch('user_settings.aliases', function (newVal) {\n _this.aliasRewriter.importFromString(state.setting('aliases'));\n });\n this.listenForInput();\n }\n\n (0, _createClass2.default)(InputHandler, [{\n key: \"defaultContext\",\n value: function defaultContext() {\n return {\n network: this.state.getActiveNetwork(),\n buffer: this.state.getActiveBuffer()\n };\n }\n }, {\n key: \"validateContext\",\n value: function validateContext(context) {\n if ((0, _typeof2.default)(context) !== 'object' || !Object.prototype.hasOwnProperty.call(context, 'buffer') || !Object.prototype.hasOwnProperty.call(context, 'network') || (0, _typeof2.default)(context.buffer) !== 'object' || (0, _typeof2.default)(context.network) !== 'object') {\n throw new TypeError('context must contain both network and buffer properties');\n }\n }\n }, {\n key: \"listenForInput\",\n value: function listenForInput() {\n var _this2 = this;\n\n this.state.$on('input.raw', function (input) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _this2.defaultContext();\n var lines = input.split('\\n');\n (0, _forEach.default)(lines).call(lines, function (line) {\n return _this2.processLine(line, context);\n });\n });\n }\n }, {\n key: \"processLine\",\n value: function processLine(rawLine) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.defaultContext();\n this.validateContext(context);\n var network = context.network,\n buffer = context.buffer;\n var line = rawLine;\n var stylesStrippedLine = Misc.stripStyles(line); // If no command specified, server buffers = send raw, channels/queries = send message\n\n var escapedCommand = stylesStrippedLine.substr(0, 2) === '//';\n\n if (stylesStrippedLine[0] !== '/' || escapedCommand) {\n if (escapedCommand) {\n line = line.substr(1);\n }\n\n if (buffer.isServer()) {\n line = '/quote ' + line;\n } else {\n line = '/msg ' + buffer.name + ' ' + line;\n }\n } else if (stylesStrippedLine[0] === '/' && line[0] !== '/') {\n // If attempting to send a /command but it has a colour code in front, use the\n // style stripped version of the line\n line = stylesStrippedLine;\n }\n\n var aliasVars = {\n network: network.name,\n server: network.connection.server,\n channel: network.isChannelName(buffer.name) ? buffer.name : '',\n query: network.isChannelName(buffer.name) ? '' : buffer.name,\n destination: buffer.name,\n nick: network.nick\n };\n line = this.aliasRewriter.process(line, aliasVars); // An alias rewrite may have cancelled out the input\n\n if (!line) {\n return;\n } // Remove the / from the start of the line\n\n\n line = line.substr(1);\n var spaceIdx = (0, _indexOf.default)(line).call(line, ' ');\n if (spaceIdx === -1) spaceIdx = line.length;\n var command = line.substr(0, spaceIdx);\n var params = line.substr(spaceIdx + 1);\n var eventObj = {\n handled: false,\n raw: rawLine,\n command: command,\n params: params\n }; // Plugins may tap into this event to handle a command themselves\n\n this.state.$emit('input.command.' + command, eventObj, command, params);\n\n if (eventObj.handled) {\n return;\n }\n\n if (inputCommands[command.toLowerCase()]) {\n inputCommands[command.toLowerCase()].call(this, eventObj, command, params);\n }\n\n if (!eventObj.handled) {\n network.ircClient.raw(line);\n }\n }\n }]);\n return InputHandler;\n}();\n/**\n * The actual handler functions for commands. Called in context of the InputHandler instance\n * inputCommand['the /command name'] = function(){};\n */\n// /lines allows aliases to send multiple commands, separated by |\n\n\nexports.default = InputHandler;\n\ninputCommands.lines = function inputCommandLines(event, command, line) {\n var _context,\n _this3 = this;\n\n event.handled = true;\n (0, _forEach.default)(_context = line.split('|')).call(_context, function (subLine) {\n _this3.processLine((0, _trim.default)(subLine).call(subLine));\n });\n};\n\nfunction handleMessage(type, event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var spaceIdx = (0, _indexOf.default)(line).call(line, ' ');\n if (spaceIdx === -1) spaceIdx = line.length;\n var bufferName = line.substr(0, spaceIdx);\n var message = line.substr(spaceIdx + 1); // Only trim whitespace from the end if we have existing content. Some people enjoy sending\n // pure whitespace messages which we don't want to interfere with\n\n if (message.replace(/\\s+/g, '') !== '') {\n message = (0, _trimEnd.default)(message).call(message);\n } else {\n // Windows uses \\r\\n for new lines as we split on \\n trim \\r from the end\n message = message.replace(/[\\r]+$/, '');\n } // Make sure we have some text to actually send\n\n\n if (!message) {\n return;\n }\n\n var localBuffer = bufferName;\n var extractedTarget = network.ircClient.network.extractTargetGroup(bufferName);\n\n if (extractedTarget) {\n localBuffer = extractedTarget.target;\n }\n\n var buffer = localBuffer.length && this.state.getOrAddBufferByName(network.id, localBuffer);\n\n if (buffer) {\n var textFormatType = 'privmsg';\n\n if (type === 'action') {\n textFormatType = 'action';\n } else if (type === 'notice') {\n textFormatType = 'notice';\n }\n\n var messageBody = TextFormatting.formatText(textFormatType, {\n nick: network.nick,\n text: message\n });\n var newMessage = {\n time: (0, _now.default)(),\n nick: network.nick,\n message: messageBody,\n type: type\n };\n this.state.addMessage(buffer, newMessage);\n }\n\n var fnNames = {\n privmsg: 'say',\n action: 'action',\n notice: 'notice'\n };\n var fnName = fnNames[type] || 'say';\n network.ircClient[fnName](bufferName, message);\n}\n\ninputCommands.msg = function inputCommandMsg(event, command, line) {\n handleMessage.call(this, 'privmsg', event, command, line);\n};\n\ninputCommands.action = function inputCommandMsg(event, command, line) {\n handleMessage.call(this, 'action', event, command, line);\n};\n\ninputCommands.notice = function inputCommandMsg(event, command, line) {\n handleMessage.call(this, 'notice', event, command, line);\n};\n\ninputCommands.dice = function inputCommandDice(event, command, line) {\n // /dice 100\n event.handled = true;\n var buffer = this.state.getActiveBuffer();\n var network = this.state.getActiveNetwork();\n var sides = line.replace(/\\D/g, '');\n sides = (0, _parseInt2.default)(sides || '0', 10);\n\n if (sides <= 0) {\n sides = 6;\n }\n\n var rndNumber = Math.floor(Math.random() * sides) + 1;\n var msg = TextFormatting.t('dice_roll', {\n sides: TextFormatting.formatNumber(sides),\n number: TextFormatting.formatNumber(rndNumber)\n });\n network.ircClient.action(buffer.name, msg);\n this.state.addMessage(buffer, {\n nick: network.nick,\n message: msg,\n type: 'action'\n });\n};\n\ninputCommands.ctcp = function inputCommandCtcp(event, command, line) {\n var _network$ircClient, _context2;\n\n event.handled = true;\n var params = line.split(' ');\n var target = params.shift();\n var ctcpType = params.shift();\n\n if (!ctcpType || !target) {\n return;\n }\n\n var network = this.state.getActiveNetwork();\n\n (_network$ircClient = network.ircClient).ctcpRequest.apply(_network$ircClient, (0, _toConsumableArray2.default)((0, _concat.default)(_context2 = [target, ctcpType]).call(_context2, params)));\n};\n\ninputCommands.join = function inputCommandJoin(event, command, line) {\n var _this4 = this;\n\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var bufferObjs = Misc.extractBuffers(line); // handle join without any buffers specified\n\n if (bufferObjs.length === 0) {\n var buffer = this.state.getActiveBuffer(); // join the active channel if its not joined\n\n if (buffer.isChannel() && !buffer.joined) {\n network.ircClient.join(buffer.name, buffer.key);\n return;\n } // report an error if the user tries to join without specifying the channel\n\n\n this.state.addMessage(buffer, {\n nick: '*',\n message: TextFormatting.t('error_no_channel_join'),\n type: 'error'\n });\n return;\n } // Only switch to the first channel we join if multiple are being joined\n\n\n var hasSwitchedActiveBuffer = false;\n (0, _forEach.default)(bufferObjs).call(bufferObjs, function (bufferObj, idx) {\n // /join 0 parts all channels and is only ever used to troll IRC newbies.\n // Just disable it entirely.\n if (bufferObj.name === '0') {\n return;\n } // Prepend a # channel prefix if not specified already\n\n\n var chanName = network.isChannelName(bufferObj.name) ? bufferObj.name : '#' + bufferObj.name;\n\n var newBuffer = _this4.state.addBuffer(network.id, chanName);\n\n if (newBuffer && !hasSwitchedActiveBuffer) {\n _this4.state.setActiveBuffer(network.id, newBuffer.name);\n\n hasSwitchedActiveBuffer = true;\n }\n\n if (bufferObj.key) {\n newBuffer.key = bufferObj.key;\n }\n\n network.ircClient.join(chanName, bufferObj.key);\n });\n};\n\ninputCommands.part = function inputCommandPart(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var bufferNames = [];\n var message = '';\n\n if (line === '') {\n // /part\n bufferNames = [this.state.getActiveBuffer().name];\n } else {\n var lineParts = line.split(' ');\n\n if (network.isChannelName(lineParts[0])) {\n // /part #channel,#possible_channel possible part message\n bufferNames = _lodash.default.compact(lineParts[0].split(','));\n message = (0, _slice.default)(lineParts).call(lineParts, 1).join(' ');\n } else {\n // /part possible part message\n bufferNames = [this.state.getActiveBuffer().name];\n message = line;\n }\n }\n\n (0, _forEach.default)(bufferNames).call(bufferNames, function (bufferName) {\n network.ircClient.part(bufferName, message);\n });\n};\n\ninputCommands.quit = function inputCommandQuit(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n network.ircClient.quit(line);\n};\n\ninputCommands.topic = function inputCommandTopic(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var bufferName = '';\n var newTopic = '';\n\n if (line === '') {\n // /topic\n return;\n }\n\n var lineParts = line.split(' ');\n\n if (network.isChannelName(lineParts[0])) {\n // /topic #channel a topic\n bufferName = lineParts[0];\n newTopic = (0, _slice.default)(lineParts).call(lineParts, 1).join(' ');\n } else {\n // /topic a topic\n bufferName = this.state.getActiveBuffer().name;\n newTopic = line;\n }\n\n network.ircClient.setTopic(bufferName, newTopic);\n};\n\ninputCommands.kick = function inputCommandKick(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var toKick = '';\n var bufferName = '';\n var kickReason = '';\n\n if (line === '') {\n // No params given\n return;\n }\n\n var lineParts = line.split(' ');\n\n if (network.isChannelName(lineParts[0])) {\n bufferName = lineParts.shift();\n }\n\n toKick = lineParts.shift();\n kickReason = lineParts.join(' ');\n\n if (!bufferName) {\n bufferName = this.state.getActiveBuffer().name;\n }\n\n if (!toKick) {\n return;\n }\n\n network.ircClient.raw('KICK', bufferName, toKick, kickReason);\n};\n\ninputCommands.ignore = function inputCommandIgnore(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var toIgnore = line.split(' ').shift();\n\n if (!toIgnore) {\n return;\n }\n\n var user = this.state.getUser(network.id, toIgnore);\n\n if (user) {\n user.ignore = true;\n var buffer = this.state.getActiveBuffer();\n this.state.addMessage(buffer, {\n nick: '*',\n message: 'Ignoring ' + user.nick,\n type: 'message'\n });\n }\n};\n\ninputCommands.unignore = function inputCommandUnignore(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var toUnignore = line.split(' ').shift();\n\n if (!toUnignore) {\n return;\n }\n\n var user = this.state.getUser(network.id, toUnignore);\n\n if (user) {\n user.ignore = false;\n var buffer = this.state.getActiveBuffer();\n this.state.addMessage(buffer, {\n nick: '*',\n message: 'No longer ignoring ' + user.nick,\n type: 'message'\n });\n }\n};\n\ninputCommands.close = function inputCommandClose(event, command, line) {\n var _this5 = this;\n\n event.handled = true;\n var network = this.state.getActiveNetwork();\n\n var bufferNames = _lodash.default.compact(line.split(/[, ]/));\n\n if (bufferNames.length === 0) {\n bufferNames = [this.state.getActiveBuffer().name];\n }\n\n (0, _forEach.default)(bufferNames).call(bufferNames, function (bufferName) {\n var buffer = network.bufferByName(bufferName);\n\n if (!buffer) {\n return;\n }\n\n _this5.state.removeBuffer(buffer);\n });\n};\n\ninputCommands.query = function inputCommandQuery(event, command, line) {\n event.handled = true;\n var pos = (0, _indexOf.default)(line).call(line, ' ');\n\n if (pos === -1) {\n pos = line.length;\n }\n\n var nick = line.substr(0, pos);\n var message = line.substr(pos + 1);\n var network = this.state.getActiveNetwork();\n var buffer = this.state.getOrAddBufferByName(network.id, nick);\n this.state.setActiveBuffer(network.id, buffer.name);\n\n if (message) {\n this.state.$emit('input.raw', '/msg ' + buffer.name + ' ' + message);\n }\n};\n\ninputCommands.invite = function inputCommandInvite(event, command, line) {\n var _context3;\n\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var buffer = this.state.getActiveBuffer();\n var lineParts = line.split(' ');\n var nick = lineParts.shift();\n var channel = lineParts.shift();\n\n if (!channel) {\n channel = buffer.name;\n }\n\n if (!network.isChannelName(channel)) {\n return;\n }\n\n network.ircClient.raw('INVITE', nick, channel);\n this.state.addMessage(buffer, {\n nick: '*',\n message: (0, _concat.default)(_context3 = \"Invited \".concat(nick, \" to \")).call(_context3, channel),\n type: 'message'\n });\n};\n\ninputCommands.nick = function inputCommandNick(event, command, line) {\n event.handled = true;\n var spaceIdx = (0, _indexOf.default)(line).call(line, ' ');\n if (spaceIdx === -1) spaceIdx = line.length;\n var newNick = line.substr(0, spaceIdx);\n var network = this.state.getActiveNetwork();\n network.ircClient.changeNick(newNick);\n};\n\ninputCommands.away = function inputCommandAway(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n network.ircClient.raw('AWAY', line || 'Currently away');\n};\n\ninputCommands.back = function inputCommandAway(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n network.ircClient.raw('AWAY');\n};\n\ninputCommands.quote = function inputCommandQuote(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork(); // Sending a manual CAP command triggers raw CAPs to be shown in the server tab\n\n if (line.split(' ')[0].toLowerCase() === 'cap') {\n network.setting('show_raw_caps', true);\n }\n\n var buffer = this.state.getActiveBuffer();\n\n if (buffer.isServer()) {\n this.state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: line\n });\n }\n\n network.ircClient.raw(line);\n};\n\ninputCommands.whois = function inputCommandWhois(event, command, line) {\n var _this6 = this;\n\n event.handled = true;\n var parts = line.split(' ');\n var network = this.state.getActiveNetwork();\n var buffer = this.state.getActiveBuffer();\n network.ircClient.whois(parts[0], parts[0], function (whoisData) {\n if (whoisData.error) {\n var messageBody = TextFormatting.formatText('whois_error', {\n nick: whoisData.nick,\n text: whoisData.error\n });\n\n _this6.state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: messageBody,\n type: 'error'\n });\n\n return;\n }\n\n var out = [];\n\n var display = function display(message) {\n if (!message) {\n return;\n }\n\n out.push(message);\n };\n\n var formats = {\n mask: 'is {{nick}}!{{user}}@{{host}} * ({{real_name}})',\n from: 'is connecting from {{actual_hostname}} {{actual_ip}}',\n channels: 'is on {{channels}}',\n server: 'is using {{server}} ({{server_info}})',\n operator: '{{operator}}',\n modes: '{{modes}}',\n account: 'is logged in as {{account}}',\n registered_nick: '{{registered_nick}}',\n secure: 'is using a secure connection',\n idle: 'has been idle for {{idle}}',\n certfp: '{{certfp}}',\n logon: 'connected on {{logon}}',\n // The following entries will be ignored from whoisData as display() ignores\n // empty lines.\n nick: '',\n user: '',\n ident: '',\n hostname: '',\n real_name: '',\n actual_ip: '',\n server_info: '',\n actual_hostname: ''\n }; // Display a select few entries first to keep a consistent order, and then\n // show any extra information at the end\n\n if (whoisData.nick && whoisData.hostname) {\n display(formats.mask.replace('{{nick}}', whoisData.nick).replace('{{user}}', whoisData.ident).replace('{{host}}', whoisData.hostname).replace('{{real_name}}', whoisData.real_name));\n }\n\n if (whoisData.actual_hostname && whoisData.actual_ip) {\n display(formats.from.replace('{{actual_hostname}}', whoisData.actual_hostname).replace('{{actual_ip}}', whoisData.actual_ip));\n }\n\n if (whoisData.channels) {\n display(formats.channels.replace('{{channels}}', whoisData.channels));\n }\n\n if (whoisData.server) {\n display(formats.server.replace('{{server}}', whoisData.server).replace('{{server_info}}', whoisData.server_info));\n }\n\n if (whoisData.operator) {\n display(formats.operator.replace('{{operator}}', whoisData.operator));\n }\n\n if (whoisData.modes) {\n display(formats.modes.replace('{{modes}}', whoisData.modes));\n }\n\n if (whoisData.account) {\n display(formats.account.replace('{{account}}', whoisData.account));\n }\n\n if (whoisData.registered_nick) {\n display(formats.registered_nick.replace('{{registered_nick}}', whoisData.registered_nick));\n }\n\n if (whoisData.secure) {\n display(formats.secure);\n }\n\n if (whoisData.certfp) {\n display(formats.certfp.replace('{{certfp}}', whoisData.certfp));\n }\n\n if (whoisData.idle) {\n var idleSeconds = Math.floor((0, _parseInt2.default)(whoisData.idle, 10));\n display(formats.idle.replace('{{idle}}', TextFormatting.formatDuration(idleSeconds)));\n }\n\n if (whoisData.logon) {\n var logonTime = (0, _parseInt2.default)(whoisData.logon, 10);\n\n if (!(0, _isNan.default)(logonTime)) {\n var logonDate = new Date(logonTime * 1000);\n display(formats.logon.replace('{{logon}}', logonDate));\n }\n }\n\n _lodash.default.each(whoisData, function (val, key) {\n // Only include lines we haven't already used\n if (typeof formats[key] === 'undefined') {\n // Some keys such as `special` are arrays of values\n if (_lodash.default.isArray(val)) {\n (0, _forEach.default)(val).call(val, function (v) {\n var _context4;\n\n return display((0, _concat.default)(_context4 = \"\".concat(key, \": \")).call(_context4, v));\n });\n } else {\n var _context5;\n\n display((0, _concat.default)(_context5 = \"\".concat(key, \": \")).call(_context5, val));\n }\n }\n });\n\n (0, _forEach.default)(out).call(out, function (l) {\n _this6.state.addMessage(buffer, {\n nick: parts[0],\n message: l,\n type: 'whois'\n });\n });\n });\n};\n\ninputCommands.whowas = function inputCommandWhowas(event, command, line) {\n var _this7 = this;\n\n event.handled = true;\n var parts = line.split(' ');\n var network = this.state.getActiveNetwork();\n var buffer = this.state.getActiveBuffer();\n network.ircClient.whowas(parts[0], parts[0], function (whowasData) {\n var _context6;\n\n if (whowasData.error) {\n var messageBody = TextFormatting.formatText('whowas_error', {\n nick: whowasData.nick,\n text: whowasData.error\n });\n\n _this7.state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: '',\n message: messageBody,\n type: 'whowas'\n });\n\n return;\n }\n\n (0, _forEach.default)(_context6 = ['whowas_ident', 'whowas_server']).call(_context6, function (prop) {\n var messageBody = TextFormatting.formatText(prop, {\n nick: whowasData.nick,\n ident: whowasData.ident,\n host: whowasData.hostname,\n name: whowasData.real_name,\n server: whowasData.server,\n info: whowasData.server_info\n });\n\n _this7.state.addMessage(buffer, {\n time: (0, _now.default)(),\n nick: whowasData.nick,\n message: messageBody,\n type: 'whowas'\n });\n });\n });\n};\n\ninputCommands.mode = function inputCommandMode(event, command, line) {\n event.handled = true; // /mode [target] [+-modes]\n\n var network = this.state.getActiveNetwork();\n var buffer = this.state.getActiveBuffer();\n var target = buffer.isChannel() ? buffer.name : network.nick;\n\n var parts = _lodash.default.compact(line.split(' '));\n\n if (line && line[0] !== '+' && line[0] !== '-') {\n target = parts.shift();\n }\n\n if (parts[0]) {\n // parts[0] = the mode(s)\n // parts[1] = optional mode arguments\n // If we're asking for a ban list, show the response in the active channel\n if (parts[0] === '+b' && !parts[1]) {\n (0, _flags.default)(buffer).requested_banlist = true; // An IRCd may fuck up and simply not reply to a MODE command. Give a few seconds\n // for it to reply and if not, ignore our request was sent\n\n (0, _setTimeout2.default)(function () {\n (0, _flags.default)(buffer).requested_banlist = false;\n }, 4000);\n }\n\n network.ircClient.mode(target, parts[0], (0, _splice.default)(parts).call(parts, 1));\n } else {\n // No modes specified will request the modes for the target\n network.ircClient.mode(target);\n\n if (target === buffer.name) {\n // If we have requested modes for the active channel then flag it to show\n // the response in the buffer itself. Wait a few seconds before removing\n // the flag as there is no way to determine that everything has been received.\n (0, _flags.default)(buffer).requested_modes = true;\n (0, _setTimeout2.default)(function () {\n (0, _flags.default)(buffer).requested_modes = false;\n }, 4000);\n }\n }\n};\n\ninputCommands.names = function inputCommandNames(event, command, line) {\n event.handled = true; // /names [#channel]\n\n var network = this.state.getActiveNetwork();\n var args = line;\n\n if (!args) {\n args = this.state.getActiveBuffer().name;\n }\n\n network.ircClient.raw('NAMES ' + args);\n};\n\ninputCommands.inject = function inputCommandInject(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n var connection = network.ircClient.connection;\n connection.addReadBuffer(line);\n};\n\ninputCommands.clear = function inputCommandClear(event, command, line) {\n event.handled = true;\n var buffer = this.state.getActiveBuffer();\n buffer.clearMessages();\n this.state.addMessage(buffer, {\n nick: '*',\n message: 'Scrollback cleared'\n });\n};\n\ninputCommands.echo = function inputCommandEcho(event, command, line) {\n event.handled = true;\n var buffer = this.state.getActiveBuffer();\n this.state.addMessage(buffer, {\n nick: '*',\n message: line\n });\n};\n\ninputCommands.set = function inputCommandEcho(event, command, line) {\n var _context8, _context9;\n\n event.handled = true;\n var buffer = this.state.getActiveBuffer();\n var setting = '';\n var spacePos = (0, _indexOf.default)(line).call(line, ' ');\n\n if (spacePos > -1) {\n var _context7;\n\n // Anything after the space becomes the new setting value\n // false = boolean false\n // true = boolean true\n // off = boolean false\n // on = boolean true\n // \"false\" = string false\n // \"true\" = string true\n setting = line.substr(0, spacePos);\n var value = (0, _trim.default)(_context7 = line.substr(spacePos + 1)).call(_context7);\n\n switch ((0, _trim.default)(_context8 = value.toLowerCase()).call(_context8)) {\n case 'true':\n case 'on':\n value = true;\n break;\n\n case 'false':\n case 'off':\n value = false;\n break;\n\n default:\n } // Unquote any quoted values\n // ie. \"true\" should jsut be the string true\n\n\n if (value[0] === '\"' && value[value.length - 1] === '\"') {\n value = value.substr(1, value.length - 2);\n }\n\n this.state.setting(setting, value);\n } else {\n setting = line;\n }\n\n this.state.addMessage(buffer, {\n nick: '*',\n message: (0, _concat.default)(_context9 = \"\".concat(setting, \" = \")).call(_context9, this.state.setting(setting))\n });\n};\n\ninputCommands.list = function inputCommandList(event, command, line) {\n event.handled = true;\n var network = this.state.getActiveNetwork();\n\n if (!network.channel_list.length && network.channel_list_state !== 'updating') {\n network.channel_list_state = 'updating';\n network.ircClient.raw('LIST ' + line);\n }\n\n network.showServerBuffer('channels');\n};\n\ninputCommands.server = function inputCommandServer(event, command, line) {\n event.handled = true;\n var parts = line.split(' ');\n var serverAddr = parts[0];\n var serverPort = parts[1] || 6667;\n var serverTls = false;\n var serverPassword = parts[2];\n var nick = parts[3] || 'ircuser';\n\n if (serverPort[0] === '+') {\n serverTls = true;\n serverPort = (0, _parseInt2.default)(serverPort.substr(1), 10);\n } else {\n serverTls = false;\n serverPort = (0, _parseInt2.default)(serverPort, 10);\n }\n\n this.state.addNetwork(serverAddr, nick, {\n server: serverAddr,\n port: serverPort,\n tls: serverTls,\n password: serverPassword\n });\n};\n\ninputCommands.beep = function inputCommandBeep(event, command, line) {\n event.handled = true;\n this.state.$emit('audio.bleep');\n};\n\ninputCommands.notify = function inputCommandNotify(event, command, line) {\n event.handled = true;\n this.state.$emit('notification.show', line);\n};\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"InputHandler\"]\r\nwindow._kiwi_exports.libs.InputHandler = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./TypingStatusIndicator.vue?vue&type=template&id=9cbe39f4&functional=true&\"\nimport script from \"./TypingStatusIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./TypingStatusIndicator.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 true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-appsettings\"},[_c('div',{staticClass:\"kiwi-appsettings-title\",on:{\"click\":_vm.closeSettings}},[_c('span',[_vm._v(_vm._s(_vm.$t('close')))]),_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})]),_c('form',{staticClass:\"u-form\"},[_c('tabbed-view',{ref:\"tabs\",staticClass:\"kiwi-appsettings-tab-container\"},[_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings_general'),\"focus\":true,\"name\":\"general\"}},[_c('div',{staticClass:\"kiwi-appsettings-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_general')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-general\"},[_c('label',{staticClass:\"kiwi-appsettings-setting-language\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_language')))]),_c('div',[_c('i',{staticClass:\"fa fa-globe\"})]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingLanguage),expression:\"settingLanguage\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.settingLanguage=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"\"}},[_vm._v(\" Auto \")]),_vm._l((_vm.localesList),function(l){return _c('option',{key:l[0],domProps:{\"value\":l[0]}},[_vm._v(\" \"+_vm._s(l[1])+\" \")])})],2)]),_c('label',{staticClass:\"kiwi-appsettings-setting-theme\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_theme'))+\" \")]),_c('a',{staticClass:\"kiwi-appsettings-theme-reload\",attrs:{\"title\":_vm.$t('refresh_theme')},on:{\"click\":_vm.refreshTheme}},[_c('i',{staticClass:\"fa fa-refresh\",attrs:{\"aria-hidden\":\"true\"}})]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.theme),expression:\"theme\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.theme=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.settings.themes),function(t){return _c('option',{key:t.name,domProps:{\"value\":t.name}},[_vm._v(\" \"+_vm._s(t.name)+\" \")])}),0)]),(_vm.theme==='custom')?_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_themeurl'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.customThemeUrl),expression:\"customThemeUrl\"}],staticClass:\"u-input\",domProps:{\"value\":(_vm.customThemeUrl)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.customThemeUrl=$event.target.value}}})]):_vm._e(),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_show_autocomplete'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingShowAutoComplete),expression:\"settingShowAutoComplete\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingShowAutoComplete)?_vm._i(_vm.settingShowAutoComplete,null)>-1:(_vm.settingShowAutoComplete)},on:{\"change\":function($event){var $$a=_vm.settingShowAutoComplete,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingShowAutoComplete=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingShowAutoComplete=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingShowAutoComplete=$$c}}}})]),(_vm.themeSupportsMonospace)?_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_use_monospace'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingUseMonospace),expression:\"settingUseMonospace\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingUseMonospace)?_vm._i(_vm.settingUseMonospace,null)>-1:(_vm.settingUseMonospace)},on:{\"change\":function($event){var $$a=_vm.settingUseMonospace,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingUseMonospace=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingUseMonospace=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingUseMonospace=$$c}}}})]):_vm._e(),(_vm.canRegisterProtocolHandler)?_c('div',{staticStyle:{\"margin-top\":\"10px\",\"text-align\":\"center\"}},[_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":function($event){return _vm.makeDefaultProtocolHandler()}}},[_c('i',[_vm._v(_vm._s(_vm.$t('settings_default_handler')))])])]):_vm._e()])]),_c('div',{staticClass:\"kiwi-appsettings-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_messages_title')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-messages\"},[_c('label',{staticClass:\"kiwi-appsettings-messagelistDisplay\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_messagelayout'))+\" \")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingMessageLayout),expression:\"settingMessageLayout\"}],on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.settingMessageLayout=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"traditional\"}},[_vm._v(\"Traditional\")]),_c('option',{attrs:{\"value\":\"modern\"}},[_vm._v(\"Modern\")]),_c('option',{attrs:{\"value\":\"inline\"}},[_vm._v(\"Inline\")])])]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_timestamps'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferShowTimestamps),expression:\"settingBufferShowTimestamps\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferShowTimestamps)?_vm._i(_vm.settingBufferShowTimestamps,null)>-1:(_vm.settingBufferShowTimestamps)},on:{\"change\":function($event){var $$a=_vm.settingBufferShowTimestamps,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferShowTimestamps=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferShowTimestamps=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferShowTimestamps=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_24hour_timestamps'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.timestamps_24h),expression:\"timestamps_24h\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.timestamps_24h)?_vm._i(_vm.timestamps_24h,null)>-1:(_vm.timestamps_24h)},on:{\"change\":function($event){var $$a=_vm.timestamps_24h,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.timestamps_24h=$$a.concat([$$v]))}else{$$i>-1&&(_vm.timestamps_24h=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.timestamps_24h=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_emoticons'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferShowEmoticons),expression:\"settingBufferShowEmoticons\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferShowEmoticons)?_vm._i(_vm.settingBufferShowEmoticons,null)>-1:(_vm.settingBufferShowEmoticons)},on:{\"change\":function($event){var $$a=_vm.settingBufferShowEmoticons,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferShowEmoticons=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferShowEmoticons=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferShowEmoticons=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_block_private'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferBlockPms),expression:\"settingBufferBlockPms\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferBlockPms)?_vm._i(_vm.settingBufferBlockPms,null)>-1:(_vm.settingBufferBlockPms)},on:{\"change\":function($event){var $$a=_vm.settingBufferBlockPms,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferBlockPms=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferBlockPms=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferBlockPms=$$c}}}})]),_c('label',{staticClass:\"kiwi-appsettings-full kiwi-appsettings-setting-scrollback\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferScrollbackSize),expression:\"settingBufferScrollbackSize\"}],staticClass:\"u-input\",attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.settingBufferScrollbackSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.settingBufferScrollbackSize=$event.target.value}}}),_c('span',[_vm._v(_vm._s(_vm.$t('settings_scrollback'))+\" \")])]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_formatting'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferExtraFormatting),expression:\"settingBufferExtraFormatting\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferExtraFormatting)?_vm._i(_vm.settingBufferExtraFormatting,null)>-1:(_vm.settingBufferExtraFormatting)},on:{\"change\":function($event){var $$a=_vm.settingBufferExtraFormatting,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferExtraFormatting=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferExtraFormatting=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferExtraFormatting=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_nick_colouring'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferColourNicknames),expression:\"settingBufferColourNicknames\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferColourNicknames)?_vm._i(_vm.settingBufferColourNicknames,null)>-1:(_vm.settingBufferColourNicknames)},on:{\"change\":function($event){var $$a=_vm.settingBufferColourNicknames,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferColourNicknames=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferColourNicknames=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferColourNicknames=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_share_typing'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferShareTyping),expression:\"settingBufferShareTyping\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferShareTyping)?_vm._i(_vm.settingBufferShareTyping,null)>-1:(_vm.settingBufferShareTyping)},on:{\"change\":function($event){var $$a=_vm.settingBufferShareTyping,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferShareTyping=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferShareTyping=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferShareTyping=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_show_inline_previews'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferInlineLinkPreviews),expression:\"settingBufferInlineLinkPreviews\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferInlineLinkPreviews)?_vm._i(_vm.settingBufferInlineLinkPreviews,null)>-1:(_vm.settingBufferInlineLinkPreviews)},on:{\"change\":function($event){var $$a=_vm.settingBufferInlineLinkPreviews,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferInlineLinkPreviews=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferInlineLinkPreviews=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferInlineLinkPreviews=$$c}}}})])])]),_c('div',{staticClass:\"kiwi-appsettings-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('notifications')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-notifications\"},[_c('label',{staticClass:\"kiwi-appsettings-setting-showjoinpart u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_show_joinpart'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferTrafficAsActivity),expression:\"settingBufferTrafficAsActivity\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferTrafficAsActivity)?_vm._i(_vm.settingBufferTrafficAsActivity,null)>-1:(_vm.settingBufferTrafficAsActivity)},on:{\"change\":function($event){var $$a=_vm.settingBufferTrafficAsActivity,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferTrafficAsActivity=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferTrafficAsActivity=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferTrafficAsActivity=$$c}}}})]),_c('label',{staticClass:\"u-checkbox-wrapper\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_mute_sound'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingBufferMuteSound),expression:\"settingBufferMuteSound\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.settingBufferMuteSound)?_vm._i(_vm.settingBufferMuteSound,null)>-1:(_vm.settingBufferMuteSound)},on:{\"change\":function($event){var $$a=_vm.settingBufferMuteSound,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.settingBufferMuteSound=$$a.concat([$$v]))}else{$$i>-1&&(_vm.settingBufferMuteSound=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.settingBufferMuteSound=$$c}}}})]),_c('label',{staticClass:\"kiwi-appsettings-full\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings_highlight'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingHighlights),expression:\"settingHighlights\"}],staticClass:\"u-input\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.settingHighlights)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.settingHighlights=$event.target.value}}})])])]),_c('div',{staticClass:\"kiwi-appsettings-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('operator_tools')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-operator-tools\"},[_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_default_ban_mask'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingDefaultBanMask),expression:\"settingDefaultBanMask\"}],staticClass:\"u-input\",domProps:{\"value\":(_vm.settingDefaultBanMask)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.settingDefaultBanMask=$event.target.value}}})]),_c('label',[_c('span',[_vm._v(_vm._s(_vm.$t('settings_default_kick_reason')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.settingDefaultKickReason),expression:\"settingDefaultKickReason\"}],staticClass:\"u-input\",domProps:{\"value\":(_vm.settingDefaultKickReason)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.settingDefaultKickReason=$event.target.value}}})])])]),(!_vm.$state.setting('hide_advanced') && !_vm.settingAdvancedEnable)?_c('div',{staticClass:\"kiwi-appsettings-block\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_advanced_title')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-advanced-enable\"},[_c('div',[_c('span',{staticStyle:{\"font-weight\":\"600\"}},[_vm._v(\" \"+_vm._s(_vm.$t('warning'))+\" \")]),_vm._v(\" \"+_vm._s(_vm.$t('settings_advanced_warning'))+\" \")]),_c('div',{staticStyle:{\"margin-top\":\"10px\",\"text-align\":\"center\"}},[_c('a',{staticClass:\"u-button u-button-warning\",on:{\"click\":function($event){return _vm.enableAdvancedTab()}}},[_c('i',[_vm._v(_vm._s(_vm.$t('settings_advanced_button')))])])])])]):_vm._e()]),_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings_aliases'),\"name\":\"aliases\"}},[_c('div',{staticClass:\"kiwi-appsettings-block kiwi-appsettings-block-aliases\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings_aliases')))]),_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-aliases\"},[_c('settings-aliases')],1)])]),(_vm.settingAdvancedEnable)?_c('tabbed-tab',{attrs:{\"header\":_vm.$t('settings_advanced'),\"name\":\"advanced\"}},[_c('div',{staticClass:\"kiwi-appsettings-block kiwi-appsettings-block-advanced\"},[_c('div',{staticClass:\"kiwi-appsettings-section kiwi-appsettings-advanced\"},[_c('settings-advanced')],1)])]):_vm._e(),_vm._l((_vm.pluginUiElements),function(item){return _c('tabbed-tab',{key:item.id,attrs:{\"header\":item.title,\"name\":item.title}},[_c(item.component,_vm._b({tag:\"div\"},'div',item.props,false))],1)})],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _trimInstanceProperty = require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty2 = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor2 = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty2(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = parseMessage;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/defineProperty\"));\n\nvar _reduce = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reduce\"));\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _includes = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/includes\"));\n\nvar _startsWith = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/starts-with\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _getOwnPropertySymbols = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _getOwnPropertyDescriptor = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\"));\n\nvar _getOwnPropertyDescriptors = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors\"));\n\nvar _defineProperties = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-properties\"));\n\nvar _defineProperty3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\"));\n\nvar _lodash = require(\"lodash\");\n\nvar _state = _interopRequireDefault(require(\"@/libs/state\"));\n\nvar _MessageFormatter = _interopRequireWildcard(require(\"@/libs/MessageFormatter\"));\n\nvar _TextFormatting = require(\"@/helpers/TextFormatting\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty2 && _Object$getOwnPropertyDescriptor2; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor2(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty2(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = (0, _keys.default)(object); if (_getOwnPropertySymbols.default) { var symbols = (0, _getOwnPropertySymbols.default)(object); if (enumerableOnly) { symbols = (0, _filter.default)(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor.default)(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context; (0, _forEach.default)(_context = ownKeys(Object(source), true)).call(_context, function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors.default) { (0, _defineProperties.default)(target, (0, _getOwnPropertyDescriptors.default)(source)); } else { var _context2; (0, _forEach.default)(_context2 = ownKeys(Object(source))).call(_context2, function (key) { (0, _defineProperty3.default)(target, key, (0, _getOwnPropertyDescriptor.default)(source, key)); }); } } return target; }\n\n/**\n * Receives a message, parses its irc blocks, and then finds urls, users, channels and emoji. Each\n * content is extracted to a separate block.\n * E.g. the message:\n * \"this is a message www.google.com and #kiwiirc\"\n * will be split into the blocks:\n * [\"this is a message \"][\"www.google.com\"][\" and \"][\"#kiwiirc\"]\n * The special content blocks will also contain additional info about their content according to\n * their type, such as the url, nick colour, emoji code...\n * @param {Array} blocks Array of style blocks from MessageFormatter\n * @param {Array} userList List of users to find within the message\n * @returns An array of blocks, where each special content will be extracted into a separate block.\n */\nfunction parseMessage(message) {\n var formatOpts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var userList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var emojiList = (0, _state.default)().setting('emojis');\n var blocks = (0, _MessageFormatter.default)(message, formatOpts);\n var formatedBlocks = (0, _reduce.default)(blocks).call(blocks, function (acc, block, i) {\n return (0, _concat.default)(acc).call(acc, processBlock(block, userList, emojiList));\n }, []);\n return formatedBlocks;\n}\n/**\n * Receives a block, splits it into words and tries finding channels, urls, nicks, and emoji.\n * @param {Object} block A block that came from MessageFormatter.formatIrcMessage()\n * @param {Object} userList List of users to find within the message\n * @param {Object} emojiList List of emoji to find within the message\n * @returns An array of blocks, where each special content will be extracted into a separate block.\n */\n\n\nfunction processBlock(block, userList, emojiList) {\n var wordsRegex = /\\S+/g;\n var wordMatch;\n var word;\n var specialMatches = []; // Array containing the special matches. Each `specialMatch` is an object with:\n // {\n // index: \n // match: \n // block: \n // }\n // eslint-disable-next-line no-cond-assign\n\n while ((wordMatch = wordsRegex.exec(block.content)) !== null) {\n // `wordMatch` is an array with the match and the index of the match. We need that so\n // we can re-construct the original message.\n word = wordMatch[0];\n var match = matchChannel(word) || matchUrl(word) || matchUser(word, userList) || matchEmoji(word, emojiList);\n\n if (match) {\n specialMatches.push({\n index: wordMatch.index + match.index,\n match: match.match,\n block: (0, _MessageFormatter.createNewBlock)(match.match, block.styles, match.type, match.meta)\n });\n }\n } // if there are no special matches, return the original block as is.\n\n\n if (specialMatches.length === 0) {\n return [block];\n } // split block with special matches.\n\n\n return mergeMatches(block, specialMatches);\n}\n/**\n * Finds a channel in the word match.\n * @param {String} word Word to be searched for channels.\n * @returns {object} Object with the matched channel, index within the word, and block.\n */\n\n\nfunction matchChannel(word) {\n var channelMatch = _TextFormatting.channelRegex.exec(word); // matches the groups (spaces before)(prefix)(channel)(suffix punctuation)\n\n\n if (channelMatch === null) {\n return false;\n }\n\n return {\n index: channelMatch[1].length + channelMatch[2].length,\n match: channelMatch[3],\n type: 'channel',\n meta: {\n channel: channelMatch[3]\n }\n };\n}\n/**\n * Finds an url in the word match.\n * @param {String} word Word to be searched for urls.\n * @returns {Object} Object with the index of the url match in the block content, the\n * url match itself, and the new url text to be placed where the first url was.\n */\n\n\nfunction matchUrl(word) {\n // this check avoids running the urlRegex, which would return the same result\n // but take much more time to process\n if (!((0, _includes.default)(word).call(word, '://') || (0, _startsWith.default)(word).call(word, 'www'))) {\n return false;\n }\n\n var urlMatch = _TextFormatting.urlRegex.exec(word);\n\n if (urlMatch === null) {\n return false;\n }\n\n var url = urlMatch[0]; // Don't allow javascript execution\n\n if (url.match(/^javascript:/i)) {\n return false;\n } // Trim common punctuation from the end of a link. End of scentences etc.\n\n\n var punctuation = '.,;:';\n\n while ((0, _indexOf.default)(punctuation).call(punctuation, url[url.length - 1]) > -1) {\n url = url.substr(0, url.length - 1);\n } // Links almost always contain an opening bracket if the last character is a closing\n // bracket and should be part of the URL.\n // If there isn't an opening bracket but the URL ends in a closing bracket, consider the\n // closing bracket as punctuation outside of the URL.\n\n\n if ((0, _indexOf.default)(url).call(url, '(') === -1 && url[url.length - 1] === ')') {\n url = url.substr(0, url.length - 1);\n } // Add the http if no protocol was found\n\n\n var urlText = url;\n\n if (urlText.match(/^www\\./i)) {\n urlText = 'http://' + url;\n }\n\n return {\n index: urlMatch.index,\n match: url,\n matchText: urlText,\n type: 'url',\n meta: {\n url: urlText\n }\n };\n}\n/**\n * Finds an user in the word match.\n * @param {String} word Word to be searched for users.\n * @returns {Object} Object with the index of the user match in the block content, the\n * user match itself, and the user colour.\n */\n\n\nfunction matchUser(word, userList) {\n if (!userList) {\n return false;\n }\n\n var user = null;\n var punc = ',.!:;-+)]?¿\\\\/<>@';\n var hasProp = Object.prototype.hasOwnProperty;\n var nickIdx = 0;\n var trimWord = (0, _trimInstanceProperty(_lodash))(word, punc);\n var normWord = trimWord.toLowerCase();\n\n if (hasProp.call(userList, normWord)) {\n user = userList[normWord];\n nickIdx = (0, _indexOf.default)(word).call(word, trimWord);\n } else {\n return false;\n }\n\n return {\n index: nickIdx,\n match: trimWord,\n type: 'user',\n meta: {\n user: trimWord,\n colour: user.colour\n }\n };\n}\n/**\n * Finds an emoji in the word match.\n * @param {String} word Word to be searched for emoji.\n * @returns {Object} Object with the index of the emoji match in the block content, the\n * emoji match itself, and the emoji code.\n */\n\n\nfunction matchEmoji(word, emojiList) {\n if (emojiList.hasOwnProperty && !emojiList.hasOwnProperty(word)) {\n return false;\n }\n\n return {\n index: 0,\n match: word,\n type: 'emoji',\n meta: {\n emoji: emojiList[word]\n }\n };\n}\n/**\n * Merges the special matches into the block.\n * @param {Object} block A block that came from MessageFormatter.formatIrcMessage()\n * @param {Array} specialMatches Array of special matches. See definition above\n * @returns An array of blocks, where each special content will be extracted into a separate block.\n */\n\n\nfunction mergeMatches(block, specialMatches) {\n var resultBlocks = [];\n var lastProcessedIndex = 0; // for each special content, creat a block with the text up to the match, and a block with the\n // special content itself.\n\n (0, _forEach.default)(specialMatches).call(specialMatches, function (specialMatch, index) {\n var beforeMatchContent = block.content.substr(lastProcessedIndex, specialMatch.index - lastProcessedIndex);\n\n if (beforeMatchContent) {\n resultBlocks.push({\n content: beforeMatchContent,\n styles: _objectSpread({}, block.styles),\n containsContent: !!beforeMatchContent\n });\n }\n\n resultBlocks.push(specialMatch.block);\n lastProcessedIndex = specialMatch.index + specialMatch.match.length;\n }); // remaining content after the last special content.\n\n if (lastProcessedIndex < block.content.length) {\n resultBlocks.push({\n content: block.content.substr(lastProcessedIndex),\n styles: _objectSpread({}, block.styles),\n containsContent: !!block.content.substr(lastProcessedIndex)\n });\n }\n\n return resultBlocks;\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"MessageParser\"]\r\nwindow._kiwi_exports.libs.MessageParser = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-invitelist\"},[_c('form',{staticClass:\"u-form kiwi-invitelist\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.updateInvitelist}},[_vm._v(_vm._s(_vm.$t('invites_refresh')))]),(!_vm.channelIsInviteOnly)?_c('div',{staticClass:\"kiwi-invitelist-inviteonly-status\"},[_vm._v(\" \"+_vm._s(_vm.$t('invite_public_channel'))+\" \"),(_vm.areWeAnOp)?_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.setInviteOnly}},[_vm._v(_vm._s(_vm.$t('invite_set_private')))]):_vm._e()]):_c('div',{staticClass:\"kiwi-invitelist-inviteonly-status\"},[_vm._v(\" \"+_vm._s(_vm.$t('invite_private_channel'))+\" \"),(_vm.areWeAnOp)?_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.removeInviteOnly}},[_vm._v(_vm._s(_vm.$t('invite_set_public')))]):_vm._e()]),(_vm.anyRegisteredUserCanJoin)?_c('span',[_vm._v(_vm._s(_vm.$t('invite_registered_only')))]):_vm._e(),_c('div',[(_vm.supportsAccounts && _vm.areWeAnOp)?_c('div',[(_vm.knownAccounts.length > 0)?[_c('select',{ref:\"addInviteList\"},_vm._l((_vm.knownAccounts),function(user){return _c('option',{key:user.nick,domProps:{\"value\":user.account}},[_vm._v(_vm._s(user.account))])}),0),_c('button',{on:{\"click\":function($event){return _vm.addAccountInvite(_vm.$refs.addInviteList.value)}}},[_vm._v(\" \"+_vm._s(_vm.$t('invite_add_invite'))+\" \")])]:_vm._e()],2):_vm._e(),(!_vm.supportsAccounts && _vm.areWeAnOp)?_c('div',{staticClass:\"kiwi-invitelist-addmask\"},[_c('input',{ref:\"addInviteText\",staticClass:\"u-input\",attrs:{\"type\":\"text\"}}),_c('button',{on:{\"click\":function($event){return _vm.addInvite(_vm.$refs.addInviteText.value)}}},[_vm._v(\" \"+_vm._s(_vm.$t('invite_add_invite'))+\" \")])]):_vm._e(),(_vm.inviteList.length > 0)?_c('table',{staticClass:\"kiwi-invitelist-table\"},[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('invites_user')))]),_c('th',[_vm._v(_vm._s(_vm.$t('invites_by')))]),_c('th'),_c('th')]),_vm._l((_vm.inviteListAccounts),function(invite){return _c('tr',{key:invite.invited},[_c('td',{staticClass:\"kiwi-invitelist-table-mask\"},[_vm._v(\" \"+_vm._s(_vm.displayMask(invite))+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-invitedby\"},[_vm._v(\" \"+_vm._s(invite.invited_by)+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-invitedat\"},[_vm._v(\" \"+_vm._s((new Date(invite.invited_at * 1000)).toDateString())+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-actions\"},[(_vm.areWeAnOp)?_c('i',{staticClass:\"fa fa-trash\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.removeInvite(invite.invited)}}}):_vm._e()])])}),_vm._l((_vm.inviteListNonAccounts),function(invite){return _c('tr',{key:invite.invited},[_c('td',{staticClass:\"kiwi-invitelist-table-mask\"},[_vm._v(\" \"+_vm._s(_vm.displayMask(invite))+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-invitedby\"},[_vm._v(\" \"+_vm._s(invite.invited_by)+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-invitedat\"},[_vm._v(\" \"+_vm._s((new Date(invite.invited_at * 1000)).toDateString())+\" \")]),_c('td',{staticClass:\"kiwi-invitelist-table-actions\"},[(_vm.areWeAnOp)?_c('i',{staticClass:\"fa fa-trash\",attrs:{\"aria-hidden\":\"true\"},on:{\"click\":function($event){return _vm.removeInvite(invite.invited)}}}):_vm._e()])])})],2):_vm._e()]),(_vm.is_refreshing)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('invites_refreshing'))+\" \")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n_Object$defineProperty(exports, \"State\", {\n enumerable: true,\n get: function get() {\n return _SidebarState.default;\n }\n});\n\nexports.default = void 0;\n\nvar _UserBox = _interopRequireDefault(require(\"@/components/UserBox\"));\n\nvar _GlobalApi = _interopRequireDefault(require(\"@/libs/GlobalApi\"));\n\nvar _SidebarState = _interopRequireDefault(require(\"./SidebarState\"));\n\nvar _BufferSettings = _interopRequireDefault(require(\"./BufferSettings\"));\n\nvar _ChannelInfo = _interopRequireDefault(require(\"./ChannelInfo\"));\n\nvar _SidebarAboutBuffer = _interopRequireDefault(require(\"./SidebarAboutBuffer\"));\n\nvar _ChannelBanlist = _interopRequireDefault(require(\"./ChannelBanlist\"));\n\nvar _ChannelInvitelist = _interopRequireDefault(require(\"./ChannelInvitelist\"));\n\nvar _Nicklist = _interopRequireDefault(require(\"./Nicklist\"));\n\nvar _default = {\n components: {\n BufferSettings: _BufferSettings.default,\n SidebarAboutBuffer: _SidebarAboutBuffer.default,\n ChannelInfo: _ChannelInfo.default,\n ChannelBanlist: _ChannelBanlist.default,\n ChannelInvitelist: _ChannelInvitelist.default,\n Nicklist: _Nicklist.default,\n UserBox: _UserBox.default\n },\n props: ['network', 'buffer', 'sidebarState'],\n data: function data() {\n return {\n pluginUiElements: _GlobalApi.default.singleton().sideBarPlugins,\n accessTab: 'banlist'\n };\n },\n computed: {\n section: function section() {\n if (this.sidebarState.activeComponent) {\n return 'component';\n }\n\n return this.sidebarState.section();\n },\n settingShowJoinParts: {\n get: function get() {\n return this.buffer.setting('show_joinparts');\n },\n set: function set(newVal) {\n return this.buffer.setting('show_joinparts', newVal);\n }\n },\n settingShowTopics: {\n get: function get() {\n return this.buffer.setting('show_topics');\n },\n set: function set(newVal) {\n return this.buffer.setting('show_topics', newVal);\n }\n },\n settingShowNickChanges: {\n get: function get() {\n return this.buffer.setting('show_nick_changes');\n },\n set: function set(newVal) {\n return this.buffer.setting('show_nick_changes', newVal);\n }\n },\n settingShowModeChanges: {\n get: function get() {\n return this.buffer.setting('show_mode_changes');\n },\n set: function set(newVal) {\n return this.buffer.setting('show_mode_changes', newVal);\n }\n },\n settingColouredNicklist: {\n get: function get() {\n return this.buffer.setting('coloured_nicklist');\n },\n set: function set(newVal) {\n return this.buffer.setting('coloured_nicklist', newVal);\n }\n },\n settingExtraFormatting: {\n get: function get() {\n return this.buffer.setting('extra_formatting');\n },\n set: function set(newVal) {\n return this.buffer.setting('extra_formatting', newVal);\n }\n },\n settingShareTyping: {\n get: function getSettingShareTyping() {\n return this.buffer.setting('share_typing');\n },\n set: function setSettingShareTyping(newVal) {\n return this.buffer.setting('share_typing', newVal);\n }\n },\n bufferType: function bufferType() {\n var type = '';\n\n if (!this.buffer) {\n type = 'none';\n } else if (this.buffer.isServer()) {\n type = 'server';\n } else if (this.buffer.isChannel()) {\n type = 'channel';\n } else if (this.buffer.isQuery()) {\n type = 'query';\n }\n\n return type;\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"Sidebar\"]\r\nwindow._kiwi_exports.components.Sidebar = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./Captcha.vue?vue&type=template&id=f2855e34&\"\nimport script from \"./Captcha.vue?vue&type=script&lang=js&\"\nexport * from \"./Captcha.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 mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public'; // eslint-plugin-vue's max-len rule reads the entire file, including the CSS. so we can't use this\n// here as some of the rules cannot be broken up any smaller\n\n/* eslint-disable max-len */\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _MediaViewer = _interopRequireDefault(require(\"./MediaViewer\"));\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _MessageInfo = _interopRequireDefault(require(\"./MessageInfo\"));\n\nvar methods = {\n props: {},\n getNetwork: function getNetwork() {\n var props = this.props;\n return props.ml.buffer.getNetwork();\n },\n isRepeat: function isRepeat() {\n var props = this.props;\n var ml = props.ml;\n var idx = props.idx;\n var message = props.message;\n var prevMessage = ml.filteredMessages[idx - 1];\n return !!prevMessage && prevMessage.nick === message.nick && message.time - prevMessage.time < 60000 && prevMessage.type !== 'traffic' && message.type !== 'traffic' && message.type === prevMessage.type;\n },\n isHoveringOverMessage: function isHoveringOverMessage(message) {\n var props = this.props;\n return message.nick && message.nick.toLowerCase() === props.hover_nick.toLowerCase();\n },\n userMode: function userMode(user) {\n var props = this.props;\n return props.ml.buffer.userMode(user);\n },\n userModePrefix: function userModePrefix(user) {\n var props = this.props;\n return props.ml.buffer.userModePrefix(user);\n }\n};\nvar _default = {\n inject: {\n components: {\n default: {\n AwayStatusIndicator: _AwayStatusIndicator.default,\n MessageInfo: _MessageInfo.default,\n MediaViewer: _MediaViewer.default\n }\n }\n },\n props: {\n ml: Object,\n message: Object,\n idx: Number,\n m: {\n default: function m() {\n // vue uses this function to generate the prop. `this`==null Return our own function\n return function n() {\n // Give our methods some props context before its function is called.\n // This is only safe because the function on the methods object is called on\n // the same js tick\n methods.props = this;\n return methods;\n };\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"MessageListMessageCompact\"]\r\nwindow._kiwi_exports.components.MessageListMessageCompact = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _trim = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/trim\"));\n\nvar _default = {\n data: function data() {\n return {\n show_help: false\n };\n },\n computed: {\n aliasText: {\n get: function getAliasText() {\n var _context;\n\n return (0, _trim.default)(_context = this.$state.setting('aliases')).call(_context);\n },\n set: function setAliasText(newVal) {\n this.$state.setting('aliases', (0, _trim.default)(newVal).call(newVal));\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"SettingsAliases\"]\r\nwindow._kiwi_exports.components.SettingsAliases = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBox.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBox.vue?vue&type=style&index=0&lang=less&\"","\"use strict\";\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n components: {\n AwayStatusIndicator: _AwayStatusIndicator.default\n },\n props: ['buffer'],\n computed: {\n network: function network() {\n return this.buffer.getNetwork();\n }\n },\n methods: {\n isActiveBuffer: function isActiveBuffer() {\n var buffer = this.buffer;\n return buffer.networkid === this.$state.ui.active_network && buffer.name === this.$state.ui.active_buffer;\n },\n awayNotifySupported: function awayNotifySupported() {\n return this.network.ircClient.network.cap.isEnabled('away-notify');\n },\n showMessageCounts: function showMessageCounts(buffer) {\n return !this.buffer.setting('hide_message_counts');\n },\n closeBuffer: function closeBuffer(buffer) {\n this.$state.removeBuffer(buffer);\n }\n }\n};\nexports.default = _default;","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserNetwork.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StateBrowserNetwork.vue?vue&type=script&lang=js&\"","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _concat = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/concat\"));\n\nvar _default = {\n components: {},\n props: ['buffer'],\n data: function data() {\n return {};\n },\n computed: {\n settingAlertOn: {\n get: function getSettingAlertOn() {\n return this.buffer.setting('alert_on');\n },\n set: function setSettingAlertOn(val) {\n var network = this.buffer.getNetwork();\n var netId = network.connection.bncnetid;\n\n if (netId) {\n var _context, _context2;\n\n // If this buffer is on a BOUNCER account, update the setting there too\n // TODO: Move this to BouncerProvider snapshots\n network.ircClient.raw((0, _concat.default)(_context = (0, _concat.default)(_context2 = \"BOUNCER changebuffer \".concat(netId, \" \")).call(_context2, this.buffer.name, \" notify=\")).call(_context, val));\n }\n\n return this.buffer.setting('alert_on', val);\n }\n },\n settingMuteSound: {\n get: function getSettingAlertOn() {\n return this.buffer.setting('mute_sound');\n },\n set: function setSettingAlertOn(val) {\n return this.buffer.setting('mute_sound', val);\n }\n },\n settingHideMessageCount: {\n get: function getsettingHideMessageCount() {\n return this.buffer.setting('hide_message_counts');\n },\n set: function setsettingHideMessageCount(val) {\n return this.buffer.setting('hide_message_counts', val);\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"BufferSettings\"]\r\nwindow._kiwi_exports.components.BufferSettings = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferSettings.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../build/webpack/exports-loader.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferSettings.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n'kiwi public';\n/** @module */\n\n/**\n * Adds the +typing IRCv3 spec to irc-framework\n */\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = typingMiddleware;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nfunction typingMiddleware() {\n return function middleware(client, rawEvents, parsedEvents) {\n addFunctionsToClient(client);\n rawEvents.use(theMiddleware);\n };\n\n function theMiddleware(command, message, rawLine, client, next) {\n if (!(command === 'TAGMSG' && message.tags['+typing']) && !(command === 'PRIVMSG' && message.nick)) {\n next();\n return;\n } // if we are params[0] then the target is the sender (direct message)\n\n\n var target = message.params[0].toLowerCase() === client.user.nick.toLowerCase() ? message.nick : message.params[0]; // if its a privmsg without typing tag emit done\n\n var status = message.tags['+typing'] || 'done';\n client.emit('typing', {\n target: target,\n nick: message.nick,\n ident: message.ident,\n hostname: message.hostname,\n status: status\n });\n next();\n }\n}\n\nfunction addFunctionsToClient(client) {\n var typing = client.typing = {};\n var activeTyping = (0, _create.default)(null);\n\n function isEnabled() {\n return client.network.cap.isEnabled('message-tags');\n }\n\n typing.start = function start(target) {\n if (!isEnabled()) {\n return;\n }\n\n var lastSentStatus = activeTyping[target.toLowerCase()];\n\n if (lastSentStatus && lastSentStatus > (0, _now.default)() - 3000) {\n return;\n }\n\n activeTyping[target.toLowerCase()] = (0, _now.default)();\n var message = new client.Message('TAGMSG', target);\n message.tags['+typing'] = 'active';\n client.raw(message);\n };\n\n typing.pause = function pause(target) {\n if (!isEnabled()) {\n return;\n }\n\n var message = new client.Message('TAGMSG', target);\n message.tags['+typing'] = 'paused';\n client.raw(message);\n };\n\n typing.stop = function stop(target) {\n if (!isEnabled()) {\n return;\n }\n\n var message = new client.Message('TAGMSG', target);\n message.tags['+typing'] = 'done';\n client.raw(message);\n delete activeTyping[target.toLowerCase()];\n };\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"TypingMiddleware\"]\r\nwindow._kiwi_exports.libs.TypingMiddleware = exports.default ? exports.default : exports;\r\n","import { render, staticRenderFns } from \"./BufferKey.vue?vue&type=template&id=4f21f7f4&\"\nimport script from \"./BufferKey.vue?vue&type=script&lang=js&\"\nexport * from \"./BufferKey.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BufferKey.vue?vue&type=style&index=0&lang=less&\"\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 { render, staticRenderFns } from \"./NotConnected.vue?vue&type=template&id=89f4398c&\"\nimport script from \"./NotConnected.vue?vue&type=script&lang=js&\"\nexport * from \"./NotConnected.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NotConnected.vue?vue&type=style&index=0&lang=less&\"\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 mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAliases.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsAliases.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContainerHeader.vue?vue&type=template&id=001b5c6a&\"\nimport script from \"./ContainerHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./ContainerHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContainerHeader.vue?vue&type=style&index=0&lang=less&\"\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 mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../build/webpack/exports-loader.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputText.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Emoji.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Emoji.vue?vue&type=style&index=0&lang=css&\"","\"use strict\";\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty2 = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor2 = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty2(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/helpers/esm/defineProperty\"));\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _map = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/map\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _stringify = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/json/stringify\"));\n\nvar _splice = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/splice\"));\n\nvar _find = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find\"));\n\nvar _parseInt2 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/parse-int\"));\n\nvar _reduce = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/reduce\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _flags = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/flags\"));\n\nvar _now = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/date/now\"));\n\nvar _findIndex = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/find-index\"));\n\nvar _keys = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/keys\"));\n\nvar _getOwnPropertySymbols = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols\"));\n\nvar _filter = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/filter\"));\n\nvar _getOwnPropertyDescriptor = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\"));\n\nvar _getOwnPropertyDescriptors = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors\"));\n\nvar _defineProperties = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-properties\"));\n\nvar _defineProperty3 = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\"));\n\nvar Misc = _interopRequireWildcard(require(\"@/helpers/Misc\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash\"));\n\nvar _configTemplates = require(\"@/res/configTemplates\");\n\nvar _NetworkState = _interopRequireDefault(require(\"./state/NetworkState\"));\n\nvar _BufferState = _interopRequireDefault(require(\"./state/BufferState\"));\n\nvar _UserState = _interopRequireDefault(require(\"./state/UserState\"));\n\nvar _Message = _interopRequireDefault(require(\"./Message\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty2 && _Object$getOwnPropertyDescriptor2; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor2(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty2(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = (0, _keys.default)(object); if (_getOwnPropertySymbols.default) { var symbols = (0, _getOwnPropertySymbols.default)(object); if (enumerableOnly) { symbols = (0, _filter.default)(symbols).call(symbols, function (sym) { return (0, _getOwnPropertyDescriptor.default)(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context15; (0, _forEach.default)(_context15 = ownKeys(Object(source), true)).call(_context15, function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors.default) { (0, _defineProperties.default)(target, (0, _getOwnPropertyDescriptors.default)(source)); } else { var _context16; (0, _forEach.default)(_context16 = ownKeys(Object(source))).call(_context16, function (key) { (0, _defineProperty3.default)(target, key, (0, _getOwnPropertyDescriptor.default)(source, key)); }); } } return target; }\n\nfunction createNewState() {\n var stateObj = {\n // May be set by a StatePersistence instance\n persistence: null,\n // Settings may be overridden via config.json\n settings: _configTemplates.configTemplates.default,\n user_settings: {},\n connection: {\n // disconnected / connecting / connected\n status: 'connected',\n sessionId: ''\n },\n ui: {\n active_network: 0,\n active_buffer: '',\n last_active_buffers: [],\n app_has_focus: true,\n app_width: 0,\n app_height: 0,\n is_touch: false,\n is_narrow: false,\n favicon_counter: 0,\n current_input: '',\n input_history: [],\n input_history_pos: 0,\n show_advanced_tab: false\n },\n networks: []\n };\n var userDict = new _vue.default({\n data: function data() {\n return {\n networks: {}\n };\n }\n /*\n (network id): {\n (lowercase nick): UserState,\n (lowercase nick): UserState,\n },\n */\n\n });\n var bufferDict = new _vue.default({\n data: function data() {\n return {\n networks: {}\n };\n }\n /*\n (network id): [\n BufferState,\n BufferState,\n ]\n */\n\n }); // Messages are seperate from the above state object to keep them from being reactive. Saves CPU\n\n var messages = [\n /* {\n networkid: 1,\n buffer: '#kiwiirc',\n messages: [\n Message,\n Message\n ],\n }, */\n ];\n var availableStartups = (0, _create.default)(null);\n var state = new _vue.default({\n data: stateObj,\n methods: {\n // Export enough state so that it can be imported in future to resume\n exportState: function exportState(includeBuffers) {\n var toExport = {};\n\n if (includeBuffers) {\n var _context;\n\n toExport.networks = (0, _map.default)(_context = state.networks).call(_context, function (network) {\n var _context2;\n\n var networkObj = {\n id: network.id,\n name: network.name,\n connection: {\n nick: network.connection.nick,\n server: network.connection.server,\n port: network.connection.port,\n tls: network.connection.tls,\n path: network.connection.path,\n password: network.connection.password,\n direct: network.connection.direct,\n encoding: network.connection.encoding,\n bncnetid: network.connection.bncnetid\n },\n auto_commands: network.auto_commands,\n settings: _lodash.default.cloneDeep(network.settings),\n username: network.username,\n gecos: network.gecos,\n password: network.password,\n hidden: network.hidden,\n is_bnc: network.is_bnc,\n buffers: []\n };\n networkObj.buffers = (0, _map.default)(_context2 = network.buffers).call(_context2, function (buffer) {\n var _context3;\n\n var bufferObj = {\n name: buffer.name,\n key: buffer.key,\n enabled: !!buffer.enabled,\n settings: _lodash.default.cloneDeep(buffer.settings),\n latest_messages: []\n };\n (0, _forEach.default)(_context3 = buffer.latest_messages).call(_context3, function (msg) {\n bufferObj.latest_messages.push(msg.serialise());\n });\n return bufferObj;\n });\n return networkObj;\n });\n }\n\n toExport.user_settings = state.user_settings;\n return (0, _stringify.default)(toExport);\n },\n // Import a previously exported state to continue that state\n importState: function importState(stateStr) {\n var _this = this;\n\n var importObj = JSON.parse(stateStr);\n\n if (importObj && importObj.networks) {\n var _context4;\n\n this.resetState();\n (0, _forEach.default)(_context4 = importObj.networks).call(_context4, function (importNetwork) {\n var _context5;\n\n var network = new _NetworkState.default(importNetwork.id, state, userDict, bufferDict);\n network.name = importNetwork.name;\n network.connection = _objectSpread(_objectSpread({}, network.connection), importNetwork.connection);\n network.auto_commands = importNetwork.auto_commands || '';\n network.settings = importNetwork.settings; // First check importNetwork.nick as this was used in older versions\n // TODO: Eventually remove this importNetwork.nick check\n\n network.nick = importNetwork.nick || importNetwork.connection.nick;\n\n if (!network.connection.nick && importNetwork.nick) {\n network.connection.nick = importNetwork.nick;\n }\n\n network.username = importNetwork.username;\n network.gecos = importNetwork.gecos;\n network.password = importNetwork.password;\n network.hidden = importNetwork.hidden;\n network.is_bnc = importNetwork.is_bnc;\n\n _this.networks.push(network);\n\n (0, _forEach.default)(_context5 = importNetwork.buffers).call(_context5, function (impBuffer) {\n var buffer = new _BufferState.default(impBuffer.name, network.id, state, messages);\n buffer.key = impBuffer.key;\n buffer.enabled = !!impBuffer.enabled;\n buffer.settings = impBuffer.settings;\n var latestMessages = impBuffer.latest_messages || [];\n (0, _forEach.default)(latestMessages).call(latestMessages, function (msg) {\n buffer.latest_messages.push(new _Message.default(msg));\n });\n network.buffers.push(buffer);\n });\n });\n }\n\n if (importObj && importObj.user_settings) {\n this.user_settings = importObj.user_settings;\n }\n },\n resetState: function resetState() {\n this.$set(this.$data, 'user_settings', {});\n this.$set(this.$data, 'networks', []);\n (0, _splice.default)(messages).call(messages, 0);\n },\n setting: function setting(name, val) {\n if (typeof val !== 'undefined') {\n if (val === this.getSetting('settings.' + name)) {\n // Remove setting from user_settings if its the default\n return this.setSetting('user_settings.' + name, null);\n } // Setting any setting always goes into the user own settings space\n\n\n return this.setSetting('user_settings.' + name, val);\n } // Check the user specific settings before reverting to global settings\n\n\n var userSetting = this.getSetting('user_settings.' + name);\n var result = typeof userSetting !== 'undefined' ? userSetting : this.getSetting('settings.' + name);\n return result;\n },\n // Accept 'dotted.notation' to read a state property of any depth\n getSetting: function getSetting(name) {\n var parts = name.split('.');\n var val = this.$data;\n\n for (var i = 0; i < parts.length; i++) {\n val = val[parts[i]];\n\n if (typeof val === 'undefined') {\n break;\n }\n }\n\n return val;\n },\n // Accept 'dotted.notation' to set a state property of any depth\n setSetting: function setSetting(name, newVal) {\n var parts = name.split('.');\n var val = this.$data;\n\n for (var i = 0; i < parts.length; i++) {\n var propName = parts[i];\n var nextVal = val[propName];\n\n if (i < parts.length - 1 && typeof nextVal === 'undefined') {\n nextVal = this.$set(val, propName, {});\n } else if (i === parts.length - 1) {\n if (newVal === null) {\n this.$delete(val, propName);\n } else {\n this.$set(val, propName, newVal);\n }\n }\n\n val = nextVal;\n }\n\n return val;\n },\n getActiveNetwork: function getActiveNetwork() {\n return this.getNetwork(this.ui.active_network);\n },\n getNetwork: function getNetwork(networkid) {\n var network = (0, _find.default)(_lodash.default).call(_lodash.default, this.networks, {\n id: networkid\n });\n return network;\n },\n getNetworkFromAddress: function getNetworkFromAddress(netAddr) {\n return (0, _find.default)(_lodash.default).call(_lodash.default, this.networks, function (net) {\n var isMatch = netAddr.toLowerCase() === net.connection.server.toLowerCase();\n return isMatch;\n });\n },\n getNetworkFromBncNetId: function getNetworkFromBncNetId(bncnetid) {\n return (0, _find.default)(_lodash.default).call(_lodash.default, this.networks, function (net) {\n return bncnetid === net.connection.bncnetid;\n });\n },\n addNetwork: function addNetwork(name, nick, serverInfo) {\n // Find the current largest ID and increment it by 1\n function networkidReduce(currentMax, network) {\n return network.id > currentMax ? network.id : currentMax;\n }\n\n var networkid = serverInfo.channelId ? (0, _parseInt2.default)(serverInfo.channelId, 10) : (0, _reduce.default)(_lodash.default).call(_lodash.default, this.networks, networkidReduce, 0) + 1;\n var network = new _NetworkState.default(networkid, state, userDict, bufferDict);\n network.name = name;\n network.username = serverInfo.username;\n network.gecos = serverInfo.gecos;\n network.password = serverInfo.account_password || '';\n network.connection.password = serverInfo.password;\n network.connection.nick = nick;\n network.connection.server = serverInfo.server || '';\n network.connection.port = serverInfo.port || 6667;\n network.connection.tls = serverInfo.tls || false;\n network.connection.path = serverInfo.path || '';\n network.connection.direct = !!serverInfo.direct;\n network.connection.path = serverInfo.path || '';\n network.connection.encoding = serverInfo.encoding || 'utf8';\n network.connection.bncnetid = serverInfo.bncnetid || '';\n\n if (serverInfo.services) {\n network.services = serverInfo.services;\n }\n\n this.networks.push(network); // Add the server server buffer\n\n this.addBuffer(network.id, '*').joined = true;\n var eventObj = {\n network: network\n };\n state.$emit('network.new', eventObj);\n return network;\n },\n removeNetwork: function removeNetwork(networkid) {\n var _context6, _context7;\n\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return;\n }\n\n if (network.state === 'connected') {\n network.ircClient.quit();\n }\n\n while (network.buffers.length > 0) {\n this.removeBuffer(network.buffers[0]);\n }\n\n var findNewNetwork = false;\n\n if (network === this.getActiveNetwork()) {\n findNewNetwork = true;\n }\n\n var idx = (0, _indexOf.default)(_context6 = this.networks).call(_context6, network);\n (0, _splice.default)(_context7 = this.networks).call(_context7, idx, 1);\n\n if (findNewNetwork) {\n this.openLastActiveBuffer();\n }\n\n var eventObj = {\n network: network\n };\n state.$emit('network.removed', eventObj);\n },\n getActiveBuffer: function getActiveBuffer() {\n return this.getBufferByName(this.ui.active_network, this.ui.active_buffer);\n },\n setActiveBuffer: function setActiveBuffer(networkid, bufferName) {\n if (!networkid) {\n this.ui.active_network = 0;\n this.ui.active_buffer = '';\n } else {\n if (this.settings.useBufferHistory && this.ui.active_network) {\n // Keep track of last 20 viewed buffers. When closing buffers we can go back\n // to one of the previous ones\n this.ui.last_active_buffers.push({\n networkid: this.ui.active_network,\n bufferName: this.ui.active_buffer\n });\n var lastActive = this.ui.last_active_buffers;\n this.ui.last_active_buffers = (0, _splice.default)(lastActive).call(lastActive, lastActive.length - 20);\n }\n\n this.ui.active_network = networkid;\n this.ui.active_buffer = bufferName; // Clear any unread messages counters for this buffer\n\n var buffer = this.getBufferByName(networkid, bufferName);\n\n if (buffer && (0, _flags.default)(buffer).unread) {\n (0, _flags.default)(buffer).unread = 0;\n } // Update the buffers last read time\n\n\n if (buffer) {\n buffer.markAsRead(true);\n }\n }\n },\n openLastActiveBuffer: function openLastActiveBuffer() {\n // if not using buffer history, just unset the active buffer\n if (!this.settings.useBufferHistory) {\n this.setActiveBuffer();\n return;\n }\n\n var targetNetwork;\n var targetBuffer;\n var lastActive = this.ui.last_active_buffers; // Find the last buffer in our history that still exists\n\n for (var i = lastActive.length - 1; i >= 0; i--) {\n var network = this.getNetwork(lastActive[i].networkid);\n\n if (!network) {\n continue;\n }\n\n var buffer = network.bufferByName(lastActive[i].bufferName);\n\n if (!buffer) {\n continue;\n }\n\n targetNetwork = network;\n targetBuffer = buffer; // Trim the buffer history to this point\n\n (0, _splice.default)(lastActive).call(lastActive, i);\n break;\n } // Try to find a suitable buffer\n\n\n if (!targetBuffer) {\n var _network = this.getActiveNetwork() || this.networks[0];\n\n if (_network) {\n targetNetwork = _network;\n var _buffer = _network.buffers[1];\n\n if (_buffer) {\n targetBuffer = _buffer;\n } else {\n targetBuffer = _network.serverBuffer();\n }\n }\n }\n\n if (targetBuffer) {\n this.setActiveBuffer(targetNetwork.id, targetBuffer.name);\n } else {\n this.setActiveBuffer();\n }\n },\n updateBufferLastRead: function updateBufferLastRead(networkid, bufferName) {\n var buffer = this.getBufferByName(networkid, bufferName);\n\n if (buffer) {\n buffer.last_read = (0, _now.default)();\n buffer.active_timeout = null;\n }\n },\n getOrAddBufferByName: function getOrAddBufferByName(networkid, bufferName) {\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return null;\n }\n\n var toMatch = bufferName.toLowerCase();\n var buffer = (0, _find.default)(_lodash.default).call(_lodash.default, network.buffers, function (b) {\n return b.name.toLowerCase() === toMatch;\n });\n\n if (!buffer) {\n buffer = this.addBuffer(networkid, bufferName);\n }\n\n return buffer;\n },\n getBufferByName: function getBufferByName(networkid, bufferName) {\n if (!bufferName) {\n return null;\n }\n\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return null;\n }\n\n var toMatch = bufferName.toLowerCase();\n var buffer = (0, _find.default)(_lodash.default).call(_lodash.default, network.buffers, function (b) {\n return b.name.toLowerCase() === toMatch;\n });\n return buffer;\n },\n addBuffer: function addBuffer(networkid, bufferName) {\n if (!bufferName) {\n return false;\n } // If we already have this buffer, don't re-add it\n\n\n var buffer = this.getBufferByName(networkid, bufferName);\n\n if (buffer) {\n return buffer;\n } // Make sure we at least we have this network\n\n\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return false;\n }\n\n buffer = new _BufferState.default(bufferName, network.id, state, messages);\n network.buffers.push(buffer);\n var eventObj = {\n buffer: buffer\n };\n state.$emit('buffer.new', eventObj);\n return buffer;\n },\n removeBuffer: function removeBuffer(buffer) {\n var _context8, _context10;\n\n var isActiveBuffer = this.getActiveBuffer() === buffer;\n var network = this.getNetwork(buffer.networkid);\n\n if (!network) {\n return;\n }\n\n var eventObj = {\n buffer: buffer\n };\n state.$emit('buffer.close', eventObj);\n var bufferIdx = (0, _indexOf.default)(_context8 = network.buffers).call(_context8, buffer);\n\n if (bufferIdx > -1) {\n var _context9;\n\n (0, _splice.default)(_context9 = network.buffers).call(_context9, bufferIdx, 1);\n }\n\n var messageIdx = (0, _findIndex.default)(_lodash.default).call(_lodash.default, messages, {\n networkid: network.id,\n buffer: buffer.name\n });\n\n if (messageIdx > -1) {\n (0, _splice.default)(messages).call(messages, messageIdx, 1);\n }\n\n if (buffer.isChannel() && buffer.joined) {\n network.ircClient.part(buffer.name);\n } // Remove the user from network state if no remaining common channels\n\n\n if (buffer.isQuery()) {\n var remainingBuffers = state.getBuffersWithUser(network.id, buffer.name);\n\n if (remainingBuffers.length === 0) {\n state.removeUser(network.d, {\n nick: buffer.name\n });\n }\n }\n\n if (isActiveBuffer) {\n this.openLastActiveBuffer();\n } // Remove this buffer from any users\n\n /* eslint-disable guard-for-in */\n\n\n (0, _forEach.default)(_context10 = (0, _keys.default)(buffer.users)).call(_context10, function (nick) {\n var user = buffer.users[nick];\n delete user.buffers[buffer.id];\n });\n },\n addMessage: function addMessage(buffer, message) {\n // Some messages try to be added after a network has been removed, meaning no buffer\n // will be available\n if (!buffer || !buffer.getNetwork()) {\n return;\n }\n\n var user = this.getUser(buffer.networkid, message.nick);\n var bufferMessage = new _Message.default(message, user);\n\n if (user && user.ignore) {\n bufferMessage.ignore = true;\n }\n\n buffer.addMessage(bufferMessage); // Increment the unread counter if this buffer is not active\n\n var includeAsActivity = false;\n var typesForActivty = ['privmsg', 'action', 'notice', 'wallops'];\n\n if (buffer.setting('traffic_as_activity') && message.type === 'traffic') {\n typesForActivty.push('traffic');\n }\n\n if ((0, _indexOf.default)(typesForActivty).call(typesForActivty, message.type) > -1) {\n includeAsActivity = true;\n }\n\n var isActiveBuffer = buffer.networkid === this.ui.active_network && buffer.name === this.ui.active_buffer;\n var network = buffer.getNetwork();\n var isNewMessage = message.time >= buffer.last_read;\n var isHighlight = !network ? false : Misc.mentionsNick(bufferMessage.message, network.ircClient.user.nick); // Check for extra custom highlight words\n\n var extraHighlights = (state.setting('highlights') || '').toLowerCase().split(' ');\n\n if (!isHighlight && extraHighlights.length > 0) {\n (0, _forEach.default)(extraHighlights).call(extraHighlights, function (word) {\n var _context11;\n\n if (!word) {\n return;\n }\n\n if ((0, _indexOf.default)(_context11 = bufferMessage.message.toLowerCase()).call(_context11, word) > -1) {\n isHighlight = true;\n }\n });\n }\n\n if (state.setting('teamHighlights')) {\n var m = bufferMessage.message;\n var patterns = {\n everyone: /(^|\\s)@everybody($|\\s|[,.;])/,\n channel: /(^|\\s)@channel($|\\s|[,.;])/,\n here: /(^|\\s)@here($|\\s|[,.;])/\n };\n\n if (m.match(patterns.everyone) || m.match(patterns.channel)) {\n isHighlight = true;\n }\n\n if (m.match(patterns.here) && network && !network.away) {\n isHighlight = true;\n }\n }\n\n bufferMessage.isHighlight = isHighlight;\n\n if (isNewMessage && isActiveBuffer && state.ui.app_has_focus) {\n buffer.last_read = message.time;\n } // Handle buffer flags\n\n\n if (isNewMessage && includeAsActivity && !isActiveBuffer && !bufferMessage.ignore) {\n buffer.incrementFlag('unread');\n\n if (isHighlight) {\n buffer.flag('highlight', true);\n }\n } // Handle any notifications\n\n\n var settingAlertOn = buffer.setting('alert_on');\n var isSelf = !network ? false : message.nick === network.nick;\n\n if (isNewMessage && settingAlertOn !== 'never' && message.type !== 'nick' && message.type !== 'mode' && message.type !== 'traffic' && !buffer.isSpecial() && !bufferMessage.ignore && !isSelf) {\n var notifyTitle = '';\n var notifyMessage = message.nick ? message.nick + ': ' : '';\n notifyMessage += message.message;\n\n if (isHighlight) {\n notifyTitle = 'You were mentioned in ' + buffer.name;\n } else if (settingAlertOn === 'message' && !isHighlight) {\n notifyTitle = buffer.name;\n }\n\n if (notifyTitle) {\n this.$emit('notification.show', notifyMessage, {\n title: notifyTitle,\n onclick: function onclick() {\n state.setActiveBuffer(buffer.networkid, buffer.name); // Newer webkit browser use parent.focus() while older webkit uses\n // window.focus()\n\n /* eslint-disable no-restricted-globals */\n\n if (parent && parent.focus) {\n parent.focus();\n }\n\n if (window.focus) {\n window.focus();\n }\n }\n });\n }\n }\n\n if (isActiveBuffer && !state.ui.app_has_focus && message.type !== 'traffic' && (buffer.setting('flash_title') === 'message' || buffer.setting('flash_title') === 'highlight' && isHighlight)) {\n this.$emit('notification.title', true);\n }\n\n this.$emit('message.new', {\n message: bufferMessage,\n buffer: buffer\n });\n },\n getUser: function getUser(networkid, nick, usersArr_) {\n var user = null;\n var users = usersArr_;\n\n if (!users) {\n var network = this.getNetwork(networkid);\n\n if (network) {\n users = network.users;\n }\n }\n\n if (users) {\n user = users[nick.toLowerCase()];\n }\n\n return user;\n },\n // Modify a networks user array without hitting vues reactive system until fn()\n // has completed. Good for making large changes in bulk\n usersTransaction: function usersTransaction(networkid, fn) {\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return;\n }\n\n var users = _lodash.default.clone(network.users);\n\n fn(users);\n network.users = users;\n },\n addUser: function addUser(networkid, user, usersArr_) {\n var network = null; // Accept either a network ID or a direct network object\n\n if (typeof networkid === 'number') {\n network = this.getNetwork(networkid);\n } else {\n network = networkid;\n }\n\n if (!network) {\n return null;\n }\n\n var usersArr = usersArr_ || network.users;\n var userObj = null;\n\n if (!usersArr[user.nick.toLowerCase()]) {\n userObj = usersArr[user.nick.toLowerCase()] = new _UserState.default(user);\n } else {\n // Update the existing user object with any new info we have\n userObj = state.getUser(network.id, user.nick, usersArr);\n\n _lodash.default.each(user, function (val, prop) {\n if (typeof val !== 'undefined') {\n userObj[prop] = val;\n }\n });\n }\n\n return userObj;\n },\n removeUser: function removeUser(networkid, user) {\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return;\n }\n\n var buffers = state.getBuffersWithUser(networkid, user.nick);\n (0, _forEach.default)(buffers).call(buffers, function (buffer) {\n state.removeUserFromBuffer(buffer, user.nick);\n });\n this.$delete(network.users, user.nick.toLowerCase());\n },\n addMultipleUsersToBuffer: function addMultipleUsersToBuffer(buffer, newUsers) {\n var _this2 = this;\n\n var network = this.getNetwork(buffer.networkid);\n\n var bufUsers = _lodash.default.clone(buffer.users);\n\n state.usersTransaction(network.id, function (users) {\n (0, _forEach.default)(newUsers).call(newUsers, function (newUser) {\n var user = newUser.user;\n var modes = newUser.modes;\n var userObj = state.getUser(network.id, user.nick, users);\n\n if (!userObj) {\n userObj = _this2.addUser(network, user, users);\n }\n\n bufUsers[userObj.nick.toLowerCase()] = userObj; // Add the buffer to the users buffer list\n\n if (!userObj.buffers[buffer.id]) {\n state.$set(userObj.buffers, buffer.id, {\n modes: modes || [],\n buffer: buffer\n });\n } else {\n userObj.buffers[buffer.id].modes = modes || [];\n }\n });\n });\n buffer.users = bufUsers;\n },\n addUserToBuffer: function addUserToBuffer(buffer, user, modes) {\n var network = this.getNetwork(buffer.networkid);\n var userObj = state.getUser(network.id, user.nick);\n\n if (!userObj) {\n userObj = this.addUser(network, user);\n } else {\n // Verify the user object is correct\n _lodash.default.each(user, function (val, prop) {\n if (userObj[prop] !== val) {\n userObj[prop] = val;\n }\n });\n }\n\n buffer.addUser(userObj); // Add the buffer to the users buffer list\n\n if (!userObj.buffers[buffer.id]) {\n state.$set(userObj.buffers, buffer.id, {\n modes: modes || [],\n buffer: buffer\n });\n } else {\n state.$set(userObj.buffers[buffer.id], 'modes', modes || []);\n }\n },\n removeUserFromBuffer: function removeUserFromBuffer(buffer, nick) {\n buffer.removeUser(nick);\n },\n getBuffersWithUser: function getBuffersWithUser(networkid, nick) {\n var _context12;\n\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return [];\n }\n\n var normalisedNick = nick.toLowerCase();\n var buffers = [];\n (0, _forEach.default)(_context12 = network.buffers).call(_context12, function (buffer) {\n var bufferNameLower = buffer.name.toLowerCase();\n\n if (buffer.users[normalisedNick] || normalisedNick === bufferNameLower) {\n buffers.push(buffer);\n } else if (nick === network.nick && buffer.isQuery()) {\n buffers.push(buffer);\n }\n });\n return buffers;\n },\n changeUserNick: function changeUserNick(networkid, oldNick, newNick) {\n var network = this.getNetwork(networkid);\n\n if (!network) {\n return;\n }\n\n var user = state.getUser(network.id, oldNick);\n\n if (!user) {\n return;\n }\n\n var normalisedNew = newNick.toLowerCase();\n var normalisedOld = oldNick.toLowerCase();\n user.nick = newNick; // If the nick has completely changed (ie. not just a case change) then update all\n // associated buffers user lists\n\n if (normalisedOld !== normalisedNew) {\n var _context13;\n\n state.$set(network.users, normalisedNew, network.users[normalisedOld]);\n state.$delete(network.users, normalisedOld);\n (0, _forEach.default)(_context13 = (0, _keys.default)(user.buffers)).call(_context13, function (bufferId) {\n var buffer = user.buffers[bufferId].buffer;\n state.$set(buffer.users, normalisedNew, buffer.users[normalisedOld]);\n state.$delete(buffer.users, normalisedOld);\n });\n }\n\n var buffer = this.getBufferByName(network.id, oldNick);\n\n if (buffer) {\n buffer.rename(newNick);\n }\n },\n getStartups: function getStartups() {\n return availableStartups;\n }\n }\n });\n return state;\n}\n\nvar instance = null;\n\nfunction singleton() {\n instance = instance || createNewState();\n return instance;\n}\n\nsingleton.create = function createState() {\n return createNewState();\n};\n\nsingleton.recreate = function recreateState() {\n if (instance) {\n var _context14;\n\n instance.resetState();\n instance.$destroy(); // eslint-disable-next-line\n\n (0, _splice.default)(_context14 = instance._watchers).call(_context14, 0, instance._watchers.length);\n }\n\n instance = createNewState();\n return instance;\n};\n\nvar _default = singleton;\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"state\"]\r\nwindow._kiwi_exports.libs.state = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StartupError.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StartupError.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInvitelist.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChannelInvitelist.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-statebrowser-usermenu\",class:[_vm.is_usermenu_open?'kiwi-statebrowser-usermenu--open':'']},[_c('div',{staticClass:\"kiwi-statebrowser-usermenu-avatar\",class:[_vm.isConnected ?\n 'kiwi-statebrowser-usermenu-avatar--connected' :\n 'kiwi-statebrowser-usermenu-avatar--disconnected'\n ],on:{\"click\":function($event){_vm.is_usermenu_open=!_vm.is_usermenu_open}}},[(_vm.getUser)?_c('avatar',{attrs:{\"user\":_vm.getUser,\"size\":\"large\"}}):_vm._e(),(_vm.network && _vm.network.state === 'connected')?_c('away-status-indicator',{attrs:{\"network\":_vm.network,\"user\":_vm.getUser,\"toggle\":false}}):_vm._e()],1),(_vm.is_usermenu_open)?_c('div',{staticClass:\"kiwi-statebrowser-usermenu-body\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('state_remembered'))+\" \")]),_c('a',{staticClass:\"u-link\",on:{\"click\":_vm.clickForget}},[_vm._v(_vm._s(_vm.$t('state_forget')))]),_c('div',{staticClass:\"kiwi-close-icon\",on:{\"click\":function($event){_vm.is_usermenu_open=false}}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])]):_c('div',{staticClass:\"kiwi-statebrowser-usermenu-network\"},[_vm._v(\" \"+_vm._s(_vm.networkName)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _typeof = require(\"@babel/runtime-corejs3/helpers/typeof\");\n\nvar _WeakMap = require(\"@babel/runtime-corejs3/core-js-stable/weak-map\");\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _Object$getOwnPropertyDescriptor = require(\"@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nrequire(\"font-awesome-webpack-4\");\n\nvar _cssVarsPonyfill = _interopRequireDefault(require(\"css-vars-ponyfill\"));\n\nrequire(\"@/res/globalStyle.css\");\n\nvar _tinycon = _interopRequireDefault(require(\"tinycon\"));\n\nvar _Welcome = _interopRequireDefault(require(\"@/components/startups/Welcome\"));\n\nvar _ZncLogin = _interopRequireDefault(require(\"@/components/startups/ZncLogin\"));\n\nvar _CustomServer = _interopRequireDefault(require(\"@/components/startups/CustomServer\"));\n\nvar _KiwiBnc = _interopRequireDefault(require(\"@/components/startups/KiwiBnc\"));\n\nvar _Personal = _interopRequireDefault(require(\"@/components/startups/Personal\"));\n\nvar _StateBrowser = _interopRequireDefault(require(\"@/components/StateBrowser\"));\n\nvar _AppSettings = _interopRequireDefault(require(\"@/components/AppSettings\"));\n\nvar _Container = _interopRequireDefault(require(\"@/components/Container\"));\n\nvar _ControlInput = _interopRequireDefault(require(\"@/components/ControlInput\"));\n\nvar _MediaViewer = _interopRequireDefault(require(\"@/components/MediaViewer\"));\n\nvar _Sidebar = require(\"@/components/Sidebar\");\n\nvar Notifications = _interopRequireWildcard(require(\"@/libs/Notifications\"));\n\nvar bufferTools = _interopRequireWildcard(require(\"@/libs/bufferTools\"));\n\nvar _ThemeManager = _interopRequireDefault(require(\"@/libs/ThemeManager\"));\n\nvar _Logger = _interopRequireDefault(require(\"@/libs/Logger\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== \"function\") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar log = _Logger.default.namespace('App.vue');\n\nvar _default = {\n components: {\n StateBrowser: _StateBrowser.default,\n Container: _Container.default,\n ControlInput: _ControlInput.default,\n MediaViewer: _MediaViewer.default\n },\n data: function data() {\n return {\n startupComponent: null,\n hasStarted: false,\n // When on mobile screens, the statebrowser turns into a drawer\n stateBrowserDrawOpen: false,\n // If set, will become the main view instead of a buffer/nicklist container\n activeComponent: null,\n activeComponentProps: {},\n // If set, will become the main view when no networks are available to be shown\n // and there is no active component set\n fallbackComponent: null,\n fallbackComponentProps: {},\n mediaviewerOpen: false,\n mediaviewerUrl: '',\n mediaviewerComponent: null,\n mediaviewerComponentProps: {},\n mediaviewerIframe: false,\n themeUrl: '',\n sidebarState: new _Sidebar.State()\n };\n },\n computed: {\n networks: function networks() {\n return this.$state.networks;\n },\n network: function network() {\n return this.$state.getActiveNetwork();\n },\n buffer: function buffer() {\n return this.$state.getActiveBuffer();\n }\n },\n created: function created() {\n var _this = this;\n\n this.listenForActiveComponents();\n this.watchForThemes();\n this.initStateBrowser();\n this.initMediaviewer();\n this.configureFavicon();\n this.listen(document, 'keydown', function (event) {\n return _this.onKeyDown(event);\n });\n this.listen(window, 'focus', function (event) {\n return _this.onFocus(event);\n });\n this.listen(window, 'blur', function (event) {\n return _this.onBlur(event);\n });\n this.listen(window, 'touchstart', function (event) {\n return _this.onTouchStart(event);\n });\n },\n mounted: function mounted() {\n // Decide which startup screen to use depending on the config\n var startupScreens = {\n welcome: _Welcome.default,\n customServer: _CustomServer.default,\n kiwiBnc: _KiwiBnc.default,\n znc: _ZncLogin.default,\n personal: _Personal.default\n };\n var extraStartupScreens = this.$state.getStartups();\n var startupName = this.$state.settings.startupScreen || 'personal';\n var startup = extraStartupScreens[startupName] || startupScreens[startupName];\n\n if (!startup) {\n _Logger.default.error(\"Startup screen \\\"\".concat(startupName, \"\\\" does not exist\"));\n } else {\n this.startupComponent = startup;\n }\n\n this.trackWindowDimensions();\n },\n methods: {\n // Triggered by a startup screen event\n startUp: function startUp(opts) {\n var _this2 = this;\n\n log('startUp()');\n\n if (opts && opts.fallbackComponent) {\n this.fallbackComponent = opts.fallbackComponent;\n }\n\n if (opts && opts.fallbackComponentProps) {\n this.fallbackComponentProps = opts.fallbackComponentProps;\n } // Make sure a startup screen can't trigger these more than once\n\n\n if (!this.hasStarted) {\n this.warnOnPageClose(); // Wait for a click or sending a message before asking for notification permission.\n // Not doing this on an input event will get it blocked by some browsers.\n\n var requestNotificationPermission = function requestNotificationPermission() {\n _this2.$state.$off('document.clicked', requestNotificationPermission);\n\n _this2.$state.$off('input.raw', requestNotificationPermission);\n\n Notifications.requestPermission(_this2.$state);\n Notifications.listenForNewMessages(_this2.$state);\n };\n\n this.$state.$once('document.clicked', requestNotificationPermission);\n this.$state.$once('input.raw', requestNotificationPermission);\n }\n\n this.hasStarted = true;\n },\n listenForActiveComponents: function listenForActiveComponents() {\n var _this3 = this;\n\n this.listen(this.$state, 'active.component', function (component, props) {\n _this3.activeComponent = null;\n\n if (component) {\n _this3.activeComponentProps = props;\n _this3.activeComponent = component;\n }\n });\n this.listen(this.$state, 'active.component.toggle', function (component, props) {\n if (component === _this3.activeComponent) {\n _this3.activeComponent = null;\n } else if (component) {\n _this3.activeComponentProps = props;\n _this3.activeComponent = component;\n }\n });\n },\n watchForThemes: function watchForThemes() {\n var _this4 = this;\n\n var themes = _ThemeManager.default.instance();\n\n this.themeUrl = _ThemeManager.default.themeUrl(themes.currentTheme());\n this.$nextTick(function () {\n return (0, _cssVarsPonyfill.default)();\n });\n this.listen(this.$state, 'theme.change', function () {\n _this4.themeUrl = _ThemeManager.default.themeUrl(themes.currentTheme());\n\n _this4.$nextTick(function () {\n return (0, _cssVarsPonyfill.default)();\n });\n });\n },\n initStateBrowser: function initStateBrowser() {\n var _this5 = this;\n\n this.listen(this.$state, 'statebrowser.toggle', function () {\n _this5.stateBrowserDrawOpen = !_this5.stateBrowserDrawOpen;\n });\n this.listen(this.$state, 'statebrowser.show', function () {\n _this5.stateBrowserDrawOpen = true;\n });\n this.listen(this.$state, 'statebrowser.hide', function () {\n _this5.stateBrowserDrawOpen = false;\n });\n },\n initMediaviewer: function initMediaviewer() {\n var _this6 = this;\n\n this.listen(this.$state, 'mediaviewer.show', function (url) {\n var opts = {}; // The passed url may be a string or an options object\n\n if (typeof url === 'string') {\n opts = {\n url: url\n };\n } else {\n opts = url;\n }\n\n _this6.mediaviewerUrl = opts.url;\n _this6.mediaviewerComponent = opts.component;\n _this6.mediaviewerComponentProps = opts.componentProps;\n _this6.mediaviewerIframe = opts.iframe;\n _this6.mediaviewerOpen = true;\n });\n this.listen(this.$state, 'mediaviewer.hide', function () {\n _this6.mediaviewerOpen = false;\n });\n },\n configureFavicon: function configureFavicon() {\n var _this7 = this;\n\n // favicon bubble\n _tinycon.default.setOptions({\n width: 7,\n height: 9,\n color: '#ffffff',\n background: '#b32d2d',\n fallback: true\n });\n\n this.$state.$watch('ui.favicon_counter', function (newVal) {\n if (newVal) {\n _tinycon.default.setBubble(newVal);\n } else {\n _tinycon.default.reset();\n }\n });\n this.listen(this.$state, 'message.new', function (event) {\n var message = event.message;\n\n if (!message.isHighlight || message.ignore || _this7.$state.ui.app_has_focus) {\n return;\n }\n\n _this7.$state.ui.favicon_counter++;\n });\n },\n trackWindowDimensions: function trackWindowDimensions() {\n var _this8 = this;\n\n // Track the window dimensions into the reactive ui state\n var trackWindowDims = function trackWindowDims() {\n _this8.$state.ui.app_width = _this8.$el.clientWidth;\n _this8.$state.ui.app_height = _this8.$el.clientHeight;\n _this8.$state.ui.is_narrow = _this8.$el.clientWidth <= 769;\n };\n\n this.listen(window, 'resize', trackWindowDims);\n trackWindowDims();\n },\n warnOnPageClose: function warnOnPageClose() {\n var _this9 = this;\n\n window.onbeforeunload = function () {\n if (_this9.$state.setting('warnOnExit')) {\n return _this9.$t('window_unload');\n }\n\n return undefined;\n };\n\n window.onunload = function () {\n var _context;\n\n (0, _forEach.default)(_context = _this9.$state.networks).call(_context, function (net) {\n if (net.connection.direct && net.state === 'connected') {\n net.ircClient.raw('QUIT', _this9.$state.setting('quitMessage') || 'Client Closed Connection');\n }\n });\n };\n },\n emitBufferPaste: function emitBufferPaste(event) {\n // bail if no buffer is active, or the buffer is hidden by another component\n if (!this.$state.getActiveBuffer() || this.activeComponent !== null) {\n return;\n } // bail if the target is an input-like element\n\n\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLSelectElement || event.target instanceof HTMLTextAreaElement) {\n return;\n }\n\n this.$state.$emit('buffer.paste', event);\n },\n emitDocumentClick: function emitDocumentClick(event) {\n this.$state.$emit('document.clicked', event);\n },\n onTouchStart: function onTouchStart(event) {\n // Parts of the UI adjust themselves if we're known to be using a touchscreen\n this.$state.ui.is_touch = true;\n },\n onBlur: function onBlur(event) {\n this.$state.ui.app_has_focus = false;\n },\n onFocus: function onFocus(event) {\n this.$state.ui.app_has_focus = true;\n var buffer = this.$state.getActiveBuffer();\n\n if (buffer) {\n buffer.markAsRead(true);\n }\n\n this.$state.ui.favicon_counter = 0;\n },\n onKeyDown: function onKeyDown(event) {\n var _context2;\n\n this.$state.$emit('document.keydown', event);\n var meta = false;\n\n if ((0, _indexOf.default)(_context2 = navigator.appVersion).call(_context2, 'Mac') !== -1) {\n meta = event.metaKey;\n } else {\n // none english languages use ctrl + alt to access extended chars\n // make sure we do not interfere with that by only acting on ctrl\n meta = event.ctrlKey && !event.altKey;\n }\n\n if (meta && event.keyCode === 221) {\n // meta + ]\n var buffer = bufferTools.getNextBuffer();\n\n if (buffer) {\n this.$state.setActiveBuffer(buffer.networkid, buffer.name);\n }\n\n event.preventDefault();\n } else if (meta && event.keyCode === 219) {\n // meta + [\n var _buffer = bufferTools.getPreviousBuffer();\n\n if (_buffer) {\n this.$state.setActiveBuffer(_buffer.networkid, _buffer.name);\n }\n\n event.preventDefault();\n } else if (meta && event.keyCode === 79) {\n // meta + o\n this.$state.$emit('active.component.toggle', _AppSettings.default);\n event.preventDefault();\n } else if (meta && event.keyCode === 83) {\n // meta + s\n var network = this.$state.getActiveNetwork();\n\n if (network) {\n network.showServerBuffer('settings');\n }\n\n event.preventDefault();\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"App\"]\r\nwindow._kiwi_exports.components.App = exports.default ? exports.default : exports;\r\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../build/webpack/exports-loader.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommonLayout.vue?vue&type=style&index=0&lang=css&\"","import { render, staticRenderFns } from \"./StateBrowserUsermenu.vue?vue&type=template&id=73194456&\"\nimport script from \"./StateBrowserUsermenu.vue?vue&type=script&lang=js&\"\nexport * from \"./StateBrowserUsermenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StateBrowserUsermenu.vue?vue&type=style&index=0&lang=css&\"\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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-autocomplete kiwi-theme-bg\"},_vm._l((_vm.filteredAndLimitedItems),function(item){return _c('div',{key:item.type+item.text,class:{\n 'kiwi-autocomplete-item': true,\n 'kiwi-autocomplete-item--selected': item.idx === _vm.selected_idx},on:{\"click\":function($event){_vm.selected_idx = item.idx; _vm.selectCurrentItem()}}},[(item.type === 'user')?[_c('span',{staticClass:\"kiwi-autocomplete-item-value\"},[_vm._v(_vm._s(item.text))]),_c('span',{staticClass:\"u-link kiwi-autocomplete-item-action\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openQuery(item.text)}}},[_vm._v(\" \"+_vm._s(_vm.$t('send_message'))+\" \")])]:(item.type === 'command')?[_c('span',{staticClass:\"kiwi-autocomplete-item-value\"},[_vm._v(_vm._s(item.text))]),_c('span',{staticClass:\"u-link kiwi-autocomplete-item-description\"},[_vm._v(\" \"+_vm._s(item.description)+\" \")])]:[_c('span',{staticClass:\"kiwi-autocomplete-item-value\"},[_vm._v(_vm._s(item.text))])]],2)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Personal.vue?vue&type=template&id=5935ee4a&\"\nimport script from \"./Personal.vue?vue&type=script&lang=js&\"\nexport * from \"./Personal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Personal.vue?vue&type=style&index=0&lang=css&\"\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","\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n'kiwi public';\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = void 0;\n\nvar _AwayStatusIndicator = _interopRequireDefault(require(\"./AwayStatusIndicator\"));\n\nvar _TypingStatusIndicator = _interopRequireDefault(require(\"./TypingStatusIndicator\"));\n\nvar _Avatar = _interopRequireDefault(require(\"./Avatar\"));\n\nvar methods = {\n props: {},\n userColour: function userColour() {\n var props = this.props;\n\n if (props.nicklist.useColouredNicks) {\n return props.user.getColour();\n }\n\n return '';\n },\n shouldShowAvatars: function shouldShowAvatars() {\n var props = this.props;\n return props.nicklist.buffer.setting('nicklist_avatars');\n }\n};\nvar _default = {\n inject: {\n components: {\n default: {\n AwayStatusIndicator: _AwayStatusIndicator.default,\n TypingStatusIndicator: _TypingStatusIndicator.default,\n Avatar: _Avatar.default\n }\n }\n },\n props: {\n network: Object,\n user: Object,\n nicklist: Object,\n m: {\n default: function m() {\n // vue uses this function to generate the prop. `this`==null Return our own function\n return function n() {\n // Give our methods some props context before its function is called.\n // This is only safe because the function on the methods object is called on\n // the same js tick\n methods.props = this;\n return methods;\n };\n }\n }\n }\n};\nexports.default = _default;\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"components\"]) window._kiwi_exports[\"components\"] = {};\nwindow._kiwi_exports[\"components\"][\"NicklistUser\"]\r\nwindow._kiwi_exports.components.NicklistUser = exports.default ? exports.default : exports;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"kiwi-header kiwi-theme-bg\",on:{\"click\":_vm.onHeaderClick}},[(_vm.isChannel())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_vm._v(_vm._s(_vm.buffer.name))])]),(_vm.isJoined && _vm.isConnected)?_c('div',{key:_vm.buffer.id,staticClass:\"kiwi-header-options\"},[_vm._l((_vm.pluginUiChannelElements),function(plugin){return _c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(plugin.el),expression:\"plugin.el\"}],key:plugin.id,staticClass:\"kiwi-header-option\"})}),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-about\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'about'\n }},[_c('a',{attrs:{\"title\":_vm.$t('more_information')},on:{\"click\":function($event){return _vm.sidebarState.toggleAbout()}}},[_c('i',{staticClass:\"fa fa-info\",attrs:{\"aria-hidden\":\"true\"}})])]),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-nicklist\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'nicklist'\n || _vm.sidebarSection === 'user'\n }},[_c('a',{attrs:{\"title\":_vm.$t('person', {count: Object.keys(_vm.buffer.users).length})},on:{\"click\":function($event){return _vm.sidebarState.toggleNicklist()}}},[_c('i',{staticClass:\"fa fa-users\",attrs:{\"aria-hidden\":\"true\"}}),_c('span',[_vm._v(_vm._s(Object.keys(_vm.buffer.users).length))])])]),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-settings\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'settings'\n }},[_c('a',{attrs:{\"title\":_vm.$t('channel_settings')},on:{\"click\":function($event){return _vm.sidebarState.toggleBufferSettings()}}},[_c('i',{staticClass:\"fa fa-cog\",attrs:{\"aria-hidden\":\"true\"}})])]),(_vm.sidebarState.isPinned)?_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-unpinsidebar\"},[_c('a',{on:{\"click\":function($event){return _vm.sidebarState.unpin()}}},[_c('i',{staticClass:\"fa fa-thumb-tack\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e()],2):_vm._e(),(!_vm.isJoined && _vm.isConnected)?_c('div',{staticClass:\"kiwi-header-notjoined\"},[_c('a',{staticClass:\"u-link kiwi-header-join-channel-button\",on:{\"click\":_vm.joinCurrentBuffer}},[_vm._v(\" \"+_vm._s(_vm.$t('container_join'))+\" \")])]):_vm._e(),_c('transition',{attrs:{\"name\":\"kiwi-header-prompttrans\"}},[(_vm.prompts.closeChannel)?_c('input-confirm',{staticClass:\"kiwi-header-prompt\",attrs:{\"label\":_vm.$t('prompt_leave_channel'),\"flip-connotation\":true},on:{\"ok\":_vm.closeCurrentBuffer,\"submit\":function($event){_vm.prompts.closeChannel=false}}}):_vm._e()],1)]:(_vm.isServer())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_vm._v(\" \"+_vm._s(_vm.buffer.getNetwork().name)+\" \")])]),_c('div',{staticClass:\"kiwi-header-server-connection\"},[(_vm.buffer.getNetwork().state === 'disconnected')?_c('a',{staticClass:\"u-button u-button-primary\",on:{\"click\":_vm.onConnectButtonClick}},[_vm._v(\" \"+_vm._s(_vm.$t('connect'))+\" \")]):(_vm.buffer.getNetwork().state === 'connecting')?_c('span',[_c('i',{staticClass:\"fa fa-spin fa-spinner\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm.$t('connecting'))+\" \")]):_vm._e()])]:(_vm.isQuery())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_c('away-status-indicator',{staticClass:\"kiwi-header-awaystatus\",attrs:{\"network\":_vm.buffer.getNetwork(),\"user\":_vm.network.userByName(_vm.buffer.name)}}),_vm._v(\" \"+_vm._s(_vm.buffer.name)+\" \")],1)]),_c('div',{key:_vm.buffer.id,staticClass:\"kiwi-header-options\"},[(_vm.userOnline)?_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-user\",class:{\n 'kiwi-header-option--active': _vm.sidebarSection === 'user'\n }},[_c('a',{on:{\"click\":function($event){return _vm.toggleUser()}}},[_c('i',{staticClass:\"fa fa-user\",attrs:{\"aria-hidden\":\"true\"}})])]):_vm._e(),_vm._l((_vm.pluginUiQueryElements),function(plugin){return _c('div',{directives:[{name:\"rawElement\",rawName:\"v-rawElement\",value:(plugin.el),expression:\"plugin.el\"}],key:plugin.id,staticClass:\"kiwi-header-option\"})}),_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-leave\"},[_c('a',{on:{\"click\":_vm.closeCurrentBuffer}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])])],2)]:(_vm.isSpecial())?[_c('div',{staticClass:\"kiwi-header-name-container\"},[_c('div',{staticClass:\"kiwi-header-name\"},[_vm._v(_vm._s(_vm.buffer.name))])]),_c('div',{staticClass:\"kiwi-header-options\"},[_c('div',{staticClass:\"kiwi-header-option kiwi-header-option-leave\"},[_c('a',{on:{\"click\":_vm.closeCurrentBuffer}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})])])])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\"use strict\";\n'kiwi public';\n/** @module */\n\n/*\n * Multiplexed channels over a websocket connection\n * * Only allow 1 websocket per server\n * * Multiple channels through a single websocket\n * * A channel per IRC network connection\n * Messages are prefixed with : and the channel name then a space. eg:\n * :1 Here is the data\n *\n * Example protocol chatter:\n * Client > START Client tells the server it's starting a session\n * Server > SESSION 1234 Server sends the client the current session ID\n * Client > :1 Client is creating a new channel, ID 1\n * Server > :1 Server acknowledges the new channel, ID 1\n * Client > :1 some data Client sends data over channel 1 to the server\n * Server > :1 some data Server sends data over channel 1 to the client\n * Client > :2 Client is creating a new channel, ID 2\n * Server > :2 Server acknowledges the new channel, ID 2\n */\n\nvar _Object$defineProperty = require(\"@babel/runtime-corejs3/core-js-stable/object/define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\");\n\n_Object$defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.createChannelConstructor = createChannelConstructor;\n\nvar _create = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/object/create\"));\n\nvar _indexOf = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/index-of\"));\n\nvar _forEach = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/instance/for-each\"));\n\nvar _sockjsClient = _interopRequireDefault(require(\"sockjs-client\"));\n\nvar _eventemitter = _interopRequireDefault(require(\"eventemitter3\"));\n\nvar serverConnections = (0, _create.default)(null);\nvar createdChannels = (0, _create.default)(null);\nvar controlChannel = '0';\n/**\n *\n * @param {String} _addr Sockjs endpoint\n * @param {String} sessionId Optional session ID to continue\n * @param {String} _socketChannel The optional multiplexed channel ID. Autogenerated if not provided\n */\n\nfunction createChannelConstructor(_addr, sessionId, _socketChannel) {\n var addr = _addr.toLowerCase();\n\n if (!serverConnections[addr]) {\n serverConnections[addr] = createNewConnection(addr, sessionId);\n } // If a channel ID hasn't been specified, create a new one\n\n\n var socketChannel = _socketChannel;\n\n if (!socketChannel) {\n socketChannel = serverConnections[addr].nextChannelId++;\n }\n\n return createChannelOnConnection(serverConnections[addr], socketChannel);\n}\n/*\n * Creates a new socket connection to a kiwi server.\n * Channels will be created on this connection to send data back and forth.\n */\n\n\nfunction createNewConnection(wsAddr, sessionId) {\n var connection = new _eventemitter.default();\n connection.sessionId = '';\n serverConnections[wsAddr] = connection;\n connection.nextChannelId = 1;\n connection.connected = false;\n\n connection.reconnect = connection.connect = function connect() {\n if (connection.ws) {\n try {\n connection.ws.close();\n } catch (err) {// Ignore any closing errors. Most likely due to not\n // being connected yet.\n }\n\n connection.ws = null;\n }\n\n connection.ws = new _sockjsClient.default(wsAddr);\n\n connection.ws.onopen = function () {\n var connectStr = sessionId ? 'CONTROL SESSION ' + sessionId : 'CONTROL START';\n connection.ws.send(\":\".concat(controlChannel, \" \").concat(connectStr));\n connection.connected = true;\n connection.emit('open');\n };\n\n connection.ws.onclose = function (err) {\n connection.connected = false;\n connection.ws = null;\n connection.emit('close', err);\n };\n\n connection.ws.onmessage = function (event) {\n connection.emit('message', event); // If the message starts with \":channel \" then extract that channel and emit\n // an event for it.\n\n if (event.data[0] === ':') {\n var message = event.data;\n var spacePos = (0, _indexOf.default)(message).call(message, ' '); // If no space, ie. \":1\", this is the server acknowledging this channel\n // is now open and ready to be used.\n\n if (spacePos === -1) {\n connection.emit('open.' + message.substr(1));\n return;\n }\n\n var channelId = message.substr(1, spacePos - 1);\n event.data = message.substr(spacePos + 1);\n connection.emit('message.' + channelId, event);\n } else {\n // Core messages. Used for session handling and session syncing\n var parts = event.data.split(' ');\n\n if (parts[0] === 'SESSION') {\n connection.sessionId = parts[1];\n }\n }\n };\n };\n\n connection.connect();\n return connection;\n}\n/*\n * Create a channel on a server connection.\n * The ConnectionChannel implements an IrcFramework transport\n */\n\n\nfunction createChannelOnConnection(connection, channelId) {\n // Only allow 1 ConnectionChannel instance per channel\n return function ConnectionChannelWrapper(options) {\n if (!createdChannels[channelId]) {\n createdChannels[channelId] = new ConnectionChannel(options);\n } else if (connection.connected) {\n createdChannels[channelId].initChannel();\n }\n\n return createdChannels[channelId];\n };\n\n function ConnectionChannel(options) {\n var sendControlBuffer = [];\n var encoding = 'utf8';\n var channel = new _eventemitter.default();\n channel.id = channelId;\n channel.isOpen = false;\n channel.state = 0; // TODO: Is this used anywhere?\n // 0 = disconnected, 1 = connected\n\n channel.remoteState = 0; // When the websocket opens, open this channel on it\n\n connection.on('open', function () {\n connection.ws.send(':' + channelId);\n }); // When we get confirmation of this channel being opened, send any control\n // messages that were buffered\n\n connection.on('open.' + channelId, function () {\n channel.isOpen = true; // channel.emit('open');\n\n if (sendControlBuffer.length) {\n (0, _forEach.default)(sendControlBuffer).call(sendControlBuffer, function (line) {\n channel.sendControl(line);\n });\n sendControlBuffer = [];\n }\n\n channel.setEncoding(encoding); // This channel is now open and can start sending data to the server\n\n channel.remoteState = 1;\n channel.emit('open');\n });\n connection.on('close', function (err) {\n channel.state = 3;\n channel.remoteState = 0;\n channel.isOpen = false;\n channel.emit('close', err);\n });\n connection.on('message.' + channelId, function (event) {\n var _context;\n\n if ((0, _indexOf.default)(_context = event.data).call(_context, 'control ') === 0) {\n var _context2, _context3;\n\n // When we get the signal that the connection to the IRC server\n // has connected, start proxying all data\n if ((0, _indexOf.default)(_context2 = event.data).call(_context2, 'control connected') === 0) {\n channel.remoteState = 1;\n }\n\n if ((0, _indexOf.default)(_context3 = event.data).call(_context3, 'control closed') === 0) {\n var err = event.data.split(' ')[2];\n channel.remoteState = 0;\n channel.emit('close', err);\n }\n }\n\n if (channel.remoteState === 1) {\n channel.emit('line', event.data);\n }\n }); // Send a control message to the server (not relayed to an IRC network)\n\n channel.sendControl = function writeTarget(data) {\n if (channel.isOpen) {\n connection.ws.send(':' + channelId + ' ' + data);\n } else {\n sendControlBuffer.push(data);\n }\n };\n\n channel.writeLine = function writeTarget(data) {\n // Buffer the data if the socket has not yet been sent\n if (channel.remoteState >= 1) {\n connection.ws.send(':' + channelId + ' ' + data);\n }\n }; // Tell the server to connect to an IRC network\n\n\n channel.connect = function connect() {\n // Clear any buffered control messages so we have a clean slate\n sendControlBuffer = []; // If the websocket is not connected, try to reconnect it\n\n if (!connection.ws) {\n connection.reconnect();\n }\n\n var host = options.host;\n var port = options.port;\n var tls = options.tls || options.ssl;\n channel.sendControl('HOST ' + host + ':' + (tls ? '+' : '') + port);\n };\n\n channel.close = function close() {\n if (channel.remoteState >= 1) {\n connection.ws.send(':' + channelId);\n }\n }; // This is not supported but irc-framework transports need it, so just noop it\n\n\n channel.setEncoding = function setEncoding(newEncoding) {\n encoding = newEncoding;\n\n if (connection.connected) {\n connection.ws.send(':' + channelId + ' ENCODING ' + newEncoding);\n }\n\n return true;\n };\n\n channel.disposeSocket = function disposeSocket() {// noop\n };\n\n channel.initChannel = function initChannel() {\n connection.ws.send(':' + channelId);\n }; // Let the server know of this new channel if we're already connected\n\n\n if (connection.connected) {\n channel.initChannel();\n }\n\n return channel;\n }\n}\r\nwindow._kiwi_exports = window._kiwi_exports || {};\r\nif(!window._kiwi_exports[\"libs\"]) window._kiwi_exports[\"libs\"] = {};\nwindow._kiwi_exports[\"libs\"][\"ServerConnection\"]\r\nwindow._kiwi_exports.libs.ServerConnection = exports.default ? exports.default : exports;\r\n","var render = function (_h,_vm) {var _c=_vm._c;return _c(_vm.$options.c.Avatar,{tag:\"component\",attrs:{\"user\":_vm.props.user,\"message\":_vm.props.message,\"size\":\"small\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BufferSettings.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nicklist.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../build/webpack/exports-loader.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nicklist.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StateBrowserNetwork.vue?vue&type=template&id=a93fa65a&\"\nimport script from \"./StateBrowserNetwork.vue?vue&type=script&lang=js&\"\nexport * from \"./StateBrowserNetwork.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StateBrowserNetwork.vue?vue&type=style&index=0&lang=css&\"\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"],"sourceRoot":""}