function aa(a){this.id=a;this.a={W:"",Y:"",$:"",aa:"",P:"",R:"",T:"",ba:""};this.version=0}function m(a){this.id=a;this.b=this.a=0;this.c={};this.version=0}function q(a){this.id=a;this.c={};this.version=this.b=this.a=this.h=0}function y(a,b){this.id=a;this.g=b;this.version=this.b=this.a=0}function ba(a){this.id=a;this.a={U:"",V:"",s:"",F:"",S:"",Z:""};this.g={};this.c=this.b=null;this.version=0}function ca(){this.b={};this.a=[]} function da(a,b,c){a.b=JSON.parse(b.emoji_use);b.highlight_words?a.a=(b.highlight_words||"").split(",").filter(function(a){return""!==a.trim()}):b.highlights&&(a.a=b.highlights);a.version=Math.max(a.version,c)}function ea(a){this.id=a;this.a={X:"",s:"",F:""};this.c=this.b=null;this.version=0;this.f=!1}function fa(a,b){this.a=b.desc;this.name=b.name;this.type=b.type;this.usage=b.usage;this.A=ga(a,b)} function ga(a,b){if(b.service_name)return b.service_name;if(b.app){var c=b.app,d=[],g;for(g in a.f)a.f[g].l===c&&d.push(a.f[g]);if(d)for(c=0;cthis.b;)this.a.shift();return c?c.i:0};function ma(a){return a.a[a.a.length-1]}function na(a){for(var b=I.b[J.id],c=0,d=b.a.length;c=b.a[c].i;c++)if(b.a[c].i===a)return b.a[c];return null}function H(a,b){for(var c=0,d=a.a.length;cb.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()? "hier, "+a.toLocaleTimeString():a.toLocaleString()},j:{fileUploadCancel:"Annuler",neterror:"Impossible de se connecter au chat !"}};K.en={N:"Unknown member",M:"Unknown channel",I:"New message",H:"Network",o:"edited",G:function(a){return 1===a.length?a[0]+" is typing":a.join(", ")+" are typing"},D:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?"yesterday, "+a.toLocaleTimeString():a.toLocaleString()}, j:{fileUploadCancel:"Cancel",neterror:"Cannot connect to chat !"}};var M=0; function pa(){var a=document.createDocumentFragment(),b=I.a.a?Object.keys(I.a.a.g):[];b.sort(function(a,b){return a[0]!==b[0]?a[0]-b[0]:D(I.a,a).name.localeCompare(D(I.a,b).name)});b.forEach(function(b){b=D(I.a,b);if(!b.f){var c=document.createElement("li"),g=document.createElement("a");c.id=b.id;g.href="#"+b.id;b instanceof q?(c.className="slack-context-room slack-group",c.dataset.count=b.h-1):b instanceof m&&(c.className="slack-context-room slack-channel");J===b&&c.classList.add("selected");g.textContent= b.name;c.appendChild(N());c.appendChild(g);b.b>b.a&&(c.classList.add("unread"),0<=O.indexOf(b)&&c.classList.add("unreadHi"));c&&a.appendChild(c)}});b=I.a.b?Object.keys(I.a.b):[];b.sort(function(a,b){return I.a.b[a].name.localeCompare(I.a.b[b].name)});b.forEach(function(b){b=B(I.a,b);if(!b.h){b=b.b;var c=document.createElement("li"),g=document.createElement("a");c.id=b.id;g.href="#"+b.id;c.className="slack-context-room slack-ims";g.textContent=b.g.name;c.appendChild(N());c.appendChild(g);b.g.f||c.classList.add("away"); J===b&&c.classList.add("selected");b.b>b.a&&(c.classList.add("unread"),0<=O.indexOf(b)&&c.classList.add("unreadHi"));c&&a.appendChild(c)}});document.getElementById("chanList").textContent="";document.getElementById("chanList").appendChild(a);qa();P();ra(function(a){document.getElementById("slackCtx").style.backgroundImage="url("+a+")"})} function sa(){var a=I.a.c,b;for(b in I.a.a.g)if(!I.a.a.g[b].f){var c=document.getElementById(b);a[b]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing")}for(var d in I.a.b)(b=I.a.b[d].b)&&!b.f&&(c=document.getElementById(b.id),a[b.id]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing"));ta()} function ta(){var a=I.a.c;if(J&&a[J.id]){var b=[],c=!1,d;for(d in a[J.id])(a=B(I.a,d))?b.push(a.name):c=!0;c&&(I.c=0);document.getElementById("whoistyping").textContent=L.G(b)}else document.getElementById("whoistyping").textContent=""}function Q(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network");P()} function R(){if(S){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){S=null;R()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(T("reply_"+J.id,S,!0))}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";U()} function V(){if(W){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){W=null;V()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(T("edit_"+J.id,W,!0));document.getElementById("msgInput").value=W.text}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";U()} window.toggleReaction=function(a,b,c){var d=I.b[a];if(d&&(d=H(d,b))){var g=I.a.a.id;d.a[c]&&-1!==d.a[c].indexOf(g)?(d=new XMLHttpRequest,d.open("DELETE","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0),d.send(null)):ua(a,b,c)}}; function va(a){a:{for(var b=a,c={};!c[b];){if(a=I.a.h[b])if("alias:"==a.substr(0,6))c[b]=!0,b=a.substr(6);else{b=document.createElement("span");b.className="emoji-custom emoji";b.style.backgroundImage="url('"+a+"')";a=b;break a}break}a=b}"string"===typeof a&&"makeEmoji"in window&&(a=window.makeEmoji(a));return"string"===typeof a?null:a} function wa(a){return a.replace(/:([^ \t:]+):/g,function(b,c){var d=va(c);if(d){var g=document.createElement("span");g.className=b===a?"emoji-medium":"emoji-small";g.appendChild(d);return g.outerHTML}return b})} function X(a){a=a.split(/\r?\n/g);for(var b=0,c=a.length;b]*)>","g"),function(a,b,c){c=c.split("|");if("@"===b)c[1]?"@"!==c[1][0]&&(c[1]="@"+c[1]):(a=B(I.a,c[0]),c[1]=a?"@"+a.name:L.N),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-user";else if("#"===b)c[1]?"#"!==c[1][0]&&(c[1]="#"+c[1]):(a=D(I.a,c[0]),c[1]=a?"#"+a.name:L.M),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-chan";else if(-1!==c[0].indexOf("://"))c[1]|| (c[1]=c[0]),c[2]="slackmsg-link";else return a;return'"+c[1]+""}),d=wa(d),l=d.length,n=function(a,b,c){for(;a[b];){var d=a[b];if(("A"<=d&&"Z">=d||"a"<=d&&"z">=d||"0"<=d&&"9">=d||-1!=="\u00e0\u00e8\u00ec\u00f2\u00f9\u00c0\u00c8\u00cc\u00d2\u00d9\u00e1\u00e9\u00ed\u00f3\u00fa\u00fd\u00c1\u00c9\u00cd\u00d3\u00da\u00dd\u00e2\u00ea\u00ee\u00f4\u00fb\u00c2\u00ca\u00ce\u00d4\u00db\u00e3\u00f1\u00f5\u00c3\u00d1\u00d5\u00e4\u00eb\u00ef\u00f6\u00fc\u00ff\u00c4\u00cb\u00cf\u00d6\u00dc\u0178\u00e7\u00c7\u00df\u00d8\u00f8\u00c5\u00e5\u00c6\u00e6\u0153".indexOf(d))&& a[b]!=c&&a[b+1]==c)return!0;b++}return!1},k=function(a){return Object.keys(e).length?'':""};h"!==d[h-1]);h--}else if(!e["slackmsg-style-bold"]&&"*"===p&&d[h+1]&&n(d,h,p))Object.keys(e).length&&(g+=""),e["slackmsg-style-bold"]=!0,g+=k(e);else if(!e["slackmsg-style-strike"]&&"~"===p&&d[h+1]&&n(d,h,p))Object.keys(e).length&& (g+=""),e["slackmsg-style-strike"]=!0,g+=k(e);else if(!e["slackmsg-style-code"]&&"`"===p&&d[h+1]&&n(d,h,p))Object.keys(e).length&&(g+=""),e["slackmsg-style-code"]=!0,g+=k(e);else if(!e["slackmsg-style-italic"]&&"_"===p&&d[h+1]&&n(d,h,p))Object.keys(e).length&&(g+=""),e["slackmsg-style-italic"]=!0,g+=k(e);else{var r=!1,g=g+p;do{if(e["slackmsg-style-bold"]&&"*"!==p&&"*"===d[h+1])delete e["slackmsg-style-bold"],r=!0;else if(e["slackmsg-style-strike"]&&"~"!==p&&"~"===d[h+1])delete e["slackmsg-style-strike"], r=!0;else if(e["slackmsg-style-code"]&&"`"!==p&&"`"===d[h+1])delete e["slackmsg-style-code"],r=!0;else if(e["slackmsg-style-italic"]&&"_"!==p&&"_"===d[h+1])delete e["slackmsg-style-italic"],r=!0;else break;p=d[++h]}while(h"+k(e))}}e&&(g+="");a[b]=f?''+g+"":g}return a.join("
")}function T(a,b,c){b.g?(a=xa(a,b,c),a.classList.add("slackmsg-me_message")):a=xa(a,b,c);b.o&&a.classList.add("slackmsg-edited");return a} function ya(a,b){document.getElementById("linkFavicon").href=a||b?"favicon.png?h="+a+"&m="+b:"favicon_ok.png"}function P(){var a=O.length,b="";if(Y)b="!"+L.H+" - ",document.getElementById("linkFavicon").href="favicon_err.png";else if(a)b="(!"+a+") - ",ya(a,a);else{var c=0;E(I.a,function(a){a.b>a.a&&c++});c&&(b="("+c+") - ");ya(0,c)}b+=I.a.C.name;document.title=b} function za(){if("Notification"in window)if("granted"===Notification.permission){var a=Date.now();if(M+3E4Math.abs(d-e.i)?g.classList.add("slackmsg-same-ts"):d=e.i):d=e.i;(!c||c.i<=J.a)&&e.i>J.a&&f.classList.add("slackmsg-first-unread");c=e;g=f;a.appendChild(f)}});var e=document.getElementById("chatWindow");e.textContent="";e.appendChild(a);e.scrollTop=e.scrollHeight-e.clientHeight} function Ba(a){function b(a,b){for(b=b||a.target;b!==a.currentTarget&&b;){if(b.classList.contains("slackmsg-item"))return b.id;b=b.parentElement}}for(var c=a.target;c!==a.currentTarget&&c&&!c.classList.contains("slackmsg-hover");){if(c.parentElement&&c.parentElement.classList.contains("slackmsg-hover")){if(a=b(a,c)){a=parseFloat(a.split("_")[1]);var d=na(a);d&&c.classList.contains("slackmsg-hover-reply")?(W&&(W=null,V()),S!==d&&(S=d,R())):d&&c.classList.contains("slackmsg-hover-reaction")?Ca.L(document.body, function(a){a&&ua(J.id,d.id,a)}):d&&c.classList.contains("slackmsg-hover-edit")?(S&&(S=null,R()),W!==d&&(W=d,V())):d&&c.classList.contains("slackmsg-hover-remove")&&(S&&(S=null,R()),W&&(W=null,V()),Da(d))}break}c=c.parentElement}}function U(){document.getElementById("msgInput").focus()}function qa(){var a=document.location.hash.substr(1),b=D(I.a,a),a=B(I.a,a);b&&b!==J?Ea(b):a&&a.b&&Ea(a.b)} document.addEventListener("DOMContentLoaded",function(){oa();document.getElementById("chatWindow").addEventListener("click",Ba);window.addEventListener("hashchange",function(){document.location.hash&&"#"===document.location.hash[0]&&qa()});document.getElementById("fileUploadCancel").addEventListener("click",function(a){a.preventDefault();document.getElementById("fileUploadError").classList.add("hidden");document.getElementById("fileUploadContainer").classList.add("hidden");document.getElementById("fileUploadInput").value= "";return!1});document.getElementById("fileUploadForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("fileUploadInput");var b=a.value;b&&(b=b.substr(b.lastIndexOf("\\")+1),Fa(b,a.files[0],function(a){var b=document.getElementById("fileUploadError");a?(b.textContent=a,b.classList.remove("hidden")):(b.classList.add("hidden"),document.getElementById("fileUploadInput").value="",document.getElementById("fileUploadContainer").classList.add("hidden"))}));return!1}); document.getElementById("attachFile").addEventListener("click",function(a){a.preventDefault();J&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("msgInput");J&&a.value&&Ga(a.value)&&(a.value="",S&&(S=null,R()),W&&(W=null,R()),document.getElementById("slashList").textContent="");U();return!1});window.addEventListener("blur",function(){window.hasFocus= !1});window.addEventListener("focus",function(){window.hasFocus=!0;M=0;J&&Ha();U()});var a=0;document.getElementById("msgInput").addEventListener("input",function(){if(J){var b=Date.now();!(a+3E3"+c.outerHTML+"":a.style.backgroundImage='url("smile.svg")';(c=window.makeEmoji("paperclip"))?document.getElementById("attachFile").innerHTML= ""+c.outerHTML+"":document.getElementById("attachFile").style.backgroundImage='url("public/paperclip.svg")';a.addEventListener("click",function(){Ca.L(document.body,function(a){a&&(document.getElementById("msgInput").value+=":"+a+":");U()})})}else a.classList.add("hidden")})();Z()});function N(){var a=document.createElement("span"),b=document.createElement("span"),c=document.createElement("span"),d=document.createElement("span");a.className="typing-container";b.className="typing-dot1";c.className="typing-dot2";d.className="typing-dot3";b.textContent=c.textContent=d.textContent=".";a.appendChild(b);a.appendChild(c);a.appendChild(d);return a} function La(a,b,c,d){var g=va(c);if(g){for(var e=document.createElement("li"),f=document.createElement("a"),h=document.createElement("span"),l=document.createElement("span"),n=[],k=0,p=d.length;kc.bottom||a.screenXc.right)&&b()});n.className="emojibar-overlay";l.className="emojibar";k.className="emojibar-emojis";C.className="emojibar-detail";x.className="emojibar-detail-img";v.className="emojibar-detail-name";p.className=r.className="emojibar-list";u.className="emojibar-search";C.appendChild(x);C.appendChild(v); k.appendChild(f(window.emojiProviderHeader));k.appendChild(p);k.appendChild(f("emojicustom.png"));k.appendChild(r);l.appendChild(k);l.appendChild(C);l.appendChild(u);u.addEventListener("keyup",function(){d()});l.addEventListener("mousemove",function(b){a(b,function(a){var b=a?w[a]||z[a]:null;b?(x.innerHTML=b.j.outerHTML,v.textContent=":"+a+":"):(x.textContent="",v.textContent="")})});l.addEventListener("click",function(b){a(b,function(a){a&&c()&&t&&t(a)})});return{isSupported:h,L:function(a,b){return h()? (t=b,a.appendChild(n),a.appendChild(l),u.value="",d(),u.focus(),!0):!1},search:d,close:b}}();var I,O=[];function Ma(a){var b=I,c=Date.now();a.v&&(b.c=a.v);a["static"]&&ha(b.a,a["static"]);E(b.a,function(a){a.b===a.a&&(a=O.indexOf(a),-1!==a&&O.splice(a,1))});if(a.live){for(var d in a.live){var g=b.b[d];g?G(g,a.live[d],c):g=b.b[d]=new F(d,250,a.live[d],c)}for(var e in a.live)(c=D(b.a,e))?(b.b[e].a.length&&(c.b=Math.max(c.b,ma(b.b[e]).i)),c.f||(Na(c,a.live[e]),J&&a.live[J.id]&&Aa())):I.c=0}a["static"]&&(pa(),a["static"].typing&&sa())} setInterval(function(){var a=I.a,b=Date.now(),c=!1,d;for(d in a.c){var g=!0,e;for(e in a.c[d])a.c[d][e]+3E3a.a){var c=new XMLHttpRequest;c.open("POST","api/markread?room="+a.id+"&ts="+a.b,!0);c.send(null);a.a=a.b}0<=b&&(O.splice(b,1),P());a=document.getElementById(a.id);a.classList.remove("unread");a.classList.remove("unreadHi")}I=new function(){this.c=0;this.a=new A;this.b={}};var ra=function(){function a(a,b){b.sort(function(){return Math.random()-.5});for(var c=0,d=20;dd/(c.height*c.width))for(e=0;e",author_icon:g.a.s,text:c.text,footer:e,ts:c.i}]))}d.open("POST",a,!0);d.send(null);return!0}function Da(a){var b=new XMLHttpRequest;b.open("DELETE","api/msg?room="+J.id+"&ts="+a.id,!0);b.send(null)} function ua(a,b,c){var d=new XMLHttpRequest;d.open("POST","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0);d.send(null)};