=0;--ot){var gt=this.tryEntries[ot];if(gt.finallyLoc===Z)return this.complete(gt.completion,gt.afterLoc),Nt(gt),Y}}return J}(),catch:function(){function J(Z){for(var ot=this.tryEntries.length-1;ot>=0;--ot){var gt=this.tryEntries[ot];if(gt.tryLoc===Z){var Et=gt.completion;if(Et.type==="throw"){var ut=Et.arg;Nt(gt)}return ut}}throw new Error("illegal catch attempt")}return J}(),delegateYield:function(){function J(Z,ot,gt){return this.delegate={iterator:dt(Z),resultName:ot,nextLoc:gt},this.method==="next"&&(this.arg=S),Y}return J}()},b}function g(S,b,C,P,N,w,R){try{var L=S[w](R),K=L.value}catch(x){C(x);return}L.done?b(K):Promise.resolve(K).then(P,N)}function m(S){return function(){var b=this,C=arguments;return new Promise(function(P,N){var w=S.apply(b,C);function R(K){g(w,P,N,R,L,"next",K)}function L(K){g(w,P,N,R,L,"throw",K)}R(void 0)})}}/**
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
-*/var E=["a","iframe","link","video"],O=function(){var S=m(l().mark(function(){function b(C){var P,N,w;return l().wrap(function(){function R(L){for(;;)switch(L.prev=L.next){case 0:P=(0,f.selectChat)(C.getState()),N=Math.max(0,h.chatRenderer.messages.length-d.MAX_PERSISTED_MESSAGES),w=h.chatRenderer.messages.slice(N).map(function(K){return(0,c.serializeMessage)(K)}),r.storage.set("chat-state",P),r.storage.set("chat-messages",w);case 5:case"end":return L.stop()}}return R}(),b)}return b}()));return function(){function b(C){return S.apply(this,arguments)}return b}()}(),I=function(){var S=m(l().mark(function(){function b(C){var P,N,w,R,L,K,x;return l().wrap(function(){function U($){for(;;)switch($.prev=$.next){case 0:return $.next=2,Promise.all([r.storage.get("chat-state"),r.storage.get("chat-messages")]);case 2:if(P=$.sent,N=P[0],w=P[1],!(N&&N.version<=4)){$.next=8;break}return C.dispatch((0,i.loadChat)()),$.abrupt("return");case 8:if(w){for(R=v(w);!(L=R()).done;)K=L.value,K.html&&(K.html=n.default.sanitize(K.html,{FORBID_TAGS:E}));x=[].concat(w,[(0,c.createMessage)({type:"internal/reconnected"})]),h.chatRenderer.processBatch(x,{prepend:!0})}C.dispatch((0,i.loadChat)(N));case 10:case"end":return $.stop()}}return U}(),b)}return b}()));return function(){function b(C){return S.apply(this,arguments)}return b}()}(),T=e.chatMiddleware=function(){function S(b){var C=!1,P=!1,N=[],w=[];return h.chatRenderer.events.on("batchProcessed",function(R){P&&b.dispatch((0,i.updateMessageCount)(R))}),h.chatRenderer.events.on("scrollTrackingChanged",function(R){b.dispatch((0,i.changeScrollTracking)(R))}),setInterval(function(){return O(b)},d.MESSAGE_SAVE_INTERVAL),function(R){return function(L){var K=L.type,x=L.payload;if(C||(C=!0,I(b)),K==="chat/message"){var U;try{U=JSON.parse(x)}catch(et){return}var $=U.sequence;if(N.includes($))return;var D=N.length;t:if(D>0){if(w.includes($)){w.splice(w.indexOf($),1);break t}var F=N[D-1]+1;if($!==F)for(var V=F;V<$;V++)w.push(V),Byond.sendMessage("chat/resend",V)}h.chatRenderer.processBatch([U.content]);return}if(K===i.loadChat.type){R(L);var G=(0,f.selectCurrentChatPage)(b.getState());h.chatRenderer.changePage(G),h.chatRenderer.onStateLoaded(),P=!0;return}if(K===i.changeChatPage.type||K===i.addChatPage.type||K===i.removeChatPage.type||K===i.toggleAcceptedType.type){R(L);var Y=(0,f.selectCurrentChatPage)(b.getState());h.chatRenderer.changePage(Y);return}if(K===i.rebuildChat.type)return h.chatRenderer.rebuildChat(),R(L);if(K===o.updateSettings.type||K===o.loadSettings.type||K===o.addHighlightSetting.type||K===o.removeHighlightSetting.type||K===o.updateHighlightSetting.type){R(L);var z=(0,a.selectSettings)(b.getState());h.chatRenderer.setHighlight(z.highlightSettings,z.highlightSettingById);return}if(K==="roundrestart")return O(b),R(L);if(K===i.saveChatToDisk.type){h.chatRenderer.saveToDisk();return}if(K===i.clearChat.type){h.chatRenderer.clearChat();return}return R(L)}}}return S}()},92863:function(y,e,t){"use strict";e.__esModule=!0,e.serializeMessage=e.isSameMessage=e.createPage=e.createMessage=e.createMainPage=e.canPageAcceptType=void 0;var n=t(56662),r=t(67392);function o(s,p){var l=typeof Symbol!="undefined"&&s[Symbol.iterator]||s["@@iterator"];if(l)return(l=l.call(s)).next.bind(l);if(Array.isArray(s)||(l=a(s))||p&&s&&typeof s.length=="number"){l&&(s=l);var g=0;return function(){return g>=s.length?{done:!0}:{done:!1,value:s[g++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(s,p){if(s){if(typeof s=="string")return i(s,p);var l=Object.prototype.toString.call(s).slice(8,-1);if(l==="Object"&&s.constructor&&(l=s.constructor.name),l==="Map"||l==="Set")return Array.from(s);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return i(s,p)}}function i(s,p){(p==null||p>s.length)&&(p=s.length);for(var l=0,g=new Array(p);l0){if(w.includes($)){w.splice(w.indexOf($),1);break t}var F=N[D-1]+1;if($!==F)for(var V=F;V<$;V++)w.push(V),Byond.sendMessage("chat/resend",V)}h.chatRenderer.processBatch([U.content]);return}if(K===i.loadChat.type){R(L);var G=(0,f.selectCurrentChatPage)(b.getState());h.chatRenderer.changePage(G),h.chatRenderer.onStateLoaded(),P=!0;return}if(K===i.changeChatPage.type||K===i.addChatPage.type||K===i.removeChatPage.type||K===i.toggleAcceptedType.type){R(L);var Y=(0,f.selectCurrentChatPage)(b.getState());h.chatRenderer.changePage(Y);return}if(K===i.rebuildChat.type)return h.chatRenderer.rebuildChat(),R(L);if(K===o.updateSettings.type||K===o.loadSettings.type||K===o.addHighlightSetting.type||K===o.removeHighlightSetting.type||K===o.updateHighlightSetting.type){R(L);var z=(0,a.selectSettings)(b.getState());h.chatRenderer.setHighlight(z.highlightSettings,z.highlightSettingById);return}if(K==="roundrestart")return O(b),R(L);if(K===i.saveChatToDisk.type){h.chatRenderer.saveToDisk();return}if(K===i.clearChat.type){h.chatRenderer.clearChat();return}return R(L)}}}return S}()},92863:function(y,e,t){"use strict";e.__esModule=!0,e.serializeMessage=e.isSameMessage=e.createPage=e.createMessage=e.createMainPage=e.canPageAcceptType=void 0;var n=t(56662),r=t(67392);function o(s,p){var l=typeof Symbol!="undefined"&&s[Symbol.iterator]||s["@@iterator"];if(l)return(l=l.call(s)).next.bind(l);if(Array.isArray(s)||(l=a(s))||p&&s&&typeof s.length=="number"){l&&(s=l);var g=0;return function(){return g>=s.length?{done:!0}:{done:!1,value:s[g++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(s,p){if(s){if(typeof s=="string")return i(s,p);var l=Object.prototype.toString.call(s).slice(8,-1);if(l==="Object"&&s.constructor&&(l=s.constructor.name),l==="Map"||l==="Set")return Array.from(s);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return i(s,p)}}function i(s,p){(p==null||p>s.length)&&(p=s.length);for(var l=0,g=new Array(p);l
=0)&&(l[m]=s[m]);return l}function d(s,p){var l=typeof Symbol!="undefined"&&s[Symbol.iterator]||s["@@iterator"];if(l)return(l=l.call(s)).next.bind(l);if(Array.isArray(s)||(l=c(s))||p&&s&&typeof s.length=="number"){l&&(s=l);var g=0;return function(){return g>=s.length?{done:!0}:{done:!1,value:s[g++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function c(s,p){if(s){if(typeof s=="string")return h(s,p);var l=Object.prototype.toString.call(s).slice(8,-1);if(l==="Object"&&s.constructor&&(l=s.constructor.name),l==="Map"||l==="Set")return Array.from(s);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return h(s,p)}}function h(s,p){(p==null||p>s.length)&&(p=s.length);for(var l=0,g=new Array(p);l
0&&(z[ft.id]=Object.assign({},ft,{unreadCount:ft.unreadCount+W}))}return Object.assign({},p,{pageById:z})}if(g===n.addChatPage.type){var it;return Object.assign({},p,{currentPageId:m.id,pages:[].concat(p.pages,[m.id]),pageById:Object.assign({},p.pageById,(it={},it[m.id]=m,it))})}if(g===n.changeChatPage.type){var St,Pt=m.pageId,Mt=Object.assign({},p.pageById[Pt],{unreadCount:0});return Object.assign({},p,{currentPageId:Pt,pageById:Object.assign({},p.pageById,(St={},St[Pt]=Mt,St))})}if(g===n.updateChatPage.type){var Nt,ht=m.pageId,dt=i(m,o),J=Object.assign({},p.pageById[ht],dt);return Object.assign({},p,{pageById:Object.assign({},p.pageById,(Nt={},Nt[ht]=J,Nt))})}if(g===n.toggleAcceptedType.type){var Z,ot=m.pageId,gt=m.type,Et=Object.assign({},p.pageById[ot]);return Et.acceptedTypes=Object.assign({},Et.acceptedTypes),Et.acceptedTypes[gt]=!Et.acceptedTypes[gt],Object.assign({},p,{pageById:Object.assign({},p.pageById,(Z={},Z[ot]=Et,Z))})}if(g===n.removeChatPage.type){var ut=m.pageId,pt=Object.assign({},p,{pages:[].concat(p.pages),pageById:Object.assign({},p.pageById)});return delete pt.pageById[ut],pt.pages=pt.pages.filter(function(rt){return rt!==ut}),pt.pages.length===0&&(pt.pages.push(f.id),pt.pageById[f.id]=f,pt.currentPageId=f.id),(!pt.currentPageId||pt.currentPageId===ut)&&(pt.currentPageId=pt.pages[0]),pt}return p}return s}()},57218:function(y,e,t){"use strict";e.__esModule=!0,e.chatRenderer=void 0;var n=t(70654),r=t(66586),o=t(50175),a=t(67392),i=t(92863),d=t(97507);function c(T,S){var b=typeof Symbol!="undefined"&&T[Symbol.iterator]||T["@@iterator"];if(b)return(b=b.call(T)).next.bind(b);if(Array.isArray(T)||(b=h(T))||S&&T&&typeof T.length=="number"){b&&(T=b);var C=0;return function(){return C>=T.length?{done:!0}:{done:!1,value:T[C++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function h(T,S){if(T){if(typeof T=="string")return f(T,S);var b=Object.prototype.toString.call(T).slice(8,-1);if(b==="Object"&&T.constructor&&(b=T.constructor.name),b==="Map"||b==="Set")return Array.from(T);if(b==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b))return f(T,S)}}function f(T,S){(S==null||S>T.length)&&(S=T.length);for(var b=0,C=new Array(S);b=0)&&(l[m]=s[m]);return l}function v(s,p){var l=typeof Symbol!="undefined"&&s[Symbol.iterator]||s["@@iterator"];if(l)return(l=l.call(s)).next.bind(l);if(Array.isArray(s)||(l=c(s))||p&&s&&typeof s.length=="number"){l&&(s=l);var g=0;return function(){return g>=s.length?{done:!0}:{done:!1,value:s[g++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function c(s,p){if(s){if(typeof s=="string")return h(s,p);var l=Object.prototype.toString.call(s).slice(8,-1);if(l==="Object"&&s.constructor&&(l=s.constructor.name),l==="Map"||l==="Set")return Array.from(s);if(l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l))return h(s,p)}}function h(s,p){(p==null||p>s.length)&&(p=s.length);for(var l=0,g=new Array(p);l
0&&(z[ft.id]=Object.assign({},ft,{unreadCount:ft.unreadCount+W}))}return Object.assign({},p,{pageById:z})}if(g===n.addChatPage.type){var it;return Object.assign({},p,{currentPageId:m.id,pages:[].concat(p.pages,[m.id]),pageById:Object.assign({},p.pageById,(it={},it[m.id]=m,it))})}if(g===n.changeChatPage.type){var St,Pt=m.pageId,Mt=Object.assign({},p.pageById[Pt],{unreadCount:0});return Object.assign({},p,{currentPageId:Pt,pageById:Object.assign({},p.pageById,(St={},St[Pt]=Mt,St))})}if(g===n.updateChatPage.type){var Nt,ht=m.pageId,dt=i(m,o),J=Object.assign({},p.pageById[ht],dt);return Object.assign({},p,{pageById:Object.assign({},p.pageById,(Nt={},Nt[ht]=J,Nt))})}if(g===n.toggleAcceptedType.type){var Z,ot=m.pageId,gt=m.type,Et=Object.assign({},p.pageById[ot]);return Et.acceptedTypes=Object.assign({},Et.acceptedTypes),Et.acceptedTypes[gt]=!Et.acceptedTypes[gt],Object.assign({},p,{pageById:Object.assign({},p.pageById,(Z={},Z[ot]=Et,Z))})}if(g===n.removeChatPage.type){var ut=m.pageId,pt=Object.assign({},p,{pages:[].concat(p.pages),pageById:Object.assign({},p.pageById)});return delete pt.pageById[ut],pt.pages=pt.pages.filter(function(rt){return rt!==ut}),pt.pages.length===0&&(pt.pages.push(f.id),pt.pageById[f.id]=f,pt.currentPageId=f.id),(!pt.currentPageId||pt.currentPageId===ut)&&(pt.currentPageId=pt.pages[0]),pt}return p}return s}()},57218:function(y,e,t){"use strict";e.__esModule=!0,e.chatRenderer=void 0;var n=t(70654),r=t(66586),o=t(50175),a=t(67392),i=t(92863),v=t(97507);function c(T,S){var b=typeof Symbol!="undefined"&&T[Symbol.iterator]||T["@@iterator"];if(b)return(b=b.call(T)).next.bind(b);if(Array.isArray(T)||(b=h(T))||S&&T&&typeof T.length=="number"){b&&(T=b);var C=0;return function(){return C>=T.length?{done:!0}:{done:!1,value:T[C++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function h(T,S){if(T){if(typeof T=="string")return f(T,S);var b=Object.prototype.toString.call(T).slice(8,-1);if(b==="Object"&&T.constructor&&(b=T.constructor.name),b==="Map"||b==="Set")return Array.from(T);if(b==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b))return f(T,S)}}function f(T,S){(S==null||S>T.length)&&(S=T.length);for(var b=0,C=new Array(S);b=a.IMAGE_RETRY_LIMIT){u.error("failed to load an image after "+C+" attempts");return}var P=b.src;b.src=null,b.src=P+"#"+C,b.setAttribute("data-reload-n",C+1)},a.IMAGE_RETRY_DELAY)},E=function(S){var b=S.node,C=S.times;if(!(!b||!C)){var P=b.querySelector(".Chat__badge"),N=P||document.createElement("div");N.textContent=C,N.className=(0,r.classes)(["Chat__badge","Chat__badge--animate"]),requestAnimationFrame(function(){N.className="Chat__badge"}),P||b.appendChild(N)}},O=function(){function T(){var b=this;this.loaded=!1,this.rootNode=null,this.queue=[],this.messages=[],this.visibleMessages=[],this.page=null,this.events=new n.EventEmitter,this.scrollNode=null,this.scrollTracking=!0,this.handleScroll=function(C){var P=b.scrollNode,N=P.scrollHeight,w=P.scrollTop+P.offsetHeight,R=Math.abs(N-w)0&&(this.processBatch(this.queue),this.queue=[])}return b}(),S.assignStyle=function(){function b(C){C===void 0&&(C={});for(var P=0,N=Object.keys(C);P{}[\]:;'"|~`_\-\\/]/g,V=String(L).split(/[,|]/).map(function(it){return it.trim()}).filter(function(it){return it&&it.length>1&&D.test(it)&&((D.lastIndex=0)||!0)}),G,Y;if(V.length!==0){for(var z=[],et=c(V),at;!(at=et()).done;){var ft=at.value;if(ft.charAt(0)==="/"&&ft.charAt(ft.length-1)==="/"){var W=ft.substring(1,ft.length-1);if(/^(\[.*\]|\\.|.)$/.test(W))continue;z.push(W)}else G||(G=[]),ft=ft.replace(F,"\\$&"),G.push(ft)}var X=z.join("|"),nt="g"+($?"":"i");try{if(X)Y=new RegExp("("+X+")",nt);else{var ct=(U?"\\b":"")+"("+G.join("|")+")"+(U?"\\b":"");Y=new RegExp(ct,nt)}}catch(it){Y=null}N.highlightParsers||(N.highlightParsers=[]),N.highlightParsers.push({highlightWords:G,highlightRegex:Y,highlightColor:K,highlightWholeMessage:x})}})}return b}(),S.scrollToBottom=function(){function b(){this.scrollNode.scrollTop=this.scrollNode.scrollHeight}return b}(),S.changePage=function(){function b(C){if(!this.isReady()){this.page=C,this.tryFlushQueue();return}this.page=C,this.rootNode.textContent="",this.visibleMessages=[];for(var P=document.createDocumentFragment(),N,w=c(this.messages),R;!(R=w()).done;){var L=R.value;(0,i.canPageAcceptType)(C,L.type)&&(N=L.node,P.appendChild(N),this.visibleMessages.push(L))}N&&(this.rootNode.appendChild(P),N.scrollIntoView())}return b}(),S.getCombinableMessage=function(){function b(C){for(var P=Date.now(),N=this.visibleMessages.length,w=N-1,R=Math.max(0,N-a.COMBINE_MAX_MESSAGES),L=w;L>=R;L--){var K=this.visibleMessages[L],x=!K.type.startsWith(a.MESSAGE_TYPE_INTERNAL)&&(0,i.isSameMessage)(K,C)&&P0){this.visibleMessages=C.slice(P);for(var N=0;N0&&(this.messages=this.messages.slice(R),u.log("pruned "+R+" stored messages"))}}}return b}(),S.rebuildChat=function(){function b(){if(this.isReady()){for(var C=Math.max(0,this.messages.length-a.MAX_PERSISTED_MESSAGES),P=this.messages.slice(C),N=c(P),w;!(w=N()).done;){var R=w.value;R.node=void 0}this.rootNode.textContent="",this.messages=[],this.visibleMessages=[],this.processBatch(P,{notifyListeners:!1})}}return b}(),S.clearChat=function(){function b(){var C=this.visibleMessages;this.visibleMessages=[];for(var P=0;P\n\n\n\n'+K+"
\n\n