(window.webpackJsonp=window.webpackJsonp||[]).push([[6],[function(n,e,t){"use strict";var r=t(83),o=t(8),l=t(13);t(2).get("interchat:loggerLocal.ts");let c=t(2);c.useDefaults();const d="ksitalkDebugLogEnabled";let f=[];function m(){try{return"1"==localStorage.getItem(d)}catch(n){return!1}}function h(n,e){if(e instanceof Error){let n={};return Object.getOwnPropertyNames(e).forEach(function(t){n[t]=e[t]}),n}return e}c.logBufferEnabledGet=function(){return m()},c.logBufferEnabledSet=function(n){try{localStorage.setItem(d,n?"1":"0")}catch(n){}},c.clearAllMessages=function(){f=[]},c.sendAllMessages=async function(){!o.a.connected||f.length<=0||o.a.authorizationToken&&(f.forEach(n=>{o.a.emit("logger",n)}),m()||(f=[]))},c.getAllMessagesText=function(){if(f.length<=0)return"";let text="";return f.forEach(n=>{text+=n+"\n"}),text};let v=c.createDefaultHandler();function x(){return{value:function(){let n={};return Object.getOwnPropertyNames(this).forEach(function(e){n[e]=this[e]},this),n},configurable:!0,writable:!0}}c.setHandler(function(n,e){if(v(n,e),!m())return;let t=(new Date).toISOString()+" : ";for(let e in n){let param=n[e];"string"!=typeof param&&(param=JSON.stringify(h(0,param),h)),t+=param+" "}for(t.length>4e3&&(t=t.substring(0,4e3)+"...[truncated]");f.length>=300;)f.splice(0,1);t="|"+Object(r.a)()+" | "+t,f.push(t),Object(l.m)()&&!m()&&c.sendAllMessages()}),"toJSON"in Error.prototype||Object.defineProperty(Error.prototype,"toJSON",x()),"toJSON"in Event.prototype||Object.defineProperty(Event.prototype,"toJSON",x()),window&&(window.onerror=function(n,e,t){c.error("Global error ",n,e,t)},window.addEventListener("error",function(n){c.error("Global error event",n.message,"event = ",n)})),e.a=c},function(n,e,t){"use strict";t.d(e,"a",function(){return l}),t.d(e,"d",function(){return c}),t.d(e,"e",function(){return d}),t.d(e,"c",function(){return f});var r=t(4);t(2).get("interchat:eventBus");const o=new r.default;e.b=o;class l{}function c(text){o.$emit(l.MODAL_SHOW,{title:"Notification",text:text})}function d(text){o.$emit(l.MODAL_SHOW,{title:"Warning",text:text})}function f(text){o.$emit(l.MODAL_SHOW,{title:"Error",text:text})}l.ACTIVATE="Activator::activate",l.REGISTRATION_TOKEN="PlatformDevice::registrationToken",l.AUDIO_CONTEXT_SET="GlobalAudio::audioContextSet",l.PLAYER_SET="GlobalAudio::playerSet",l.SOCKET_MOUNT="Socket:Mount",l.CALL_START="Call:Start",l.MODAL_SHOW="Modal:show",l.MODAL_HIDE="Modal:hide",l.REDIRECT="Redirect",l.NAVIGATE_BACK="NavigateBack",l.NAVIGATE_END="NavigateEnd",l.LAYOUT_MENU_CLICK="layoutMenuClick",l.LAYOUT_USER_ADD="layoutUserAdd",l.FILE_SHARE="FileShare",l.MESSAGE_REPLY="MessageReply",l.MESSAGE_FORWARD="MessageForward",l.CHAT_SEARCH_OPEN="ChatSearchOpen",l.MESSAGE_PIN="MessagePin",l.PINNED_OPEN="PinnedOpen",l.MESSAGE_EDIT="MessageEdit",l.FILE_LOCAL_SAVED="FileLocalSaved",l.SELECTION_CHANGED="SelectionChanged",l.SELECTION_ACTION="SelectionAction",l.CHATS_SEARCH_QUERY="ChatsSearchQuery"},,,,,,,function(n,e,t){"use strict";var r=t(468),o=t.n(r),l=t(0),c=t(1);t(2).get("interchat:SocketServer:emitAsync.ts");var d=t(14);t(2).get("interchat:socket.io.ts");const f=["polling","websocket"],m=o()("https://ksitalk.com",{path:"/interchat/back/socket.io",autoConnect:!1,transports:f,timeout:6e4,forceNew:!0});m.isInProgress=function(){return this.requestInProgress>0};function h(){try{const n="undefined"!=typeof window?window:null,nav="undefined"!=typeof navigator?navigator:null,e=nav&&nav.userAgent?nav.userAgent:"",t=!!(n&&n.cordova&&n.cordova.exec),r=/Android/i.test(e),o=/iPhone|iPad|iPod/i.test(e)||/Macintosh/i.test(e)&&nav&&(nav.maxTouchPoints||0)>1;return t?r?"apk":o?"ios-cordova":"cordova":o?"web-ios":"web"}catch(n){return"unknown"}}m.requestInProgress=0,m.authenticated=!1,m.serverReady=!1,m.changeRequestInProgress=function(n){let e=this.isInProgress();this.requestInProgress+=n,this.requestInProgress<0&&(l.a.warn("requestInProgress <0 !!!",this.requestInProgress),this.requestInProgress=0);let t=this.isInProgress();this.context&&e!=t&&this.context.store.commit("SET_SOCKET_IN_PROGRESS",t)},m.onRequestStart=function(){this.changeRequestInProgress(1)},m.onRequestEnd=function(){this.changeRequestInProgress(-1)},m.waitAuthenticated=function(n=8e3){return this.authenticated&&this.serverReady?Promise.resolve():this.connected?new Promise((e,t)=>{let r=null;const o=()=>{this.removeListener("authenticated",f),this.removeListener(d.a.SOCKET_READY,m),this.removeListener("disconnect",h),r&&(clearTimeout(r),r=null)},c=()=>{this.authenticated&&this.serverReady&&(o(),e())},f=()=>{setTimeout(()=>{this.serverReady||(l.a.warn("socket-ready fallback after authenticated"),this.serverReady=!0,c())},750),c()},m=()=>{c()},h=()=>{o(),t(new Error("offline"))};r=setTimeout(()=>{o(),t(new Error("timeout"))},n),this.once("authenticated",f),this.once(d.a.SOCKET_READY,m),this.once("disconnect",h),this.authenticated&&f()}):Promise.reject(new Error("offline"))},m.emitAsync=async function(n,data){try{this.onRequestStart(),await this.waitAuthenticated();let e=await async function(n,e,data,t){return new Promise((r,o)=>{let l=null,c=()=>{n.removeEventListener("disconnect",d),l&&(clearTimeout(l),l=null)},d=()=>{c(),o(new Error("timeout"))},f=t&&t.timeout||0;f&&(l=setTimeout(d,f)),n.once("disconnect",d),n.emit(e,data,(n,e)=>{l&&(c(),n?o(n):r(e))})})}(this,n,data,{timeout:15e3});return l.a.debug("event resolve ",n,e),e}catch(e){throw l.a.error("emit error ",n,e),e}finally{this.onRequestEnd()}},m.listenersMounted=!1,m.setContext=function(n){if(this.context=n,!this.listenersMounted){let n=this.context.store;c.b.$emit(c.a.SOCKET_MOUNT,{}),m.mountListeners(n),this.listenersMounted=!0}},m.onLogin=function(){if(!this.context)throw l.a.error("Socket on Login fails! No context"),new Error("Socket no context");let n=this.context.$auth;this.authorizationToken=n.getToken(n.strategy.name),this.authenticated=!1,this.serverReady=!1,m.open(),l.a.log("socket open")},m.mountListeners=function(n){let e=this;l.a.trace("Event mounted"),e.on(d.a.USER_ONLINE,e=>{n.dispatch("Users/setOnline",e)}),e.on(d.a.USER_OFFLINE,e=>{n.dispatch("Users/setOffline",e)}),e.on(d.a.NEW_MESSAGE,e=>n.dispatch("pushMessage",e)),e.on(d.a.REMOVE_MESSAGE,e=>n.dispatch("onRemoveMessage",e)),e.on(d.a.MESSAGE_UPDATED,e=>n.dispatch("onMessageUpdated",e)),e.on(d.a.MESSAGE_REACTIONS,data=>n.dispatch("onMessageReactions",data)),e.on(d.a.UPDATE_USER_CONVERSATION,data=>n.dispatch("updateUserConversation",data)),e.on(d.a.UPDATE_USER_CONVERSATION_OPPONENT,e=>n.dispatch("updateUserConversationOpponent",e)),e.on(d.a.CONVERSATION_CLEAN,data=>n.dispatch("conversationClean",data)),e.on(d.a.CONVERSATION_DELETE,data=>n.dispatch("conversationDelete",data)),e.on(d.a.RSA_PUBLIC_KEY_SET,data=>n.dispatch("Users/setUserPublicKey",data)),e.on(d.a.LOGOUT,data=>e.onLogout()),e.on(d.a.PROFILE_CHANGED,data=>n.dispatch("Users/userUpdate",data)),e.on(d.a.NEW_MESSAGE_AUDIO,e=>n.dispatch("pushMessage",e)),e.on(d.a.NEW_CONVERSATION,async e=>{l.a.debug("on new-conversation",e),await n.dispatch("Users/fetchUsers"),n.commit("ADD_CONVERSATION",e)}),e.on(d.a.NEW_USER,async e=>{l.a.debug("on new-user",e),await n.dispatch("Users/fetchUsers")});let t=async()=>{await n.dispatch("updateSelfOnline",e.connected)};e.on(d.a.CALL_MESSAGE,e=>{try{n.dispatch("Call/onMessage",e)}catch(n){l.a.error("onCallMessage",n)}}),e.on(d.a.TRANSFER_MESSAGE,e=>{try{n.dispatch("FileShare/onMessage",e)}catch(n){l.a.error("onCallMessage",n)}}),e.on("connect",t),e.on("reconnect",t),e.on("disconnect",t),t()},m.onLogout=async function(){l.a.debug("logout");let n=this.context.$auth,e=this.context.store;try{if(!e)throw new Error("onLogout store undefined!");this.deviceToken&&await m.sendLogout(),m.close()}finally{await n.logout(),this.authorizationToken=void 0,await e.dispatch("logout")}},m.on("connect",()=>{m.authenticated=!1,m.serverReady=!1;const n=m.io;l.a.debug("socket connected",m.id,"transport",n&&n.engine&&n.engine.transport&&n.engine.transport.name),m.authorizationToken?m.emit("authenticate",{token:m.authorizationToken}):(l.a.log("connected not authorized socket ... close"),m.close())}),m.on("authenticated",n=>{m.authenticated=!0,l.a.debug("socket authenticated",m.id),m.deviceToken&&m.doUpdateDeviceToken({token:m.deviceToken});try{m.emit(d.a.CLIENT_INFO,{version:"10.10.13.7",platform:h()})}catch(n){l.a.warn("KT-0205 clientInfo emit failed",n)}try{window.top.postMessage("authenticated","*")}catch(n){}}),m.on(d.a.SOCKET_READY,()=>{m.authenticated=!0,m.serverReady=!0,l.a.debug("socket server ready",m.id)}),m.on("disconnect",n=>{m.authenticated=!1,m.serverReady=!1,l.a.debug("socket disconnected",n)}),m.on("error",n=>{l.a.error("socket error",n)}),m.getUsersOnlineIds=async function(){return this.emitAsync("get_users_online_ids")},m.sendMessage=async function(n){return this.emitAsync("send-message",n)},m.removeMessage=async function(n){return this.emitAsync("remove-message",n)},m.editMessage=async function(n){return this.emitAsync("edit-message",n)},m.setReaction=async function(n){return this.emitAsync("set-reaction",n)},m.channelBroadcast=async function(n){return this.emitAsync("channel-broadcast",n)},m.sendMessageAudio=async function(n){return this.emitAsync("send-message-audio",n)},m.sendConversationClean=async function(n){return this.emitAsync("send-conversation-clean",n)},m.sendConversationDeleteWith=async function(n){return this.emitAsync("send-conversation-delete-with",n)},m.sendPublicKeySet=async function(n){return this.emitAsync("publicKeySet",n)},m.doUpdateDeviceToken=async function({token:n}){return this.deviceToken=n,l.a.debug("Send device token",this.deviceToken),this.emitAsync("updateDeviceToken",n)},m.sendLogout=async function(n={}){return n={...n,deviceToken:this.deviceToken},this.emitAsync("logout",n)},m.sendBugReport=async function(n){return this.emitAsync("bugReport",n)},m.forceConnect=function(){this.connected||(this.close(),setTimeout(()=>this.open(),0))},m.sendLog=async function(n){return this.emitAsync("logger",n)},m.runActionGet=async function(n,e){return this.emitAsync("action",{method:"get",url:n,params:e})},m.runActionPost=async function(n,e){return this.emitAsync("action",{method:"post",url:n,params:e})};e.a=m},function(n,e,t){"use strict";t.d(e,"f",function(){return l}),t.d(e,"c",function(){return c}),t.d(e,"b",function(){return d}),t.d(e,"d",function(){return m}),t.d(e,"e",function(){return h}),t.d(e,"a",function(){return v});var r=t(0);t(2).get("interchat:PersonalCache.ts");let o=null;function l(n){r.a.log("Set current user id ",n),o=n}function c(){return o}var d;function f(n){if(!o)throw Error("Current user id not set");return"personCache:"+o+":"+n}function m(n){let e=function(n){return localStorage.getItem(f(n))}(n);try{if("string"==typeof e)return JSON.parse(e)}catch(n){return null}return null}function h(n,e){!function(n,e){localStorage.setItem(f(n),e)}(n,JSON.stringify(e))}function v(){try{if("undefined"==typeof localStorage)return;let n=[];for(let i=0;i=0||n.push(e))}n.forEach(n=>localStorage.removeItem(n)),r.a.log("ClearConversationCaches removed",n.length)}catch(n){r.a.error("ClearConversationCaches failed",n)}}!function(n){n.USER_LIST="user_list",n.USER_SELF="user_self",n.CRYPTO_STORAGE="crypto_storage",n.CONVERSATIONS="conversations",n.USER_CONVERSATIONS="user_conversations",n.USER_CONVERSATIONS_OPPONENTS="user_conversations_opponents"}(d||(d={}))},,,,function(n,e,t){"use strict";(function(n){t.d(e,"u",function(){return l}),t.d(e,"t",function(){return c}),t.d(e,"h",function(){return f}),t.d(e,"b",function(){return m}),t.d(e,"a",function(){return h}),t.d(e,"o",function(){return x}),t.d(e,"p",function(){return w}),t.d(e,"q",function(){return y}),t.d(e,"l",function(){return _}),t.d(e,"k",function(){return S}),t.d(e,"n",function(){return C}),t.d(e,"m",function(){return E}),t.d(e,"j",function(){return I}),t.d(e,"i",function(){return A}),t.d(e,"g",function(){return T}),t.d(e,"f",function(){return O}),t.d(e,"s",function(){return M}),t.d(e,"r",function(){return N}),t.d(e,"v",function(){return D}),t.d(e,"d",function(){return R}),t.d(e,"c",function(){return P}),t.d(e,"e",function(){return L});var r=t(52),o=t(0);t(2).get("interchat:localOptions.ts");const l="default",c="dark",d=n.env.DEFAULT_THEME?n.env.DEFAULT_THEME:c;var f;!function(n){n.LOG_AUTO_SEND="logAutoSend",n.FILE_TRANSFER_AUTO="fileTransferAuto",n.PHOTO_VIDEO_GALLERY_SAVE="photoVideoGallerySave",n.SPEECH_THRESHOLD="speechThreshold",n.CRYPTO_CLOUD_BACKUP="cryptoCloudBackup",n.CRYPTO_CLOUD_NAMES="cryptoCloudNames",n.ECHO_CANCELLATION_ENABLE="echoCancellationEnable",n.ECHO_CANCELLATION_NATIVE_DISABLE="echoCancellationNativeDisable",n.ECHO_CANCELLATION_NATIVE_VIDEO_DISABLE="echoCancellationNativeVideoDisable",n.THEME_NAME="themeName",n.CHAT_FONT_SIZE="chatFontSize"}(f||(f={}));const m=12,h=30,v={};function x(n){return e=localStorage.getItem(n),t=v[n],"true"==e||"false"!=e&&t;var e,t}function k(n){return function(n,e){let t=n?parseInt(n):NaN;return isNaN(t)?e:t}(localStorage.getItem(n),v[n])}function w(n){return localStorage.getItem(n)||v[n]}function y(n,e){localStorage.setItem(n,e)}function _(n){y(f.FILE_TRANSFER_AUTO,n)}function S(){return x(f.FILE_TRANSFER_AUTO)}function C(n){y(f.LOG_AUTO_SEND,n);try{document.devicePlatform&&document.devicePlatform.developerLogSendSet&&document.devicePlatform.developerLogSendSet(n)}catch(n){o.a.error("Error LogAutoSendSet ",n)}}function E(){return x(f.LOG_AUTO_SEND)}function I(n){y(f.ECHO_CANCELLATION_ENABLE,n)}function A(){return x(f.ECHO_CANCELLATION_ENABLE)}function T(n){y(f.CRYPTO_CLOUD_NAMES,n)}function O(){return x(f.CRYPTO_CLOUD_NAMES)}function M(n){y(f.SPEECH_THRESHOLD,n)}function N(){return k(f.SPEECH_THRESHOLD)}function D(){return w(f.THEME_NAME)}function R(){let n=k(f.CHAT_FONT_SIZE);return nh&&(n=h),n}function P(){try{if("undefined"==typeof document||!document.documentElement)return;document.documentElement.style.setProperty("--chat-font-size",R()+"px")}catch(n){o.a.error("ChatFontSizeApply error",n)}}function L(n){y(f.CHAT_FONT_SIZE,n),P()}v[f.ECHO_CANCELLATION_ENABLE]=!r.isIOS,v[f.ECHO_CANCELLATION_NATIVE_DISABLE]=!1,v[f.ECHO_CANCELLATION_NATIVE_VIDEO_DISABLE]=!1,v[f.SPEECH_THRESHOLD]=-60,v[f.CRYPTO_CLOUD_BACKUP]=!0,v[f.CRYPTO_CLOUD_NAMES]=!0,v[f.LOG_AUTO_SEND]=true,v[f.FILE_TRANSFER_AUTO]=!0,v[f.PHOTO_VIDEO_GALLERY_SAVE]=!0,v[f.THEME_NAME]=d,v[f.CHAT_FONT_SIZE]=18}).call(this,t(20))},function(n,e,t){"use strict";t.d(e,"a",function(){return r});t(2).get("interchat:SocketServer:ESocketEvents.ts");var r;!function(n){n.USER_ONLINE="user-online",n.USER_OFFLINE="user-offline",n.SOCKET_READY="socket-ready",n.NEW_MESSAGE="new-message",n.NEW_MESSAGE_AUDIO="new-message-audio",n.NEW_USER="new-user",n.NEW_CONVERSATION="new-conversation",n.PROFILE_CHANGED="profile_changed",n.RSA_PUBLIC_KEY_SET="rsa_public_key_set",n.GET_USERS_ONLINE_IDS="get_users_online_ids",n.SEND_MESSAGE="send-message",n.REMOVE_MESSAGE="remove-message",n.EDIT_MESSAGE="edit-message",n.MESSAGE_UPDATED="message-updated",n.SET_REACTION="set-reaction",n.MESSAGE_REACTIONS="message-reactions",n.CHANNEL_BROADCAST="channel-broadcast",n.PUBLIC_KEY_SET="publicKeySet",n.CONVERSATION_CLEAN="conversation-clean",n.CONVERSATION_DELETE="conversation-del",n.SEND_CONVERSATION_CLEAN="send-conversation-clean",n.SEND_CONVERSATION_DELETE_WITH="send-conversation-delete-with",n.SEND_MESSAGE_AUDIO="send-message-audio",n.CALL_MESSAGE="call-message",n.TRANSFER_MESSAGE="transfer-message",n.UPDATE_DEVICE_TOKEN="updateDeviceToken",n.CLIENT_INFO="clientInfo",n.PINS_UPDATED="pins-updated",n.LOGGER="logger",n.BUG_REPORT="bugReport",n.LOGOUT="logout",n.UPDATE_USER_CONVERSATION="updateUserConversation",n.UPDATE_USER_CONVERSATION_OPPONENT="updateUserConversationOpponent",n.FILE_UPLOAD_STREAM="file_upload_stream",n.FILE_DOWNLOAD_STREAM="file_download_stream"}(r||(r={}))},,,,function(n,e,t){"use strict";t.d(e,"c",function(){return o}),t.d(e,"d",function(){return l}),t.d(e,"a",function(){return c}),t.d(e,"b",function(){return d});t(21);t(2).get("interchat:userDisplay.ts");function r(n){return String(n||"").trim()}function o(n){if(!n)return"";const e=r(n.username);return/^\d+$/.test(e)?e:""}function l(n){return o(n)}function c(n){const text=r(n),e=text.split(/\s+/).map(n=>Array.from(n).filter(n=>/\p{L}/u.test(n)).join("")).filter(Boolean);if(e.length>=2)return(e[0][0]+e[1][0]).toUpperCase();if(1==e.length){const n=Array.from(e[0]);return n.length>2?(n[0]+n[n.length-1]).toUpperCase():n.join("").toUpperCase()}const t=text.replace(/\D/g,"");if(!t)return"";const o="ABCDEFGHIJ",l=parseInt(t[0],10),c=parseInt(t[t.length-1],10);return isNaN(l)||isNaN(c)?"":o[l]+o[(c+5)%10]}function d(n){if(!n)return"";const e=r(n.avatarName);if(e)return e;const t=r(n.profile&&n.profile.avatarName);return t||c(o(n))}},function(n,e,t){"use strict";t.r(e),t.d(e,"STATUS",function(){return r}),t.d(e,"isStatusNeedFullScreen",function(){return o});t(2).get("interchat:Call:types:Status.ts");var r;function o(n){return n==r.OUTGOING||n==r.ACCEPTED}!function(n){n.NONE="",n.IGNORE="ignore",n.OUTGOING="outgoing",n.INCOMING="incoming",n.ACCEPTED="accepted",n.FINISHED="finished",n.BUSY="busy"}(r||(r={}))},,,,function(n,e,t){"use strict";t.r(e),t.d(e,"DownloadedFileKey",function(){return k}),t.d(e,"DownloadedFileRecordGet",function(){return C}),t.d(e,"DownloadedFileContentGet",function(){return E}),t.d(e,"DownloadedFileRecordSet",function(){return I}),t.d(e,"DownloadedFileRecordRemove",function(){return A}),t.d(e,"DownloadedFileRecordCountByPath",function(){return T}),t.d(e,"DownloadedFileRepointPaths",function(){return O}),t.d(e,"DownloadedFileCacheUsage",function(){return M}),t.d(e,"DownloadedFileThumbGet",function(){return D}),t.d(e,"DownloadedFileThumbSet",function(){return R});t(21);var r=t(49);t(2).get("interchat:fileTransfer:DownloadedFileStore.ts");const o="ksitalk-files",l=3,c="downloads",d="blobs",f="thumbs",m=209715200,h=104857600,v=26214400;function x(n){return encodeURIComponent(String(n||""))}function k(n,e){let t=e&&e.crypto&&e.crypto.id?e.crypto.id:n,r=e&&e.name?e.name:"",o=e&&e.size?e.size:0;return"downloadedFile:"+x(t)+":"+x(r)+":"+o}function w(){return(new Date).toISOString()}let y=!1;function _(){return"undefined"==typeof indexedDB?Promise.resolve(null):(function(){if(!y){y=!0;try{const n="undefined"!=typeof navigator?navigator:null;n&&n.storage&&"function"==typeof n.storage.persist&&n.storage.persist().catch(()=>{})}catch(n){}}}(),new Promise((n,e)=>{const t=indexedDB.open(o,l);t.onupgradeneeded=()=>{const n=t.result;if(!n.objectStoreNames.contains(c)){const e=n.createObjectStore(c,{keyPath:"key"});e.createIndex("name","name",{unique:!1}),e.createIndex("savedAt","savedAt",{unique:!1})}if(n.objectStoreNames.contains(d)||n.createObjectStore(d,{keyPath:"key"}),!n.objectStoreNames.contains(f)){n.createObjectStore(f,{keyPath:"key"}).createIndex("lastAccessAt","lastAccessAt",{unique:!1})}},t.onsuccess=()=>n(t.result),t.onerror=()=>e(t.error)}))}function S(n){return new Promise((e,t)=>{n.oncomplete=()=>e(),n.onerror=()=>t(n.error),n.onabort=()=>t(n.error)})}async function C(n){if(!n)return null;const e=await _();return e?new Promise((t,r)=>{const o=e.transaction(c,"readonly").objectStore(c).get(n);o.onsuccess=()=>t(o.result||null),o.onerror=()=>r(o.error)}):null}async function E(n){if(!n)return null;const e=await _();if(!e)return null;let t=await new Promise((t,r)=>{const o=e.transaction(d,"readonly").objectStore(d).get(n);o.onsuccess=()=>t(o.result?o.result.content:null),o.onerror=()=>r(o.error)});if(t)try{await async function(n,e){const t=n.transaction(c,"readwrite"),r=t.objectStore(c),o=r.get(e);return o.onsuccess=()=>{const n=o.result;n&&(n.lastAccessAt=w(),r.put(n))},S(t)}(e,n)}catch(n){}return t}async function I(n){if(!n||!n.key)return;n.name&&n.path&&Object(r.DoFilePathSet)(n.name,n.path);const e=await _();if(!e)return;const content=n.content&&n.size<=v?n.content:null,meta={key:n.key,messageId:n.messageId,name:n.name,size:n.size,path:n.path,savedAt:n.savedAt,lastAccessAt:n.lastAccessAt||n.savedAt||w(),hasContent:!!content},t=e.transaction([c,d],"readwrite");t.objectStore(c).put(meta),content?t.objectStore(d).put({key:n.key,content:content}):t.objectStore(d).delete(n.key),await S(t),content&&await async function(n){const e=await new Promise((e,t)=>{const r=n.transaction(c,"readonly"),o=[],l=r.objectStore(c).openCursor();l.onsuccess=()=>{const n=l.result;n?(n.value&&n.value.hasContent&&o.push(n.value),n.continue()):e(o)},l.onerror=()=>t(l.error)});let t=e.reduce((n,e)=>n+(e.size||0),0);if(t<=h)return;e.sort((a,b)=>String(a.lastAccessAt||a.savedAt).localeCompare(String(b.lastAccessAt||b.savedAt)));const r=n.transaction([c,d],"readwrite"),o=r.objectStore(c),l=r.objectStore(d);for(const n of e){if(t<=h)break;l.delete(n.key),n.hasContent=!1,o.put(n),t-=n.size||0}await S(r)}(e)}async function A(n){if(!n)return;const e=await _();if(!e)return;const t=e.transaction([c,d,f],"readwrite");t.objectStore(c).delete(n),t.objectStore(d).delete(n),t.objectStore(f).delete(n),await S(t)}async function T(path){if(!path)return 0;const n=await _();return n?await new Promise(e=>{try{let t=0;const r=n.transaction(c,"readonly").objectStore(c).openCursor();r.onsuccess=()=>{const n=r.result;n?(n.value&&n.value.path===path&&t++,n.continue()):e(t)},r.onerror=()=>e(0)}catch(n){e(0)}}):0}async function O(n){if(!n||!n.length)return 0;const map={};for(const e of n)e&&e.old&&e.new&&(map[e.old]=e.new);const e=await _();return e?await new Promise(n=>{try{let t=0;const o=e.transaction(c,"readwrite"),l=o.objectStore(c).openCursor();l.onsuccess=()=>{const n=l.result;if(n){const e=n.value;e&&e.path&&map[e.path]&&(e.path=map[e.path],n.update(e),e.name&&Object(r.DoFilePathSet)(e.name,e.path),t++),n.continue()}},o.oncomplete=()=>n(t),o.onerror=()=>n(t),o.onabort=()=>n(t)}catch(e){n(0)}}):0}async function M(){const n=await _();if(!n)return{bytes:0,count:0};const meta=await new Promise(e=>{try{let t=0,r=0;const o=n.transaction(c,"readonly"),l=o.objectStore(c).openCursor();l.onsuccess=()=>{const n=l.result;n&&(n.value&&n.value.hasContent&&(t+=n.value.size||0,r++),n.continue())},o.oncomplete=()=>e({bytes:t,count:r}),o.onerror=()=>e({bytes:t,count:r}),o.onabort=()=>e({bytes:t,count:r})}catch(n){e({bytes:0,count:0})}});let e=0;try{e=await new Promise(e=>{let b=0;const t=n.transaction(f,"readonly"),r=t.objectStore(f).openCursor();r.onsuccess=()=>{const n=r.result;n&&(b+=n.value&&n.value.size||0,n.continue())},t.oncomplete=()=>e(b),t.onerror=()=>e(b),t.onabort=()=>e(b)})}catch(n){}return{bytes:meta.bytes+e,count:meta.count}}let N=0;async function D(n,e){if(!n)return null;const t=await _();if(!t)return null;let r=await new Promise((e,r)=>{const o=t.transaction(f,"readonly").objectStore(f).get(n);o.onsuccess=()=>e(o.result||null),o.onerror=()=>r(o.error)});if(!r)return null;if(e&&r.px&&r.px!==e)return null;try{await async function(n,e){const t=n.transaction(f,"readwrite"),r=t.objectStore(f),o=r.get(e);return o.onsuccess=()=>{const n=o.result;n&&(n.lastAccessAt=w(),r.put(n))},S(t)}(t,n)}catch(n){}return r.thumb||null}async function R(n,e,t){if(!n||!e)return;const r=await _();if(!r)return;const o={key:n,thumb:e,size:e.length,px:t||0,lastAccessAt:w()},l=r.transaction(f,"readwrite");if(l.objectStore(f).put(o),await S(l),N++,N%50==0)try{await async function(n){const e=await new Promise((e,t)=>{const r=n.transaction(f,"readonly"),o=[],l=r.objectStore(f).openCursor();l.onsuccess=()=>{const n=l.result;n?(o.push({key:n.value.key,size:n.value.size||0,lastAccessAt:n.value.lastAccessAt}),n.continue()):e(o)},l.onerror=()=>t(l.error)});let t=e.reduce((n,e)=>n+(e.size||0),0);if(t<=m)return;e.sort((a,b)=>String(a.lastAccessAt).localeCompare(String(b.lastAccessAt)));const r=n.transaction(f,"readwrite"),o=r.objectStore(f);for(const n of e){if(t<=m)break;o.delete(n.key),t-=n.size||0}await S(r)}(r)}catch(n){}}},function(n,e,t){"use strict";t.d(e,"a",function(){return o}),t.d(e,"b",function(){return l});t(2).get("interchat:callGhostGuard.ts");let r=0;function o(n=700){r=Date.now()+n}function l(){return Date.now()p.id===e)}function m(){let n=[];try{let e="";try{e=Object(r.c)()||""}catch(n){}let t=o+e+":";for(let i=0;ip.id===n.id)||(n.pinnedAt=Date.now(),e.unshift(n),d(n.conversationId,e))}function v(n,e){n&&e&&d(n,c(n).filter(p=>p.id!==e))}function x(n,e){n&&d(n,Array.isArray(e)?e:[])}const k="ksitalkPinsMigrated:";function w(n){let e="";try{e=Object(r.c)()||""}catch(n){}return k+e+":"+n}function y(n){try{return"1"===localStorage.getItem(w(n))}catch(n){return!1}}function _(n){try{localStorage.setItem(w(n),"1")}catch(n){}}},function(n,e,t){"use strict";t.r(e),t.d(e,"MessageType",function(){return r});t(2).get("interchat:Call:types:Message.ts");var r;!function(n){n.REQUEST="callRequest",n.ASC="callRequestASC",n.ANSWER="callAnswer",n.ANSWER_SELF="callAnswerSelf",n.HUNG="callHung",n.SIGNAL="signal"}(r||(r={}))},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:Avatar.vue");t(21);var r=t(196),o=(t(1),t(11)),l=t(13),c=t(0);t(2).get("interchat:Avatar.vue");var d={name:"avatarImage",components:{avatar:r.a},props:{fullname:{type:String,default:""},size:{type:Number,default:32},avatarId:Number,urlPrefix:{type:String,default:null},text:{type:String,default:""},iconSrc:{type:String,default:""}},computed:{...Object(o.c)({themeName:"themeName"}),prefix(){if(this.urlPrefix)return this.urlPrefix;if("undefined"!=typeof window&&window.location&&"file:"===window.location.protocol)return"file:///android_asset/www/";const base=this.$router&&this.$router.options?this.$router.options.base:"";return base?base.endsWith("/")?base:base+"/":"/"},imageUri(){if(!this.avatarId)return;let n=(this.avatarId<10?"0":"")+this.avatarId;return this.prefix+"gfx/avatar/"+n+".png"},iconUri(){return this.iconSrc?this.prefix+this.iconSrc:""},avatarStyle(){return{width:this.size+"px",height:this.size+"px",minWidth:this.size+"px",backgroundColor:this.color}},textCircleStyle(){return{width:this.size+"px",height:this.size+"px",minWidth:this.size+"px",backgroundColor:this.color,borderRadius:"50%",display:"inline-flex",alignItems:"center",justifyContent:"center",color:"#fff",fontWeight:"700",fontSize:Math.round(.36*this.size)+"px",lineHeight:"1"}},fullnameText(){return null===this.fullname||void 0===this.fullname?"":String(this.fullname).trim()},avatarColorKey(){const n=this.avatarLetters;return n.length>0?n.join(""):this.fullnameText},avatarLetters(){const text=this.fullnameText.trim();if(!text)return[];const n=text.split(/\s+/).map(n=>Array.from(n).filter(this.isAvatarLetter).join("")).filter(Boolean);if(n.length>=2)return[n[0][0],n[1][0]].map(this.normalizeAvatarLetter);const e=Array.from(n[0]||text);return e.length>2?[e[0],e[e.length-1]].map(this.normalizeAvatarLetter):e.map(this.normalizeAvatarLetter)},avatarFullname(){const n=this.avatarLetters;return n.length>=2?n[0]+" "+n[1]:this.fullnameText},color(){return this.themeName==l.t?this.toColorDark(this.avatarColorKey):this.toColorLight(this.avatarColorKey)}},methods:{logAvatarTrace(n){c.a.warn("USER_DISPLAY_TRACE avatar",{event:n,fullname:this.fullname,fullnameText:this.fullnameText,avatarFullname:this.avatarFullname,avatarLetters:this.avatarLetters,avatarId:this.avatarId,imageUri:this.imageUri,prefix:this.prefix,size:this.size,themeName:this.themeName,color:this.color})},onImageLoad(){this.logAvatarTrace("image-load")},onImageError(){this.logAvatarTrace("image-error")},isAvatarLetter:n=>/\p{L}/u.test(String(n||"")),normalizeAvatarLetter:n=>String(n||"").toUpperCase(),toColor(n,e){let t=0;if(!n)return"black";for(const e of n.split(""))t=(t<<8-t)+e.charCodeAt(0);let r=t,o=r%360;return o+=120,o>360&&(o-=360),r=Math.floor(r/360),`hsl(${o}, ${50+r%50}%, ${e}%`},toColorDark(n){return this.toColor(n,8)},toColorLight(n){return this.toColor(n,40)}}},f=(t(618),t(5)),component=Object(f.a)(d,function(){var n=this,e=n._self._c;return n.imageUri?e("img",{staticClass:"avatar-image avatar-no-select",style:n.avatarStyle,attrs:{src:n.imageUri,alt:"",draggable:"false"},on:{load:n.onImageLoad,error:n.onImageError}}):n.iconUri?e("img",{staticClass:"avatar-image avatar-no-select",style:n.avatarStyle,attrs:{src:n.iconUri,alt:"",draggable:"false"}}):n.text?e("div",{staticClass:"avatar-text-circle avatar-no-select",style:n.textCircleStyle},[n._v(n._s(n.text))]):e("avatar",{staticClass:"avatar-no-select",style:n.avatarStyle,attrs:{fullname:this.avatarFullname,size:this.size,color:n.color}})},[],!1,null,"a243a8d2",null);e.default=component.exports;installComponents(component,{Avatar:t(32).default})},,,,,function(n,e,t){"use strict";t.r(e),t.d(e,"SetIncomingFiles",function(){return w}),t.d(e,"HasIncomingFiles",function(){return y}),t.d(e,"TakeIncomingFiles",function(){return _}),t.d(e,"AppendIncomingFile",function(){return C}),t.d(e,"SetAutoFileSelect",function(){return I}),t.d(e,"GoToTransferToUser",function(){return T});t(2).get("interchat:users:transfer.vue");var r=t(0),o=t(59),l=t(11),c=t(10),d=t(132),f=t.n(d),m=t(54),h=t(18);t(2).get("interchat:users:transfer.vue");var v=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};c.d.use(f.a);let x=null,k=!1;function w(n,e=!1){x=n,k=e}function y(){return!(!x||!x.length)}function _(){let n=x?Array.prototype.slice.call(x):[];return x=null,k=!1,n}let S=0;function C(n,e=!1){let t=Date.now(),r=x&&t-S<8e3?Array.prototype.slice.call(x):[];S=t,r.some(e=>e.name===n.name&&e.size===n.size)||r.push(n),x=r,k=e}let E=!1;function I(n){E=n}var A;function T(n){return{path:"/users/transfer",query:{userId:n}}}!function(n){n[n.SELECTING=0]="SELECTING",n[n.SENDING=1]="SENDING"}(A||(A={}));let O=class extends c.d{constructor(){super(...arguments),this.state=A.SELECTING,this.userId=null,this.fileList=null,this.fileSend=null}get fileFirst(){return this.fileList?this.fileList[0]:null}get user(){return this.userId&&this.users?this.users[this.userId]:null}get userNumber(){return Object(h.d)(this.user)}get isFileChoose(){return this.state==A.SELECTING}get isSending(){return this.state==A.SENDING}created(){this.userId=this.$route.query.userId,this.$parent.$emit("update:opponent",this.user),this.$parent.$emit("update:showBackButton",!0),this.$parent.$emit("update:showMenuButton",!1)}mounted(){if(x){this.fileList=x;let n=k;x=null,k=!1,n&&this.$nextTick(()=>this.doSend())}if(E){this.$refs.fileSelect.doClickFileInput(),E=!1}}handleDrop(data,n){n.preventDefault(),n.dataTransfer&&(this.fileList=n.dataTransfer.files)}doBack(){this.$store.dispatch("screen/restoreAppViewport"),this.$router.replace(Object(m.GoToChatWithUser)(this.userId)),this.$nextTick(()=>this.$store.dispatch("screen/restoreAppViewport")),setTimeout(()=>this.$store.dispatch("screen/restoreAppViewport"),250)}getFirstFile(){if(!this.fileList)return;let n=this.fileList[0];if(n){if(n.size)return n;alert("Can not send file with zero size")}}async doAbort(){this.fileSend=null,this.state=A.SELECTING}async doSend(){let n=this.getFirstFile();n&&(r.a.warn("ANDROID_SHARE_TRACE transfer doSend",{name:n.name,size:n.size,type:n.type}),this.state=A.SENDING,this.fileSend=n)}async onFinish(n,e){n&&e&&(await this.sendMessageToChat(n,e),await this.$store.dispatch("platformDevice/onFileUpload",{fileName:n.name,fileSize:n.size,fileContent:n}),this.fileSend=null,this.fileList=null,await this.$store.dispatch("screen/restoreAppViewport"),this.doBack())}async sendMessageToChat(n,e){if(!this.fileSend)throw new Error("need set fileSend");let t=this.userId,body=JSON.stringify({name:n.name,size:n.size,crypto:e});await this.$store.dispatch("sendMessageToOpponent",{opponentId:t,body:body,type:"file",silent:!1,crypt:!0})}onFileListChange(){this.state=A.SELECTING}onUserChanged(n){this.$parent.$emit("update:opponent",this.user)}};v([Object(c.e)("fileList")],O.prototype,"onFileListChange",null),v([Object(c.e)("user")],O.prototype,"onUserChanged",null),O=v([Object(c.a)({middleware:["auth"],computed:{...Object(l.b)({online:"online"}),...Object(l.c)("Users",{users:"users"})},components:{},layout:"back",transition:o.a})],O);var M=O,N=t(5),component=Object(N.a)(M,function(){var n=this,e=n._self._c;n._self._setupProxy;return e("div",{staticClass:"container border-t flex flex-1 h-full"},[e("drop",{staticClass:"w-full h-full flex flex-col items-center",on:{drop:n.handleDrop}},[e("h1",{staticClass:"font-hairline my-3 text-center"},[n._v(n._s(n.$t("Send file to user",{name:n.userNumber})))]),n._v(" "),n.fileSend?n._e():e("FileSelect",{ref:"fileSelect",staticClass:"w-full",attrs:{file_list:n.fileList},on:{"update:file_list":function(e){n.fileList=e},send:n.doSend,back:n.doBack}}),n._v(" "),n.fileSend?e("FileSending",{staticClass:"w-full",attrs:{file:n.fileSend},on:{abort:n.doAbort,finish:n.onFinish}}):n._e()],1)],1)},[],!1,null,"7a5a455a",null);e.default=component.exports;installComponents(component,{FileSelect:t(854).default,FileSending:t(856).default})},function(n,e,t){"use strict";t.r(e),t.d(e,"default",function(){return d});var r=t(8),o=t(0),l=t(29),c=t(83);t(2).get("interchat:FileShare:TransferMessages.ts");class d{static async signalDirectSend(n,e){return o.a.debug("send signal ",e),d.sendMessage({type:l.MessageType.SIGNAL,signal:e,userId:n})}static async sendMessage(n){return n&&(n.appInstanceId=Object(c.a)(),o.a.log("app instance id = ",n.appInstanceId)),o.a.debug("Send transfer-message",n),r.a.emitAsync("transfer-message",n)}static sendMessageRequest(n,e){return d.sendMessage({type:l.MessageType.REQUEST,userId:n,payload:e})}static sendMessageAnswer(n,e){return d.sendMessage({type:l.MessageType.ANSWER,userId:n,error:e})}static sendMessageAnswerSelf(n,e){return d.sendMessage({type:l.MessageType.ANSWER_SELF,userId:n,payload:e})}static sendMessageAscend(n){return d.sendMessage({type:l.MessageType.ASC,userId:n})}static sendMessageHung(n,e,t=void 0){return d.sendMessage({type:l.MessageType.HUNG,userId:n,error:t,reason:e})}static sendMessageDone(n){return d.sendMessage({type:l.MessageType.DONE,userId:n})}}d.REASON_BUSY="busy"},,,function(n,e,t){"use strict";t.d(e,"a",function(){return r}),t.d(e,"b",function(){return o});t(2).get("interchat:tools:TimerCollection.ts");class r{constructor(n,time){this.cb=n,this.interval=!1,this.timer=null,this.timeout=time}isStarted(){return null!=this.timer}start(){return this.interval?this.timer=setInterval(this.fired.bind(this),this.timeout):this.timer=setTimeout(this.fired.bind(this),this.timeout),this}repeat(){return this.interval=!0,this}fired(){this.interval||this.clear(),this.cb&&this.cb()}clear(){this.timer&&(this.interval?clearInterval(this.timer):clearTimeout(this.timer),this.timer=null)}}class o{constructor(){this.timers={}}addTimer(n,e){this.clearTimer(n),e.name=n,e.isStarted()||e.start(),this.timers[n]=e}clearTimer(n){const e=this.timers[n];e&&(e.clear(),delete this.timers[n])}clearAll(){for(const n in this.timers){if(!this.timers.hasOwnProperty(n))continue;this.timers[n].clear()}this.timers={}}}},,,function(n,e,t){"use strict";t.d(e,"a",function(){return d}),t.d(e,"b",function(){return m}),t.d(e,"c",function(){return h});var r=t(0),o=t(9);t(2).get("interchat:localUserData");const l="local_user_name_";function c(n){let e=Object(o.c)()||"anon";return l+e+"_"+n}function d(n){let e={name:"",bg:""};try{let data=localStorage.getItem(c(n));data&&(e=JSON.parse(data))}catch(n){r.a.error("error user local ",n)}return e}function f(n,e){!function(n,data){localStorage.setItem(c(n),JSON.stringify(data))}(n,{...d(n),...e})}function m(n,e){f(n,{name:e})}function h(){let n={};try{let e=Object(o.c)()||"anon",t=l+e+"_";for(let i=0;i0&&(n[r]=data.name)}catch(n){}}}catch(n){r.a.error("UserLocalNamesGetAll error",n)}return n}},function(n,e,t){"use strict";t.r(e),t.d(e,"default",function(){return f});var r=t(8),o=t(0),l=t(31),c=t(83),d=t(14);t(2).get("interchat:Call:CallMessages.ts");class f{static signalDirectSend(n,e){o.a.debug("send signal ",e),f.sendMessage({type:l.MessageType.SIGNAL,signal:e,userId:n})}static async sendMessage(n){return n&&(n.appInstanceId=Object(c.a)()),o.a.debug("Send Call-message",n),await r.a.emitAsync(d.a.CALL_MESSAGE,n)}static async sendMessageRequest(n,e){let t=e;return t.usersId=e.callInfo.userIds,t.callId=e.callInfo.callId,t.videoMode=e.callInfo.video,f.sendMessage({type:l.MessageType.REQUEST,userId:n,payload:t})}static async sendMessageAnswer(n,e){return f.sendMessage({type:l.MessageType.ANSWER,userId:n,error:e})}static async sendMessageAnswerSelf(n,e){return f.sendMessage({type:l.MessageType.ANSWER_SELF,userId:n,payload:e})}static async sendMessageAscend(n){return f.sendMessage({type:l.MessageType.ASC,userId:n})}static async sendMessageHung(n,e,t,r){return f.sendMessage({type:l.MessageType.HUNG,userId:n,error:t,reason:e,connectionStatus:r})}}f.REASON_BUSY="busy"},,function(n,e,t){"use strict";t.d(e,"a",function(){return r});t(2).get("interchat:tools:FileSize.ts");function r(n,e=2){const t=["B","KB","MB","GB","TB"];let r=Math.max(n,0),o=Math.floor((r?Math.log(r):0)/Math.log(1024));return o=Math.min(o,t.length-1),r/=Math.pow(1024,o),r.toFixed(e)+t[o]}},function(n,e,t){"use strict";t.d(e,"c",function(){return c}),t.d(e,"b",function(){return f}),t.d(e,"d",function(){return v}),t.d(e,"e",function(){return w}),t.d(e,"a",function(){return S}),t.d(e,"f",function(){return E});var r=t(0),o=t(192),l=(t(320),t(13));t(2).get("interchat:webstream");async function c(){if(!navigator)throw new Error("No navigator defined");if(!navigator.mediaDevices)throw new Error("No navigator.mediaDevices defined");if(!navigator.mediaDevices.enumerateDevices)throw new Error("No navigator.mediaDevices.enumerateDevices defined");const n=await navigator.mediaDevices.enumerateDevices();r.a.debug("Get devices",n);let e="audioinput",t=[e,"AVCaptureDeviceTypeBuiltInMicrophone"];const o=n.filter(n=>t.includes(n.kind)),l=n.filter(n=>"audiooutput"===n.kind),c=n.filter(n=>"videoinput"===n.kind);return o.forEach(n=>{n.kind!=e&&(n.kind=e)}),{inputDevices:o,outputDevices:l,videoInputDevices:c}}function d(n,e){if(!n)return null;let t=n.find(n=>n.deviceId==e);return t||null}function f(n){localStorage.setItem("ic_"+n.kind,n.deviceId)}function m(){return localStorage&&localStorage.getItem("ic_audioinput")}function h(){return localStorage&&localStorage.getItem("ic_videoinput")}async function v(){let n={inputDevice:null,outputDevice:null,videoInputDevice:null},{inputDevices:e,outputDevices:t,videoInputDevices:r}=await c();return n.inputDevice=d(e,m()),n.outputDevice=d(t,localStorage&&localStorage.getItem("ic_audiooutput")),n.videoInputDevice=d(r,h()),n}async function x(){let{inputDevices:n}=await c();r.a.debug("Input audio devices = ",n);let e=null;return e=d(n,m()),e||(function(){if("undefined"==typeof navigator)return!1;const n=navigator.userAgent||"";return/iPad|iPhone|iPod/.test(n)||-1!=n.indexOf("Macintosh")&&"undefined"!=typeof document&&"ontouchend"in document}()?null:(e=n.find(n=>"Headset earpiece"==n.label),e||n[n.length-1]))}async function k(){let n=await async function(){let{videoInputDevices:n}=await c();return r.a.debug("Input video devices = ",n),d(n,h())||null}();return n&&""===n.deviceId&&(n=void 0),!n||{deviceId:{ideal:n.deviceId}}}function w(){return new(window.AudioContext||window.webkitAudioContext)}async function y({videoOn:n,allowRestricts:e,makeSimple:t}){const o={video:!0},l={audio:!0};let c;if(!c&&t&&(c={audio:!0}),!c)try{c=await async function(){let n=await x();return n&&""===n.deviceId&&(n=void 0),{audio:!n||{deviceId:{ideal:n.deviceId}}}}()}catch(n){r.a.warn("failed get constrains ",n),r.a.debug("Using default constrains"),c=l}if(n)try{c={...c,video:await k()}}catch(n){r.a.warn("failed get video constrains ",n),c={...c,...o}}if(e){const n={sampleSize:8,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:16e3,channelCount:1};let e=navigator.mediaDevices.getSupportedConstraints();r.a.debug("Supported constrains:",e),c.audio={...c.audio,...n}}return c}async function _(n){try{r.a.debug("Getting user media with constraints",n);var e=await navigator.mediaDevices.getUserMedia(n);r.a.debug("Success local stream.");try{e.getTracks().forEach(track=>{r.a.log("get local track capabilities: ",track.getCapabilities())})}catch(n){r.a.warn("Error get getCapabilities ",n)}return e}catch(n){throw r.a.error("Error get user media",n),n}}async function S(n,e){let t=new Error("no stages passed! should never happen.");for(let o=0;o<4;o++)try{if(0==o){if(!n)continue;return await _(n)}let t={videoOn:e};1==o?t={...t,allowRestricts:!0,makeSimple:!1}:2==o?t={...t,allowRestricts:!1,makeSimple:!1}:3==o&&(t={...t,allowRestricts:!1,makeSimple:!0});let r=await y(t),c=e?l.h.ECHO_CANCELLATION_NATIVE_VIDEO_DISABLE:l.h.ECHO_CANCELLATION_NATIVE_DISABLE;if(Object(l.o)(c)){let audio=r.audio;!0===audio&&(audio={}),audio={...audio,echoCancellation:!1},r.audio=audio}return await _(r)}catch(n){if(t=n,e&&C(n))try{r.a.warn("Video input device not found, retrying with audio only",n);let e=await y({videoOn:!1,allowRestricts:!1,makeSimple:!0});return await _(e)}catch(n){t=n}continue}throw t}function C(n){return!!n&&("NotFoundError"===n.name||"DevicesNotFoundError"===n.name||"OverconstrainedError"===n.name||/device not found/i.test(n.message||""))}function E(n){n.getTracks().forEach(track=>{track.stop&&track.stop(),n.removeTrack&&n.removeTrack(track)})}r.a.debug("Browser details: ",o.a.browserDetails)},function(n,e,t){"use strict";t.r(e),t.d(e,"DoFilePathSet",function(){return o}),t.d(e,"DoFilePathGet",function(){return l});t(2).get("interchat:fileTransfer:FilePathStore.ts");function r(n){return"filePath_"+n}function o(n,path){n&&localStorage.setItem(r(n),path)}function l(n){return n?localStorage.getItem(r(n)):null}},,,,function(n,e,t){"use strict";t.r(e);t(2).get("interchat:activator:ActivatorInitial.vue");var r=t(11),o=t(1);t(2).get("interchat:activator:ActivatorInitial.vue");var l={name:"ActivatorInitial",components:{},computed:{...Object(r.b)({appActivated:"appActivated"})},mounted(){this.appActivated||this.$nextTick(this.doActivate)},methods:{doActivate(){o.b.$emit(o.a.ACTIVATE,{})}}},c=t(5),component=Object(c.a)(l,function(){return(0,this._self._c)("span")},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e),t.d(e,"GoToChatWithUser",function(){return h});t(2).get("interchat:chats:index.vue");var r=t(214),o=t(145),l=t(11),c=t(0),d=t(59),f=t(37),m=t(1);t(2).get("interchat:chats:index.vue");function h(n,e){return{path:"/chats/",query:Object.assign({userId:n},e||{})}}var v={name:"chat-view-id",middleware:["auth"],components:{UserList:r.default,Chat:o.default},transition:d.a,layout:"back",data:()=>({opponentId:null}),computed:{...Object(l.b)({online:"online"}),...Object(l.c)("Users",{users:"users"}),...Object(l.c)({conversations:"conversations",userOpponents:"userOpponents",userConversationsOpponents:"userConversationsOpponents"}),recipient(){return this.users?this.users[this.opponentId]:null},userConversationMy(){return this.userOpponents?this.userOpponents[this.opponentId]:null},userConversationOpponent(){return this.userConversationsOpponents?this.userConversationsOpponents[this.conversationId]:null},conversationId(){return this.userConversationMy?this.userConversationMy.conversationId:null},conversation(){return this.conversations?this.conversations[this.conversationId]:null}},async created(){this.opponentId=this.$route.query.userId,this.$parent.$emit("update:showBackButton",!0),this.$parent.$emit("update:showMenuButton",!0)},async beforeMount(){this.$parent.$emit("update:opponent",this.recipient),this.online&&await this.switchConversation()},mounted(){this.$route.query.pinned&&this.$nextTick(()=>m.b.$emit(m.a.PINNED_OPEN))},async beforeDestroy(){this.conversationMute(!1)},methods:{handleDrop(data,n){n.dataTransfer&&(Object(f.SetIncomingFiles)(n.dataTransfer.files),this.$router.push(Object(f.GoToTransferToUser)(this.recipient.id)))},async conversationMute(n){let e=n?this.conversationId:null;await this.$store.dispatch("platformDevice/notificationMuteConversation",{conversationId:e})},addUser(){this.$router.push(this.localePath("/inviteUser"))},async switchConversation(){this.opponentId=this.$route.query.userId,c.a.debug("switchConversation ",this.opponentId);try{c.a.log("switchConversation",this.opponentId),await this.$store.dispatch("switchConversation",this.opponentId),await this.$store.dispatch("markConversationReadAll"),await this.conversationMute(!0)}catch(n){c.a.error("switchConversition after reload",n),this.$router.push(this.localePath("/"))}},conversationClean(n){confirm("Remove all messages?")&&this.$store.dispatch("sendConversationClean",n)},goBack(){this.$router.push(this.localePath("/"))}},watch:{async online(n){n&&(await this.switchConversation(),await this.$store.dispatch("markConversationReadAll"))},async conversationId(){this.conversationMute(!0)},recipient(n){this.$parent.$emit("update:opponent",this.recipient)}}},x=t(5),component=Object(x.a)(v,function(){var n=this,e=n._self._c;return e("drop",{staticClass:"container border-t flex flex-1 h-full overflow-hidden w-full",on:{drop:n.handleDrop}},[e("chat",{staticClass:"w-full h-full overflow-hidden",attrs:{conversation:n.conversation,recipient:n.recipient,userConversationOpponent:n.userConversationOpponent,userConversationMy:n.userConversationOpponent},on:{conversationClean:n.conversationClean,goBack:n.goBack}})],1)},[],!1,null,null,null);e.default=component.exports;installComponents(component,{Chat:t(145).default})},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:Alert.vue");var r=t(1);t(2).get("interchat:Alert.vue");var o={data:()=>({title:"",text:""}),created(){r.b.$on(r.a.MODAL_SHOW,data=>this.onShow(data.title,data.text)),r.b.$on(r.a.MODAL_HIDE,this.onClose)},methods:{onShow(title,text){try{"undefined"!=typeof document&&document.activeElement&&document.activeElement.blur&&document.activeElement.blur(),"undefined"!=typeof window&&window.scrollTo(0,0)}catch(n){}this.title=title?title.toString():"",this.text=text?text.toString():"",this.setVisible(!0)},onClose(){this.setVisible(!1),this.title="",this.text=""},setVisible(n){const e=document.querySelector(".modal");null!=e&&(e.classList.toggle("opacity-0",!1===n),e.classList.toggle("pointer-events-none",!1===n));const body=document.querySelector("body");null!=body&&body.classList.toggle("modal-active",n)}}},l=(t(614),t(5)),component=Object(l.a)(o,function(){var n=this,e=n._self._c;return e("div",{staticClass:"modal opacity-0 pointer-events-none fixed w-full h-full top-0 flex z-50 px-4 items-center justify-center"},[e("div",{staticClass:"modal-overlay absolute w-full h-full bg-gray-900 opacity-50",on:{click:n.onClose}}),n._v(" "),e("div",{staticClass:"modal-container alert-modal__box w-full md:max-w-md mx-auto shadow-lg z-50 overflow-y-auto"},[e("div",{staticClass:"modal-content py-4 text-left px-6"},[e("div",{staticClass:"flex justify-between items-center pb-3"},[e("p",{staticClass:"text-xl font-bold alert-modal__title"},[n._v(n._s(n.title))]),n._v(" "),e("div",{staticClass:"modal-close alert-modal__close cursor-pointer z-50",on:{click:n.onClose}},[e("svg",{staticClass:"fill-current",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 18"}},[e("path",{attrs:{d:"M14.53 4.53l-1.06-1.06L9 7.94 4.53 3.47 3.47 4.53 7.94 9l-4.47 4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z"}})])])]),n._v(" "),e("div",[n._v(n._s(n.text))]),n._v(" "),e("div",{staticClass:"flex justify-end pt-2"},[e("button",{staticClass:"modal-close btn bg-blue-light px-6 my-1",on:{click:n.onClose}},[n._v(n._s(n.$t("Close")))])])])])])},[],!1,null,null,null);e.default=component.exports},,function(n,e,t){"use strict";t.d(e,"a",function(){return r});t(2).get("interchat:tools:BlobtoBase64.ts");function r(n){const e=new FileReader;return e.readAsDataURL(n),new Promise((n,t)=>{e.onloadend=()=>{"string"==typeof e.result?n(e.result):t()},e.onabort=()=>{t()}})}},,function(n,e,t){"use strict";t.d(e,"a",function(){return r});t(2).get("interchat:transitionLeftRight");function r(n,e){return e?{name:e.path<=n.path?"slide-left":"slide-right",mode:"out-in"}:"page"}},,,function(n,e,t){"use strict";t.r(e),t.d(e,"doStartCallSingle",function(){return o}),t.d(e,"doStartCallMulti",function(){return l}),t.d(e,"ShowErrorWrap",function(){return c});var r=t(1);t(2).get("interchat:Call:startCall.ts");async function o(n,e,t){return c(async()=>n("Call/start",{callUserID:e,videoMode:t}))}async function l(n,e,t){return c(async()=>n("Call/startMany",{usersId:e,videoMode:t}))}async function c(n){try{await n()}catch(n){n.message?Object(r.c)(n.message):Object(r.c)("Unknown error")}}},function(n,e,t){"use strict";(function(n){t.d(e,"c",function(){return f}),t.d(e,"e",function(){return _}),t.d(e,"d",function(){return C}),t.d(e,"f",function(){return A}),t.d(e,"g",function(){return T}),t.d(e,"h",function(){return D}),t.d(e,"i",function(){return R}),t.d(e,"a",function(){return B});t(21);var r=t(1),o=t(0),l=t(48),c=t(202);t(2).get("interchat:globalAudio.ts");let d,f;const m=!0,h=!1;function v(n,e=[]){try{const t="undefined"!=typeof window?window:null;t&&t.cordova&&t.cordova.exec&&t.cordova.exec(function(){},function(){},"NativeDevicePlugin",n,e)}catch(e){o.a.warn("nativeExec failed",n,e)}}function x(){try{const n="undefined"!=typeof window?window:null;if(!n||!n.cordova||!n.cordova.exec)return!1;const e="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent:"";return/Android/i.test(e)}catch(n){return!1}}o.a.log(" SOUND_USE_WEB_AUDIO = ",m),o.a.log(" process.env.SOUND_USE_WEB_AUDIO = ","1");let k="/";async function w(){if(d)return;d=document.createElement("audio"),d.setAttribute("class","hidden"),d.setAttribute("loop","1"),o.a.debug("globalPlayer play");let n=d.play();n&&n.then(()=>{o.a.debug("global player play")}).catch(n=>{let e=n.message;o.a.error("global player err ",e,n)}),document.body.appendChild(d),o.a.debug("globalPlayer set"),r.b.$emit(r.a.PLAYER_SET,{})}async function y(n){if(o.a.log("globalPlayerPlayStream"),d&&n){o.a.log("Play stream use player"),d.srcObject=n;try{let n=d.play();n&&await n}catch(n){o.a.error("startPlayerStream",n)}}else o.a.warn("globalPlayerPlayStream error no globalPlayer or stream")}async function _(){if(d)try{d.pause(),d.currentTime=0,d.src="",d.srcObject=null}catch(n){}}async function S(){f||(f=Object(l.e)(),f&&(o.a.debug("creating audio context state",f.state),"suspended"===f.state&&await f.resume(),await async function(n){P=n.createMediaStreamDestination(),await Promise.all(Object.keys($).map(async e=>{let t=$[e];o.a.log("Load sound ",e,t);try{L[e]=await async function(n,e){o.a.log("Load sound url ",e);let t=(await Object(c.a)(e,{withCredentials:!1,responseType:"arraybuffer"})).response;return await n.decodeAudioData(t)}(n,t),o.a.log("Load sound finished ",e,t)}catch(n){o.a.error("Error createSoundBuffer ",t,"error = ",n)}})),o.a.log("Load sound finished")}(f),r.b.$emit(r.a.AUDIO_CONTEXT_SET,{})))}async function C(){await async function(){f&&(await f.close(),f=null)}(),await S()}e.b=async({app:n})=>{o.a.log("register EEvents.ACTIVATE handler"),n&&n.router&&n.router.options&&(k=n.router.options.base),r.b.$on(r.a.ACTIVATE,async({})=>{o.a.log("on EEvents.ACTIVATE for globalAudio"),await w(),m&&await S()})};n.env.DISABLE_OUTPUT_MIXER;let E,I;async function A(n){return o.a.log("outputStreamPlay"),h&&x()?(o.a.warn("KT-0090 voice via element (android)"),y(n)):m?(o.a.log("outputStreamPlay use WEb audio"),void(f&&(R(),T(),E=f.createMediaStreamSource(n),E&&(I=f.createGain(),E.connect(I),I.connect(f.destination),E.start&&E.start())))):(o.a.log("outputStreamPlay use Player"),y(n))}async function T(){return h&&x()?_():m?(E&&(E.disconnect(),E=null),void(I&&(I.disconnect(),I=null))):_()}const O=!0;let M=null,N=null;function D(n){if(O&&function(){try{const n="undefined"!=typeof window?window:null;if(n&&n.cordova&&n.cordova.exec)return!1;const nav="undefined"!=typeof navigator?navigator:null;if(!nav)return!1;const e=nav.userAgent||"",t=/iPhone|iPod/i.test(e),r=/iPad/i.test(e)||/Macintosh/i.test(e)&&(nav.maxTouchPoints||0)>1;return t||r}catch(n){return!1}}()&&m&&f&&n&&!M)try{"suspended"===f.state&&f.resume().catch(()=>{}),M=f.createMediaStreamSource(n),N=f.createGain(),N.gain.value=0,M.connect(N),N.connect(f.destination),o.a.warn("KT-0206 voiceSessionPrimeStart (ios-web outgoing earpiece)")}catch(n){o.a.error("KT-0206 voiceSessionPrimeStart failed",n),R()}}function R(){try{M&&(M.disconnect(),M=null),N&&(N.disconnect(),N=null)}catch(n){o.a.error("KT-0206 voiceSessionPrimeStop failed",n)}}let P,L={},j={};function U(n,e=!1,t=!0){if(!f)return o.a.warn("streamPlay error - no globalAudioContext");F(n),t&&function(n){for(let e in j)e!=n&&F(e)}(n);let r=L[n];if(!r)return o.a.warn("not found buffer",n),null;const source=f.createBufferSource();if(source.buffer=r,source.loop=e,!source||!P)return o.a.warn("No destination or source create faild"),null;source.connect(f.destination),source.start&&source.start(),j[n]=source}function F(n){let e=j[n];e&&(delete j[n],e.disconnect(),e.stop())}var z;!function(n){n.SONAR="sonar",n.TONE="tone",n.RING="ring",n.BUSY="busy"}(z||(z={}));let $={sonar:"sfx/0450.wav",tone:"sfx/1615.wav",ring:"sfx/default.mp3",busy:"sfx/busy.mp3"};class B{static async playSound(n,e={}){let t=$[n];if(!t)throw new Error("unknown sound "+n);o.a.debug("Play sound",n);const r=e.muteOthers||!0;let l=e.forceUserPlayer||!1,c=e.forceUserWebAudio||!1;const f=!1!==e.loop;if(x())return o.a.warn("KT-0089 play tone native (android)",{soundId:n,filename:t,loop:f}),void v("playToneNative",[t,f]);m&&!l&&(c=!0),c?(o.a.debug("use stream"),U(n,f,r)):(o.a.debug("use player"),await async function(n,e=!0){if(d&&n){o.a.log("set globalPLayer src ",n),d.loop=e,d.src=n;try{let n=d.play();n&&await n}catch(n){o.a.error("startPlayerSrc error:",n)}}}(t,f))}static stopAll(){o.a.debug("Stop all sounds"),v("stopToneNative"),function(){if(j)for(let n in j)F(n)}(),_()}}B.SOUND_SONAR=z.SONAR,B.SOUND_TONE=z.TONE,B.SOUND_RING=z.RING,B.SOUND_BUSY=z.BUSY}).call(this,t(20))},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:svg:Menu.vue");var r=t(5),component=Object(r.a)({},function(){var n=this,e=n._self._c;return e("svg",{attrs:{version:"1.1",height:"1rem",viewBox:"0 0 24 24",fill:"#ffffff","xml:space":"preserve"}},[e("circle",{attrs:{cx:"12",cy:"5",r:"2.2"}}),n._v(" "),e("circle",{attrs:{cx:"12",cy:"12",r:"2.2"}}),n._v(" "),e("circle",{attrs:{cx:"12",cy:"19",r:"2.2"}})])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.d(e,"b",function(){return l}),t.d(e,"a",function(){return c}),t.d(e,"c",function(){return d});t(2).get("interchat:replyFormat.ts");const r="R",o="";function l(title,n,body){return r+(title||"")+o+(n||"")+o+(body||"")}function c(body){if(!function(body){return"string"==typeof body&&0===body.indexOf(r)}(body))return null;const n=String(body).slice(r.length).split(o);return{title:n[0]||"",quote:n[1]||"",text:n.slice(2).join(o)}}function d(body){const n=c(body);return n?n.text:"string"==typeof body?body:""}},function(n,e,t){"use strict";t.d(e,"a",function(){return r}),t.d(e,"b",function(){return o}),t.d(e,"c",function(){return l});t(2).get("interchat:reactions.ts");const r=["👍","❤️","😂","😮","😢","🙏"];function o(n,e){if(!n||"object"!=typeof n)return[];const t=null!=e?n[String(e)]:null,r={},o=[];for(const e in n){if(!Object.prototype.hasOwnProperty.call(n,e))continue;const t=n[e];t&&(void 0===r[t]&&(r[t]=0,o.push(t)),r[t]++)}return o.map(n=>({emoji:n,count:r[n],mine:n===t}))}function l(n,e){return n&&null!=e&&n[String(e)]||""}},,,,,,,,,,,,,,,,function(n,e,t){"use strict";t.r(e);t(2).get("interchat:Loading.vue");var r=t(11),o=t(311),l=t.n(o),c=(t(796),t(10)),d=t(13);t(2).get("interchat:Loading.vue");var f=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};let m=class extends c.d{constructor(){super(...arguments),this.minimalShowActive=!1,this.isVisible=!1,this.timerShow=null,this.timerHide=null}get color(){return this.themeName==d.t?"#fff":"#000"}timerShowClear(){this.timerShow&&(clearTimeout(this.timerShow),this.timerShow=null)}timerHideClear(){this.timerHide&&(clearTimeout(this.timerHide),this.timerHide=null)}timerShowSet(n,e){this.timerShowClear(),this.timerShow=setTimeout(()=>{this.timerShow=null,n()},e)}timerHideSet(n,e){this.timerHideClear(),this.timerHide=setTimeout(()=>{this.timerHide=null,n()},e)}beforeDestroy(){this.timerShowClear(),this.timerHideClear()}created(){this.updateVisible(this.showLoading,0)}showStart(){this.isVisible=!0,this.minimalShowActive=!0,console.log("minimal start"),this.timerHideSet(()=>{this.minimalShowActive=!1,console.log("minimal end")},1e3)}showStop(){this.timerShowClear(),this.timerHideClear(),this.isVisible=!1}updateVisible(n,e){n?this.timerShowSet(()=>{this.showStart()},e):this.showStop()}onShowLoadingChanged(n){this.updateVisible(n,1e3)}onCancel(){this.showStop()}};f([Object(c.e)("showLoading")],m.prototype,"onShowLoadingChanged",null),m=f([Object(c.a)({components:{LoadingOverlay:l.a},computed:{...Object(r.b)({showLoading:"showLoading"}),...Object(r.c)({themeName:"themeName"})}})],m);var h=m,v=(t(798),t(5)),component=Object(v.a)(h,function(){var n=this;n._self._c,n._self._setupProxy;return n._e()},[],!1,null,"4a010ff0",null);e.default=component.exports},function(n,e,t){"use strict";t.d(e,"a",function(){return l});var r=t(142);t(2).get("interchat:appInstance.ts");let o=Object(r.a)();function l(){return o}},function(n,e,t){"use strict";var r=t(95);t(2).get("interchat:brandBody");e.a={computed:{brandBodyClass(){let n="";return(this.$store.getters["brand/isBrandKsiTalk"]||r.a)&&(n+=" body_KsiTalk"),this.$store.getters["brand/isBrandAnyTalk"]&&(n+=" body_AnyTalk"),n}}}},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:ChatMessageBottom.vue");var r=t(87),o=t(502),l=t(503),c=t(504),d=t(505);t(2).get("interchat:messages:ChatMessageBottom.vue");var f={props:{me:Object,message:Object,recipientUser:Object,showSecure:{type:Boolean,default:!0},showDelivery:{type:Boolean,default:!0}},components:{Bin:r.default,Bird:o.default,BirdDouble:l.default,Secure:c.default,SecureNot:d.default},computed:{isSecure(){return this.message.isSecure},isRead(){return!this.message.isUnread},isMine(){return this.message.author===this.me.id},isBodyOk(){return this.isSecure||"decryption fails"!=this.message.body&&"crypted"!=this.message.body}},methods:{}},m=(t(764),t(5)),component=Object(m.a)(f,function(){var n=this,e=n._self._c;return e("div",{staticClass:"chat-message-bottom flex flex-row items-baseline"},[n.showSecure?e("div",{staticClass:"mx-1"},[n.isSecure?e("Secure"):e("SecureNot")],1):n._e(),n._v(" "),e("div",{staticClass:"text-grey-dark mx-1 text-xs"},[n._v(n._s(n._f("formatDate")(n.message.createdAt)))]),n._v(" "),n.isMine&&n.showDelivery?e("div",[n.isRead?e("BirdDouble"):e("Bird")],1):n._e(),n._v(" "),e("div",{staticClass:"flex-1 w-1 mx-1"})])},[],!1,null,"0d00c582",null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:MessageActionMenu.vue");t(2).get("interchat:messages:MessageActionMenu.vue");var r={props:{visible:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""},actions:{type:Array,default:()=>[]},reactions:{type:Array,default:()=>[]},activeReaction:{type:String,default:""}}},o=(t(766),t(5)),component=Object(o.a)(r,function(){var n=this,e=n._self._c;return n.visible?e("div",{staticClass:"message-action-menu",on:{click:function(e){return e.target!==e.currentTarget?null:n.$emit("close")}}},[e("div",{staticClass:"message-action-menu__panel",on:{click:function(n){n.stopPropagation()}}},[e("button",{staticClass:"message-action-menu__close",attrs:{type:"button"},on:{click:function(e){return n.$emit("close")}}},[n._v("x")]),n._v(" "),e("div",{staticClass:"message-action-menu__title",domProps:{textContent:n._s(n.title)}}),n._v(" "),n.subtitle?e("div",{staticClass:"message-action-menu__subtitle",domProps:{textContent:n._s(n.subtitle)}}):n._e(),n._v(" "),n.reactions&&n.reactions.length?e("div",{staticClass:"message-action-menu__reactions"},n._l(n.reactions,function(t){return e("button",{key:t,class:["message-action-menu__reaction",t===n.activeReaction?"message-action-menu__reaction--active":""],attrs:{type:"button"},domProps:{textContent:n._s(t)},on:{click:function(e){return n.$emit("react",t)}}})}),0):n._e(),n._v(" "),e("div",{staticClass:"message-action-menu__actions"},n._l(n.actions,function(t){return e("button",{key:t.id,staticClass:"message-action-menu__button",attrs:{type:"button"},domProps:{textContent:n._s(t.label)},on:{click:function(e){return n.$emit("action",t.id)}}})}),0)])]):n._e()},[],!1,null,"01981017",null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:svg:Bin.vue");var r=t(5),component=Object(r.a)({},function(){var n=this,e=n._self._c;return e("svg",{staticStyle:{"enable-background":"new 0 0 465.311 465.311"},attrs:{version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",width:"18px",height:"18px",viewBox:"0 0 465.311 465.311","xml:space":"preserve"}},[e("path",{attrs:{d:"M372.811,51.002h-59.908V36.566C312.902,16.404,296.499,0,276.335,0h-87.356c-20.163,0-36.567,16.404-36.567,36.566v14.436\n H92.5c-20.726,0-37.587,16.861-37.587,37.587v38.91c0,8.284,6.716,15,15,15h7.728v307.812c0,8.284,6.716,15,15,15H372.67\n c8.284,0,15-6.716,15-15V142.499h7.728c8.284,0,15-6.716,15-15v-38.91C410.397,67.863,393.536,51.002,372.811,51.002z\n M182.412,36.566c0-3.621,2.946-6.566,6.567-6.566h87.356c3.621,0,6.567,2.946,6.567,6.566v14.436h-100.49V36.566z M84.914,88.589\n c0-4.184,3.403-7.587,7.587-7.587h280.31c4.184,0,7.587,3.403,7.587,7.587v23.91H84.914V88.589z M357.67,435.311H107.641V142.499\n H357.67V435.311z"}}),n._v(" "),e("path",{attrs:{d:"M137.41,413.485c5.523,0,10-4.477,10-10V166.497c0-5.523-4.477-10-10-10s-10,4.477-10,10v236.988 C127.41,409.008,131.887,413.485,137.41,413.485z"}}),n._v(" "),e("path",{attrs:{d:"M200.907,413.485c5.523,0,10-4.477,10-10V166.497c0-5.523-4.477-10-10-10s-10,4.477-10,10v236.988 C190.907,409.008,195.384,413.485,200.907,413.485z"}}),n._v(" "),e("path",{attrs:{d:"M264.404,413.485c5.523,0,10-4.477,10-10V166.497c0-5.523-4.477-10-10-10s-10,4.477-10,10v236.988 C254.404,409.008,258.881,413.485,264.404,413.485z"}}),n._v(" "),e("path",{attrs:{d:"M327.901,413.485c5.523,0,10-4.477,10-10V166.497c0-5.523-4.477-10-10-10s-10,4.477-10,10v236.988 C317.901,409.008,322.378,413.485,327.901,413.485z"}})])},[],!1,null,null,null);e.default=component.exports},,function(n,e,t){"use strict";t.r(e),t.d(e,"default",function(){return r});t(2).get("interchat:Call:types:CallInfo.ts");class r{constructor(n=null,e=[],video=!1){this.callId=n,this.userIds=e,this.video=video}isCompatible(n){return this.callId==n.callId&&JSON.stringify(n.userIds)==JSON.stringify(this.userIds)&&n.video==this.video}}},,,,,,function(n,e,t){"use strict";t.d(e,"a",function(){return r}),t.d(e,"b",function(){return o});t(2).get("interchat:platform:buildTarget");const r=!1,o=!1},,,,,,,,,,,,,function(n,e,t){"use strict";t.r(e);t(2).get("interchat:svg:Back.vue");var r=t(5),component=Object(r.a)({},function(){var n=this._self._c;return n("svg",{attrs:{version:"1.1",height:"1rem",viewBox:"19.026 13.031 32.819 29.353","enable-background":"new 19.026 13.031 32.819 29.353","xml:space":"preserve"}},[n("path",{attrs:{fill:"#ffffff",d:"M49.553,25.417H26.85l8.473-8.474c0.896-0.895,0.896-2.346,0-3.241s-2.346-0.896-3.241,0L19.704,26.081\n\tc-0.002,0.002-0.005,0.004-0.008,0.006c-0.039,0.039-0.067,0.084-0.103,0.126c-0.063,0.072-0.127,0.142-0.18,0.221\n\tc-0.048,0.071-0.082,0.147-0.121,0.223c-0.03,0.058-0.065,0.111-0.091,0.172c-0.037,0.088-0.06,0.181-0.084,0.271\n\tc-0.015,0.053-0.036,0.104-0.046,0.156c-0.06,0.298-0.06,0.604,0,0.903c0.01,0.052,0.031,0.1,0.044,0.149\n\tc0.025,0.093,0.049,0.188,0.086,0.277c0.026,0.063,0.063,0.119,0.094,0.178c0.036,0.068,0.064,0.139,0.107,0.204\n\tc0.003,0.004,0.007,0.008,0.01,0.012c0.063,0.095,0.138,0.18,0.213,0.263c0.025,0.026,0.043,0.06,0.07,0.086\n\tc0.001,0.001,0.002,0.001,0.003,0.002L32.08,41.712c0.895,0.896,2.346,0.896,3.241,0.002c0.896-0.896,0.896-2.348,0-3.242L26.85,30\n\th22.703c1.266,0,2.292-1.026,2.292-2.292C51.845,26.442,50.818,25.417,49.553,25.417z"}})])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e),function(n){t.d(e,"getActualVersionAndroid",function(){return d}),t.d(e,"normalizeApplicationVersion",function(){return f}),t.d(e,"compareApplicationVersions",function(){return m}),t.d(e,"isApplicationVersionNewer",function(){return h}),t.d(e,"loadContentVersion",function(){return x});var r=t(0);t(2).get("interchat:app-updater.ts");let o=!1,l={},c=null;async function d(n,e,t=!1){return await v(n,e,t)}function f(n){return n&&"object"==typeof n&&(n=n.result&&n.result.version?n.result.version:n.version?n.version:""),(n||"").toString().replace(/^Ver\.\s*/i,"").replace(/[^\d.].*$/,"").trim()}function m(n,e){const t=f(n),r=f(e),o=t.split(".").map(n=>parseInt(n,10)||0),l=r.split(".").map(n=>parseInt(n,10)||0),c=Math.max(o.length,l.length);for(let n=0;n0?1:-1}return 0}function h(n,e){return!!f(n)&&!!f(e)&&m(n,e)>0}async function v(n,e,t){const o=e||"ksitalk";if(l[o]&&!t)return l[o];const{data:data}=await n.get("/applicationAndroidVersion/",{params:{brand:o,anticache:t?Date.now():void 0},headers:t?{"Cache-Control":"no-cache",Pragma:"no-cache"}:void 0});l[o]=data.result.version;let c=l[o];return r.a.log("Set actual application android version ",c),c}async function x(n,e,t){if(c&&!e)return c;const{data:data}=await n.get("/applicationContentVersion/",{params:{isDevice:t}});let o=data.result.version;return c=o,r.a.log("Set actual contnet version ",o),o}let k="1.17.4";let w=!1;e.default=function({app:e,store:t,redirect:l}){w||(w=!0,async function(n,e,t){try{if(r.a.log("/////////////////////////////////////"),r.a.log("//////////APP START//////////////////"),r.a.log("/////////////////////////////////////"),r.a.log("Content version = ",k),r.a.log("Socket host = ","https://ksitalk.com"),!await n.dispatch("platformDevice/isDevice",{}))return n.commit("SET_APP_UPDATE",{available:!1,version:null}),r.a.log("This is not device ignore app-updater");let l=n.getters["brand/brandName"],c=f(await v(e.$axios,l,!1));if(!c)return void n.commit("SET_APP_UPDATE",{available:!1,version:null});let d=f(await n.dispatch("platformDevice/versionGet",{}));r.a.log("Current version apk = ",d," actualVersion = ",c);const m=h(c,d);if(n.commit("SET_APP_UPDATE",{available:m,version:m?c:null}),!m)return r.a.log("Version same all ok");if(n.getters["Call/isActive"])return void r.a.warn("CALL_PUSH_TRACE app updater skip redirect during active call");if(o)return;r.a.log("redirect to page app update"),o=!0,t("/options/appupdate")}catch(e){n.commit("SET_APP_UPDATE",{available:!1,version:null}),r.a.error("error updater ",e)}}(t,e,l),async function(e,t){let o=await e.dispatch("platformDevice/isDevice",{});if(o)return r.a.log("Device build skips content update channel");let l=await x(t.$axios,!0,o);l&&(r.a.log("Current version content = ",k," actualVersion = ",l),k!=l&&("1"!=n.env.MODE_SERVICE?r.a.log("Web content version differs; skip forced /options/appupdate redirect (KT-0079)"):await e.dispatch("platformDevice/doPageReload",{})))}(t,e))}}.call(this,t(20))},,,,,,,,,,,,,,,,,function(n,e,t){"use strict";(function(n){var r=t(55),o=t(53),l=t(108),c=t(64),d=t(32),f=t(11),m=t(1),h=t(13),v=t(84),x=t(62),k=t(24),w=t(54);t(2).get("interchat:back.vue");e.a={name:"back-layout",mixins:[v.a],components:{ActivatorInitial:o.default,Avatar:d.default,Alert:r.default,SvgBack:l.default,SvgMenu:c.default},head(){let head={title:this.brandName,bodyAttrs:{class:"bg-grey-lighter font-sans ",theme_name:this.themeName},htmlAttrs:{lang:this.$i18n.locale}};return head.bodyAttrs.class+=this.brandBodyClass,head},data:()=>({backPressed:!1,opponent:null,showMenuButton:!1,showBackButton:!0,chatMenuOpen:!1,selectionActive:!1,selectionCount:0,selectionHasText:!1,selMenuOpen:!1}),watch:{$route(){this.closeChatMenu(),this.resetSelection(),Object(k.a)(700)}},mounted(){Object(k.a)(700),m.b.$on(m.a.SELECTION_CHANGED,this.onSelectionChanged),Object(h.c)(),"1"==n.env.MODE_SERVICE&&this.$nextTick(()=>{this.$router.replace(this.localePath("/integration"))})},destroyed(){m.b.$off(m.a.SELECTION_CHANGED,this.onSelectionChanged)},methods:{onSelectionChanged(s){s=s||{},this.selectionActive=!!s.active,this.selectionCount=s.count||0,this.selectionHasText=!!s.hasText,this.selectionActive||(this.selMenuOpen=!1)},resetSelection(){this.selectionActive=!1,this.selectionCount=0,this.selectionHasText=!1,this.selMenuOpen=!1},selExit(){this.selMenuOpen=!1,m.b.$emit(m.a.SELECTION_ACTION,"exit")},selAction(n){this.selMenuOpen=!1,m.b.$emit(m.a.SELECTION_ACTION,n)},doBack(){m.b.$emit(m.a.NAVIGATE_BACK)},doHome(){this.$router.replace({path:this.localePath("/")})},doMenu(){Object(k.b)()||m.b.$emit(m.a.LAYOUT_MENU_CLICK)},toggleChatMenu(){Object(k.b)()||(this.chatMenuOpen=!this.chatMenuOpen)},closeChatMenu(){this.chatMenuOpen=!1},menuChat(){if(this.closeChatMenu(),!this.opponent)return;const n=this.$router.push(Object(w.GoToChatWithUser)(this.opponent.id));n&&n.catch&&n.catch(()=>{})},async menuAudio(){this.closeChatMenu(),this.opponent&&(Object(k.b)()||await Object(x.doStartCallSingle)(this.$store.dispatch,this.opponent.id,!1))},async menuVideo(){this.closeChatMenu(),this.opponent&&(Object(k.b)()||await Object(x.doStartCallSingle)(this.$store.dispatch,this.opponent.id,!0))},menuSearch(){this.closeChatMenu(),m.b.$emit(m.a.CHAT_SEARCH_OPEN)},menuPinned(){this.closeChatMenu(),m.b.$emit(m.a.PINNED_OPEN)}},computed:{...Object(f.c)({themeName:"themeName"}),...Object(f.c)("Users",{me:"mySelf"}),...Object(f.b)({online:"online",isBrandAnyTalk:"brand/isBrandAnyTalk",isBrandKsiTalk:"brand/isBrandKsiTalk",brandName:"brand/brandName"}),isThemeDark(){return this.themeName==h.t},meName(){let n=this.$auth.user?this.$auth.user.name:"";return n.length<=8?n:n.substr(0,8)+"*"},showMenu(){return this.showAvatar}}}}).call(this,t(20))},function(n,e,t){"use strict";(function(n){var r=t(0),o=t(14),l=t(8),c=t(42),d=t.n(c),f=t(47),m=t(10),h=t(43),v=t(142);t(2).get("interchat:fileTransfer:FileSending.vue");var x=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};let k=class extends m.d{constructor(){super(...arguments),this.progress=0,this.progressMax=0,this.blobStream=null,this.crypto=null}beforeDestroy(){this.doAbort()}get progressPercent(){return this.progressMax?this.progress/this.progressMax:0}get progressPercentString(){return(100*this.progressPercent).toFixed(2)}get fileSizeString(){return this.file?Object(f.a)(this.file.size):""}get progressMemoryString(){return Object(f.a)(this.progress)}mounted(){this.onFileChange()}generateCryptoData(){return{id:Object(v.a)(),key:Object(h.generatePassword)().toString("hex"),extraSize:16,algorithm:"aes-256-ctr"}}async doSend(){let e=this.file;if(!e)return;r.a.log("file.webkitRelativePath = ",e.webkitRelativePath),this.crypto=this.generateCryptoData();let t=d.a.createStream({highWaterMark:204800,decodeStrings:!1}),c={size:e.size,name:e.name};this.crypto&&(c.name=this.crypto.id,c.size+=this.crypto.extraSize),d()(l.a).emit(o.a.FILE_UPLOAD_STREAM,t,c,(n,t)=>{if(n)return r.a.error("pipe error ",n),alert("File send failed with error"),this.doAbort();e&&this.doFinish(e,this.crypto)}),this.blobStream=d.a.createBlobReadStream(e,{highWaterMark:204800}),this.blobStream&&(this.progressMax=1.05*e.size,this.progress=0,this.blobStream.on("data",n=>{this.progress+=n.length}),this.blobStream.on("end",()=>{this.blobStream=null}),this.blobStream.on("abort",()=>{this.doAbort()}),this.crypto?(Object(h.setPassword)(n.from(this.crypto.key,"hex")),Object(h.createEncryptStream)(this.blobStream).pipe(t)):this.blobStream.pipe(t))}onFileChange(){this.doAbort(),this.file&&this.doSend()}doAbort(){this.progressMax=0,this.progress=0,this.blobStream&&(this.blobStream.destroy(),this.blobStream=null,this.$emit("abort"))}doAbortBtn(){this.doAbort(),this.$emit("abort")}doFinish(n,e){this.progressMax=0,this.progress=0,this.blobStream=null,this.$emit("finish",n,e)}};x([Object(m.b)()],k.prototype,"file",void 0),x([Object(m.e)("file")],k.prototype,"onFileChange",null),k=x([Object(m.a)({})],k),e.a=k}).call(this,t(12).Buffer)},function(n,e,t){"use strict";(function(n){var r=t(0),o=t(14),l=t(8),c=t(42),d=t.n(c),f=t(47),m=t(471),h=t.n(m),v=t(10),x=t(43);t(2).get("interchat:fileTransfer:FileDownloading.vue");var k=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};let w=class extends v.d{constructor(){super(...arguments),this.progress=0,this.progressMax=0,this.blobStream=null}beforeDestroy(){this.doAbort()}get progressPercent(){return this.progressMax?this.progress/this.progressMax:0}get progressPercentString(){return(100*this.progressPercent).toFixed(2)}get fileSizeString(){return this.fileInfo?Object(f.a)(this.fileInfo.size):""}get progressMemoryString(){return Object(f.a)(this.progress)}mounted(){this.onFileChange()}async doDownload(){if(!this.fileInfo)return;let e=this.fileInfo,t=d.a.createStream(),c={size:e.size,name:e.name};if(e.crypto&&(c.name=e.crypto.id,c.size+=e.crypto.extraSize),r.a.log("start download ",c),d()(l.a).emit(o.a.FILE_DOWNLOAD_STREAM,t,c,(n,e)=>{if(n)return r.a.error("pipe download error ",n),this.doAbort()}),this.blobStream=t,!this.blobStream)return;this.progressMax=e.size,this.progress=0,this.blobStream.on("end",()=>{this.blobStream=null}),this.blobStream.on("abort",()=>{this.doAbort()}),this.blobStream.on("data",async n=>{this.progress+=n.length});let f=h()(async content=>{let n=new Blob([content]),t=await this.$store.dispatch("platformDevice/onFileDownload",{fileName:e.name,fileSize:e.size,fileContent:n});this.doFinish(n,t)});if(e.crypto){Object(x.setPassword)(n.from(e.crypto.key,"hex"));let t=Object(x.createDecryptStream)(f);this.blobStream.pipe(t)}else this.blobStream.pipe(f)}onFileChange(){this.doAbort(),this.fileInfo&&this.doDownload()}doAbort(){this.progressMax=0,this.progress=0,this.blobStream&&(this.blobStream.unpipe(),this.blobStream.destroy(),this.blobStream=null,this.$emit("abort"))}doFinish(n,e=null){this.progressMax=0,this.progress=0,this.blobStream=null,this.$emit("finish",n,e)}};k([Object(v.b)()],w.prototype,"fileInfo",void 0),k([Object(v.e)("file")],w.prototype,"onFileChange",null),w=k([Object(v.a)({})],w),e.a=w}).call(this,t(12).Buffer)},function(n,e,t){"use strict";(function(n){var r=t(55),o=t(53),l=t(198),c=t(140),d=t(11),f=t(64),m=t(32),h=t(109),v=t(84),x=t(1),k=t(13);t(2).get("interchat:loggedIn.vue");e.a={name:"loggedIn-layout",mixins:[v.a],head(){let head={title:this.brandName,bodyAttrs:{class:"bg-grey-lighter font-sans ",lang:this.$i18n.locale,theme_name:this.themeName},htmlAttrs:{lang:this.$i18n.locale}};return head.bodyAttrs.class+=this.brandBodyClass,head},data:()=>({appUpdateTimer:null,searchOpen:!1,searchText:""}),components:{Avatar:m.default,ActivatorInitial:o.default,Alert:r.default,SvgGear:l.default,SvgMenu:f.default,SvgPersonAdd:c.default},computed:{...Object(d.b)({online:"online",unreadedMessagesCount:"unreadedMessagesCount",isBrandAnyTalk:"brand/isBrandAnyTalk",isBrandKsiTalk:"brand/isBrandKsiTalk",brandName:"brand/brandName"}),...Object(d.c)("Users",{me:"mySelf"}),...Object(d.c)({themeName:"themeName",appUpdateAvailable:"appUpdateAvailable",appUpdateVersion:"appUpdateVersion"}),updateTitle(){return this.appUpdateVersion?this.$t("Version available",{version:this.appUpdateVersion}):this.$t("Update available")}},mounted(){Object(k.c)(),"1"==n.env.MODE_SERVICE&&this.$nextTick(()=>{this.$router.replace(this.localePath("/integration"))}),this.checkApplicationUpdateBadge(!0),this.appUpdateTimer=setInterval(()=>this.checkApplicationUpdateBadge(!1),6e5),this.syncApplicationBadge(this.unreadedMessagesCount)},watch:{unreadedMessagesCount(n){this.syncApplicationBadge(n)}},destroyed(){this.appUpdateTimer&&(clearInterval(this.appUpdateTimer),this.appUpdateTimer=null)},methods:{doMenu(){x.b.$emit(x.a.LAYOUT_MENU_CLICK)},openSearch(){this.searchOpen=!0,this.$nextTick(()=>{let n=this.$refs.chatsSearchInput;n&&n.focus&&n.focus()})},onSearchInput(){x.b.$emit(x.a.CHATS_SEARCH_QUERY,this.searchText||"")},closeSearch(){this.searchOpen=!1,this.searchText="",x.b.$emit(x.a.CHATS_SEARCH_QUERY,"")},goAppUpdate(){this.$router.push(this.localePath("/options/appupdate"))},normalizeVersion:n=>Object(h.normalizeApplicationVersion)(n),async checkApplicationUpdateBadge(n){try{if(!await this.$store.dispatch("platformDevice/isDevice",{}))return void this.$store.commit("SET_APP_UPDATE",{available:!1,version:null});const e=this.$store.getters["brand/brandName"],t=this.normalizeVersion(await Object(h.getActualVersionAndroid)(this.$axios,e,n)),r=this.normalizeVersion(await this.$store.dispatch("platformDevice/versionGet",{})),o=Object(h.isApplicationVersionNewer)(t,r);this.$store.commit("SET_APP_UPDATE",{available:o,version:o?t:null})}catch(n){this.$store.commit("SET_APP_UPDATE",{available:!1,version:null})}},syncApplicationBadge(n){this.$store.dispatch("platformDevice/setBadgeCount",{count:n})}}}}).call(this,t(20))},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:fileTransfer:FilePreview.vue");var r=t(10);t(2).get("interchat:fileTransfer:FilePreview.vue");var o=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};let l=class extends r.d{constructor(){super(...arguments),this.previewSrc=null}get fileName(){return this.file?this.file.name:this.file_name}get isNameImage(){return/\.(jpe?g|png|gif|webp|bmp)$/i.test(this.fileName)}onFileChanged(){this.updateImagePreview()}onFileNameChanged(){this.updateImageContent()}onFileContentChanged(){this.updateImageContent()}mounted(){this.updateImagePreview(),this.updateImageContent()}setPreviewSrc(n){this.$nextTick(()=>{let e=this.$refs.previewImg;e&&(this.previewSrc=n,n&&(e.src=n,this.$emit("resize")))})}updateImageContent(){this.fileContentBase64&&(this.isNameImage?this.setPreviewSrc(this.fileContentBase64):this.setPreviewUnknownFile())}updateImagePreview(){if(!this.file)return;let n=this.file;if(!this.isNameImage)return this.setPreviewUnknownFile();try{let e=new FileReader;e.addEventListener("load",()=>{this.setPreviewSrc(e.result)},!1),e.readAsDataURL(n)}catch(n){return this.setPreviewUnknownFile()}}setPreviewUnknownFile(){this.setPreviewSrc(void 0)}};o([Object(r.b)()],l.prototype,"file",void 0),o([Object(r.b)()],l.prototype,"fileContentBase64",void 0),o([Object(r.b)()],l.prototype,"file_name",void 0),o([Object(r.b)({default:!1})],l.prototype,"hideFileName",void 0),o([Object(r.e)("file")],l.prototype,"onFileChanged",null),o([Object(r.e)("file_name")],l.prototype,"onFileNameChanged",null),o([Object(r.e)("fileContentBase64")],l.prototype,"onFileContentChanged",null),l=o([Object(r.a)({})],l);var c=l,d=(t(621),t(5)),component=Object(d.a)(c,function(){var n=this,e=n._self._c;n._self._setupProxy;return n.file||n.fileContentBase64?e("div",{staticClass:"file-listing flex flex-col justify-center text-center items-center"},[e("img",{directives:[{name:"show",rawName:"v-show",value:n.previewSrc,expression:"previewSrc"}],ref:"previewImg",staticClass:"preview max-w-full max-h-screen imageOrientation",attrs:{draggable:"false",src:t(620)}}),n._v(" "),n.hideFileName?n._e():e("p",{staticClass:"text-message"},[n._v(n._s(n.fileName))])]):n._e()},[],!1,null,"80e6176c",null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:ChatMessage.vue");var r=t(490),o=t(491),l=t(492),c=t(493),d=t(32),f=t(495),m=t(496),h=t(13),v=t(18);t(2).get("interchat:ChatMessage.vue");var x={components:{ChatMessageAudio:r.default,ChatMessageText:o.default,ChatMessageCall:l.default,ChatMessageFile:c.default,Avatar:d.default,svgMeEng:f.default,svgMeRus:m.default},props:["me","message","recipientUser","selectionMode","selected"],beforeDestroy(){this._pressTimer&&clearTimeout(this._pressTimer)},methods:{onMessageRemove(n){this.$emit("remove",{id:this.message._id})},onResize(){this.$emit("resize")},onCallStart(n){this.$emit("callStart",n||{videoMode:!1})},avatarFullname:n=>Object(v.b)(n),onPressStart(){this._longFired=!1,this._pressTimer&&clearTimeout(this._pressTimer),this._pressTimer=setTimeout(()=>{this._pressTimer=null,this._longFired=!0,this.$emit("longpress",this.message)},500)},onPressMove(){this._pressTimer&&(clearTimeout(this._pressTimer),this._pressTimer=null)},onPressEnd(){this._pressTimer&&(clearTimeout(this._pressTimer),this._pressTimer=null)},onPressCancel(){this._pressTimer&&(clearTimeout(this._pressTimer),this._pressTimer=null)},onRowClickCapture(n){if(this._longFired)return this._longFired=!1,void(n&&(n.stopPropagation(),n.preventDefault&&n.preventDefault()));this.selectionMode&&(n&&(n.stopPropagation(),n.preventDefault&&n.preventDefault()),this.$emit("toggleselect",this.message))},onContextMenu(n){this.selectionMode&&n&&n.preventDefault&&n.preventDefault()}},computed:{isMine(){return this.message.author===this.me.id},isSecure(){return this.message.isSecure},authorUser(){return this.message.author==this.me.id?this.me:this.message.author==this.recipientUser.id?this.recipientUser:void 0},isRus(){return"ru"==this.$i18n.locale},isDark(){return this.$store.state.themeName==h.t},iconColor(){return this.isDark?"#ffffff":"#000000"}}},k=(t(790),t(5)),component=Object(k.a)(x,function(){var n=this,e=n._self._c;return e("div",{class:["chatmsg-root",n.selectionMode?"chatmsg-root--select":"",n.selected?"chatmsg-root--selected":""],on:{"!click":function(e){return n.onRowClickCapture.apply(null,arguments)},touchstart:n.onPressStart,touchmove:n.onPressMove,touchend:n.onPressEnd,mousedown:n.onPressStart,mouseup:n.onPressEnd,mouseleave:n.onPressCancel,contextmenu:n.onContextMenu}},[n.selectionMode?e("div",{staticClass:"chatmsg-select-circle",class:{"is-checked":n.selected}},[n.selected?e("svg",{attrs:{viewBox:"0 0 24 24",width:"15",height:"15",fill:"#fff"}},[e("path",{attrs:{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}})]):n._e()]):n._e(),n._v(" "),e("div",{class:["chat-message-row",n.isMine?"chat-message-row--mine":"chat-message-row--other"]},[e("div",{staticClass:"chat-message-content"},["call"==this.message.type||"call-missed"==this.message.type?e("chat-message-call",{class:["messsage_common",n.isMine?"messsage_common--mine":"messsage_common--other"],attrs:{me:n.me,recipientUser:n.recipientUser,message:n.message},on:{remove:n.onMessageRemove,callStart:n.onCallStart}}):"file"==this.message.type?e("ChatMessageFile",{class:["messsage_common",n.isMine?"messsage_common--mine":"messsage_common--other"],attrs:{me:n.me,recipientUser:n.recipientUser,message:n.message},on:{remove:n.onMessageRemove,resize:n.onResize}}):e("chat-message-text",{class:["messsage_common",n.isMine?"messsage_common--mine":"messsage_common--other"],attrs:{me:n.me,recipientUser:n.recipientUser,message:n.message},on:{remove:n.onMessageRemove}})],1)])])},[],!1,null,"13a6987e",null);e.default=component.exports},,function(n,e,t){"use strict";t.d(e,"a",function(){return o});t(21);var r=t(0);t(2).get("interchat:webrtc:WebRtcConnection.ts");class o{constructor(n,e){this.config=n,this.isNegotiating=!1,this.isNegotiatingNeedRestart=!1,this.negotiationRestartCount=0,this.reinitAttemptsLeft=0,this.reinitAttemptsMax=0,this.master=!!e}setReinitAttempts(n){this.reinitAttemptsMax=n,this.reinitAttemptsLeft=this.reinitAttemptsMax}setMaster(n){this.master=n}isInited(){return!!this.connection}init(){if(this.connection)return r.a.warn("connection already inited");this.initConnection()}initConnection(){if(this.connection)throw new Error("peerConnection already inited!");r.a.trace("Creating peer connection");let n=new RTCPeerConnection(this.config);return n.onicecandidate=this.onIceCandidate.bind(this),n.onnegotiationneeded=this.onNegotiationNeeded.bind(this),n.onconnectionstatechange=this.onConnectionStateChange.bind(this),n.onicegatheringstatechange=this.onIceGatheringStateChange.bind(this),n.onicecandidateerror=this.onIceCandidateError.bind(this),n.onsignalingstatechange=this.onSignalingStateChange.bind(this),n.onstatsended=this.onStatsEnded.bind(this),this.connection=n,n}destroyConnection(){this.connection&&(this.connection.close(),this.connection=void 0),this.onClosed()}onClosed(){}doClose(){r.a.debug("Connection close:"),this.destroyConnection()}onSignalingStateChange(n){if(this.connection&&(r.a.debug("onSignalingStateChange :",n,"signalingState = ",this.connection.signalingState),this.isNegotiating="stable"!=this.connection.signalingState,!this.isNegotiating))if(this.isNegotiatingNeedRestart){if(r.a.log("Run restart negotiation after state stable"),this.negotiationRestartCount++,this.negotiationRestartCount>3)return this.isNegotiatingNeedRestart=!1,this.negotiationRestartCount=0,void r.a.warn("Too many continues negotiations ");this.doNegotiationStart()}else this.negotiationRestartCount=0}onStatsEnded(n){this.connection&&r.a.debug("onStatsEnded :",n)}onConnectionStateChange(n){if(!this.connection)return;let e=this.connection.connectionState;r.a.debug("Connection state :",e),"failed"==e?this.reinitAttemptsLeft<=0?this.doClose():(this.reinitAttemptsLeft--,r.a.debug("restart negotiation reinitAttemptsLeft = ",this.reinitAttemptsLeft),this.doNegotiationRestart()):"connected"==e&&(this.reinitAttemptsLeft=this.reinitAttemptsMax),this.onConnectionStateChangeEvent(n)}onConnectionStateChangeEvent(n){}onIceGatheringStateChange(n){this.connection&&r.a.debug("on Ice Gathering State Change :",this.connection.iceGatheringState)}onIceCandidateError(n){this.connection&&r.a.debug("onIceCandidateError :",n)}onNegotiationNeeded(n){r.a.debug("onNegotiationNeeded",n),this.doNegotiationStart(n)}isIceCandidateOk(n){return!0}async onIceCandidate(n){if(n.candidate){if(!this.isIceCandidateOk(n.candidate))return;await this.doSignalSend({type:"candidate",candidate:n.candidate.toJSON()})}else r.a.debug("End of candidates.")}async doSignalSend(data){this.onSignalSend&&await this.onSignalSend(data)}onSignalReceive(data){if(!this.connection)return;let n=data.type;"offer"===n?this.signalReceiveOffer(data):"answer"===n?this.signalReceiveAnswer(data):"candidate"===n?this.signalReceiveICECandidate(data):"negotiation"===n?this.signalReceiveNegotiation(data):r.a.warn("Ignore unknown signal message",data)}async signalReceiveOffer(n){if(!this.connection)return;let e=new RTCSessionDescription(n);if("offer"==e.type&&"stable"!=this.connection.signalingState){if(this.master)return;await Promise.all([this.connection.setLocalDescription({type:"rollback"}),this.connection.setRemoteDescription(e)])}else await this.connection.setRemoteDescription(e);if("offer"==e.type){let n=await this.connection.createAnswer();await this.connection.setLocalDescription(n),r.a.debug("Sending answer message",n),r.a.debug("Sending answer to peer."),await this.doSignalSend(n)}}async signalReceiveAnswer(n){this.connection&&(r.a.debug("Receive negotiation answer: ",n),await this.connection.setRemoteDescription(new RTCSessionDescription(n)))}async signalReceiveICECandidate(n){if(this.connection){r.a.debug("Receive ICE Candidate");var e=new RTCIceCandidate(n.candidate);this.connection.addIceCandidate(e)}}async signalReceiveNegotiation(n){r.a.log("signalReceiveNegotiation "),this.connection&&this.master&&(r.a.log("signalReceiveNegotiation on master"),this.doNegotiationStart())}async doNegotiationStart(n,e){if(r.a.debug("NegotiationStart, event = ",n," option =",e),this.connection){if(this.isNegotiating)return this.isNegotiatingNeedRestart=!0,r.a.warn("negotiation already in progress! Try run later");if(this.isNegotiatingNeedRestart=!1,!this.master)return r.a.debug("Ask negotiation to master"),void await this.doSignalSend({type:"negotiation"});this.isNegotiating=!0;try{let n=await this.connection.createOffer(e);if("stable"!=this.connection.signalingState)return void r.a.log("Current signalingState after createOffer = ",this.connection.signalingState,"cancel negotiation");await this.connection.setLocalDescription(n),await this.doSignalSend(n)}catch(n){throw r.a.warn("createOffer() error: ",n),n}}}async doNegotiationRestart(n){return this.doNegotiationStart(n,{iceRestart:!0})}}},function(n,e,t){"use strict";t.d(e,"a",function(){return r});t(192);t(2).get("interchat:streamMixer");class r{constructor(){this.audioSources=[],this.audioContext=null,this.audioDestination=null,this.gainNode=null}release(){this.audioSources.forEach(function(source){source.disconnect()}),this.audioSources=[],this.audioDestination&&(this.audioDestination.disconnect(),this.audioDestination=null),this.gainNode&&(this.gainNode.disconnect(),this.gainNode=null),this.audioContext&&(this.audioContext.close(),this.audioContext=null)}initContext(){this.audioContext&&this.release();var n=window.AudioContext||window.webkitAudioContext;this.audioContext=new n}getMixedAudioStream(n,e){if(e=e||{},!n.length)return null;if(1==n.length&&!e.forceSingle)return n[0];this.initContext(),this.audioSources=[],this.audioDestination=this.audioContext.createMediaStreamDestination();let t=this.audioDestination;return e.useGain&&(this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioDestination),this.setGain(1),t=this.gainNode),n.forEach(n=>{if(!n.getTracks().filter(n=>"audio"===n.kind).length)return;let e=this.audioContext.createMediaStreamSource(n);e.connect(t),this.audioSources.push(e)}),this.audioDestination.stream}setGain(n){this.gainNode&&(this.gainNode.gain.value=n)}}},,function(n,e,t){"use strict";t.r(e),t.d(e,"GoToMenuUser",function(){return m});t(2).get("interchat:users:index.vue");t(0);var r=t(59),o=t(11),l=(t(1),t(54)),c=t(485),d=t(62),f=t(18);t(2).get("interchat:users:index.vue");function m(n){return{path:"/users/",query:{userId:n}}}var h={name:"user-settings",middleware:["auth"],layout:"back",components:{},transition:r.a,data:()=>({userId:null}),computed:{...Object(o.b)({online:"online"}),...Object(o.c)("Users",{users:"users"}),user(){return this.userId&&this.users?this.users[this.userId]:null},userNumber(){return Object(f.d)(this.user)}},created(){this.userId=this.$route.query.userId,this.$parent.$emit("update:opponent",this.user),this.$parent.$emit("update:showMenuButton",!1)},methods:{doRename(){this.$router.push(Object(c.GoToUserEdit)(this.userId))},doPinned(){this.$router.push(Object(l.GoToChatWithUser)(this.userId,{pinned:1}))},async doDelete(){let n=this.user;!0===confirm(this.$t("Are you sure you want remove the conversation with")+" "+this.userNumber+"?")&&(await this.$store.dispatch("sendConversationDeleteWith",n.id),this.doExit())},async getConversationByUserId(n){return await this.$store.dispatch("getConversationIdByOpponentId",{opponentId:n})},async doClearHistory(){if(confirm(this.$t("Remove all messages"))){let n=await this.getConversationByUserId(this.user.id);await this.$store.dispatch("sendConversationClean",n),this.doChat()}},doExit(){this.$router.replace(this.localePath("/"))},doBack(){this.$router.go(-1)},doChat(){this.$router.push(Object(l.GoToChatWithUser)(this.userId))},async doCallVideo(){confirm(this.$t("Do you want start video call with user",{name:this.userNumber}))&&await this.doCall(!0)},async doCallAudio(){confirm(this.$t("Do you want start audio call user",{name:this.userNumber}))&&await this.doCall(!1)},async doCall(n){await Object(d.doStartCallSingle)(this.$store.dispatch,this.userId,n)}},watch:{user(n){this.$parent.$emit("update:opponent",this.user)}}},v=t(5),component=Object(v.a)(h,function(){var n=this,e=n._self._c;return e("div",{staticClass:"container border-t flex flex-1 h-full"},[n.user?e("div",{staticClass:"w-full h-full flex flex-col items-center"},[e("h1",{staticClass:"font-hairline my-3 text-center"},[n._v(n._s(n.$t("User options",{name:n.userNumber})))]),n._v(" "),e("button",{staticClass:"btn bg-green-light my-3 w-1/2",on:{click:n.doCallAudio}},[n._v(n._s(n.$t("Call Audio")))]),n._v(" "),e("button",{staticClass:"btn bg-green-light my-3 w-1/2",on:{click:n.doCallVideo}},[n._v(n._s(n.$t("Call Video")))]),n._v(" "),e("div",{staticClass:"my-3"}),n._v(" "),e("button",{staticClass:"btn bg-green-light my-3 w-1/2",on:{click:n.doRename}},[n._v(n._s(n.$t("Rename")))]),n._v(" "),e("button",{staticClass:"btn bg-green-light my-3 w-1/2",on:{click:n.doPinned}},[n._v(n._s(n.$t("Pinned")))]),n._v(" "),e("div",{staticClass:"my-3"}),n._v(" "),e("button",{staticClass:"btn bg-yellow my-3 w-1/2",on:{click:n.doClearHistory}},[n._v(n._s(n.$t("Clear history")))]),n._v(" "),e("button",{staticClass:"btn bg-red-light my-3 w-1/2",on:{click:n.doDelete}},[n._v(n._s(n.$t("Delete")))]),n._v(" "),e("div",{staticClass:"my-3"})]):n._e()])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:MessageReactions.vue");var r=t(66);t(2).get("interchat:messages:MessageReactions.vue");var o={name:"message-reactions",props:["message","me","mine"],computed:{badges(){let n=this.me?this.me.id:null;return Object(r.b)(this.message?this.message.reactions:null,n)}},methods:{toggle(n){this.message&&this.$store.dispatch("sendReaction",{conversationId:this.message.conversationId,messageId:this.message._id,emoji:n})}}},l=(t(768),t(5)),component=Object(l.a)(o,function(){var n=this,e=n._self._c;return n.badges.length?e("div",{class:["msg-reactions",n.mine?"msg-reactions--mine":""]},n._l(n.badges,function(b){return e("button",{key:b.emoji,class:["msg-reactions__badge",b.mine?"msg-reactions__badge--active":""],attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.toggle(b.emoji)}}},[e("span",{staticClass:"msg-reactions__emoji"},[n._v(n._s(b.emoji))]),n._v(" "),e("span",{staticClass:"msg-reactions__count"},[n._v(n._s(b.count))])])}),0):n._e()},[],!1,null,"dc8c683c",null);e.default=component.exports},,function(n,e,t){"use strict";t.r(e),t.d(e,"CRYPT_STORE_KEY_NAME_CONTACT_LIST",function(){return T}),t.d(e,"state",function(){return j}),t.d(e,"getters",function(){return U}),t.d(e,"mutations",function(){return F}),t.d(e,"actions",function(){return K});var r=t(0),o=t(8),l=t(67),c=t.n(l);t(2).get("interchat:EncryptRSA");const d="pkcs8-public-pem",f="base64",m="base64";c.a.prototype.validateKeyPair=function(){const text="Hello RSA!",n=this.sign(text,f);if(!this.verify(text,n,void 0,f))throw new Error("Rsa key pair is not match")},c.a.prototype.importKeyJson=function(n){if(!n)throw new Error("Failed build key. ata is null");this.importKey(n.body,n.format)},c.a.prototype.exportKeyJson=function(n){return{body:this.exportKey(n),format:n}},c.a.prototype.comparePublicKey=function(n){return n&&n.body==this.exportKey(n.format)};class h{constructor(){this.key=null}isActivated(){return null!=this.key}static buildPublicKey(n){let e=new c.a;return e.importKeyJson(n),e}encryptMessage(n,e){return{body:e.encrypt(n,m),sign:this.key.sign(n,f)}}encryptMessageSelf(n){return this.encryptMessage(n,this.key)}decryptMessage(n,e){if(!n||!n.body||!n.sign)throw new Error("Bad message object");const text=this.key.decrypt(n.body,null,m);if(!e.verify(text,n.sign,void 0,f))throw new Error("Sign check fail");return text}decryptMessageSelf(n){return this.decryptMessage(n,this.key)}comparePublicKey(n){return this.key.comparePublicKey(n)}initNew(){this.__setKey(new c.a({b:"1024"}))}import(n){let e=new c.a;e.importKeyJson(n.public),e.importKeyJson(n.private),this.__setKey(e)}export(){if(!this.isActivated())throw new Error("Can not export not inited rsa");return{public:this.key.exportKeyJson(d),private:this.key.exportKeyJson("pkcs8-private-pem")}}exportPublicKey(){return this.key.exportKeyJson(d)}static __makeRsaKeySerialized(body,n){return{body:body,format:n}}__setKey(n){n.validateKeyPair(),this.key=n}}t(2).get("interchat:EncryptStore");var v=t(827);const x="GOOD";class k{constructor(){this.isOk=!1,this.store=null,this.passphrase=""}initStoreNew(n){this.passphrase=n,this.store=k.buildStore(),this.isOk=!0}initStore(n,e){this.passphrase=n,this.store=k.decryptStore(this.passphrase,e),this.isOk=!0}static encryptStore(n,e){if(!k.checkValid(e))throw new Error("Validation failed");return v.encrypt(n,JSON.stringify(e))}static decryptStore(n,e){let data=v.decrypt(n,e),t=JSON.parse(data);if(!k.checkValid(t))throw new Error("Validation failed");return t}static checkValid(n){return!(!n||!n.head)&&("1.0"==n.head.v&&n.head.mark==x)}static buildStore(){return{head:{mark:x,v:"1.0"},payload:{}}}getEncrypted(){return k.encryptStore(this.passphrase,this.store)}get payload(){return this.store.payload}set payload(n){this.store.payload=n}setItem(n,e){this.store.payload[n]=e}getItem(n,e){return this.store.payload[n]}}var w=t(473),main=t(474),y=t(9),_=t(13);t(2).get("interchat:cryptBackup.ts");const S="ksitalk-crypt-backup-plain";function C(n){return`ksitalk-key-${String(n||"user").replace(/[^a-zA-Z0-9_-]/g,"_")}.backup`}function E(n){if(!n)return null;let e=n;if("string"==typeof n)try{e=JSON.parse(n)}catch(n){return null}if(!e||e.type!=S||!e.payload)return null;let t=e.payload;return t.passphrase&&t.storeData?{passphrase:t.passphrase,storeData:t.storeData}:null}t(2).get("interchat:crypt.ts");const I=parseInt("16"),A=!0,T="contactList";function O(n){return n+":passphrase"}function M(n,e,t){return n+":chat:"+e+":msg:"+t}function N(n){return localStorage.getItem(O(n))}function D(n,e){localStorage.setItem(O(n),e)}var R=new h,P=new k;function L(n,e){(new k).initStore(n,e)}const j=()=>({isOk:!1,passphrase:"",failRsa:!1,failStore:!1,publicKey:null,userId:null,username:"",storeEmpty:!1,cloudBackupEnabled:Object(_.o)(_.h.CRYPTO_CLOUD_BACKUP),fileBackupStatus:"unchecked"}),U={enable:n=>A,isOk:n=>n.isOk,isStoreFail:n=>n.failStore,alertFlag:n=>!n.isOk,passphrase:n=>n.passphrase,isStoreEmpty:n=>n.storeEmpty,cloudBackupEnabled:n=>n.cloudBackupEnabled,fileBackupStatus:n=>n.fileBackupStatus},F={RESET(n,e){n.isOk=!1,n.passphrase="",n.failRsa=!1,n.failStore=!1,n.storeEmpty=!1,e&&(n.publicKey=null,n.userId=null)},SET_PASSPHRASE(n,e){n.passphrase=e},SET_IS_OK(n,e){n.isOk=e},SET_FAIL_RSA(n,e){n.failStore=e},SET_STORE_EMPTY(n,e){n.storeEmpty=e},SET_CLOUD_BACKUP_ENABLED(n,e){n.cloudBackupEnabled=e},SET_FILE_BACKUP_STATUS(n,e){n.fileBackupStatus=e||"unchecked"},SET_FAIL_STORE(n,e){n.failStore=e},SET_USER_INFO(n,{user:e}){n.publicKey=e.publicKey,n.userId=e.id,n.username=e.username||e.name||String(e.id||"")}};function z({state:n,commit:e,dispatch:t},o){if(r.a.debug("Store start decrypt data"),e("SET_FAIL_STORE",!0),e("SET_STORE_EMPTY",!1),!n.userId)throw new Error("User id not set");let l=N(n.userId);if(e("SET_PASSPHRASE",l),!l||""==l)throw new Error("Passphrase empty");if(!o)throw e("SET_STORE_EMPTY",!0),new Error("Store not inited");if((P=new k).initStore(l,o),!P.isOk)throw new Error("Store init failed unknown reason");return e("SET_FAIL_STORE",!1),r.a.debug("Store decrypted"),P}function $({state:n,commit:e,dispatch:t},o){if(e("SET_FAIL_RSA",!0),(R=new h).import(o.getItem("rsa")),!R.isActivated())throw new Error("RSA key corrupted!");return r.a.debug("RSA key imported"),e("SET_FAIL_RSA",!1),R}function B(n){return n.username||String(n.userId||"user")}function G(n,e){if(!n||!e)return!1;try{return L(n,e),!0}catch(n){return!1}}function V(n,data={}){try{r.a.log("CRYPT_TRACE",n,data)}catch(n){}}function H(n){let text="";try{text="string"==typeof n?n:JSON.stringify(n)}catch(e){text=String(n||"")}let e=0;for(let i=0;iw(I,!0)+main.generate({length:I,numbers:!0,symbols:!1,lowercase:!1,uppercase:!1}),decryptMessage({state:n},{message:e,opponent:t}){if(!n.isOk)return e;let o=function(n,e,t,r){let o=localStorage.getItem(M(n,e,t));if(null==o)return null;let l=r?String(r):"";try{let n=JSON.parse(o);if(n&&"object"==typeof n&&"b"in n)return(n.e||"")===l?n.b:null}catch(n){}return l?null:o}(this.$auth.user.id,e.conversationId,e._id,e.editedAt);if(null!=o)return e.body=o,e.isSecure=!0,e;if(e.isSecure=!1,!e.cryptoData||!e.cryptoData.encryptDest||!e.cryptoData.encryptDest.body)return e;try{if(e.author==this.$auth.user.id)e.body=R.decryptMessageSelf(e.cryptoData.encryptSrc).toString(),e.isSecure=!0;else if(t&&t.publicKey&&t.publicKey.body){let n=h.buildPublicKey(t.publicKey);e.body=R.decryptMessage(e.cryptoData.encryptDest,n).toString(),e.isSecure=!0}}catch(n){r.a.warn("decryptMessage error",n),e.body="decryption fails"}return e.isSecure&&function(n,e,t,r,o){let l=JSON.stringify({e:o?String(o):"",b:r});localStorage.setItem(M(n,e,t),l)}(this.$auth.user.id,e.conversationId,e._id,e.body,e.editedAt),e},async encryptMessage({state:n,dispatch:e},{message:t,opponent:o}){if(t.isSecure=!1,V("encryptMessage:start",{isOk:n.isOk,userId:n.userId,opponentId:o&&o.id,hasOpponentPublicKey:!!(o&&o.publicKey&&o.publicKey.body)}),!n.isOk)try{await e("importAll",{})}catch(n){V("encryptMessage:importAll:error",n),r.a.warn("Encrypt store auto import before send failed",n)}if(!n.isOk)throw V("encryptMessage:notReady"),new Error(this.$i18n.t("cryptError.keyNotReady"));if(!o.publicKey||!o.publicKey.body)throw new Error(this.$i18n.t("cryptError.opponentKeyNotReady"));let l=null;try{l=h.buildPublicKey(o.publicKey)}catch(n){throw n}let c=R.encryptMessage(t.body,l),d=R.encryptMessageSelf(t.body);return t.cryptoData={encryptDest:c,encryptSrc:d,recipientPublicKey:{body:o.publicKey.body,format:o.publicKey.format}},t.body="crypted:"+Date.now().toString(36)+":"+Math.random().toString(36).slice(2,8),t.isSecure=!0,t},async storeItemGet({},{name:n}){if(!P||!P.isOk)throw new Error("Encrypted storage not inited");return P.getItem(n)},async contactNamesCloudGet({state:n}){try{if(!n.userId)return{names:{},version:0};let e=N(n.userId),t=await o.a.runActionGet("/user/contact-names"),r=t&&"number"==typeof t.version?t.version:0,body=t?t.body:null;if(!body||!e)return{names:{},version:r};let l=new k;l.initStore(e,body);let c=l.getItem("names");return{names:c&&"object"==typeof c?c:{},version:r}}catch(n){return r.a.warn("contactNamesCloudGet failed",n),{names:{},version:0}}},async contactNamesCloudSet({state:n},{names:e,baseVersion:t}){try{if(!n.userId)return{ok:!1};let r=N(n.userId);if(!r)return{ok:!1};let l=new k;l.initStoreNew(r),l.setItem("names",e||{});let body=l.getEncrypted(),c=await o.a.runActionPost("/user/contact-names",{body:body,baseVersion:t});if(c&&c.conflict){let n={};try{if(c.body){let e=new k;e.initStore(r,c.body);let t=e.getItem("names");t&&"object"==typeof t&&(n=t)}}catch(n){}return{ok:!1,conflict:!0,version:c.version,names:n}}return{ok:!(!c||!c.ok),version:c?c.version:void 0}}catch(n){return r.a.warn("contactNamesCloudSet failed",n),{ok:!1}}},async storeItemSet({dispatch:n},{name:e,value:t,commit:r=!1}){if(!P||!P.isOk)throw new Error("Encrypted storage not inited");P.setItem(e,t),r&&await n("storeCommit")},async storeCommit({dispatch:n}){let e=P.getEncrypted();L(P.passphrase,e),await n("commitStore",{body:e})}}},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:svg:PersonAdd.vue");var r=t(5),component=Object(r.a)({},function(){var n=this,e=n._self._c;return e("svg",{attrs:{version:"1.1",x:"0px",y:"0px",height:"1.5rem",viewBox:"0 0 70.87 56.69","enable-background":"new 0 0 70.87 56.69","xml:space":"preserve"}},[e("g",[e("path",{attrs:{fill:"none",stroke:"#010101","stroke-width":"6","stroke-miterlimit":"10",d:"M50.931,51.416\n\t\t\t\tc0-12.357-10.018-20.375-22.375-20.375S6.181,39.059,6.181,51.416l0,0H50.931L50.931,51.416z"}}),n._v(" "),e("circle",{attrs:{fill:"none",stroke:"#010101","stroke-width":"6","stroke-miterlimit":"10",cx:"28.056",cy:"18.542",r:"12.5"}}),n._v(" "),e("path",{attrs:{fill:"#010101",d:"M64.806,11.417h-6.125V5.292c0-1.312-1.063-2.375-2.375-2.375s-2.375,1.063-2.375,2.375v6.125h-6.125\n\t\t\t\tc-1.312,0-2.375,1.063-2.375,2.375s1.063,2.375,2.375,2.375h6.125v6.125c0,1.312,1.063,2.375,2.375,2.375\n\t\t\t\ts2.375-1.063,2.375-2.375v-6.125h6.125c1.312,0,2.375-1.063,2.375-2.375S66.117,11.417,64.806,11.417z"}})])])},[],!1,null,null,null);e.default=component.exports},,,function(n,e,t){"use strict";t.r(e);t(2).get("interchat:UserListSelect.vue");var r=t(11),o=t(4),l=t(32);t(2).get("interchat:UserListSelect.vue");var c={name:"user-list-select",components:{avatar:l.default},props:{buttonDoneCaption:String,multi:{type:Boolean,default:!0}},data:()=>({filterText:"",selectedUsersId:{}}),computed:{selectedCount(){return Object.keys(this.selectedUsersId).length},filteredUsers(){return""===this.filterText?this.sortedUsers:Object.keys(this.sortedUsers).reduce(this.filterByUsername,{})},...Object(r.b)({sortedUsers:"Users/sortedUsers"}),...Object(r.c)("Users",{users:"users"})},methods:{isSelected(n){return this.selectedUsersId[n.id]},select(n){let e=this.isSelected(n);this.multi||(this.selectedUsersId={}),e?o.default.delete(this.selectedUsersId,n.id):o.default.set(this.selectedUsersId,n.id,1)},async done(){this.$emit("done",{selectedUsersId:this.selectedUsersId})},filterByUsername(n,e){return this.users[e].name.includes(this.filterText)&&(n[e]=this.users[e]),n}}},d=t(5),component=Object(d.a)(c,function(){var n=this,e=n._self._c;return e("div",{staticClass:"user_list_container border rounded flex flex-1 flex-col h-full overflow-hidden"},[e("div",{staticClass:"p-2 border-b"},[e("button",{staticClass:"btn bg-green w-full",attrs:{disabled:0==n.selectedCount},on:{click:n.done}},[n._v(n._s(this.buttonDoneCaption))])]),n._v(" "),e("div",{staticClass:"search p-2 border-b"},[e("input",{directives:[{name:"model",rawName:"v-model",value:n.filterText,expression:"filterText"}],staticClass:"input-control",attrs:{type:"text",placeholder:n.$t("Search")},domProps:{value:n.filterText},on:{input:function(e){e.target.composing||(n.filterText=e.target.value)}}})]),n._v(" "),e("div",{staticClass:"users app-height flex flex-1 h-full overflow-hidden",attrs:{"data-v-bar":""}},[e("div",{staticClass:"user-list-class"},n._l(n.filteredUsers,function(t){return e("div",{key:t.id,class:["flex items-center cursor-pointer text-sm text-dark-softner border-b p-2",n.isSelected(t)?"bg-grey-lighter":""],on:{click:function(e){return n.select(t)}}},[e("UserBadge",{staticClass:"py-2 ml-2",attrs:{user:t}}),n._v(" "),n._m(0,!0),n._v(" "),e("div",{staticClass:"flex items-center justify-end"},[e("button",{class:["btn inline-flex items-center",n.isSelected(t)?"btn-green":"bg-white"],on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.select(t)}}},[n._v(n._s(n.isSelected(t)?n.$t("dismis"):n.$t("select")))])])],1)}),0)])])},[function(){var n=this._self._c;return n("div",{staticClass:"py-2 mx-2 flex-1"},[n("div",{staticClass:"w-full text-center"})])}],!1,null,null,null);e.default=component.exports;installComponents(component,{UserBadge:t(215).default})},function(n,e,t){n.exports=t.p+"img/bg.65876e4.jpg"},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:Chat.vue");t(21);var r=t(194),o=t(131),l=t(143),c=t(11),d=(t(196),t(1)),f=t(86),m=t(30),h=t(8),v=t(0);t(2).get("interchat:pinsCloud.ts");async function x(){try{let n=await h.a.runActionGet("/user/pins"),e=n&&"number"==typeof n.version?n.version:0,map={};if(n&&n.body)try{let e=JSON.parse(n.body);e&&"object"==typeof e&&(map=e)}catch(n){}return{map:map,version:e}}catch(n){return v.a.warn("KT-0211 pinsCloudGet failed",n),{map:{},version:0}}}var k=t(14),w=t(23),y=t(57),_=t(136),S=t(37),C=t(472),E=t(62),I=t(95),A=t(18),T=t(65),O=t(28),M=t(47);t(2).get("interchat:Chat.vue");const N={};var D={name:"chat",components:{ChatNewMessage:r.default,ChatMessage:o.default,UserListSelect:l.default,MessageActionMenu:f.default},data:()=>({showLimit:20,lastMessageId:null,ignoreScroll:!1,scrolledBottom:!1,forwardMessageText:null,forwardMessageType:void 0,forwardFromName:"",forwardFromNumber:"",messageInputFocused:!1,keyboardVisible:!1,keyboardOffset:0,fileSending:!1,fileSendPercent:0,searchOpen:!1,searchQuery:"",searchLoadingDeeper:!1,highlightId:null,selectionMode:!1,selectedKeys:[],selectMenuOpen:!1,pinDialogItem:null,pinForOpponent:!1,pinnedOpen:!1,pinnedList:[],pinnedMenuItem:null,pinnedThumbs:{}}),props:{conversation:Object,recipient:Object,userConversationOpponent:Object,userConversationMy:Object,showCallButton:{type:Boolean,default:!0}},computed:{...Object(c.b)({cryptAlertFlag:"crypt/alertFlag"}),...Object(c.c)("platformDevice",{deviceInBackground:"background"}),...Object(c.c)("Users",{me:"mySelf"}),isSecure(){return!this.cryptAlertFlag&&this.recipient&&this.recipient.publicKey&&this.recipient.publicKey.body},conversationId(){return this.conversation?this.conversation._id:null},isChannelConv(){return Object(O.f)(this.recipient)},isMeChannelAdmin(){return Object(O.e)(this.me)},pinOpponentLabel(){if(!this.recipient)return"";let n=this.recipient.name||"",e=Object(A.d)(this.recipient)||"";return n&&e&&n!==e?n+" · "+e:n||e},pinnedMenuActions(){return[{id:"copy",label:this.$t("Copy")},{id:"goto",label:this.$t("Go to")},{id:"unpin",label:this.$t("Unpin")},{id:"forward",label:this.$t("Forward")},{id:"delete",label:this.$t("Delete")}]},messageLast(){return this.messagesAll[0]},messagesAll(){return this.conversation?this.conversation.messages:[]},messages(){return this.messagesAll.slice(0,this.showLimit)},messagesHiddenCount(){return Math.max(0,this.messagesAll.length-this.showLimit)},messagesTotal(){return this.conversation?this.conversation.messagesTotal:0},messagesLoadLeft(){return this.messagesTotal-this.messagesAll.length},searchResults(){let q=(this.searchQuery||"").trim();if(!q)return[];let n=q.toLowerCase(),e=[],t=this.messagesAll,r=this.me?this.me.id:null;for(let i=0;i0?"…":"")+text.slice(c,l),match:text.slice(l,l+q.length),after:text.slice(l+q.length,d)+(d0&&0===this.messagesAll.length},messageUnread(){return this.userConversationOpponent?this.userConversationOpponent.msgUnreadCount:0},messagesMarked(){let n=this.messages,e=this.messageUnread;if(!e)return n;let t=this.$auth.user.id;if(!t)return n;n=[...n];for(let i=0;i0},chatRootStyle(){return this.keyboardPinActive?{height:`calc(100% - ${this.keyboardOffset}px)`}:null},newMessageStyle(){return this.keyboardPinActive||!this.keyboardOffset?null:{transform:`translateY(-${this.keyboardOffset}px)`,zIndex:1300}}},created(){window&&window.addEventListener("resize",this.windowResize)},destroyed(){window&&window.removeEventListener("resize",this.windowResize),this.removeViewportListeners(),"undefined"!=typeof document&&this._iosDragLockOn&&(document.removeEventListener("touchmove",this.onDocumentTouchMove,{passive:!1}),this._iosDragLockOn=!1)},mounted(){this.addViewportListeners(),this.$nextTick(()=>{this.restoreScrollOrEnd()}),this.trySendSharedFiles();try{h.a.on(k.a.PINS_UPDATED,this.onPinsUpdated)}catch(n){}this.syncPinsFromCloud()},beforeMount(){d.b.$on(d.a.LAYOUT_MENU_CLICK,()=>{this.$router.push(Object(_.GoToMenuUser)(this.recipient.id))}),d.b.$on(d.a.MESSAGE_FORWARD,this.openForwardSelect),d.b.$on(d.a.CHAT_SEARCH_OPEN,this.openSearch),d.b.$on(d.a.MESSAGE_PIN,this.onMessagePin),d.b.$on(d.a.PINNED_OPEN,this.openPinned),d.b.$on(d.a.SELECTION_ACTION,this.onSelectionAction)},beforeDestroy(){d.b.$off(d.a.LAYOUT_MENU_CLICK),d.b.$off(d.a.MESSAGE_FORWARD,this.openForwardSelect),d.b.$off(d.a.CHAT_SEARCH_OPEN,this.openSearch),d.b.$off(d.a.MESSAGE_PIN,this.onMessagePin),d.b.$off(d.a.PINNED_OPEN,this.openPinned),d.b.$off(d.a.SELECTION_ACTION,this.onSelectionAction),d.b.$emit(d.a.SELECTION_CHANGED,{active:!1,count:0,hasText:!1}),this.disarmHighlightClear(),this.saveScrollPosition();try{h.a.off(k.a.PINS_UPDATED,this.onPinsUpdated)}catch(n){}},methods:{pushPinsCloud(){let n=this.conversation&&this.conversation._id;n&&async function(n,e){if(!n)return!1;for(let t=0;t<3;t++){let{map:map,version:t}=await x();e&&e.length?map[n]=e:delete map[n];try{let n=await h.a.runActionPost("/user/pins",{body:JSON.stringify(map),baseVersion:t});if(n&&n.conflict)continue;return!(!n||!n.ok)}catch(n){return v.a.warn("KT-0211 pinsCloudSet failed",n),!1}}return!1}(n,Object(m.e)(n).map(p=>({id:p.id,pinnedAt:p.pinnedAt||0}))).catch(n=>v.a.warn("KT-0211 push failed",n))},onPinsUpdated(){this.syncPinsFromCloud()},async syncPinsFromCloud(){let n=this.conversation&&this.conversation._id;if(n)try{let{map:map}=await x();if(!this.conversation||this.conversation._id!==n)return;let e=map&&map[n]?map[n]:[],t=Object(m.e)(n),r={};t.forEach(p=>{r[p.id]=p});let o={};(this.messagesAll||[]).forEach(n=>{let e=n._id||n.id;e&&(o[e]=n)});let l={},c=[];for(let t of e){if(!t||!t.id||l[t.id])continue;l[t.id]=!0;let e=r[t.id];if(e&&!e._unresolved){c.push(e);continue}let d=o[t.id];d?c.push({id:t.id,conversationId:n,type:d.type||"text",body:"string"==typeof d.body?d.body:"",author:d.author,createdAt:d.createdAt,pinnedAt:t.pinnedAt||0}):e?c.push(e):c.push({id:t.id,conversationId:n,type:"text",body:"",author:void 0,createdAt:void 0,pinnedAt:t.pinnedAt||0,_unresolved:!0})}if(!Object(m.f)(n)){let e={};c.forEach(p=>{e[p.id]=p}),t.forEach(p=>{e[p.id]||(e[p.id]=p)});let r=Object.keys(e).map(n=>e[n]);return Object(m.h)(n,r),Object(m.g)(n),this.refreshPinned(),void this.pushPinsCloud()}let d=Date.now()-2e4;t.forEach(p=>{!l[p.id]&&(p.pinnedAt||0)>d&&(l[p.id]=!0,c.push(p))}),Object(m.h)(n,c),this.refreshPinned()}catch(n){v.a.warn("KT-0211 syncPinsFromCloud failed",n)}},onMessagePin(n){if(!n||!n.id)return;let e=this.conversation&&this.conversation._id||n.conversationId;if(!e)return;let t=Object.assign({},n,{conversationId:e});Object(m.a)(t);try{Object(d.d)(this.$t("Message pinned"))}catch(n){}this.refreshPinned(),this.pushPinsCloud()},closePinDialog(){this.pinDialogItem=null},doPin(){if(this.pinDialogItem){Object(m.a)(this.pinDialogItem);try{Object(d.d)(this.$t("Message pinned"))}catch(n){}this.refreshPinned(),this.pushPinsCloud()}this.pinDialogItem=null},openPinned(){this.pinnedList=this.conversation?Object(m.e)(this.conversation._id).filter(p=>p&&!p._unresolved):[],this.pinnedMenuItem=null,this.pinnedOpen=!0,this.loadPinnedThumbs(),this.syncPinsFromCloud()},closePinned(){this.pinnedOpen=!1,this.pinnedMenuItem=null},refreshPinned(){this.pinnedList=this.conversation?Object(m.e)(this.conversation._id).filter(p=>p&&!p._unresolved):[],this.loadPinnedThumbs()},pinIcon:p=>p&&"file"===p.type?"📎":!p||"call"!==p.type&&"call-missed"!==p.type?"💬":"📞",pinFileInfo(p){try{return p&&p.body?JSON.parse(p.body):null}catch(n){return null}},pinIsImage(p){let n=this.pinFileInfo(p);return!!n&&(0===(n.type?String(n.type):"").indexOf("image/")||/\.(png|jpe?g|gif|webp|bmp)$/i.test(n.name||""))},async loadPinnedThumbs(){let n=this.pinnedList||[];for(let p of n)if(!this.pinnedThumbs[p.id]&&this.pinIsImage(p))try{let n=this.pinFileInfo(p),e=Object(w.DownloadedFileKey)(p.id,n),t=await Object(w.DownloadedFileThumbGet)(e);if(!t){let n=await Object(w.DownloadedFileContentGet)(e);n&&(t=await Object(y.a)(n))}t&&this.$set(this.pinnedThumbs,p.id,t)}catch(n){}},pinToMessage:p=>({_id:p.id,id:p.id,type:p.type||"text",body:p.body,author:p.author,createdAt:p.createdAt,conversationId:p.conversationId,isSecure:!0}),pinFileText(p){let n=this.pinFileInfo(p);return n?this.$t("File name and size",{name:n.name||this.$t("File"),size:Object(M.a)(n.size)}):this.$t("File")},pinDisplay(n){if(!n)return"";if("file"===n.type)try{let e=JSON.parse(n.body);return e&&e.name?e.name:this.$t("File")}catch(n){return this.$t("File")}return"call"===n.type||"call-missed"===n.type?this.$t("Call"):n.body||""},openPinnedItemMenu(n){this.pinnedMenuItem=n},async onPinnedAction(n){let e=this.pinnedMenuItem;if(this.pinnedMenuItem=null,e){if("unpin"===n)return Object(m.c)(e.conversationId,e.id),this.refreshPinned(),void this.pushPinsCloud();if("copy"===n){let text=this.pinDisplay(e);try{navigator.clipboard&&navigator.clipboard.writeText&&await navigator.clipboard.writeText(text)}catch(n){}return}return"forward"===n?(this.closePinned(),void d.b.$emit(d.a.MESSAGE_FORWARD,{text:e.body,type:e.type})):"goto"===n?(this.closePinned(),void this.$nextTick(()=>this.gotoPinnedMessage(e.id))):"delete"===n?(Object(m.c)(e.conversationId,e.id),this.refreshPinned(),this.pushPinsCloud(),void this.onMessageRemove({id:e.id})):void 0}},async gotoPinnedMessage(n){let e=()=>this.messagesAll.some(e=>(e._id||e.id)===n),t=0;for(;!e()&&this.messagesLoadLeft>0&&this.recipient&&t<500;){t++;let n=this.messagesAll.length;try{await this.$store.dispatch("fetchConversationMessages",{opponentId:this.recipient.id,limit:100})}catch(n){v.a.error("pin goto deep load err "+n);break}if(this.messagesAll.length<=n)break}this.jumpToMessage({id:n})},addViewportListeners(){"undefined"!=typeof window&&(window.addEventListener("orientationchange",this.updateKeyboardViewport),window.visualViewport&&(window.visualViewport.addEventListener("resize",this.updateKeyboardViewport),window.visualViewport.addEventListener("scroll",this.updateKeyboardViewport)),this.updateKeyboardViewport())},removeViewportListeners(){"undefined"!=typeof window&&(window.removeEventListener("orientationchange",this.updateKeyboardViewport),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.updateKeyboardViewport),window.visualViewport.removeEventListener("scroll",this.updateKeyboardViewport)))},updateKeyboardViewport(){if("undefined"==typeof window||!window.visualViewport)return this.keyboardVisible=!1,void(this.keyboardOffset=0);const n=window.visualViewport,e=Math.max(0,window.innerHeight-n.height-n.offsetTop);this.keyboardOffset=e>80?Math.round(e):0,this.keyboardVisible=this.keyboardOffset>0,this.syncIosDragLock()},chatLayoutDebugLog(n){if("undefined"!=typeof window)try{const e=window.visualViewport,t=this.$el,input=document.getElementById("btn_b_send_message");v.a.warn("KT-0088 chat layout",{reason:n,path:this.$route?this.$route.fullPath:null,innerHeight:window.innerHeight,vvHeight:e?Math.round(e.height):null,vvOffsetTop:e?Math.round(e.offsetTop):null,keyboardOffset:this.keyboardOffset,keyboardVisible:this.keyboardVisible,rootClientHeight:t?t.clientHeight:null,bodyClientHeight:document.body?document.body.clientHeight:null,docClientHeight:document.documentElement?document.documentElement.clientHeight:null,sendBtnBottom:input?Math.round(input.getBoundingClientRect().bottom):null,sendBtnTop:input?Math.round(input.getBoundingClientRect().top):null,winScrollY:Math.round(window.pageYOffset||window.scrollY||0),docScrollTop:document.documentElement?Math.round(document.documentElement.scrollTop):null})}catch(n){v.a.warn("KT-0088 chat layout log failed",n)}},syncIosDragLock(){if("undefined"==typeof document)return;const n=this.isIosWeb&&this.keyboardVisible;n&&!this._iosDragLockOn?(document.addEventListener("touchmove",this.onDocumentTouchMove,{passive:!1}),this._iosDragLockOn=!0):!n&&this._iosDragLockOn&&(document.removeEventListener("touchmove",this.onDocumentTouchMove,{passive:!1}),this._iosDragLockOn=!1)},onDocumentTouchMove(n){let e=n.target;const t=this.$refs.chat_history;for(;e;){if(e===t)return;if("TEXTAREA"===e.tagName||"INPUT"===e.tagName)return;e=e.parentNode}n.cancelable&&n.preventDefault()},onMessageTextFocus(){this.messageInputFocused=!0,this.updateKeyboardViewport(),this.keepInputVisible()},onMessageTextBlur(){window.setTimeout(()=>{this.messageInputFocused=!1,this.updateKeyboardViewport()},180)},keepInputVisible(){const n=()=>{let n=this.$refs.new_message;n&&n.$el&&n.$el.scrollIntoView({block:"end",inline:"nearest"})};this.$nextTick(()=>{n(),window.setTimeout(n,120),window.setTimeout(n,450)})},openForwardSelect({text:text,type:n,fromName:e,fromNumber:t}){text&&(this.forwardMessageText=text,this.forwardMessageType=n||void 0,this.forwardFromName=e||"",this.forwardFromNumber=t||"")},cancelForward(){this.forwardMessageText=null,this.forwardMessageType=void 0,this.forwardFromName="",this.forwardFromNumber="",this._forwardBatch=null},buildForwardBody(body,n,e,t){let r=!(!e&&!t);if("file"===n){if(!r)return body;try{let n=JSON.parse(body);if(n&&"object"==typeof n)return n.forwardedFrom={name:e||"",number:t||""},JSON.stringify(n)}catch(n){}return body}let text=Object(T.c)(body);if(!r)return text;let o=e&&t?e+" : "+t:e||t;return Object(T.b)(this.$t("Quote from"),o,text)},msgKey:n=>n?n._id||n.id:null,isSelected(n){return this.selectedKeys.indexOf(this.msgKey(n))>=0},onMsgLongPress(n){this.selectionMode=!0,this.selectMenuOpen=!1;let e=this.msgKey(n);null!=e&&this.selectedKeys.indexOf(e)<0&&this.selectedKeys.push(e),this.emitSelectionState()},onMsgToggle(n){let e=this.msgKey(n);if(null==e)return;let i=this.selectedKeys.indexOf(e);i>=0?this.selectedKeys.splice(i,1):this.selectedKeys.push(e),0===this.selectedKeys.length?this.exitSelection():this.emitSelectionState()},exitSelection(){this.selectionMode=!1,this.selectMenuOpen=!1,this.selectedKeys=[],this.emitSelectionState()},emitSelectionState(){d.b.$emit(d.a.SELECTION_CHANGED,{active:this.selectionMode,count:this.selectedKeys.length,hasText:!!this.selectionMode&&this.selectionHasText()})},onSelectionAction(n){"exit"===n?this.exitSelection():"copy"===n?this.copySelected():"forward"===n?this.forwardSelected():"pin"===n?this.pinSelected():"save"===n?this.saveSelected():"delete"===n&&this.deleteSelected()},pinSelected(){let n=this.selectedMessages();if(!n.length)return void this.exitSelection();let e=this.conversation&&this.conversation._id||null;if(!e)return void this.exitSelection();let t=0;for(let r of n){let n=r._id||r.id;n&&("call"!==r.type&&"call-missed"!==r.type&&(Object(m.b)(e,n)||(Object(m.a)({id:n,conversationId:e,type:r.type||"text",body:"string"==typeof r.body?r.body:"",author:r.author,createdAt:r.createdAt,pinnedAt:0}),t++)))}if(t)try{Object(d.d)(this.$t("Message pinned"))}catch(n){}this.exitSelection(),this.refreshPinned(),t&&this.pushPinsCloud()},selectedMessages(){let n=this.selectedKeys;return this.messagesAll.filter(e=>n.indexOf(this.msgKey(e))>=0).slice().reverse()},selectionHasText(){return this.selectedMessages().some(n=>"file"!==n.type&&"call"!==n.type&&"call-missed"!==n.type&&"string"==typeof n.body&&n.body&&"decryption fails"!==n.body&&"crypted"!==n.body)},async deleteSelected(){this.selectMenuOpen=!1;let n=this.selectedMessages();if(!n.length)return;if(!confirm(this.$t("Delete selected messages")))return;let e=this.me?this.me.id:null;for(let t of n)try{if("file"===t.type&&t.author===e&&t.body)try{let n=JSON.parse(t.body);if(n&&n.name){let e=Object(w.DownloadedFileKey)(t._id,n),r=null;try{r=await Object(w.DownloadedFileRecordGet)(e)}catch(n){}let path=r?r.path:"";try{await Object(w.DownloadedFileRecordRemove)(e)}catch(n){}try{if(path){0===await Object(w.DownloadedFileRecordCountByPath)(path)&&await this.$store.dispatch("platformDevice/deleteSenderCopy",{path:path})}}catch(n){}}}catch(n){}await this.$store.dispatch("removeMessage",{id:t._id})}catch(n){v.a.warn("delete selected err",n)}this.exitSelection()},async copySelected(){this.selectMenuOpen=!1;let text=this.selectedMessages().filter(n=>"file"!==n.type&&"call"!==n.type&&"call-missed"!==n.type).map(n=>"string"==typeof n.body?n.body:"").filter(n=>n&&"decryption fails"!==n&&"crypted"!==n).join("\n");if(text){try{if(navigator.clipboard&&navigator.clipboard.writeText)await navigator.clipboard.writeText(text);else{let n=document.createElement("textarea");n.value=text,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}d.b.$emit(d.a.MODAL_SHOW,{title:this.$t("Copy"),text:this.$t("Copied")})}catch(n){v.a.warn("copy selected err",n)}this.exitSelection()}else Object(d.c)(this.$t("Nothing to copy"))},forwardSelected(){this.selectMenuOpen=!1;let n=this.selectedMessages();if(!n.length)return;let e=this.me?this.me.id:null;this._forwardBatch=n.map(n=>{let t=n.author===e?this.me:this.recipient,r=t&&(t.avatarName||t.profile&&t.profile.avatarName)||"",o=Object(A.d)(t);return{text:n.body,type:n.type,fromName:r,fromNumber:o}}),this.forwardMessageText="__batch__",this.forwardMessageType=void 0},saveSelected(){this.selectMenuOpen=!1,d.b.$emit(d.a.MODAL_SHOW,{title:this.$t("Save"),text:this.$t("Coming soon")})},async forwardToUser({selectedUsersId:n}){let e=Object.keys(n||{});if(!e.length)return;if(this._forwardBatch&&this._forwardBatch.length){let n=this._forwardBatch;this._forwardBatch=null,this.forwardMessageText=null,this.forwardMessageType=void 0;for(let t of n)try{let body=this.buildForwardBody(t.text,t.type,t.fromName,t.fromNumber);await this.$store.dispatch("sendMessageToOpponent",{opponentId:e[0],body:body,type:t.type,silent:!1,crypt:!0})}catch(n){v.a.warn("forward batch err",n)}return void this.exitSelection()}if(!this.forwardMessageText)return;let t=this.forwardMessageType,body=this.buildForwardBody(this.forwardMessageText,t,this.forwardFromName,this.forwardFromNumber);this.forwardMessageText=null,this.forwardMessageType=void 0,this.forwardFromName="",this.forwardFromNumber="",await this.$store.dispatch("sendMessageToOpponent",{opponentId:e[0],body:body,type:t,silent:!1,crypt:!0})},setScrollSmooth(n){let e=this.$refs.chat_history;e&&(n?e.classList.add("scrolling_smooth"):e.classList.remove("scrolling_smooth"))},async pushMessage(n,e){try{if(this.isChannelConv&&this.isMeChannelAdmin)return await this.$store.dispatch("sendChannelBroadcast",{text:n}),void e(null,{ok:!0});e(null,await this.$store.dispatch("sendMessage",{message:n,opponent:this.recipient}))}catch(n){e(n)}},async editMessage(n,e){try{let t=n&&n.id,text=n&&n.text;if(!t||"string"!=typeof text)return void(e&&e(null));let r=this.messagesAll.find(n=>(n._id||n.id)===t);if(r){this.$set(r,"body",text);try{let n=this.conversation&&this.conversation._id;n&&Object(m.b)(n,t)&&(Object(m.c)(n,t),Object(m.a)(Object.assign({},r,{id:t,conversationId:n,type:"text",body:text})),this.refreshPinned())}catch(n){}}try{let n=this.conversation&&this.conversation._id;n&&this.recipient&&await this.$store.dispatch("sendMessageEdit",{conversationId:n,messageId:t,text:text,opponent:this.recipient})}catch(n){v.a.warn("sendMessageEdit failed",n)}e&&e(null)}catch(n){e&&e(n)}},onScroll(){{let n=this.$refs.chat_history;if(n){let e=n.scrollHeight-n.clientHeight;this.scrolledBottom=n.scrollTop>e-10}}let n=this.$refs.chat_history;if(n&&!(n.scrollTop>10||this.ignoreScroll))return this.messagesHiddenCount?this.showMoreMessages():this.messagesLoadLeft?this.loadMoreMessages():void 0},async loadMoreMessages(){if(!this.recipient)return v.a.error("Load messages err recipient"+this.recipient);if(!(this.messagesLoadLeft<=0)){this.ignoreScroll=!0;try{await this.doChangeVisibleMessages(async()=>{await this.$store.dispatch("fetchConversationMessages",{opponentId:this.recipient.id,limit:20})})}catch(n){v.a.error("Load messages err "+n)}finally{this.ignoreScroll=!1}this.showMoreMessages()}},async doChangeVisibleMessages(n){let e=this.$refs.chat_history;if(!e)return;let t=e.scrollHeight;n&&await n(),this.$nextTick(()=>{this.$nextTick(()=>{let n=this.$refs.chat_history;n.scrollTop=n.scrollHeight-t})})},showMoreMessages(){this.messagesHiddenCount<=0||this.doChangeVisibleMessages(async()=>{this.showLimit+=20})},async onMessageRemove(n){try{await this.$store.dispatch("removeMessage",n)}catch(n){v.a.error("error removing",n)}},onResize(){this.$nextTick(()=>{this.windowResize()})},async setSecureCode(n,e){try{await this.$store.dispatch("crypt/storeSetPassphrase",{passphrase:n}),d.b.$emit(d.a.MODAL_SHOW,{title:this.$t("Notification"),text:"Secure code set successfuly"}),e(null,"")}catch(n){d.b.$emit(d.a.MODAL_SHOW,{title:this.$t("Notification"),text:"Secure code not correct or store corrupted"}),e(n)}},async pushMessageAudio(n,e){},async callStart({videoMode:n=!1}={}){await Object(E.doStartCallSingle)(this.$store.dispatch,this.recipient.id,n)},trySendSharedFiles(){if(this._shareTry=(this._shareTry||0)+1,this._shareTry>25)return;if(!Object(S.HasIncomingFiles)())return void(this._shareTry<=8&&window.setTimeout(()=>this.trySendSharedFiles(),180));if(!this.recipient)return void window.setTimeout(()=>this.trySendSharedFiles(),180);let n=Object(S.TakeIncomingFiles)();n&&n.length&&this.onSendFiles(n)},async onSendFiles(n){if(!n||!n.length||!this.recipient)return;if(this.fileSending)return;let e=Array.prototype.slice.call(n,0,5);if(n.length>5)try{Object(d.d)(this.$t("Up to 5 files"))}catch(n){}n=e;let t=this.recipient.id;this.fileSending=!0,this.fileSendPercent=0;try{for(let i=0;i{let p=e>0?Math.round(n/e*100):0;this.fileSendPercent=Math.max(0,Math.min(100,p))}})}catch(n){v.a.error("onSendFiles error",n),Object(d.c)(this.$t("File send failed"))}}}finally{this.fileSending=!1,this.fileSendPercent=0}},scrollToEnd(){let n=this.$refs.chat_history;n&&(n.scrollTop=n.scrollHeight)},saveScrollPosition(){try{let n=this.conversationId,e=this.$refs.chat_history;n&&e&&(N[n]={top:e.scrollTop,at:Date.now(),showLimit:this.showLimit})}catch(n){}},restoreScrollOrEnd(){let n=this.conversationId,e=n?N[n]:null;e&&Date.now()-e.at<3e4?("number"==typeof e.showLimit&&e.showLimit>this.showLimit&&(this.showLimit=e.showLimit),this._restoreTop=e.top,this.scrollRestoreUntil=Date.now()+1200,this.$nextTick(()=>this.applyRestoredScroll()),[60,150,350,700,1100].forEach(n=>window.setTimeout(()=>this.applyRestoredScroll(),n))):this.scrollToEnd()},applyRestoredScroll(){let n=this.$refs.chat_history;n&&"number"==typeof this._restoreTop&&(n.scrollTop=this._restoreTop)},openSearch(){this.searchOpen=!0,this.$nextTick(()=>{try{this.$refs.searchInput&&this.$refs.searchInput.focus()}catch(n){}})},closeSearch(){this.searchOpen=!1,this.searchQuery="",this.searchLoadingDeeper=!1},messageSearchText(n){if(!n)return"";let e=n.type;if("call"===e||"call-missed"===e)return"";if("file"===e)try{let e=JSON.parse(n.body);return e&&e.name?String(e.name):""}catch(n){return""}let b=n.body;return"string"!=typeof b||"decryption fails"===b||"crypted"===b?"":b},jumpToMessage(n){let e=this.messagesAll,t=-1;for(let i=0;i=this.showLimit&&(this.showLimit=t+10),this.searchOpen=!1,this.highlightId=n.id,this._jumpRetries=0,this.$nextTick(()=>this.scrollToMessageId(n.id,t)),window.setTimeout(()=>this.armHighlightClear(),500))},armHighlightClear(){let n=this.$refs.chat_history;if(!n)return;this.disarmHighlightClear();let e=()=>{this.highlightId=null,this.disarmHighlightClear()};this._highlightClear=e,n.addEventListener("scroll",e,{passive:!0,once:!0}),n.addEventListener("touchstart",e,{passive:!0,once:!0}),n.addEventListener("wheel",e,{passive:!0,once:!0}),n.addEventListener("pointerdown",e,{passive:!0,once:!0})},disarmHighlightClear(){let n=this.$refs.chat_history;n&&this._highlightClear&&(n.removeEventListener("scroll",this._highlightClear),n.removeEventListener("touchstart",this._highlightClear),n.removeEventListener("wheel",this._highlightClear),n.removeEventListener("pointerdown",this._highlightClear)),this._highlightClear=null},findMessageEl(n,e){let t=null!=n?document.getElementById("chatmsg-"+n):null;if(t)return t;let r=this.$refs.chat_history,o=r?r.querySelector(".flex-col-reverse"):null;return o&&"number"==typeof e&&e>=0&&o.children[e]?o.children[e]:null},scrollToMessageId(n,e){if(!this.$refs.chat_history)return;if(!this.findMessageEl(n,e))return this._jumpRetries=(this._jumpRetries||0)+1,void(this._jumpRetries<=12&&window.setTimeout(()=>this.scrollToMessageId(n,e),60));let t=()=>{let t=this.$refs.chat_history,r=this.findMessageEl(n,e);if(!t||!r)return;let hr=t.getBoundingClientRect(),o=r.getBoundingClientRect();t.scrollTop+=o.top-hr.top-(t.clientHeight-o.height)/2};t(),window.requestAnimationFrame(t),window.setTimeout(t,120)},async loadDeeperForSearch(){if(!this.searchLoadingDeeper&&this.recipient){this.searchLoadingDeeper=!0;try{let n=0;for(;this.messagesLoadLeft>0&&this.searchOpen&&n<500;){n++;let e=this.messagesAll.length;if(await this.$store.dispatch("fetchConversationMessages",{opponentId:this.recipient.id,limit:100}),this.messagesAll.length<=e)break}}catch(n){v.a.error("search deep load err "+n)}finally{this.searchLoadingDeeper=!1}}},windowResize(){this.$refs.chat_history&&this.scrolledBottom&&this.scrollToEnd()},sendCoversationClean(){this.$emit("conversationClean",this.conversationId)},goBack(){this.$emit("goBack")},checkLastMessageContent(){let n=this.messagesAll[0];if(!n)return;if(n.author!=this.$auth.user.id)return;let e=this.$refs.new_message;e&&e.deleteMessageWithContent(n.body)}},directives:{scrollBottom:{componentUpdated(n){n.scrollTop=n.scrollHeight}}},watch:{conversation(n){let e=this.$refs.new_message;e&&e.reloadNewMessage()},messagesAll(){v.a.debug("deviceInBackground = ",this.deviceInBackground),this.deviceInBackground||this.$store.dispatch("markConversationReadAll");let n=this.messagesAll[0]?this.messagesAll[0]._id:null;this.lastMessageId!=n&&(this.lastMessageId=n,Date.now()<(this.scrollRestoreUntil||0)?this.$nextTick(()=>this.applyRestoredScroll()):this.$nextTick(()=>this.scrollToEnd()),this.checkLastMessageContent())},deviceInBackground(n){v.a.debug("deviceInBackground changed",n),n||this.$store.dispatch("markConversationReadAll")}}},R=(t(792),t(5)),component=Object(R.a)(D,function(){var n=this,e=n._self._c;return e("div",{staticClass:"chat flex flex-col flex-1 border rounded relative",class:{"chat--keyboard-visible":n.keyboardVisible},style:n.chatRootStyle},[n.recipient?[n.searchOpen?e("div",{staticClass:"chat-search"},[e("div",{staticClass:"chat-search__bar"},[e("input",{directives:[{name:"model",rawName:"v-model",value:n.searchQuery,expression:"searchQuery"}],ref:"searchInput",staticClass:"chat-search__input",attrs:{type:"text",placeholder:n.$t("Search messages")},domProps:{value:n.searchQuery},on:{keydown:function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:n.closeSearch.apply(null,arguments)},input:function(e){e.target.composing||(n.searchQuery=e.target.value)}}}),n._v(" "),e("button",{staticClass:"chat-search__close",attrs:{type:"button","aria-label":"close"},on:{click:n.closeSearch}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"}},[e("line",{attrs:{x1:"6",y1:"6",x2:"18",y2:"18"}}),e("line",{attrs:{x1:"18",y1:"6",x2:"6",y2:"18"}})])])]),n._v(" "),n.searchQuery.trim()?e("div",{staticClass:"chat-search__results"},[n._l(n.searchResults,function(t){return e("button",{key:t.id,staticClass:"chat-search__item",attrs:{type:"button"},on:{click:function(e){return n.jumpToMessage(t)}}},[e("span",{staticClass:"chat-search__snippet"},[n._v(n._s(t.parts.before)),e("mark",[n._v(n._s(t.parts.match))]),n._v(n._s(t.parts.after))]),n._v(" "),e("span",{staticClass:"chat-search__date"},[n._v(n._s(n._f("formatDate")(t.time)))])])}),n._v(" "),0!==n.searchResults.length||n.searchLoadingDeeper?n._e():e("div",{staticClass:"chat-search__empty"},[n._v(n._s(n.$t("Nothing found")))]),n._v(" "),n.messagesLoadLeft>0&&!n.searchLoadingDeeper?e("button",{staticClass:"chat-search__deeper",attrs:{type:"button"},on:{click:n.loadDeeperForSearch}},[n._v("\n "+n._s(n.$t("Search deeper"))+" ("+n._s(n.messagesLoadLeft)+")\n ")]):n._e(),n._v(" "),n.searchLoadingDeeper?e("div",{staticClass:"chat-search__deeper chat-search__deeper--loading"},[e("span",{staticClass:"chat-search__spinner"}),n._v(n._s(n.$t("Loading"))+"… "+n._s(n.messagesLoadLeft)+"\n ")]):n._e()],2):n._e()]):n._e(),n._v(" "),e("div",{ref:"chat_page",staticClass:"flex flex-col flex-1 h-full overflow-hidden"},[e("div",{staticClass:"app-height w-full py-2 v-scroll-bottom flex flex-1 h-full overflow-hidden relative",attrs:{"data-v-bar":""}},[e("div",{ref:"chat_history",staticClass:"chat-history",attrs:{"data-v-chat-scroll":"{always: true, smooth: true, scrollonremoved:true, smoothonremoved: true}"},on:{scroll:n.onScroll}},[e("div",{staticClass:"flex flex-col-reverse"},[n._l(this.messagesMarked,function(t){return[e("chat-message",{key:t._id||t.id,class:{"chat-message--highlight":(t._id||t.id)===n.highlightId},attrs:{me:n.me,recipientUser:n.recipient,message:t,id:"chatmsg-"+(t._id||t.id),"selection-mode":n.selectionMode,selected:n.isSelected(t)},on:{longpress:n.onMsgLongPress,toggleselect:n.onMsgToggle,remove:n.onMessageRemove,callStart:n.callStart,resize:n.onResize}})]}),n._v(" "),n.messagesLoadLeft>0&&0==n.messagesHiddenCount?e("div",{staticClass:"w-full text-center p-1"},[e("button",{staticClass:"btn btn-green mx-1",on:{click:n.loadMoreMessages}},[n._v(n._s(n.$t("Show more")))])]):n._e()],2)]),n._v(" "),n.showScrollBottomButton?e("div",{staticClass:"chat-scroll-bottom-layer absolute pin-b pin-r",staticStyle:{margin:"0 0.6rem 0.6rem 0"}},[e("button",{staticClass:"scroll-bottom-button",attrs:{type:"button","aria-label":"Scroll to latest message"},on:{mousedown:function(n){n.preventDefault()},touchstart:function(n){n.preventDefault()},touchend:function(e){return e.preventDefault(),n.scrollToEnd.apply(null,arguments)},click:n.scrollToEnd}})]):n._e()]),n._v(" "),n.conversation&&n.isChannelConv&&!n.isMeChannelAdmin?e("div",{staticClass:"channel-readonly-note"},[n._v("\n "+n._s(n.$t("Channel read only"))+"\n ")]):n._e(),n._v(" "),!this.conversation||n.isChannelConv&&!n.isMeChannelAdmin?n._e():e("ChatNewMessage",{ref:"new_message",class:[n.isSecure?"chat_new_message_secure":"chat_new_message_danger"],style:n.newMessageStyle,attrs:{conversationId:this.conversation._id},on:{newMessage:n.pushMessage,editMessage:n.editMessage,callStart:n.callStart,sendFiles:n.onSendFiles,onMessageTextFocus:n.onMessageTextFocus,onMessageTextBlur:n.onMessageTextBlur}})],1)]:e("div",{staticClass:"chat-loading h-full flex justify-center items-center"},[e("h2",{},[n._v(n._s(n.$t("Loading")))])]),n._v(" "),n.loadingMessages?e("div",{staticClass:"chat-messages-loading"},[e("div",{staticClass:"chat-file-sending__spinner"}),n._v(" "),e("div",{staticClass:"chat-messages-loading__text"},[n._v(n._s(n.$t("Loading")))])]):n._e(),n._v(" "),n.forwardMessageText?e("div",{staticClass:"chat-forward-select",on:{click:function(e){return e.target!==e.currentTarget?null:n.cancelForward.apply(null,arguments)}}},[e("div",{staticClass:"chat-forward-select__panel",on:{click:function(n){n.stopPropagation()}}},[e("button",{staticClass:"chat-forward-select__close",attrs:{type:"button"},on:{click:n.cancelForward}},[n._v("x")]),n._v(" "),e("h2",{staticClass:"chat-forward-select__title"},[n._v(n._s(n.$t("Forward")))]),n._v(" "),e("UserListSelect",{attrs:{buttonDoneCaption:n.$t("Forward"),multi:!1},on:{done:n.forwardToUser}})],1)]):n._e(),n._v(" "),n.fileSending?e("div",{staticClass:"chat-file-sending"},[e("div",{staticClass:"chat-file-sending__box"},[e("div",{staticClass:"chat-file-sending__spinner"}),n._v(" "),e("div",{staticClass:"chat-file-sending__text"},[n._v("\n "+n._s(n.$t("Sending file"))),n.fileSendPercent?e("span",[n._v(" "+n._s(n.fileSendPercent)+"%")]):n._e()])])]):n._e(),n._v(" "),n.pinDialogItem?e("div",{staticClass:"chat-forward-select",on:{click:function(e){return e.target!==e.currentTarget?null:n.closePinDialog.apply(null,arguments)}}},[e("div",{staticClass:"chat-forward-select__panel chat-forward-select__panel--compact",on:{click:function(n){n.stopPropagation()}}},[e("h2",{staticClass:"chat-forward-select__title"},[n._v(n._s(n.$t("Pin")))]),n._v(" "),e("label",{staticClass:"pin-dialog__row"},[e("input",{directives:[{name:"model",rawName:"v-model",value:n.pinForOpponent,expression:"pinForOpponent"}],attrs:{type:"checkbox",disabled:""},domProps:{checked:Array.isArray(n.pinForOpponent)?n._i(n.pinForOpponent,null)>-1:n.pinForOpponent},on:{change:function(e){var t=n.pinForOpponent,r=e.target,o=!!r.checked;if(Array.isArray(t)){var l=n._i(t,null);r.checked?l<0&&(n.pinForOpponent=t.concat([null])):l>-1&&(n.pinForOpponent=t.slice(0,l).concat(t.slice(l+1)))}else n.pinForOpponent=o}}}),n._v(" "),e("span",[n._v(n._s(n.$t("Pin for opponent"))),n.pinOpponentLabel?[n._v(" ("+n._s(n.pinOpponentLabel)+")")]:n._e(),n._v(" — "+n._s(n.$t("soon")))],2)]),n._v(" "),e("div",{staticClass:"flex justify-end",staticStyle:{gap:"8px"}},[e("button",{staticClass:"btn bg-grey",on:{click:n.closePinDialog,touchend:function(e){return e.preventDefault(),e.stopPropagation(),n.closePinDialog.apply(null,arguments)}}},[n._v(n._s(n.$t("Cancel")))]),n._v(" "),e("button",{staticClass:"btn bg-blue-light",on:{click:n.doPin,touchend:function(e){return e.preventDefault(),e.stopPropagation(),n.doPin.apply(null,arguments)}}},[n._v(n._s(n.$t("Pin")))])])])]):n._e(),n._v(" "),n.pinnedOpen?e("div",{staticClass:"pinned-overlay"},[e("button",{staticClass:"pinned-overlay__close",attrs:{type:"button","aria-label":"back"},on:{click:n.closePinned}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{d:"M9 7L4 12l5 5"}}),n._v(" "),e("path",{attrs:{d:"M4 12h11a5 5 0 0 1 0 10h-1"}})])]),n._v(" "),e("div",{staticClass:"pinned-overlay__title"},[n._v(n._s(n.$t("Pinned")))]),n._v(" "),e("div",{staticClass:"pinned-overlay__list"},[n.pinnedList.length?n._e():e("div",{staticClass:"pinned-overlay__empty"},[n._v(n._s(n.$t("No pinned")))]),n._v(" "),n._l(n.pinnedList,function(p){return e("div",{key:p.id,staticClass:"pinned-msg",on:{click:function(e){return n.openPinnedItemMenu(p)}}},[e("ChatMessage",{staticClass:"pinned-msg__inner",attrs:{me:n.me,recipientUser:n.recipient,message:n.pinToMessage(p),selectionMode:!1,selected:!1}})],1)})],2),n._v(" "),e("MessageActionMenu",{attrs:{visible:!!n.pinnedMenuItem,title:n.$t("Pinned"),actions:n.pinnedMenuActions},on:{close:function(e){n.pinnedMenuItem=null},action:n.onPinnedAction}})],1):n._e()],2)},[],!1,null,"29c7e42b",null);e.default=component.exports;installComponents(component,{ChatMessage:t(131).default,ChatNewMessage:t(194).default,UserListSelect:t(143).default,ChatMessage:t(131).default})},,,,,,,,,,,,,,,,function(n,e,t){n.exports=t.p+"img/bgCall_dark.72ca8ac.jpg"},,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,e,t){"use strict";(function(n){t.d(e,"a",function(){return m}),t.d(e,"b",function(){return h}),t.d(e,"d",function(){return v}),t.d(e,"c",function(){return x});var r=t(0),o=t(134),l=t(48);t(2).get("interchat:globalInputAudio.ts");let c;n.env.DISABLE_INPUT_MIXER||(c=new o.a);let d=null,f=null;async function m(n=!1){return n?(r.a.debug("DISABLE_INPUT_MIXER due VIDEO mode"),d=await Object(l.a)(void 0,n),d):c?(x(),d=await Object(l.a)(),f=c.getMixedAudioStream([d],{forceSingle:!0,useGain:!0}),f):(r.a.debug("DISABLE_INPUT_MIXER"),d=await Object(l.a)(),d)}function h(n){c&&c.setGain(n)}function v(){return d}function x(){d&&(Object(l.f)(d),d=null),f&&(Object(l.f)(f),f=null),c&&c.release()}}).call(this,t(20))},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:user:UserStatusRow.vue");var r=t(10),o=t(18),l=t(44),c=t(28);t(2).get("interchat:user:UserStatusRow.vue");var d=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};let f=class extends r.d{get name(){return Object(c.f)(this.user)?c.b:Object(o.d)(this.user)}get localName(){const n=this.user&&this.user.id;let e="";if(n)try{e=String((Object(l.a)(n)||{}).name||"").trim()}catch(n){}return e?e.substring(0,4):Object(o.a)(Object(o.b)(this.user))}get avatarFullname(){return Object(o.b)(this.user)}get channelIconSrc(){return Object(c.f)(this.user)?"icon.png":""}};d([Object(r.b)()],f.prototype,"user",void 0),d([Object(r.b)()],f.prototype,"show_avatar",void 0),d([Object(r.b)({default:!1})],f.prototype,"show_localname",void 0),f=d([Object(r.a)({})],f);var m=f,h=t(5),component=Object(h.a)(m,function(){var n=this,e=n._self._c;n._self._setupProxy;return n.user?e("div",{staticClass:"flex flex-row justify-center items-center text-center"},[n.show_localname&&n.localName?e("span",{staticClass:"user_nickname mr-2"},[n._v(n._s(n.localName))]):n._e(),n._v(" "),n.show_avatar?e("avatar",{attrs:{fullname:n.avatarFullname,avatarId:n.user.avatarId,"icon-src":n.channelIconSrc}}):n._e(),n._v(" "),e("span",{class:["status-dot",n.user.online?"online":"offline"]}),n._v(" "),e("span",{staticClass:"user_nickname"},[n._v(n._s(n.name))])],1):n._e()},[],!1,null,null,null);e.default=component.exports;installComponents(component,{Avatar:t(32).default})},,function(n,e,t){"use strict";t.r(e),t.d(e,"isSwipeDown",function(){return d});t(2).get("interchat:GestureArea.vue");var r=t(470),o=t.n(r),l=t(10);t(2).get("interchat:GestureArea.vue");var c=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};function d(n,e){let t=n.detail.data[0].currentDirection;return!(Math.abs(t-270)>e)}let f=class extends l.d{constructor(){super(...arguments),this.region=null}mounted(){let n=this.$refs.touchArea;this.region=new o.a.Region(n,void 0,!1),this.region.bind(n,"swipe",n=>{this.$emit("swipe",n)})}beforeDestroy(){this.disable()}disable(){if(!this.region)return;let n=this.$refs.touchArea;this.region.unbind(n)}};f=c([Object(l.a)({computed:{}})],f);var m=f,h=t(5),component=Object(h.a)(m,function(){var n=this,e=n._self._c;n._self._setupProxy;return e("div",{ref:"touchArea"},[n._t("default")],2)},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:ChatNewMessage.vue");t(21);var r=t(0),o=t(1),l=t(10),c=t(65);t(2).get("interchat:ChatNewMessage.vue");var d=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};let f=class extends l.d{constructor(){super(...arguments),this.messageText=null,this.pendingFiles=[],this.buttonTouchHandled=!1,this.recording=!1,this.recordSeconds=0,this.recWaitRelease=!1,this._mediaRecorder=null,this._recStream=null,this._recChunks=[],this._recTimer=null,this._recStartMs=0,this._recExt="webm",this._recStopping=!1,this._recCanceled=!1,this._sending=!1,this._lastSendAt=0,this.editMode=!1,this.editMessageId=null,this.replyMode=!1,this.replyTitle="",this.replyWho="",this.replyQuote="",this.CNM_MAX_ROWS=4,this.attachMenuOpen=!1}get textEmpty(){return!this.messageText||0==this.messageText.length}created(){o.b.$on(o.a.MESSAGE_REPLY,this.onMessageReply),o.b.$on(o.a.MESSAGE_EDIT,this.onMessageEdit)}async mounted(){this.reloadNewMessage(),this.$nextTick(()=>this.autoGrow())}autoGrow(){let n=this.getMessageTextElement();if(!n)return;let e=window.getComputedStyle(n),line=parseFloat(e.lineHeight);line&&!isNaN(line)||(line=1.3*(parseFloat(e.fontSize)||16));let t=(parseFloat(e.paddingTop)||0)+(parseFloat(e.paddingBottom)||0)+(parseFloat(e.borderTopWidth)||0)+(parseFloat(e.borderBottomWidth)||0),r=Math.round(line*this.CNM_MAX_ROWS+t);n.style.height="auto";let o=n.scrollHeight,l=Math.min(o,r);n.style.height=l+"px",n.style.overflowY=o>r?"auto":"hidden"}beforeUpdate(){}updated(){}beforeDestroy(){o.b.$off(o.a.MESSAGE_REPLY,this.onMessageReply),o.b.$off(o.a.MESSAGE_EDIT,this.onMessageEdit),this.cleanupRec()}emitWithCb(n,e){return new Promise((t,r)=>{this.$emit(n,e,(n,e)=>n?r(n):t(e))})}getMessageTextElement(){return this.$refs.message_input_text}isIosWeb(){try{const n="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent:"";return/iPad|iPhone|iPod/.test(n)||-1!=n.indexOf("Macintosh")&&"undefined"!=typeof document&&"ontouchend"in document}catch(n){return!1}}toggleAttachMenu(){this.isIosWeb()?this.pickFrom(""):this.attachMenuOpen=!this.attachMenuOpen}closeAttachMenu(){this.attachMenuOpen=!1}openNativePicker(n,e,t){this.attachMenuOpen=!1;try{const r=document.createElement("input");r.type="file",r.accept=n||"",t&&(r.multiple=!0),e&&r.setAttribute("capture",e),r.style.position="fixed",r.style.left="-9999px",r.style.top="0",r.addEventListener("change",n=>{const e=n&&n.target?n.target.files:null;e&&e.length&&this.$emit("sendFiles",e);try{r.parentNode&&r.parentNode.removeChild(r)}catch(n){}},{once:!0}),document.body.appendChild(r),r.click()}catch(n){r.a.warn("openNativePicker failed",n)}}pickFrom(n){this.openNativePicker(n||"",void 0,!0)}pickCamera(){this.openNativePicker("image/*","environment")}openFilePicker(){this.toggleAttachMenu()}onFileChange(n){const e=n&&n.target?n.target.files:null;e&&e.length&&this.addPendingFiles(e),n&&n.target&&(n.target.value="")}onPaste(n){const e=n&&(n.clipboardData||window.clipboardData);if(!e||!e.items)return;const t=[];for(let i=0;i=5){t=!0;break}const e=!(!n.type||0!==String(n.type).indexOf("image/")),r={file:n,name:n.name||"",isImage:e,preview:""};if(this.pendingFiles.push(r),e)try{const e=new FileReader;e.onload=()=>{r.preview=String(e.result||"")},e.readAsDataURL(n)}catch(n){}}if(t||e.length>5)try{Object(o.d)(this.$t("Up to 5 files"))}catch(n){}this.textFocus()}removePendingFile(n){n>=0&&n{let n=this.getMessageTextElement();n&&(n.value!==text&&(n.value=text,n.dispatchEvent(new Event("input",{bubbles:!0}))),this.autoGrow())})}onMessageReply(n){let text=n&&n.text||"";if(!text)return;this.editMode=!1,this.editMessageId=null;let e=n&&n.name?`${n.name}: ${n.number||""}`:n&&n.number||"";this.replyWho=e,this.replyTitle=`${this.$t("Reply")}${e?" "+e:""}`,this.replyQuote=text.split("\n")[0],this.replyMode=!0,this.textFocus()}cancelReply(){this.replyMode=!1,this.replyTitle="",this.replyQuote=""}onMessageEdit(n){n&&n.id&&(this.cancelReply(),this.editMode=!0,this.editMessageId=n.id,this.textClearAndFocus(n.text||""))}cancelEdit(){this.editMode=!1,this.editMessageId=null,this.textClear()}sendMessageByEnter(){this.messageText&&(1!=this.messageText.length?this.sendMessage():this.textClear())}sendMessageFromButton(){this.textFocus(),this.sendMessage()}sendMessageFromButtonTouch(){this.buttonTouchHandled=!0,this.sendMessageFromButton(),window.setTimeout(()=>{this.buttonTouchHandled=!1},700)}sendMessageFromButtonClick(){this.buttonTouchHandled||this.sendMessageFromButton()}keepInputFocus(){this.textFocus()}get hasText(){let n=this.messageText;return!!(n&&n.trim().length>0)}get showMic(){return!this.editMode&&!this.hasText&&0===this.pendingFiles.length}get isRecordingUi(){return this.recording||this.recWaitRelease}pickAudioMime(){try{let n=window.MediaRecorder;if(n&&n.isTypeSupported){if(n.isTypeSupported("audio/mp4"))return{mime:"audio/mp4",ext:"m4a"};if(n.isTypeSupported("audio/webm;codecs=opus"))return{mime:"audio/webm;codecs=opus",ext:"webm"};if(n.isTypeSupported("audio/webm"))return{mime:"audio/webm",ext:"webm"}}}catch(n){}return{mime:"",ext:"webm"}}async micStart(n){if(this.recording||this.recWaitRelease)return;let nav=navigator;if(!nav.mediaDevices||!nav.mediaDevices.getUserMedia||!window.MediaRecorder)return void Object(o.e)(this.$t("Voice recording not supported"));this._recCanceled=!1,this._recStopping=!1,this._recChunks=[],this.recordSeconds=0;try{this._recStream=await nav.mediaDevices.getUserMedia({audio:!0})}catch(n){return r.a.warn("KT-0210 mic getUserMedia failed",n),Object(o.e)(this.$t("Microphone access denied")),void this.resetRec()}if(this._recCanceled)return this.stopStream(),void this.resetRec();let e=this.pickAudioMime();this._recExt=e.ext;try{this._mediaRecorder=e.mime?new window.MediaRecorder(this._recStream,{mimeType:e.mime}):new window.MediaRecorder(this._recStream)}catch(n){this._mediaRecorder=new window.MediaRecorder(this._recStream)}this._mediaRecorder.addEventListener("dataavailable",n=>{n.data&&n.data.size&&this._recChunks.push(n.data)}),this._mediaRecorder.addEventListener("stop",()=>this.onRecStop()),this._mediaRecorder.start(),this._recStartMs=Date.now(),this.recording=!0,this._recTimer=window.setInterval(()=>{this.recordSeconds=Math.floor((Date.now()-this._recStartMs)/1e3),this.recordSeconds>=60&&(this.recordSeconds=60,this.recWaitRelease=!0,this.doStopRecorder())},200)}micStop(n){if(this.recWaitRelease)return void(this.recWaitRelease=!1);if(!this.recording)return void(this._recCanceled=!0);Date.now()-this._recStartMs<1e3&&(this._recCanceled=!0),this.doStopRecorder()}micCancel(n){this.recWaitRelease?this.recWaitRelease=!1:this.recording?(this._recCanceled=!0,this.doStopRecorder()):this._recCanceled=!0}doStopRecorder(){if(!this._recStopping){this._recStopping=!0,this.clearRecTimer();try{this._mediaRecorder&&"inactive"!==this._mediaRecorder.state?this._mediaRecorder.stop():this.onRecStop()}catch(n){this.onRecStop()}}}onRecStop(){this.stopStream();let n=this._recCanceled,e=this._recChunks,t=this._recExt||"webm",o=this._mediaRecorder&&this._mediaRecorder.mimeType||("m4a"===t?"audio/mp4":"audio/webm");if(this.recording=!1,this.clearRecTimer(),this._mediaRecorder=null,!n&&e&&e.length)try{let n=new Blob(e,{type:o});if(n.size>0){let e="voice-"+Date.now()+"."+t,r=new File([n],e,{type:o});this.$emit("sendFiles",[r])}}catch(n){r.a.error("KT-0210 voice send failed",n)}this.recordSeconds=0,this._recChunks=[],this._recStopping=!1,this._recCanceled=!1}clearRecTimer(){this._recTimer&&(window.clearInterval(this._recTimer),this._recTimer=null)}stopStream(){try{this._recStream&&(this._recStream.getTracks().forEach(n=>n.stop()),this._recStream=null)}catch(n){}}resetRec(){this.recording=!1,this.recWaitRelease=!1,this.recordSeconds=0,this._recStopping=!1,this._recCanceled=!1,this._recChunks=[],this.clearRecTimer(),this._mediaRecorder=null}cleanupRec(){try{this._mediaRecorder&&"inactive"!==this._mediaRecorder.state&&this._mediaRecorder.stop()}catch(n){}this.stopStream(),this.resetRec()}textClear(){this.messageText="",this.$nextTick(()=>this.autoGrow())}async sendMessage(){let n=Date.now();if(this._sending||this._lastSendAt&&n-this._lastSendAt<500)return;let e=this.getMessageTextElement();e&&"string"==typeof e.value&&e.value!==this.messageText&&(this.messageText=e.value);let t=this.messageText||"",l=this.pendingFiles.length>0&&!this.editMode;if(t||l){this._sending=!0,this._lastSendAt=n;try{if(this.editMode&&this.editMessageId)await this.emitWithCb("editMessage",{id:this.editMessageId,text:t}),this.editMode=!1,this.editMessageId=null;else{if(l){let n=this.pendingFiles.map(p=>p.file);this.clearPendingFiles(),this.$emit("sendFiles",n)}if(t)if(this.replyMode){let n=Object(c.b)(this.replyWho,this.replyQuote,t);await this.emitWithCb("newMessage",n),this.cancelReply()}else await this.emitWithCb("newMessage",t);else this.replyMode&&this.cancelReply()}this.textClearAndFocus()}catch(n){r.a.error(n),Object(o.c)("timeout"==n.message?this.$t("Could not send message check connection"):n.message)}finally{this._sending=!1}}}async startCall(){this.$emit("callStart")}getStoreItemName(){return"chatSave:"+this.conversationId}saveText(text){text?localStorage.setItem(this.getStoreItemName(),text):localStorage.removeItem(this.getStoreItemName())}loadText(){return localStorage.getItem(this.getStoreItemName())}onMessageTextFocus(){this.$emit("onMessageTextFocus")}onMessageTextBlur(){this.$emit("onMessageTextBlur")}isDesktopKb(){try{return!("undefined"==typeof window||"ontouchstart"in window||navigator.maxTouchPoints>0)}catch(n){return!1}}insertNewlineAtCursor(){let n=this.getMessageTextElement();if(!n)return;let e=n.selectionStart,t=n.selectionEnd,r=n.value;n.value=r.slice(0,e)+"\n"+r.slice(t),n.selectionStart=n.selectionEnd=e+1,this.messageText=n.value,n.dispatchEvent(new Event("input",{bubbles:!0})),this.$nextTick(()=>this.autoGrow())}onMessageTextKeyDown(n){if("Enter"==n.code||"Enter"==n.key)return this.isDesktopKb()?n.ctrlKey||n.metaKey?(n.preventDefault(),n.stopPropagation(),void this.insertNewlineAtCursor()):n.shiftKey?void this.$nextTick(()=>this.autoGrow()):(n.preventDefault(),n.stopPropagation(),void this.sendMessage()):n.ctrlKey||n.metaKey?(n.preventDefault(),n.stopPropagation(),void this.sendMessage()):void this.$nextTick(()=>this.autoGrow())}onMessageTextChanged(n){this.saveText(n)}};d([Object(l.b)()],f.prototype,"conversationId",void 0),d([Object(l.b)()],f.prototype,"secureOn",void 0),d([Object(l.e)("messageText")],f.prototype,"onMessageTextChanged",null),f=d([Object(l.a)({computed:{}})],f);var m=f,h=(t(762),t(5)),component=Object(h.a)(m,function(){var n=this,e=n._self._c;n._self._setupProxy;return e("div",{staticClass:"border-t align-bottom py-1 p-1 w-full pin-b pin-l flex"},[e("div",{staticClass:"container flex flex-row flex-1 items-end"},[e("input",{ref:"fileInput",staticStyle:{display:"none"},attrs:{type:"file"},on:{change:n.onFileChange}}),n._v(" "),e("div",{staticClass:"cnm-attach-wrap mr-1"},[e("div",{staticClass:"cnm-attach-icon",attrs:{role:"button",tabindex:"-1",title:n.$t("Send file"),"aria-label":"attach file"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),n.toggleAttachMenu.apply(null,arguments)}}},[e("svg",{staticStyle:{display:"block"},attrs:{viewBox:"0 0 24 24",width:"26",height:"26",fill:"none",stroke:"#3490dc","stroke-width":"2.2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{d:"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"}})])]),n._v(" "),n.attachMenuOpen?e("div",{staticClass:"cnm-attach-backdrop",on:{click:function(e){return e.stopPropagation(),n.closeAttachMenu.apply(null,arguments)},touchstart:function(n){n.stopPropagation()},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.closeAttachMenu.apply(null,arguments)}}}):n._e(),n._v(" "),n.attachMenuOpen?e("div",{staticClass:"file-action-menu cnm-attach-menu",on:{click:function(n){n.stopPropagation()},touchstart:function(n){n.stopPropagation()},touchmove:function(n){n.stopPropagation()},touchend:function(n){n.stopPropagation()}}},[e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.pickFrom("image/*")},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.pickFrom("image/*")}}},[n._v(n._s(n.$t("Gallery")))]),n._v(" "),e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.pickCamera()},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.pickCamera()}}},[n._v(n._s(n.$t("Camera")))]),n._v(" "),e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.pickFrom("video/*")},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.pickFrom("video/*")}}},[n._v(n._s(n.$t("Video")))]),n._v(" "),e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.pickFrom("")},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.pickFrom("")}}},[n._v(n._s(n.$t("File")))])]):n._e()]),n._v(" "),e("div",{staticClass:"cnm-input-wrap flex-1"},[n.editMode?e("div",{staticClass:"cnm-edit-header"},[e("span",{staticClass:"cnm-edit-title"},[n._v(n._s(n.$t("Edit")))]),n._v(" "),e("button",{staticClass:"cnm-edit-cancel",attrs:{type:"button","aria-label":"cancel edit"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),n.cancelEdit.apply(null,arguments)},touchend:function(e){return e.preventDefault(),e.stopPropagation(),n.cancelEdit.apply(null,arguments)}}},[n._v("×")])]):n._e(),n._v(" "),n.replyMode?e("div",{staticClass:"cnm-edit-header cnm-reply-header"},[e("div",{staticClass:"cnm-reply-lines"},[e("span",{staticClass:"cnm-edit-title"},[n._v(n._s(n.replyTitle))]),n._v(" "),e("span",{staticClass:"cnm-reply-quote"},[n._v(n._s(n.replyQuote))])]),n._v(" "),e("button",{staticClass:"cnm-edit-cancel",attrs:{type:"button","aria-label":"cancel reply"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),n.cancelReply.apply(null,arguments)},touchend:function(e){return e.preventDefault(),e.stopPropagation(),n.cancelReply.apply(null,arguments)}}},[n._v("×")])]):n._e(),n._v(" "),n.pendingFiles.length?e("div",{staticClass:"cnm-thumbs"},n._l(n.pendingFiles,function(p,i){return e("div",{key:i,staticClass:"cnm-thumb"},[p.isImage&&p.preview?e("img",{staticClass:"cnm-thumb__img",attrs:{src:p.preview,alt:"",draggable:"false"}}):e("div",{staticClass:"cnm-thumb__file"},[e("span",{staticClass:"cnm-thumb__name",domProps:{textContent:n._s(p.name||"—")}})]),n._v(" "),e("button",{staticClass:"cnm-thumb__x",attrs:{type:"button","aria-label":"remove"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),n.removePendingFile(i)},touchend:function(e){return e.preventDefault(),e.stopPropagation(),n.removePendingFile(i)}}},[n._v("×")])])}),0):n._e(),n._v(" "),e("textarea",{directives:[{name:"model",rawName:"v-model",value:n.messageText,expression:"messageText"}],ref:"message_input_text",staticClass:"input-control resize-none cnm-text",staticStyle:{"box-sizing":"border-box",width:"100%","padding-right":"2.6em"},attrs:{rows:"1",maxlength:"4096",placeholder:n.isRecordingUi?"":n.$t("Type your message")},domProps:{value:n.messageText},on:{focus:n.onMessageTextFocus,blur:n.onMessageTextBlur,input:[function(e){e.target.composing||(n.messageText=e.target.value)},n.autoGrow],keydown:n.onMessageTextKeyDown,paste:n.onPaste}}),n._v(" "),n.isRecordingUi?e("div",{staticClass:"cnm-rec-inline"},[e("span",{staticClass:"cnm-rec-dot"}),n._v(" "),e("span",[n._v(n._s(n.$t("Recording"))+": "+n._s(n.recordSeconds)+"/60 "+n._s(n.$t("sec")))])]):n._e(),n._v(" "),n.showMic?e("div",{class:["cnm-send-btn","cnm-mic-btn",n.isRecordingUi?"cnm-mic-btn--rec":""],attrs:{role:"button",tabindex:"-1","aria-label":"record voice"},on:{touchstart:function(e){return e.preventDefault(),e.stopPropagation(),n.micStart(e)},touchend:function(e){return e.preventDefault(),e.stopPropagation(),n.micStop(e)},touchcancel:function(e){return e.preventDefault(),e.stopPropagation(),n.micCancel(e)},mousedown:function(e){return e.preventDefault(),e.stopPropagation(),n.micStart(e)},mouseup:function(e){return e.preventDefault(),e.stopPropagation(),n.micStop(e)},mouseleave:function(e){return n.micCancel(e)}}},[e("svg",{staticStyle:{display:"block"},attrs:{viewBox:"0 0 24 24",width:"18",height:"18",fill:"none",stroke:"#ffffff","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{d:"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"}}),e("path",{attrs:{d:"M19 10v2a7 7 0 0 1-14 0v-2"}}),e("line",{attrs:{x1:"12",y1:"19",x2:"12",y2:"23"}}),e("line",{attrs:{x1:"8",y1:"23",x2:"16",y2:"23"}})])]):e("div",{staticClass:"cnm-send-btn",attrs:{role:"button",tabindex:"-1","aria-label":"send"},on:{touchstart:function(e){return e.preventDefault(),e.stopPropagation(),n.keepInputFocus.apply(null,arguments)},touchend:function(e){return e.preventDefault(),e.stopPropagation(),n.sendMessageFromButtonTouch.apply(null,arguments)},mousedown:function(e){return e.preventDefault(),e.stopPropagation(),n.keepInputFocus.apply(null,arguments)},click:function(e){return e.preventDefault(),e.stopPropagation(),n.sendMessageFromButtonClick.apply(null,arguments)}}},[e("svg",{staticStyle:{display:"block"},attrs:{viewBox:"0 0 24 24",width:"18",height:"18",fill:"none",stroke:"#ffffff","stroke-width":"2.4","stroke-linecap":"round","stroke-linejoin":"round"}},[e("line",{attrs:{x1:"4",y1:"12",x2:"19",y2:"12"}}),e("polyline",{attrs:{points:"12 5 19 12 12 19"}})])])])])])},[],!1,null,"604dabac",null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:fileTransfer:FileViewer.vue");var r=t(0),o=t(24);t(2).get("interchat:fileTransfer:FileViewer.vue");function l(n,e,t){return Math.max(n,Math.min(e,t))}function c(n){if(!n||n.length<2)return 0;let e=n[0].clientX-n[1].clientX,t=n[0].clientY-n[1].clientY;return Math.sqrt(e*e+t*t)}function d(n){return n&&0!==n.length?1===n.length?{x:n[0].clientX,y:n[0].clientY}:{x:(n[0].clientX+n[1].clientX)/2,y:(n[0].clientY+n[1].clientY)/2}:{x:0,y:0}}const f="2.16.105",m="https://cdn.jsdelivr.net/npm/pdfjs-dist@"+f+"/build/pdf.min.js",h="https://cdn.jsdelivr.net/npm/pdfjs-dist@"+f+"/build/pdf.worker.min.js";function v(n){let e=/\.([a-z0-9]+)$/i.exec(n||"");return e?e[1].toLowerCase():""}function x(content){let n=content||"",e=n.indexOf(",");"data:"===n.slice(0,5)&&e>=0&&(n=n.slice(e+1));let t=atob(n),r=t.length,o=new Uint8Array(r);for(let i=0;i({kind:"other",objectUrl:"",textContent:"",loading:!0,error:!1,menuOpen:!1,pdfScale:1,pdfTx:0,pdfTy:0,pdfContentW:0,pdfContentH:0}),computed:{pdfStyle(){return{transform:`translate3d(${this.pdfTx}px, ${this.pdfTy}px, 0) scale(${this.pdfScale})`}}},watch:{visible(n){n?this.onOpen():this.onClose()}},mounted(){this.visible&&this.onOpen()},beforeDestroy(){this.onClose(),this.revokeUrl();try{this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}catch(n){}},methods:{onOpen(){try{this.$el&&this.$el.parentNode!==document.body&&document.body.appendChild(this.$el)}catch(n){}document.addEventListener("keydown",this.onKeyDown),document.addEventListener("backbutton",this.onBackButton,!1),this._closingFromPop=!1,this._historyPushed=!1;try{"undefined"!=typeof window&&window.history&&window.history.pushState&&(window.history.pushState({ksitalkFileViewer:!0},""),this._historyPushed=!0,window.addEventListener("popstate",this.onPopState))}catch(n){}this.load()},onClose(){document.removeEventListener("keydown",this.onKeyDown),document.removeEventListener("backbutton",this.onBackButton,!1);try{window.removeEventListener("popstate",this.onPopState)}catch(n){}if(this._historyPushed&&!this._closingFromPop)try{window.history.back()}catch(n){}this._historyPushed=!1,this.revokeUrl()},revokeUrl(){if(this.objectUrl){try{URL.revokeObjectURL(this.objectUrl)}catch(n){}this.objectUrl=""}},async load(){if(this.loading=!0,this.error=!1,this.kind=function(n){let e=v(n);return"pdf"===e?"pdf":["mp4","mov","webm","m4v"].indexOf(e)>=0?"video":["png","jpg","jpeg","gif","webp","bmp","svg","heic"].indexOf(e)>=0?"image":["mp3","wav","ogg","m4a","aac"].indexOf(e)>=0?"audio":["txt","csv","json","xml","log"].indexOf(e)>=0?"text":"other"}(this.fileName),this.revokeUrl(),!this.contentBase64)return this.error=!0,void(this.loading=!1);try{let n={pdf:"application/pdf",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",bmp:"image/bmp",svg:"image/svg+xml",heic:"image/heic",txt:"text/plain",csv:"text/csv",json:"application/json",xml:"application/xml",log:"text/plain",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",m4a:"audio/mp4",aac:"audio/aac",mp4:"video/mp4",mov:"video/quicktime",webm:"video/webm",m4v:"video/mp4"}[v(this.fileName)]||"application/octet-stream";if("pdf"===this.kind)await this.renderPdf();else if("text"===this.kind){let n=x(this.contentBase64);this.textContent=new TextDecoder("utf-8").decode(n)}else if("video"===this.kind||"image"===this.kind||"audio"===this.kind){let e=x(this.contentBase64),t=new Blob([e],{type:n});this.objectUrl=URL.createObjectURL(t)}else this.error=!0}catch(n){r.a.warn("FileViewer load failed",this.fileName,n),this.error=!0}this.loading=!1},async renderPdf(){let n=await("undefined"!=typeof window&&window.pdfjsLib?Promise.resolve(window.pdfjsLib):k||(k=new Promise(function(n,e){try{let s=document.createElement("script");s.src=m,s.onload=function(){window.pdfjsLib?n(window.pdfjsLib):e(new Error("pdfjsLib not available after load"))},s.onerror=function(){k=null,e(new Error("pdf.js load failed"))},document.head.appendChild(s)}catch(n){k=null,e(n)}}),k));try{n.GlobalWorkerOptions.workerSrc=h}catch(n){}let e=x(this.contentBase64),t=await n.getDocument({data:e}).promise;this.loading=!1,await this.$nextTick();let r=this.$refs.pdfContainer;if(!r)return;r.innerHTML="";let o=Math.min(r.clientWidth||window.innerWidth,window.innerWidth)-8,l=Math.min(window.devicePixelRatio||1,2);for(let i=1;i<=t.numPages;i++){let n=await t.getPage(i),base=n.getViewport({scale:1}),e=o>0?o/base.width:1,c=n.getViewport({scale:e}),canvas=document.createElement("canvas");canvas.className="file-viewer__pdf-page",canvas.width=Math.floor(c.width*l),canvas.height=Math.floor(c.height*l),canvas.style.width=Math.floor(c.width)+"px",canvas.style.height=Math.floor(c.height)+"px";let d=canvas.getContext("2d");r.appendChild(canvas),await n.render({canvasContext:d,viewport:c,transform:1!==l?[l,0,0,l,0,0]:null}).promise}await this.$nextTick(),this.pdfContentW=r.offsetWidth||o,this.pdfContentH=r.scrollHeight||0,this.resetPdfZoom()},clampPdf(){let n=this.$refs.pdfWrap;if(!n)return;let e=n.clientWidth,t=n.clientHeight,r=this.pdfContentW*this.pdfScale,o=this.pdfContentH*this.pdfScale,c=Math.max(0,(r-e)/2);this.pdfTx=l(-c,c,this.pdfTx);let d=Math.min(0,t-o);this.pdfTy=l(d,0,this.pdfTy)},resetPdfZoom(){this.pdfScale=1,this.pdfTx=0,this.pdfTy=0},onPdfTouchStart(n){this._lastCenter=d(n.touches),this._lastDist=c(n.touches)},onPdfTouchMove(n){let e=d(n.touches);this._lastCenter&&(this.pdfTx+=e.x-this._lastCenter.x,this.pdfTy+=e.y-this._lastCenter.y);let t=c(n.touches);t&&this._lastDist&&(this.pdfScale=l(1,5,this.pdfScale*(t/this._lastDist))),this._lastCenter=e,this._lastDist=t,this.clampPdf()},onPdfTouchEnd(n){if(!n.touches||0===n.touches.length)return this._lastCenter=null,void(this._lastDist=0);this._lastCenter=d(n.touches),this._lastDist=c(n.touches)},onPdfWheel(n){let e=n.deltaY>0?-1:1;this.pdfScale=l(1,5,this.pdfScale+.15*e),this.clampPdf()},close(){Object(o.a)(700),this.menuOpen=!1,this.$emit("close")},toggleMenu(){Object(o.a)(700),this.menuOpen=!this.menuOpen},closeMenu(){this.menuOpen=!1},doSave(){Object(o.a)(700),this.menuOpen=!1,this.$emit("save")},doForward(){Object(o.a)(700),this.menuOpen=!1,this.$emit("forward")},onKeyDown(n){"Escape"===n.key&&this.close()},onBackButton(n){this.visible&&(n&&n.preventDefault&&n.preventDefault(),this.close())},onPopState(){this._closingFromPop=!0,this._historyPushed=!1,this.close()}}},y=(t(784),t(5)),component=Object(y.a)(w,function(){var n=this,e=n._self._c;return e("div",{staticClass:"file-viewer",on:{click:function(e){return e.target!==e.currentTarget?null:(e.stopPropagation(),n.close.apply(null,arguments))}}},[e("div",{staticClass:"file-viewer__bar",on:{click:function(n){n.stopPropagation()},touchstart:function(n){n.stopPropagation()},touchmove:function(n){n.stopPropagation()},touchend:function(n){n.stopPropagation()}}},[e("div",{staticClass:"chat-top-actions"},[e("button",{staticClass:"chat-top-actions__btn",attrs:{type:"button","aria-label":"back"},on:{click:function(e){return e.stopPropagation(),n.close.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.close.apply(null,arguments)}}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"none",stroke:"#fff","stroke-width":"2.4","stroke-linecap":"round"}},[e("path",{attrs:{d:"M6 6l12 12M18 6L6 18"}})])]),n._v(" "),e("button",{staticClass:"chat-top-actions__btn",attrs:{type:"button","aria-label":"menu"},on:{click:function(e){return e.stopPropagation(),n.toggleMenu.apply(null,arguments)}}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"#fff"}},[e("circle",{attrs:{cx:"12",cy:"5",r:"2.2"}}),e("circle",{attrs:{cx:"12",cy:"12",r:"2.2"}}),e("circle",{attrs:{cx:"12",cy:"19",r:"2.2"}})])])]),n._v(" "),e("div",{staticClass:"file-viewer__title"},[n._v(n._s(n.fileName))])]),n._v(" "),n.menuOpen?e("div",{staticClass:"file-viewer__menu-backdrop",on:{click:function(e){return e.stopPropagation(),n.closeMenu.apply(null,arguments)},touchstart:function(n){n.stopPropagation()},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.closeMenu.apply(null,arguments)}}}):n._e(),n._v(" "),n.menuOpen?e("div",{staticClass:"file-action-menu file-viewer__menu",on:{click:function(n){n.stopPropagation()},touchstart:function(n){n.stopPropagation()},touchmove:function(n){n.stopPropagation()},touchend:function(n){n.stopPropagation()}}},[e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doSave.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doSave.apply(null,arguments)}}},[n._v(n._s(n.$t("Save")))]),n._v(" "),e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doForward.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doForward.apply(null,arguments)}}},[n._v(n._s(n.$t("Forward")))])]):n._e(),n._v(" "),e("div",{staticClass:"file-viewer__body",on:{click:function(e){return e.target!==e.currentTarget?null:(e.stopPropagation(),n.close.apply(null,arguments))}}},[n.loading?e("div",{staticClass:"file-viewer__center file-viewer__hint"},[n._v(n._s(n.$t("Loading"))+"…")]):n.error?e("div",{staticClass:"file-viewer__center file-viewer__hint"},[e("p",[n._v(n._s(n.$t("Cannot preview this file")))]),n._v(" "),e("button",{staticClass:"file-viewer__fallback-btn",attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doSave.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doSave.apply(null,arguments)}}},[n._v(n._s(n.$t("Save")))])]):n._e(),n._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:!n.loading&&!n.error&&"pdf"===n.kind,expression:"!loading && !error && kind==='pdf'"}],ref:"pdfWrap",staticClass:"file-viewer__pdf-wrap",on:{touchstart:function(e){return e.preventDefault(),n.onPdfTouchStart.apply(null,arguments)},touchmove:function(e){return e.preventDefault(),n.onPdfTouchMove.apply(null,arguments)},touchend:function(e){return e.preventDefault(),n.onPdfTouchEnd.apply(null,arguments)},dblclick:function(e){return e.preventDefault(),n.resetPdfZoom.apply(null,arguments)},wheel:function(e){return e.preventDefault(),n.onPdfWheel.apply(null,arguments)}}},[e("div",{ref:"pdfContainer",staticClass:"file-viewer__pdf",style:n.pdfStyle})]),n._v(" "),n.loading||n.error||"video"!==n.kind?n.loading||n.error||"image"!==n.kind?n.loading||n.error||"audio"!==n.kind?n.loading||n.error||"text"!==n.kind?n.loading||n.error||"other"!==n.kind?n._e():e("div",{staticClass:"file-viewer__center file-viewer__hint"},[e("p",[n._v(n._s(n.$t("Cannot preview this file")))]),n._v(" "),e("button",{staticClass:"file-viewer__fallback-btn",attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doSave.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doSave.apply(null,arguments)}}},[n._v(n._s(n.$t("Save")))])]):e("pre",{staticClass:"file-viewer__text",on:{click:function(n){n.stopPropagation()}}},[n._v(n._s(n.textContent))]):e("audio",{staticClass:"file-viewer__audio",attrs:{src:n.objectUrl,controls:"",autoplay:""},on:{click:function(n){n.stopPropagation()}}}):e("img",{staticClass:"file-viewer__media",attrs:{src:n.objectUrl,draggable:"false"},on:{click:function(n){n.stopPropagation()}}}):e("video",{staticClass:"file-viewer__media",attrs:{src:n.objectUrl,controls:"",playsinline:"",autoplay:""},on:{click:function(n){n.stopPropagation()}}})])])},[],!1,null,"bbd43018",null);e.default=component.exports},,function(n,e,t){"use strict";t.r(e);t(2).get("interchat:fileTransfer:FileDownloading.vue");var r=t(128).a,o=t(5),component=Object(o.a)(r,function(){var n=this,e=n._self._c;n._self._setupProxy;return e("div",{staticClass:"flex flex-col items-center"},[e("div",{staticClass:"my-3 w-full text-center"},[n._v("Progress: "+n._s(n.progressMemoryString))]),n._v(" "),e("progress-bar",{staticStyle:{width:"120px"},attrs:{value:Math.floor(100*n.progressPercent),options:{layout:{type:"circle",height:120,width:120,strokeWidth:12,verticalTextAlign:70,horizontalTextAlign:0}}}}),n._v(" "),e("button",{staticClass:"btn bg-red-light my-6 w-1/2",on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.doAbort.apply(null,arguments)}}},[n._v(n._s(n.$t("Abort")))])],1)},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:svg:Gear.vue");var r=t(5),component=Object(r.a)({},function(){var n=this._self._c;return n("svg",{attrs:{version:"1.1",height:"1rem",viewBox:"340 140 280 279.416","enable-background":"new 340 140 280 279.416","xml:space":"preserve"}},[n("path",{attrs:{fill:"#ffffff",d:"M620,305.666v-51.333l-31.5-5.25c-2.333-8.75-5.833-16.917-9.917-23.917L597.25,199.5l-36.167-36.75l-26.25,18.083\n c-7.583-4.083-15.75-7.583-23.916-9.917L505.667,140h-51.334l-5.25,31.5c-8.75,2.333-16.333,5.833-23.916,9.916L399.5,163.333\n L362.75,199.5l18.667,25.666c-4.083,7.584-7.583,15.75-9.917,24.5l-31.5,4.667v51.333l31.5,5.25\n c2.333,8.75,5.833,16.334,9.917,23.917l-18.667,26.25l36.167,36.167l26.25-18.667c7.583,4.083,15.75,7.583,24.5,9.917l5.25,30.916\n h51.333l5.25-31.5c8.167-2.333,16.333-5.833,23.917-9.916l26.25,18.666l36.166-36.166l-18.666-26.25\n c4.083-7.584,7.583-15.167,9.916-23.917L620,305.666z M480,333.666c-29.75,0-53.667-23.916-53.667-53.666s24.5-53.667,53.667-53.667\n S533.667,250.25,533.667,280S509.75,333.666,480,333.666z"}})])},[],!1,null,null,null);e.default=component.exports},,,function(n,e,t){"use strict";t.d(e,"a",function(){return r});t(2).get("interchat:types:all.ts");var r;!function(n){n.CALL="call",n.CALL_MISSED="call-missed",n.TEXT="text",n.FILE="file"}(r||(r={}))},function(n,e,t){"use strict";t.d(e,"a",function(){return r});t(2).get("interchat:tools:XHRFetch.ts");function r(n,e){return e||(e={}),new Promise((t,r)=>{if(!e)return r();let o=new XMLHttpRequest;o.open(e.method||"GET",n,!0),o.withCredentials=e.withCredentials||!1,o.responseType=e.responseType||"",o.onerror=function(n){r(n)},o.onload=function(){let code=(o.status+"")[0];if("0"!==code&&"2"!==code&&"3"!==code)return r(new Error("Fail with code "+code));t(o)};try{o.send()}catch(n){r(n)}})}},function(n,e,t){"use strict";t.d(e,"a",function(){return l});var r=t(133),o=t(0);t(2).get("interchat:webrtc:WebRtcConnectionTrack.ts");class l extends r.a{initConnection(){let n=super.initConnection();return n.ontrack=this.onTrack.bind(this),n}onTrack(n){this.onRemoteStream(n.streams[0])}onRemoteStream(n){}doAddLocalStream(n){if(o.a.log("doAddLocalStream"),!this.connection)return o.a.warn("doAddLocalStream WARN connection no inited!");n.getTracks().forEach(track=>{this.connection&&(o.a.log("Add track to webrtc connection",track),this.connection.addTrack(track,n))})}}},,function(n,e,t){"use strict";var r=t(4),o=t(479),l=t.n(o);t(2).get("interchat:vuebar");r.default.use(l.a)},function(n,e,t){"use strict";var r=t(4),o=t(3),l=t.n(o);t(2).get("interchat:filters");r.default.filter("formatDate",function(n){if(n)return l()(String(n)).format("HH:mm DD/MM")}),r.default.filter("formatPlayTime",function(n){if(!n)return;let time=parseInt(velue);if(time<60)return time;let e=n/3600;time%=3600;let t=time/60;time%=60;let r="";return e&&(r+=e+":"),t&&(r+=t+":"),r+time})},function(n,e,t){"use strict";var r=t(4),o=t(480),l=t.n(o);t(2).get("interchat:scroll");r.default.use(l.a)},function(n,e,t){"use strict";var r=t(4),o=t(481);t(2).get("interchat:vueValidate");r.default.use(o.a)},function(n,e,t){"use strict";var r=t(1),o=t(0);t(8),t(52),t(2);t(2).get("interchat:events");function l(n,e){if("undefined"==typeof window||!n||!n.store)return;const t=t=>{try{o.a.warn("VIEWPORT_TRACE restore",{reason:e,tag:t,path:n.router&&n.router.currentRoute?n.router.currentRoute.fullPath:null,innerWidth:window.innerWidth,innerHeight:window.innerHeight,visualViewportWidth:window.visualViewport?window.visualViewport.width:null,visualViewportHeight:window.visualViewport?window.visualViewport.height:null,scrollY:window.scrollY}),n.store.dispatch("screen/restoreAppViewport",{reason:e,resetScrollableContainers:!1})}catch(n){o.a.warn("VIEWPORT_TRACE restore failed",{reason:e,tag:t,error:n&&n.message?n.message:n})}};t("now"),setTimeout(()=>t("120ms"),120),setTimeout(()=>t("450ms"),450),setTimeout(()=>t("900ms"),900)}e.a=function({app:n,redirect:e,route:t}){function c(e,t){o.a.warn("EVENT_REDIRECT_TRACE push",{tag:t,url:e,currentPath:n.router&&n.router.currentRoute?n.router.currentRoute.path:null});const r=n.router.push(e);r&&"function"==typeof r.catch&&r.catch(n=>{o.a.warn("EVENT_REDIRECT_TRACE route ignored",{tag:t,message:n&&n.message?n.message:n,url:e})})}o.a.log("Event bus register plugin"),r.b.$on(r.a.ACTIVATE,({})=>{n.store.dispatch("doActivate")}),r.b.$on(r.a.REGISTRATION_TOKEN,({token:e})=>{!async function(n,e){try{await n.store.dispatch("doUpdateDeviceToken",{token:e})}catch(n){o.a.error(n)}}(n,e)}),r.b.$on(r.a.SOCKET_MOUNT,async({})=>{o.a.debug("socket mount")}),r.b.$on(r.a.CALL_START,async({})=>{"undefined"!=typeof window&&(window.__ksitalkCallMinimized=!1);const t=n.localePath("/call"),r=n.router&&n.router.currentRoute?n.router.currentRoute.path:null;if(o.a.warn("CALL_PUSH_TRACE events CALL_START",{currentPath:r,callPath:t,callActive:n.store.getters["Call/isActive"],callStatus:n.store.getters["Call/status"]}),n.store.getters["Call/isActive"]&&r!=t){if(n.router&&n.router.currentRoute){const e=n.router.replace(t);return void(e&&"function"==typeof e.catch&&e.catch(n=>{o.a.warn("CALL_PUSH_TRACE events CALL_START route ignored",{message:n&&n.message?n.message:n})}))}e(t)}}),r.b.$on(r.a.REDIRECT,async({url:t,retry:r})=>{if("string"==typeof t&&(t=n.localePath(t)),o.a.warn("EVENT_REDIRECT_TRACE request",{url:t,retry:!!r,currentPath:n.router&&n.router.currentRoute?n.router.currentRoute.path:null}),n.router)return c(t,"initial"),void(r&&[600,1400,2600].forEach(e=>{setTimeout(()=>{!function(e){if(!n.router||!n.router.currentRoute)return!1;let t=n.router.currentRoute.path,r="string"==typeof e?e:e.path;return"/transferSelect"==r?"/transferSelect"==t||"/users/transfer"==t:t==r}(t)?c(t,"retry-"+e):o.a.warn("EVENT_REDIRECT_TRACE retry skipped",{delay:e,url:t,currentPath:n.router&&n.router.currentRoute?n.router.currentRoute.path:null})},e)}));e(t)}),r.b.$on(r.a.NAVIGATE_BACK,()=>{let e=n.router.currentRoute.path,path=function(n){let e=n.split("/");return"users"==e[1]?"edit"==e[2]||"transfer"==e[2]?"/users/":"/chats/":"chats"==e[1]?"/":"userAddExact"==e[1]||"conference"==e[1]||"conferenceVideo"==e[1]||"transferSelect"==e[1]?"/menu/main":"menu"==e[1]&&"main"==e[2]||e.length<=1?"/":e.reduce((n,t,r)=>r==e.length-1?n:n+t+"/","")}(e),t=n.router.currentRoute.query;"/"==path&&(t=void 0),e!=path?n.router.replace({path:n.localePath(path),query:t}):r.b.$emit(r.a.NAVIGATE_END)}),async function(n){await n.store.dispatch("brand/init",{})}(n),function(n){"undefined"!=typeof window&&n&&!n.__ksitalkViewportGuardsRegistered&&(n.__ksitalkViewportGuardsRegistered=!0,n.router&&n.router.afterEach((e,t)=>{l(n,`route:${t&&t.fullPath?t.fullPath:""}->${e&&e.fullPath?e.fullPath:""}`)}),window.addEventListener("pageshow",()=>l(n,"pageshow")),window.addEventListener("focus",()=>l(n,"window-focus")),window.addEventListener("orientationchange",()=>l(n,"orientationchange")),document.addEventListener("visibilitychange",()=>{"visible"==document.visibilityState&&l(n,"visibility-visible")}))}(n),setTimeout(()=>{!async function(n){try{await n.store.dispatch("platformDevice/onMounted",{})}catch(n){o.a.error(n)}}(n)},0)}},function(n,e,t){"use strict";var r=t(0);t(2).get("interchat:callWatcher.ts");const o="/call";function l({store:n,app:e,redirect:t,route:l}){let c=!1;function d(){try{return e.i18n?String(e.i18n.t("Call")):"KsiTalk"}catch(n){return"KsiTalk"}}function f(){try{return e.i18n?String(e.i18n.t("Call in progress")):"Звонок"}catch(n){return"Звонок"}}function m(){return e.router&&e.router.currentRoute?e.router.currentRoute.path:l.path}function h(){return n.getters["Call/isActive"]}function v(e){c=!0;window.__ksitalkOpenCallPending=!1,r.a.warn("CALL_PUSH_TRACE callWatcher pending open-call",{reason:e,callActive:h(),callStatus:n.getters["Call/status"]})}function x(l,d=!1){const f=e.localePath(o),v=m();if(r.a.warn("CALL_PUSH_TRACE callWatcher route attempt",{reason:l,currentPath:v,callPath:f,allowPendingCall:d,callActive:h(),callStatus:n.getters["Call/status"]}),c||h()||d){if(v!=f){if(r.a.log(`redirect to call page! ${l}`),e.router){const n=e.router.replace(f);return n&&"function"==typeof n.catch&&n.catch(n=>{r.a.warn("CALL_PUSH_TRACE callWatcher route ignored",{reason:l,message:n&&n.message?n.message:n})}),n}return t(f)}c=!1}}if("undefined"!=typeof window){const n=window;window.addEventListener("ksitalk-open-call",()=>{v("native-event"),x("native-open-call",!0)}),n.__ksitalkOpenCallPending&&v("native-pending-before-listener")}if(e.router&&"function"==typeof e.router.onReady&&e.router.onReady(()=>{r.a.warn("CALL_PUSH_TRACE callWatcher router ready",{currentPath:m(),openCallPending:c,callActive:h(),callStatus:n.getters["Call/status"]}),x("router-ready",!0)}),n.watch((n,e)=>e["Call/isActive"],t=>{if(t?n.dispatch("platformDevice/callKeepAliveStart",{title:d(),text:f()}):n.dispatch("platformDevice/callKeepAliveStop",{}),t||(n.dispatch("platformDevice/callEnded",{}),n.dispatch("Call/beforeClose",{})),t!=(m()==e.localePath(o)))return t?x("watcher"):void 0}),r.a.log("register call handle plugin"),n.getters["Call/isActive"])return x("initial getter")}e.a=async n=>{l(n)}},function(n,e,t){"use strict";var r=t(4),o=t(482);t(2).get("interchat:dragAndDrop");r.default.component("drop",o.Drop)},function(n,e,t){"use strict";var r=t(4),o=t(132),l=t.n(o);t(2).get("interchat:progressbar");r.default.use(l.a)},function(n,e,t){"use strict";(function(n){var r=t(8),o=t(0),l=t(9),c=t(506);t(2).get("interchat:auth.ts");let d=null;const f="authUser";function m(n){if(d&&(clearInterval(d),d=null),n.loggedIn){if(localStorage.setItem(f,JSON.stringify(n.user)),n.user&&n.user.id){try{let e=localStorage.getItem("lastActiveUserId");e&&e!==n.user.id&&Object(l.a)(),localStorage.setItem("lastActiveUserId",n.user.id)}catch(n){o.a.error("account switch cache clear failed",n)}Object(l.f)(n.user.id)}r.a.onLogin()}else d=setInterval(async()=>{if(n.loggedIn)return void(n.user&&n.user.id&&Object(l.f)(n.user.id));let e=localStorage.getItem("auth._token.local");e&&"false"!=e&&(await n.fetchUser(),n.user&&n.user.id&&Object(l.f)(n.user.id))},5e3)}e.a=async e=>{let{app:t,$auth:d}=e;r.a.setContext(e),"1"==n.env.EXTERNAL_AUTH&&Object(c.a)(e),d.$storage.watchState("loggedIn",n=>{o.a.debug("Watcher auth logged in = ",n),m(d),n||localStorage.removeItem(f)}),m(d),d.onError((n,e,t)=>{"Network Error"==n.message?o.a.error("auth network Error",e,n):o.a.error("auth Error",e,n)});let h=function(n){try{let e=localStorage.getItem(f);if(!e)return null;let t=JSON.parse(e);return t?(n.setUser(t),o.a.debug("Set user form local storage"),t):null}catch(n){o.a.error("Set user form local storage error ",n)}return null}(d);h&&await async function(n,e){n&&(Object(l.f)(n.id),o.a.log("Restore store for user "+n.id),await e.store.dispatch("fetchAllFromCache"),o.a.log("Restore store DONE"))}(h,e)}}).call(this,t(20))},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:UserList.vue");t(21);var r=t(1),o=t(32),l=t(87),c=t(499),d=t(500),f=t(501),m=t(140),h=(t(64),t(466)),v=t(11),x=t(37),k=t(54),w=(t(52),t(193)),y=t(0),_=t(18),S=t(28);t(2).get("interchat:UserList.vue");var C={name:"user-list",components:{Avatar:o.default,SvgBin:l.default,SvgConferenceCall:c.default,SvgConferenceCam:d.default,CallStart:h.default,SvgPersonAdd:m.default,SvgGroup:f.default},data:()=>({filterText:"",showFakeRows:!1,fakeRowsAfterHeight:100,fakeRowsIgnoreHide:!1,visibleItemsCount:20,visibleItemsShowStep:5,confirmUser:null,declinedUser:null}),computed:{filteredUsersAndLimited(){let object=this.filteredUsers;if(!object)return object;let n=Object.keys(object).filter(n=>object.hasOwnProperty(n)),e=this.channelUserId;if(e&&n.indexOf(e)>=0){let t=this.getUnreadMessagesCount(e),r=Object(S.c)();t>0?n=[e,...n.filter(n=>n!==e)]:Object(S.e)(this.me)||(r<=0||Date.now()-r>S.a)&&(n=n.filter(n=>n!==e))}let t={},r=0;for(const e of n){if(r>=this.visibleItemsCount)break;t[e]=object[e],r++}return t},channelUserId(){let n=this.users||{};for(let e in n)if(n.hasOwnProperty(e)&&Object(S.f)(n[e]))return e;return null},filteredUsers(){return""===this.filterText?this.sortedUsers:Object.keys(this.sortedUsers).reduce(this.filterByUsername,{})},filteredUsersCount(){return Object.keys(this.filteredUsers).length},hasHiddenItems(){return this.visibleItemsCount{this.refreshLayout()})},beforeDestroy(){r.b.$off(r.a.CHATS_SEARCH_QUERY,this.onSearchQuery),this.removeViewportListeners()},watch:{filteredUsers(){this.$nextTick(()=>{this.refreshLayout()})}},methods:{addViewportListeners(){"undefined"!=typeof window&&(window.addEventListener("resize",this.scheduleRefreshLayout),window.addEventListener("orientationchange",this.scheduleRefreshLayout),window.visualViewport&&window.visualViewport.addEventListener("resize",this.scheduleRefreshLayout))},removeViewportListeners(){"undefined"!=typeof window&&(window.removeEventListener("resize",this.scheduleRefreshLayout),window.removeEventListener("orientationchange",this.scheduleRefreshLayout),window.visualViewport&&window.visualViewport.removeEventListener("resize",this.scheduleRefreshLayout))},scheduleRefreshLayout(){this.refreshLayout(),setTimeout(this.refreshLayout,120),setTimeout(this.refreshLayout,450)},refreshLayout(){this.$nextTick(()=>{this.updateFakeRowsHeight()})},showMoreItems(){this.visibleItemsCount+=this.visibleItemsShowStep},getElementUserList(){let n=this.$refs.user_list;if(!n)throw new Error("Can not find user list");return n},onScroll(n){this.onScrollUpdateFakeRows(n),this.onScrollUpdateShowMore(n)},onScrollUpdateShowMore(n){let e=n.srcElement,t=e.scrollHeight-e.clientHeight;e.scrollTop>t-10&&this.showMoreItems()},onScrollUpdateFakeRows(n){if(!this.showFakeRows||this.fakeRowsIgnoreHide)return;let e=this.$refs.fake_rows;e&&n.srcElement.scrollTop>=e.offsetHeight&&(this.showFakeRows=!1)},onSwipe(n){try{const e=45,t=20;if(!Object(w.isSwipeDown)(n,e))return;if(!(this.getElementUserList().scrollTop{this.fakeRowsIgnoreHide=!1},1e3)},updateFakeRowsHeight(){let n=this.getElementUserList(),e=this.$refs.real_rows;if(!e)return;const t="undefined"!=typeof window&&window.visualViewport?window.visualViewport.height:"undefined"!=typeof window?window.innerHeight:0,r=n.clientHeight||t||0;this.fakeRowsAfterHeight=Math.max(r-e.offsetHeight,0),this.$nextTick(()=>{this.scrollToFirstUser()})},scrollToFirstUser(){let n=this.getElementUserList(),e=this.$refs.fake_rows;e&&(n.scrollTop=e.offsetHeight-1)},dropToUser(n,e,t){t.dataTransfer&&n&&(Object(x.SetIncomingFiles)(t.dataTransfer.files),this.$router.push(Object(x.GoToTransferToUser)(n.id)))},selectUserForConversation(n){this.$router.push(Object(k.GoToChatWithUser)(n))},contactState(n){let e=this.$store.state.userOpponents[n],t=e&&e.status||0;return 4===t?"confirm":3===t?"awaiting":2===t?"declined":"normal"},contactStateLabel(n){let s=this.contactState(n);return"confirm"===s?this.$t("Confirm"):"awaiting"===s?this.$t("Awaiting confirmation"):"declined"===s?this.$t("Declined"):""},onUserRowClick(n){let u=this.users[n];Object(S.f)(u)&&Object(S.d)(Date.now());let s=this.contactState(n);return"confirm"===s?this.openContactConfirm(n):"declined"===s?this.openDeclinedModal(n):this.selectUserForConversation(n)},openDeclinedModal(n){this.declinedUser=this.users[n]||{id:n,name:n}},closeDeclined(){this.declinedUser=null},async requestAgain(){let n=this.declinedUser;if(this.declinedUser=null,!n)return;let e=n.username||n.name;try{await this.$axios.post("conversationCreateFor",{recipientName:e})}catch(n){y.a.error("requestAgain failed",n)}},async cancelDeclined(){let n=this.declinedUser;if(this.declinedUser=null,n)try{await this.$store.dispatch("sendConversationDeleteWith",n.id)}catch(n){y.a.error("cancelDeclined failed",n)}},openContactConfirm(n){this.confirmUser=this.users[n]||{id:n,name:n}},closeContactConfirm(){this.confirmUser=null},async confirmContact(){let n=this.confirmUser;if(this.confirmUser=null,!n)return;let e=this.$store.state.userOpponents[n.id],t=e&&e.conversationId;try{await this.$axios.post("conversationConfirm",{conversationId:t}),this.selectUserForConversation(n.id)}catch(n){y.a.error("confirmContact failed",n)}},async declineContact(){let n=this.confirmUser;if(this.confirmUser=null,!n)return;let e=this.$store.state.userOpponents[n.id],t=e&&e.conversationId;try{await this.$axios.post("conversationDecline",{conversationId:t})}catch(n){y.a.error("declineContact failed",n)}},addUser(){return this.$emit("addUser"),!1},userOptions(n){this.$router.push(GoToMenuUser(n.id))},callUser(n){this.$emit("callUser",n)},conversationDelete(n){!0===confirm("Are you sure you want remove the conversation with "+Object(_.d)(n)+"?")&&this.$emit("conversationDelete",n)},async callAll(){this.$emit("callAll")},async callAllVideo(){this.$emit("callAllVideo")},getUserConversationInfo(n){return this.$store.state.userOpponents[n]},getUnreadMessagesCount(n){const e=this.getUserConversationInfo(n);return e&&e.msgUnreadCount?e.msgUnreadCount:0},onSearchQuery(text){this.filterText=(text||"").trim()},filterByUsername(n,e){let u=this.users[e];if(!u)return n;let q=this.filterText.toLowerCase(),t=(u.local&&u.local.name?u.local.name:"").toLowerCase(),r=(u.name||"").toLowerCase(),o=(u.username||"").toLowerCase();return(t.includes(q)||r.includes(q)||o.includes(q))&&(n[e]=u),n}}},E=(t(758),t(5)),component=Object(E.a)(C,function(){var n=this,e=n._self._c;return e("div",{staticClass:"user_list_container border rounde border-t flex flex-1 min-h-0 flex-col h-full overflow-hidden"},[n._e(),n._v(" "),e("GestureArea",{staticClass:"users app-height h-full flex flex-1 min-h-0 flex-col overflow-hidden",attrs:{"data-v-bar":""}},[e("div",{ref:"user_list",staticClass:"user-list-class scrolling_smooth",on:{scroll:n.onScroll}},[n.showFakeRows?e("div",{ref:"fake_rows",on:{click:n.scrollToFirstUser}},[e("div",{staticClass:"w-full user_row p-1 border-b",staticStyle:{height:"25vh"}})]):n._e(),n._v(" "),e("div",{ref:"real_rows"},[n._l(n.filteredUsersAndLimited,function(t){return e("div",{key:t.id,class:["flex items-center cursor-pointer text-sm text-dark-softner border-b p-1 user_row relative","user_row_bg","user_row_bg_"+t.themeId],staticStyle:{"-webkit-touch-callout":"none","-webkit-user-select":"none","user-select":"none"},on:{click:function(e){return n.onUserRowClick(t.id)}}},[e("drop",{staticClass:"absolute pin",on:{drop:function(e){return n.dropToUser(t,...arguments)}}}),n._v(" "),e("UserBadge",{staticClass:"py-2 ml-2",attrs:{user:t}}),n._v(" "),e("div",{staticClass:"py-2 mx-2 flex-1"},[n.getUnreadMessagesCount(t.id)>0?e("div",{staticClass:"w-full text-center text-red-dark"},[n._v(n._s(n.$t("Count news",{count:n.getUnreadMessagesCount(t.id)})))]):n._e(),n._v(" "),"normal"!==n.contactState(t.id)?e("div",{class:["contact-status","contact-status--"+n.contactState(t.id)]},[n._v("\n "+n._s(n.contactStateLabel(t.id))+"\n ")]):n._e()]),n._v(" "),e("div",{staticClass:"flex items-center justify-end mr-2"})],1)}),n._v(" "),n.hasHiddenItems?e("div",{staticClass:"w-full text-center p-1 my-2"},[e("button",{staticClass:"btn btn-green mx-1",on:{click:n.showMoreItems}},[n._v(n._s(n.$t("Show more")))])]):n._e()],2),n._v(" "),e("div",{ref:"fake_rows_after",staticClass:"w-full",style:{height:this.fakeRowsAfterHeight+"px"},on:{click:n.scrollToFirstUser}})])]),n._v(" "),n.confirmUser?e("div",{staticClass:"contact-confirm-overlay",on:{click:function(e){return e.target!==e.currentTarget?null:n.closeContactConfirm.apply(null,arguments)}}},[e("div",{staticClass:"contact-confirm-box alert-modal__box"},[e("p",{staticClass:"text-lg font-bold mb-2"},[n._v(n._s(n.$t("Confirm contact?")))]),n._v(" "),e("p",{staticClass:"mb-4"},[n._v(n._s(n.confirmUser.name))]),n._v(" "),e("div",{staticClass:"flex justify-end",staticStyle:{gap:"8px"}},[e("button",{staticClass:"btn contact-modal-cancel",on:{click:n.declineContact}},[n._v(n._s(n.$t("Decline")))]),n._v(" "),e("button",{staticClass:"btn bg-blue-light",on:{click:n.confirmContact}},[n._v(n._s(n.$t("Confirm")))])])])]):n._e(),n._v(" "),n.declinedUser?e("div",{staticClass:"contact-confirm-overlay",on:{click:function(e){return e.target!==e.currentTarget?null:n.closeDeclined.apply(null,arguments)}}},[e("div",{staticClass:"contact-confirm-box alert-modal__box"},[e("p",{staticClass:"text-lg font-bold mb-2"},[n._v(n._s(n.$t("Declined")))]),n._v(" "),e("p",{staticClass:"mb-4"},[n._v(n._s(n.declinedUser.name))]),n._v(" "),e("div",{staticClass:"flex justify-end",staticStyle:{gap:"8px"}},[e("button",{staticClass:"btn contact-modal-cancel",on:{click:n.cancelDeclined}},[n._v(n._s(n.$t("Cancel")))]),n._v(" "),e("button",{staticClass:"btn bg-blue-light",on:{click:n.requestAgain}},[n._v(n._s(n.$t("Request again")))])])])]):n._e()],1)},[],!1,null,null,null);e.default=component.exports;installComponents(component,{UserBadge:t(215).default,GestureArea:t(193).default})},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:user:UserBadge.vue");var r=t(10),o=t(18),l=t(28),c=t(0);t(2).get("interchat:user:UserBadge.vue");var d=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};let f=class extends r.d{mounted(){this.logDisplayTrace("mounted")}onUserChanged(){this.logDisplayTrace("changed")}get name(){return this.user&&this.user.local&&this.user.local.name?this.user.local.name:""}get displayNumber(){return Object(l.f)(this.user)?l.b:Object(o.d)(this.user)}get channelIconSrc(){return Object(l.f)(this.user)?"icon.png":""}get avatarFullname(){return Object(o.b)(this.user)}logDisplayTrace(n){this.user&&c.a.warn("USER_DISPLAY_TRACE badge",{stage:n,id:this.user.id,username:this.user.username,name:this.user.name,localName:this.user.local&&this.user.local.name,profile:this.user.profile,avatarId:this.user.avatarId,avatarName:this.user.avatarName,avatarDefaultName:this.user.avatarDefaultName,displayNumber:this.displayNumber,avatarFullname:this.avatarFullname})}};d([Object(r.b)()],f.prototype,"user",void 0),d([Object(r.e)("user",{deep:!0})],f.prototype,"onUserChanged",null),f=d([Object(r.a)({})],f);var m=f,h=(t(760),t(5)),component=Object(h.a)(m,function(){var n=this,e=n._self._c;n._self._setupProxy;return e("div",{staticClass:"flex flex-row items-center"},[e("avatar",{attrs:{fullname:n.avatarFullname,avatarId:n.user.avatarId,size:64,"icon-src":n.channelIconSrc}}),n._v(" "),n.user?e("div",{staticClass:"about flex flex-col justify-center px-1"},[e("div",{staticClass:"name pb-2",domProps:{textContent:n._s(n.displayNumber)}}),n._v(" "),e("div",{staticClass:"status"},[e("span",{class:["status-dot",n.user.online?"online":"offline"]}),n._v(" "),e("span",{staticClass:"user_nickname"},[n._v(n._s(n.name))])])]):n._e()],1)},[],!1,null,"34f07768",null);e.default=component.exports;installComponents(component,{Avatar:t(32).default})},,,,,,,,,,,,,,,,,,,,,,,,function(n,e,t){var content=t(615);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("540a7ba2",content,!0,{sourceMap:!1})},,function(n,e,t){var content=t(619);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("0d506aa2",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(622);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("641eafb7",content,!0,{sourceMap:!1})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,e,t){var content=t(759);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("49193152",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(761);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("2158a222",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(763);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("4e3e5806",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(765);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("5ab884b4",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(767);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("2452e853",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(769);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("7297648c",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(771);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("657116b3",content,!0,{sourceMap:!1})},,,,,,,function(n,e,t){var content=t(783);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("59f35712",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(785);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("7a0d1897",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(787);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("aa78e5ba",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(789);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("4a03a05d",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(791);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("7795ec5e",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(793);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("64225beb",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(795);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("3b339ace",content,!0,{sourceMap:!1})},,function(n,e,t){var content=t(799);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("3f24f11b",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(801);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("7ffcb86c",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(804);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("8bc5e81c",content,!0,{sourceMap:!1})},function(n,e,t){var content=t(806);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("0c18fd25",content,!0,{sourceMap:!1})},,,,,function(n,e,t){"use strict";t.r(e),function(n){t.d(e,"state",function(){return o}),t.d(e,"getters",function(){return l}),t.d(e,"mutations",function(){return x}),t.d(e,"actions",function(){return k});var r=t(0);t(1);t(2).get("interchat:brand");const o=()=>({brandName:"",applicationAndroidUrl:void 0}),l={brandName:n=>n.brandName,isBrandKsiTalk:n=>n.brandName==c||n.brandName==d,isBrandAnyTalk:n=>n.brandName==f},c="ksitalk",d="ksitalk1",f="anytalk",m=n.env.LINK_APPLICATION_ANDROID_BRANDS?JSON.parse(n.env.LINK_APPLICATION_ANDROID_BRANDS):{},h="https://ksitalk.com/download/Android/ksitalk-10.10.13-release.apk",v="ksitalk",x={SET_BRAND_NAME(n,e){n.brandName=e,r.a.log("Set brand ",n.brandName)},SET_APP_ANDROID_URL(n){let e=m[n.brandName];!e&&h&&n.brandName==v&&(e=h),n.applicationAndroidUrl=e,r.a.log("Set android url ",n.applicationAndroidUrl)}},k={async init({state:n,commit:e,dispatch:t},{}){let r=!await t("platformDevice/isDevice",{},{root:!0}),o=await t("platformDevice/brandNameGet",{},{root:!0});r&&(o&&"localhost"!=o||(o=v),"chess2000"==o&&(o=f)),e("SET_BRAND_NAME",o),e("SET_APP_ANDROID_URL")}}}.call(this,t(20))},,function(n,e,t){"use strict";t.d(e,"a",function(){return r});t(2).get("interchat:tools:TimeoutAsync.ts");async function r(time){return new Promise(n=>{setTimeout(()=>{n()},time)})}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,e,t){"use strict";t.r(e);t(2).get("interchat:CallOpenCover.vue");t(2).get("interchat:CallOpenCover.vue");var r={name:"CallOpenCover",data:()=>({show:!1,hideTimer:null,_onOpen:null}),computed:{callPath(){return this.localePath("/call")}},methods:{open(){this.show=!0,this.hideTimer&&clearTimeout(this.hideTimer),this.hideTimer=setTimeout(()=>{this.show=!1},7e3)},hide(){this.show=!1,this.hideTimer&&(clearTimeout(this.hideTimer),this.hideTimer=null)}},mounted(){"undefined"!=typeof window&&(this._onOpen=()=>this.open(),window.addEventListener("ksitalk-open-call",this._onOpen))},beforeDestroy(){this._onOpen&&window.removeEventListener("ksitalk-open-call",this._onOpen),this.hideTimer&&clearTimeout(this.hideTimer)},watch:{$route(n){n&&n.path===this.callPath&&this.hide()}}},o=(t(800),t(5)),component=Object(o.a)(r,function(){var n=this,e=n._self._c;return n.show?e("div",{staticClass:"call-open-cover"},[e("div",{staticClass:"call-open-cover__inner"},[e("div",{staticClass:"call-open-cover__spinner"}),n._v(" "),e("div",{staticClass:"call-open-cover__text"},[n._v(n._s(n.$t("Loading")))])])]):n._e()},[],!1,null,"c6acfbda",null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:CallReturnBanner.vue");t(2).get("interchat:CallReturnBanner.vue");var r={name:"CallReturnBanner",computed:{callActive(){return this.$store.getters["Call/isActive"]},onCallPage(){return!!this.$route&&this.$route.path===this.localePath("/call")},show(){return this.callActive&&!this.onCallPage}},watch:{show(n){this.applyBodyClass(n)}},mounted(){this.applyBodyClass(this.show)},beforeDestroy(){this.applyBodyClass(!1)},methods:{applyBodyClass(n){try{if("undefined"==typeof document)return;(document.getElementById("__nuxt")||document.getElementById("__layout")||document.body).classList.toggle("ksitalk-call-banner-on",!!n)}catch(n){}},goCall(){try{window.__ksitalkCallMinimized=!1}catch(n){}this.$router.push(this.localePath("/call"))}}},o=(t(803),t(5)),component=Object(o.a)(r,function(){var n=this,e=n._self._c;return n.show?e("div",{staticClass:"call-return-banner",on:{click:n.goCall}},[e("span",{staticClass:"call-return-banner__dot"}),n._v(" "),e("span",[n._v(n._s(n.$t("Return to call")))])]):n._e()},[],!1,null,"3b95600c",null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:svg:call:CallStart.vue");var r=t(5),component=Object(r.a)({},function(){var n=this._self._c;return n("svg",{attrs:{version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",width:"56.691px",height:"56.689px",viewBox:"0 0 56.691 56.689","enable-background":"new 0 0 56.691 56.689","xml:space":"preserve"}},[n("path",{attrs:{fill:"#FFFFFF",d:"M33.753,13.823c0,2.118-0.332,4.197-0.982,6.169c-0.33,0.966-0.026,2.153,0.578,2.743l2.937,3.89\n c-2.408,4.511-5.187,7.291-9.663,9.664l-3.79-2.848c-0.74-0.742-1.82-1.006-2.833-0.688c-1.981,0.652-4.061,0.984-6.179,0.984\n c-1.531,0-2.776,1.246-2.776,2.777v6.352c0,1.533,1.244,2.777,2.776,2.777c17.546,0,31.821-14.273,31.821-31.821\n c0-1.53-1.246-2.776-2.777-2.776H36.53C35,11.048,33.753,12.293,33.753,13.823z"}})])},[],!1,null,null,null);e.default=component.exports},,,,,,function(n,e,t){"use strict";(function(n){t.d(e,"a",function(){return k});var r=t(0),o=t(14),l=t(8),c=t(42),d=t.n(c),f=t(43),m=t(142),h=t(23),v=t(1);t(2).get("interchat:fileTransfer:sendFileToOpponent.ts");const x=640;function k(e){const{store:t,opponentId:c,file:k}=e;return new Promise((w,y)=>{if(!k)return void y(new Error("no file"));if(!k.size)return void y(new Error("Can not send file with zero size"));const _={id:Object(m.a)(),key:Object(f.generatePassword)().toString("hex"),extraSize:16,algorithm:"aes-256-ctr"},S=function(n,e){const t=String(e||"").replace(/[^a-z0-9]/gi,"").slice(0,8)||"x",base=n||"file",r=base.lastIndexOf(".");return r>0?base.slice(0,r)+"_"+t+base.slice(r):base+"_"+t}(k.name,_.id);r.a.warn("ANDROID_SHARE_TRACE sendFileToOpponent start",{name:k.name,uniqueName:S,size:k.size,type:k.type,opponentId:c});const C=d.a.createStream({highWaterMark:204800,decodeStrings:!1}),E={size:k.size+_.extraSize,name:_.id};d()(l.a).emit(o.a.FILE_UPLOAD_STREAM,C,E,async n=>{if(n)return r.a.error("sendFileToOpponent pipe error",n),void y(n);try{const body=JSON.stringify({name:S,size:k.size,crypto:_});await t.dispatch("sendMessageToOpponent",{opponentId:c,body:body,type:"file",silent:!1,crypt:!0}),w();const n=Object(h.DownloadedFileKey)("",{name:S,size:k.size,crypto:_});(async()=>{try{let e=await function(n,e){return new Promise(t=>{try{if(!n||!n.type||0!==n.type.indexOf("image/"))return void t("");const r=URL.createObjectURL(n),img=new Image;img.onload=()=>{try{const n=img.width,o=img.height,l=Math.min(1,e/Math.max(n,o||1)),c=Math.max(1,Math.round(n*l)),d=Math.max(1,Math.round(o*l)),f=document.createElement("canvas");f.width=c,f.height=d;const m=f.getContext("2d");if(!m)return URL.revokeObjectURL(r),void t("");m.drawImage(img,0,0,c,d);const h=f.toDataURL("image/jpeg",.85);URL.revokeObjectURL(r),t(h||"")}catch(n){try{URL.revokeObjectURL(r)}catch(n){}t("")}},img.onerror=()=>{try{URL.revokeObjectURL(r)}catch(n){}t("")},img.src=r}catch(n){t("")}})}(k,x);e&&(await Object(h.DownloadedFileThumbSet)(n,e,x),v.b.$emit(v.a.FILE_LOCAL_SAVED,{key:n}))}catch(n){}let e="";try{e=await t.dispatch("platformDevice/onFileUpload",{fileName:S,fileSize:k.size,fileContent:k})||""}catch(n){e=""}try{await Object(h.DownloadedFileRecordSet)({key:n,messageId:"",name:S,size:k.size,path:e,savedAt:(new Date).toISOString(),lastAccessAt:(new Date).toISOString(),content:k})}catch(n){r.a.error("sendFileToOpponent persist content failed",n)}try{v.b.$emit(v.a.FILE_LOCAL_SAVED,{key:n})}catch(n){}})()}catch(n){y(n)}});const I=d.a.createBlobReadStream(k,{highWaterMark:204800});if(!I)return void y(new Error("can not read file"));const A=1.05*k.size;let T=0;I.on("data",n=>{T+=n.length,e.onProgress&&e.onProgress(T,A)}),Object(f.setPassword)(n.from(_.key,"hex")),Object(f.createEncryptStream)(I).pipe(C)})}}).call(this,t(12).Buffer)},,,,,,,,,,,,function(n,e,t){"use strict";t.r(e);t(2).get("interchat:LoadingNuxt.vue");t(2).get("interchat:LoadingNuxt.vue");var r={methods:{start(){this.$store.commit("SET_LOADING",!0)},finish(){this.$store.commit("SET_LOADING",!1)}}},o=t(5),component=Object(o.a)(r,function(){this._self._c;return this._e()},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e),t.d(e,"GoToUserEdit",function(){return f});t(2).get("interchat:users:edit.vue");t(0);var r=t(59),o=t(11),l=(t(1),t(44)),c=t(136),d=t(18);t(2).get("interchat:users:edit.vue");function f(n){return{path:"/users/edit",query:{userId:n}}}var m={name:"user-settings",middleware:["auth"],layout:"back",components:{},transition:r.a,data:()=>({userId:null,userName:null}),computed:{...Object(o.c)("Users",{users:"users"}),user(){return this.userId&&this.users?this.users[this.userId]:null},userNumber(){return Object(d.d)(this.user)}},async created(){this.userId=this.$route.query.userId,this.$parent.$emit("update:opponent",this.user),this.$parent.$emit("update:showMenuButton",!1);let n=Object(l.a)(this.userId);this.userName=n.name},methods:{async doSave(){await this.$store.dispatch("Users/userLocalDataSetName",{userId:this.userId,name:this.userName});let n={};n[this.userId]=this.userName,await this.$store.dispatch("syncContactListWithStore",n)},doBack(){this.$router.replace(Object(c.GoToMenuUser)(this.userId))},async doApply(){await this.doSave(),this.doBack()}},watch:{user(n){this.$parent.$emit("update:opponent",this.user)}}},h=t(5),component=Object(h.a)(m,function(){var n=this,e=n._self._c;return e("div",{staticClass:"container border-t flex flex-1 h-full"},[n.user?e("div",{staticClass:"w-full h-full flex flex-col items-center"},[e("h1",{staticClass:"font-hairline my-3 text-center"},[n._v(n._s(n.$t("Edit user ",{name:n.userNumber})))]),n._v(" "),e("form",{staticClass:"border rounded panel_class p-4 text-center",attrs:{"data-vv-scope":"form_key"},on:{submit:function(e){return e.preventDefault(),n.doSave.apply(null,arguments)}}},[n.errors.has("form_key.error")?e("div",{staticClass:"error-box text-red text-center mb-4",domProps:{textContent:n._s(n.errors.first("form_key.error"))}}):n._e(),n._v(" "),e("div",{staticClass:"mb-4"},[e("label",{staticClass:"font-bold text-grey-darker block mb-2"},[n._v(n._s(n.$t("User name")))]),n._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:n.userName,expression:"userName"}],class:["block appearance-none w-full border border-grey-light hover:border-grey px-2 py-2 rounded shadow",n.errors.has("form_key.userName")?"border-red mb-3":""],attrs:{type:"text",autocomplete:"off",name:"userName",placeholder:this.userName},domProps:{value:n.userName},on:{input:function(e){e.target.composing||(n.userName=e.target.value)}}}),n._v(" "),n.errors.has("form_key.userName")?e("p",{staticClass:"text-red text-xs italic",domProps:{textContent:n._s(n.errors.first("form_key.userName"))}}):n._e()]),n._v(" "),e("button",{staticClass:"my-4 btn bg-green-light w-1/2 pb-0 relative",on:{click:n.doApply}},[n._v(n._s(n.$t("captions.Apply")))])])]):n._e()])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t(2).get("interchat:default.vue");var r=t(11),o=t(84);t(2).get("interchat:default.vue");var l={name:"default-layout",mixins:[o.a],metaInfo(){return{htmlAttrs:{lang:this.$i18n.locale}}},head(){let head={title:this.brandName,bodyAttrs:{class:"bg-grey-lighter font-sans ",theme_name:this.themeName}};return head.bodyAttrs.class+=this.brandBodyClass,head},computed:{...Object(r.c)({themeName:"themeName"}),...Object(r.b)({isBrandAnyTalk:"brand/isBrandAnyTalk",isBrandKsiTalk:"brand/isBrandKsiTalk",brandName:"brand/brandName"})}},c=t(5),component=Object(c.a)(l,function(){var n=this._self._c;return n("div",{staticClass:"relative"},[n("Loading"),this._v(" "),n("nuxt")],1)},[],!1,null,null,null);e.a=component.exports;installComponents(component,{Loading:t(82).default})},function(n,e,t){"use strict";t(2).get("interchat:integration.vue");var r=t(55),o=t(108),l=t(64),c=t(32),d=t(11),f=t(1),m=t(10);t(2).get("interchat:integration.vue");var h=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};let v=class extends m.d{constructor(){super(...arguments),this.backPressed=!1,this.opponent=null,this.contentVersion=""}created(){this.contentVersion="1.17.4"}doBack(){f.b.$emit(f.a.NAVIGATE_BACK)}doHome(){this.$router.replace({path:this.localePath("/")})}doMenu(){f.b.$emit(f.a.LAYOUT_MENU_CLICK)}get opponentConversationInfo(){return this.opponent&&this.userOpponents&&this.userOpponents[this.opponent.id]}get unreadMessagesCount(){const n=this.opponentConversationInfo;return n&&n.msgUnreadCount?n.msgUnreadCount:0}};v=h([Object(m.a)({components:{Avatar:c.default,Alert:r.default,SvgBack:o.default,SvgMenu:l.default},computed:{...Object(d.c)("Users",{me:"mySelf"}),...Object(d.c)({userOpponents:"userOpponents"}),...Object(d.b)({online:"online",isBrandAnyTalk:"brand/isBrandAnyTalk",isBrandKsiTalk:"brand/isBrandKsiTalk",brandName:"brand/brandName"})},head(){let head={title:"integration",bodyAttrs:{class:"bg-grey-lighter font-sans "},htmlAttrs:{lang:this.$i18n.locale}};return head.bodyAttrs.class+=" body_Integration",head}})],v);var x=v,k=t(5),component=Object(k.a)(x,function(){var n=this,e=n._self._c;n._self._setupProxy;return e("div",{staticClass:"chat-page mx-auto p-1 flex flex-col relative"},[e("div",{staticClass:"flex flex-row mb-1 w-full items-center",staticStyle:{height:"2.250 rem"},attrs:{id:"menu_up"}},[e("div",{staticClass:"text-center flex-1 flex-col justify-center max-h-full"},[e("UserStatusRow",{staticClass:"text-lg",attrs:{user:n.opponent,show_avatar:!1}}),n._v(" "),n.unreadMessagesCount>0?e("div",[n._v(n._s(n.$t("Count news",{count:n.unreadMessagesCount})))]):e("div",[n._v(n._s(n.contentVersion))])],1)]),n._v(" "),e("Alert"),n._v(" "),e("Loading"),n._v(" "),e("nuxt",{attrs:{opponent:n.opponent},on:{"update:opponent":function(e){n.opponent=e}}})],1)},[],!1,null,null,null);e.a=component.exports;installComponents(component,{UserStatusRow:t(191).default,Alert:t(55).default,Loading:t(82).default})},function(n,e,t){"use strict";t(2).get("interchat:minimal_dark.vue");var r=t(53);t(2).get("interchat:minimal_dark.vue");var o={name:"minimal_dark-layout",head:{bodyAttrs:{class:"body_dark bg-black font-sans text-white"}},components:{ActivatorInitial:r.default},computed:{me(){return this.$auth.user}}},l=t(5),component=Object(l.a)(o,function(){var n=this,e=n._self._c;return e("div",[e("div",{staticClass:"container mx-auto"},[e("ActivatorInitial"),n._v(" "),e("Loading"),n._v(" "),e("nuxt")],1)])},[],!1,null,null,null);e.a=component.exports;installComponents(component,{ActivatorInitial:t(53).default,Loading:t(82).default})},function(n,e,t){"use strict";t(2).get("interchat:minimal.vue");t(2).get("interchat:minimal.vue");var r={name:"minimal-layout",head:{bodyAttrs:{class:"body_dark bg-grey-lighter font-sans"}},computed:{me(){return this.$auth.user}}},o=t(5),component=Object(o.a)(r,function(){var n=this._self._c;return n("div",[n("div",{staticClass:"container mx-auto"},[n("Loading"),this._v(" "),n("nuxt")],1)])},[],!1,null,null,null);e.a=component.exports;installComponents(component,{Loading:t(82).default})},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:ChatMessageAudio.vue");t(2).get("interchat:messages:ChatMessageAudio.vue");var r={beforeMount(){if(this.message.blob){const n=new Blob([this.message.blob]);this.audioUrl=URL.createObjectURL(n)}},props:["me","message","recipientUser"],data:()=>({audioUrl:null}),computed:{},methods:{}},o=t(5),component=Object(o.a)(r,function(){var n=this,e=n._self._c;return e("div",{class:["p-2 inline-block border rounded",n.message.author!==n.me.id?"bg-blue-lightest":"bg-grey-light"]},[e("p",[n._v("Audio")]),n._v(" "),n._e(),n._v(" "),this.audioUrl?e("video",{attrs:{controls:"",width:"100%",height:"32"}},[e("source",{attrs:{src:this.audioUrl}})]):n._e(),n._v(" "),e("small",{staticClass:"text-grey-dark"},[n._v(n._s(n._f("formatDate")(n.message.createdAt)))])])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:ChatMessageText.vue");var r=t(85),o=t(86),l=t(137),c=t(1),d=t(18),f=t(65),m=t(66),h=t(28);t(2).get("interchat:messages:ChatMessageText.vue");var v={props:["me","message","recipientUser"],components:{ChatMessageBottom:r.default,MessageActionMenu:o.default,MessageReactions:l.default},data:()=>({showMenu:!1}),computed:{isSecure(){return this.message.isSecure},isRead(){return!this.message.isUnread},isMine(){return this.message.author===this.me.id},isBodyOk(){return this.isSecure||"decryption fails"!=this.message.body&&"crypted"!=this.message.body},body(){return this.message?this.message.body:""},replyInfo(){return this.message?Object(f.a)(this.message.body):null},displayText(){return this.replyInfo?this.replyInfo.text:this.body},plainBody(){return this.message?Object(f.c)(this.message.body):""},messageSubtitle(){return this.message&&this.message.createdAt?this.formatMessageDate(this.message.createdAt):""},isChannel(){return Object(h.f)(this.recipientUser)},quickReactions(){return this.isChannel?[]:m.a},myReactionEmoji(){return Object(m.c)(this.message?this.message.reactions:null,this.me?this.me.id:null)},menuActions(){let n=[{id:"reply",label:this.$t("Reply")},{id:"copy",label:this.$t("Copy")},{id:"forward",label:this.$t("Forward")},{id:"pin",label:this.$t("Pin")}];return this.isMine&&this.isBodyOk&&n.push({id:"edit",label:this.$t("Edit")}),n.push({id:"delete",label:this.$t("Delete")}),n.push({id:"details",label:this.$t("Details")}),n}},methods:{removeMessage(){this.$emit("remove",{id:this.message._id})},onReact(n){this.showMenu=!1,this.message&&this.$store.dispatch("sendReaction",{conversationId:this.message.conversationId,messageId:this.message._id,emoji:n})},openMenu(){this.showMenu=!0},formatMessageDate(n){try{let e=new Date(n);if(isNaN(e.getTime()))return String(n);let t=n=>String(n).padStart(2,"0");return`${t(e.getHours())}:${t(e.getMinutes())} ${t(e.getDate())}/${t(e.getMonth()+1)}`}catch(e){return String(n)}},async onMenuAction(n){return"reply"===n?(this.showMenu=!1,void this.replyToMessage()):"copy"===n?(await this.copyText(),void(this.showMenu=!1)):"forward"===n?(this.showMenu=!1,void this.forwardMessage()):"pin"===n?(this.showMenu=!1,void this.pinMessage()):"edit"===n?(this.showMenu=!1,void this.editMessage()):"delete"===n?(this.showMenu=!1,void this.removeMessage()):void("details"===n&&(this.showMenu=!1,this.showDetails()))},async copyText(){let text=this.isBodyOk?this.plainBody:"";if(text)if(navigator.clipboard&&navigator.clipboard.writeText)await navigator.clipboard.writeText(text);else{let textarea=document.createElement("textarea");textarea.value=text,textarea.setAttribute("readonly",""),textarea.style.position="fixed",textarea.style.opacity="0",document.body.appendChild(textarea),textarea.select(),document.execCommand("copy"),document.body.removeChild(textarea)}},replyToMessage(){let text=this.isBodyOk?this.plainBody:"";if(!text)return;let n=this.isMine?this.me:this.recipientUser,e=n&&(n.avatarName||n.profile&&n.profile.avatarName)||"",t=Object(d.d)(n);c.b.$emit(c.a.MESSAGE_REPLY,{text:text,name:e,number:t})},forwardMessage(){let text=this.isBodyOk?this.plainBody:"";if(!text)return;let n=this.isMine?this.me:this.recipientUser,e=n&&(n.avatarName||n.profile&&n.profile.avatarName)||"",t=Object(d.d)(n);c.b.$emit(c.a.MESSAGE_FORWARD,{text:text,fromName:e,fromNumber:t})},editMessage(){let text=this.isBodyOk?this.plainBody:"";text&&c.b.$emit(c.a.MESSAGE_EDIT,{id:this.message._id,text:text})},pinMessage(){c.b.$emit(c.a.MESSAGE_PIN,{id:this.message._id||this.message.id,conversationId:this.message.conversationId,type:this.message.type||"text",body:this.plainBody,author:this.message.author,createdAt:this.message.createdAt})},showDetails(){let n=[`${this.$t("Type")}: ${this.$t("details.textMessage")}`,`${this.$t("Time")}: ${this.messageSubtitle||"-"}`,`${this.$t("Status")}: ${this.isRead?this.$t("details.read"):this.$t("details.unread")}`,`${this.$t("Protection")}: ${this.message.isSecure?this.$t("details.secured"):this.$t("details.notSecured")}`];c.b.$emit(c.a.MODAL_SHOW,{title:this.$t("Details"),text:n.join("\n")})}}},x=t(5),component=Object(x.a)(v,function(){var n=this,e=n._self._c;return e("div",[e("div",{class:["px-2 py-1 inline-block border chat-bubble",n.isMine?"chat-bubble--mine":"chat-bubble--other",n.isBodyOk?n.isMine?"chat_message_main":"chat_message_other":"chat_message_danger",,],on:{click:n.openMenu}},[n.isBodyOk?[n.replyInfo?e("div",{staticClass:"reply-quote"},[e("span",{staticClass:"reply-quote__title",domProps:{textContent:n._s(n.replyInfo.title)}}),n._v(" "),e("span",{staticClass:"reply-quote__text",domProps:{textContent:n._s(n.replyInfo.quote)}})]):n._e(),n._v(" "),e("p",{ref:"messageText",staticClass:"text-lg text-message",domProps:{textContent:n._s(n.displayText)}})]:e("p",{staticClass:"text-center text-lg"},[n._v("ENCRYPTED")]),n._v(" "),e("ChatMessageBottom",{attrs:{me:n.me,recipientUser:n.recipientUser,message:n.message,showSecure:!1},on:{remove:n.removeMessage}})],2),n._v(" "),n.isChannel?n._e():e("MessageReactions",{attrs:{message:n.message,me:n.me,mine:n.isMine}}),n._v(" "),e("MessageActionMenu",{attrs:{visible:n.showMenu,title:n.$t("Message"),subtitle:n.messageSubtitle,actions:n.menuActions,reactions:n.quickReactions,"active-reaction":n.myReactionEmoji},on:{close:function(e){n.showMenu=!1},action:n.onMenuAction,react:n.onReact}})],1)},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:ChatMessageCall.vue");var r=t(85),o=t(86),l=t(1),c=t(24);t(2).get("interchat:messages:ChatMessageCall.vue");var d={props:["me","message","recipientUser"],components:{ChatMessageBottom:r.default,MessageActionMenu:o.default},data:()=>({showMenu:!1,callPressed:!1,pressTimer:null}),mounted(){Object(c.a)(700)},beforeDestroy(){this.pressTimer&&(clearTimeout(this.pressTimer),this.pressTimer=null)},computed:{isMine(){return this.message.author===this.me.id},isSecure(){return this.message.isSecure},isMissed(){return"call-missed"==this.message.type},isCall(){return"call"==this.message.type},callTime(){if(!this.isCall)return 0;if("call"==this.message.body)return 0;try{return JSON.parse(this.message.body).time}catch(n){return console.error(n),0}},callTimeString(){let time=this.callTime;if(!time)return"";var n=new Date(null);return n.setSeconds(time),n.toISOString().substr(11,8)},isRead(){return!this.message.isUnread},text(){return this.isMissed?this.isMine?this.$t("Unhandled call"):this.$t("Missed call"):this.$t("Call")},messageSubtitle(){return this.message&&this.message.createdAt?this.formatMessageDate(this.message.createdAt):""},menuActions(){return[{id:"call",label:this.$t("Call")},{id:"delete",label:this.$t("Delete")},{id:"details",label:this.$t("Details")}]}},methods:{onBubbleClick(){Object(c.b)()||(this.callPressed=!0,this.pressTimer&&clearTimeout(this.pressTimer),this.pressTimer=setTimeout(()=>{this.callPressed=!1,this.pressTimer=null},600),this.$emit("callStart",{videoMode:!1}))},startCall(){Object(c.b)()||this.$emit("callStart",{videoMode:!1})},removeMessage(){this.$emit("remove",{id:this.message._id})},formatMessageDate(n){try{let e=new Date(n);if(isNaN(e.getTime()))return String(n);let t=n=>String(n).padStart(2,"0");return`${t(e.getHours())}:${t(e.getMinutes())} ${t(e.getDate())}/${t(e.getMonth()+1)}`}catch(e){return String(n)}},onMenuAction(n){return"call"===n?(this.showMenu=!1,void this.$emit("callStart",{videoMode:!1})):"delete"===n?(this.showMenu=!1,void this.removeMessage()):void("details"===n&&(this.showMenu=!1,this.showDetails()))},showDetails(){let n=[`${this.$t("Type")}: ${this.isMissed?this.$t("details.missedCall"):this.$t("details.call")}`,`${this.$t("Time")}: ${this.messageSubtitle||"-"}`,this.isCall&&this.callTimeString?`${this.$t("Duration")}: ${this.callTimeString}`:"",`${this.$t("Status")}: ${this.isRead?this.$t("details.read"):this.$t("details.unread")}`].filter(Boolean);l.b.$emit(l.a.MODAL_SHOW,{title:this.$t("Details"),text:n.join("\n")})}}},f=(t(770),t(5)),component=Object(f.a)(d,function(){var n=this,e=n._self._c;return e("div",[e("div",{class:["px-2 py-1 inline-block border chat-bubble call-message-bubble",n.isMine?"chat-bubble--mine":"chat-bubble--other",n.isMissed?"chat_message_danger ":n.isMine?"chat_message_main":"chat_message_other"],attrs:{role:"button"},on:{click:n.onBubbleClick,contextmenu:function(n){n.preventDefault()}}},[e("div",{class:["call-message__icon",n.callPressed?"call-message__icon--pressed":""]},[e("svg",{attrs:{viewBox:"0 0 24 24",fill:n.callPressed?"#25d366":"#ffffff"}},[e("path",{attrs:{d:"M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"}})])]),n._v(" "),e("div",{staticClass:"call-message__col"},[e("div",{staticClass:"call-message__top flex flex-row items-baseline"},[e("span",{staticClass:"text-lg text-message call-message__word",domProps:{textContent:n._s(n.text)}}),n._v(" "),n.isCall&&n.callTimeString?e("span",{staticClass:"call-message__duration",domProps:{textContent:n._s(n.callTimeString)}}):n._e()]),n._v(" "),e("ChatMessageBottom",{attrs:{me:n.me,recipientUser:n.recipientUser,message:n.message,showSecure:!1,showDelivery:!1},on:{remove:n.removeMessage}})],1)])])},[],!1,null,"150678ea",null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:ChatMessageFile.vue");var r=t(87),o=t(47),l=t(85),c=t(197),d=t(130),f=t(494),m=t(195),h=t(4),v=t(57),x=(t(2),t(0)),k=t(23),w=t(13),y=t(1),_=t(18),S=t(137),C=t(66),E=t(28);t(2).get("interchat:messages:ChatMessageFile.vue");const I=640,A=1728e5;var T={props:["me","message","recipientUser"],components:{Bin:r.default,ChatMessageBottom:l.default,FileDownloading:c.default,FilePreview:d.default,ImageViewer:f.default,FileViewer:m.default,MessageReactions:S.default},computed:{isSecure(){return this.message.isSecure},isMine(){return this.message.author===this.me.id},isChannel(){return Object(E.f)(this.recipientUser)},quickReactions(){return this.isChannel?[]:C.a},myReactionEmoji(){return Object(C.c)(this.message?this.message.reactions:null,this.me?this.me.id:null)},isMissed(){return!this.finished&&this.missed},isRead(){return!this.message.isUnread},isBodyOk(){return this.isSecure||"decryption fails"!=this.message.body&&"crypted"!=this.message.body},fileInfo(){try{return JSON.parse(this.message.body)}catch(n){return}},forwardInfo(){let n=this.fileInfo&&this.fileInfo.forwardedFrom;if(!n)return null;let e=n.name||"",t=n.number||"",r=e&&t?e+" : "+t:e||t;return r?{title:this.$t("Quote from"),quote:r}:null},fileName(){return this.fileInfo?this.fileInfo.name:void 0},fileSize(){return this.fileInfo?this.fileInfo.size:void 0},finished(){return this.fileInfo?this.fileInfo.success:void 0},missed(){return this.fileInfo?this.fileInfo.missed:void 0},fileSizeString(){return Object(o.a)(this.fileSize)},text(){return this.isMissed?this.isMine?this.$t("Unhandled file trasfer"):this.$t("Missed file trasfer"):this.isVoiceMessage?this.$t("Voice message"):this.$t("File name and size",{name:this.fileName,size:this.fileSizeString})},progressPercent:()=>-1,canOpen(){return this.loadedSize>0||this.isDevice&&!!this.downloadRecord},canDownload(){return!this.canOpen&&!this.fileInfoDownload&&this.fileInfo},downloadedFileKey(){return Object(k.DownloadedFileKey)(this.message._id,this.fileInfo)},isImageFile(){return 0==(this.fileInfo&&this.fileInfo.type?String(this.fileInfo.type):"").indexOf("image/")||/\.(png|jpe?g|gif|webp|bmp)$/i.test(this.fileName||"")},isVideoFile(){let n=this.fileInfo&&this.fileInfo.type?String(this.fileInfo.type):"";return 0!=n.indexOf("audio/")&&!/^voice-/i.test(this.fileName||"")&&(0==n.indexOf("video/")||/\.(mp4|mov|webm|mkv|avi|m4v|3gp)$/i.test(this.fileName||""))},isAudioFile(){return 0==(this.fileInfo&&this.fileInfo.type?String(this.fileInfo.type):"").indexOf("audio/")||/\.(mp3|m4a|wav|ogg|aac|opus|flac|webm)$/i.test(this.fileName||"")},isVoiceMessage(){return this.isAudioFile&&/^voice-/i.test(this.fileName||"")},isPdfFile(){return 0==(this.fileInfo&&this.fileInfo.type?String(this.fileInfo.type):"").indexOf("application/pdf")||/\.pdf$/i.test(this.fileName||"")},isTextFile(){return/\.(txt|csv|json|xml|log)$/i.test(this.fileName||"")},isViewableInApp(){return this.isPdfFile||this.isVideoFile||this.isTextFile},isIosWeb(){if(this.isDevice||"undefined"==typeof navigator)return!1;const n=navigator.userAgent||"";return/iPad|iPhone|iPod/.test(n)||-1!==n.indexOf("Macintosh")&&"undefined"!=typeof document&&"ontouchend"in document},leftActionIsPlay(){return this.isVideoFile||this.isAudioFile},audioSrc(){if(!this.isAudioFile||!this.previewContent)return"";let content=this.previewContent,n=this.fileInfo&&this.fileInfo.type?String(this.fileInfo.type):"",e=0===n.indexOf("audio/")?n:this.audioMimeFromName(),t=/^data:[^;,]*;base64,(.*)$/.exec(content);return t?"data:"+e+";base64,"+t[1]:content},shouldAutoDownload(){return(!this.isMine||!this.isImageFile&&!this.isVideoFile)&&Object(w.k)()},isDownloadedImage(){return this.isImageFile&&this.canOpen&&!!this.previewContent},fileAgeMs(){let n=this.message&&this.message.createdAt?new Date(this.message.createdAt).getTime():0;if(!n||isNaN(n))return 0;let e=Date.now()-n;return e>0?e:0},isExpiringSoon(){return this.fileAgeMs>=864e5&&this.fileAgeMs=A}},data:()=>({loadedSize:0,fileInfoDownload:null,previewContent:null,fullPreviewContent:null,autoOpenFile:!0,autoDownload:!1,isDevice:!1,downloadError:!1,downloadRecord:null,imageViewerVisible:!1,fileViewerVisible:!1,viewerContent:null,fileMenuOpen:!1,audioPlaying:!1,audioProgress:0,audioDuration:0,fileMenuUp:!1,deleteWarnShown:!1,hoursLeft:0}),async created(){this._fileMenuOutside=()=>this.closeFileMenu(),this._onSeekMove=n=>{this._seeking&&(n&&n.cancelable&&n.preventDefault(),this.seekToEvent(n))},this._onSeekEnd=()=>{this._seeking=!1,document.removeEventListener("mousemove",this._onSeekMove),document.removeEventListener("mouseup",this._onSeekEnd),document.removeEventListener("touchmove",this._onSeekMove),document.removeEventListener("touchend",this._onSeekEnd)}},beforeDestroy(){if(this.closeFileMenu(),this._onSeekEnd)try{this._onSeekEnd()}catch(n){}this._onFileLocalSaved&&y.b.$off(y.a.FILE_LOCAL_SAVED,this._onFileLocalSaved)},async mounted(){this._onFileLocalSaved=n=>{n&&n.key&&n.key===this.downloadedFileKey&&this.updateFileStatus()},y.b.$on(y.a.FILE_LOCAL_SAVED,this._onFileLocalSaved),this.isDevice=await this.$store.dispatch("platformDevice/isDevice",{}),this.isDevice&&this.shouldAutoDownload&&!this.autoDownloadCompleteGet()&&(this.autoDownload=!0,this.autoOpenFile=!1);let n="15728640";n&&this.fileInfo.size>n&&(this.autoDownload=!1,this.autoOpenFile=!1),this.$nextTick(async()=>{await this.updateFileStatus()})},methods:{autoDownloadCompleteKey(){return"autoDownloadComplete:"+this.message._id},autoDownloadCompleteSet(){return localStorage.setItem(this.autoDownloadCompleteKey(),!0)},autoDownloadCompleteGet(){return localStorage.getItem(this.autoDownloadCompleteKey())},async updateFileStatus(){if(this.fileName){if(this.downloadRecord=await Object(k.DownloadedFileRecordGet)(this.downloadedFileKey),this.isDevice){if(this.isImageFile)try{let n=await Object(k.DownloadedFileThumbGet)(this.downloadedFileKey,I);n&&(this.previewContent=n,this.loadedSize=this.fileSize)}catch(n){}if(this.downloadRecord&&this.downloadRecord.size==this.fileSize?this.loadedSize=this.fileSize:this.previewContent||(this.loadedSize=await this.$store.dispatch("platformDevice/getFileSize",{name:this.fileName})),this.loadedSize==this.fileSize){if(await this.loadInlineThumb(),this.isAudioFile&&!this.previewContent)try{let n=await this.$store.dispatch("platformDevice/getFileContentBase64",{name:this.fileName,path:this.getFilePath()});n&&(this.previewContent="data:"+this.audioMimeFromName()+";base64,"+n)}catch(n){x.a.warn("inline audio content load failed",n)}}else this.previewContent||(this.previewContent=null)}else{let n=null;try{let e=await Object(k.DownloadedFileContentGet)(this.downloadedFileKey);e&&(n=await Object(v.a)(e))}catch(n){x.a.error("restore file content failed",n)}n||(n=await this.$store.dispatch("platformDevice/getFilePreview",{name:this.fileName,path:this.getFilePath(),imageMaxSize:0})),n?(this.previewContent=n,this.loadedSize=this.fileSize):this.previewContent||(this.previewContent=null,this.loadedSize=0)}x.a.log("update file status ",this.fileName," loadedSize = ",this.loadedSize," fileSize = ",this.fileSize),this.$nextTick(()=>{this.updateAutoDownload()})}},updateAutoDownload(){if(this.autoDownload&&this.canDownload)return this.autoDownload=!1,this.autoOpenFile=!1,void this.doDownload();!this.isDevice&&this.shouldAutoDownload&&this.isImageFile&&this.canDownload&&!this.fileInfoDownload&&!this.downloadError&&this.fileInfo&&this.fileInfo.size<=8388608&&(this.autoOpenFile=!1,this.doDownload())},removeMessage(){this.$emit("remove",{id:this.message._id})},toggleFileMenu(){this.fileMenuOpen?this.closeFileMenu():(this.fileMenuOpen=!0,this.isIosWeb&&this.preloadShareBlob(),this.$nextTick(()=>{try{const n=this.$el&&this.$el.querySelector?this.$el.querySelector(".file-action-row"):null,e=n?n.getBoundingClientRect():null,t=168;this.fileMenuUp=!e||e.top>t}catch(n){this.fileMenuUp=!0}document.addEventListener("click",this._fileMenuOutside),document.addEventListener("touchend",this._fileMenuOutside)}))},closeFileMenu(){this.fileMenuOpen=!1,this.fileMenuUp=!1;try{document.removeEventListener("click",this._fileMenuOutside),document.removeEventListener("touchend",this._fileMenuOutside)}catch(n){}},doFileSave(){this.imageViewerVisible=!1,this.fileMenuOpen=!1,this.isDevice?Object(y.d)(this.$t("File saved to Downloads")):this.isIosWeb&&this.shareSavedFileIos()||this.openFile()},shareSavedFileIos(){try{const nav=navigator;if(!nav||"function"!=typeof nav.share)return!1;let n=this._shareBlob;if(!n&&this.previewContent&&(n=this.dataUriToBlob(this.previewContent)),!n)return!1;let e=n.type;e&&"application/octet-stream"!==e||(e=this.shareMimeForName(this.fileName));const t=new File([n],this.fileName||"file",{type:e});return nav.share({files:[t]}).catch(n=>{n&&"AbortError"===n.name||x.a.warn("ios share file failed",n)}),!0}catch(n){return x.a.warn("ios share file error",n),!1}},async preloadShareBlob(){if(!this.isDevice)try{let n=await Object(k.DownloadedFileContentGet)(this.downloadedFileKey);!n&&this.previewContent&&(n=this.dataUriToBlob(this.previewContent)),n&&(this._shareBlob=n)}catch(n){x.a.warn("preloadShareBlob failed",n)}},dataUriToBlob(n){try{let e=/^data:([^;,]*)(;base64)?,(.*)$/.exec(n||"");if(!e)return null;let t=e[1]||"application/octet-stream",data=!!e[2]?atob(e[3]):decodeURIComponent(e[3]),r=new Uint8Array(data.length);for(let i=0;ix.a.warn("inline audio play failed",n))}else n.pause()}catch(n){x.a.warn("inline audio play error",n)}else this.isDevice&&this.openFile()},onAudioMeta(){let n=this.$refs.audioEl;n&&isFinite(n.duration)&&(this.audioDuration=n.duration||0)},onAudioTime(){if(this._seeking)return;let n=this.$refs.audioEl;n&&n.duration&&isFinite(n.duration)&&(this.audioProgress=Math.max(0,Math.min(1,n.currentTime/n.duration)))},onAudioEnded(){this.audioPlaying=!1,this.audioProgress=0;let n=this.$refs.audioEl;try{n&&(n.currentTime=0)}catch(n){}},onSeekStart(n){this._seeking=!0,this.seekToEvent(n),document.addEventListener("mousemove",this._onSeekMove),document.addEventListener("mouseup",this._onSeekEnd),document.addEventListener("touchmove",this._onSeekMove,{passive:!1}),document.addEventListener("touchend",this._onSeekEnd)},seekToEvent(n){let track=this.$refs.seekTrack;if(!track)return;let rect=track.getBoundingClientRect(),e=n&&n.touches&&n.touches[0]?n.touches[0].clientX:n&&n.changedTouches&&n.changedTouches[0]?n.changedTouches[0].clientX:n?n.clientX:0,t=rect.width>0?(e-rect.left)/rect.width:0;t=Math.max(0,Math.min(1,t)),this.audioProgress=t;let r=this.$refs.audioEl;if(r&&this.audioDuration>0)try{r.currentTime=t*this.audioDuration}catch(n){}},async openImageViewer(){if(this.isDownloadedImage){this.isIosWeb&&this.preloadShareBlob();try{let n;if(this.isDevice)n=await this.$store.dispatch("platformDevice/getFilePreview",{name:this.fileName,path:this.getFilePath(),imageMaxSize:2560});else{let e=await Object(k.DownloadedFileContentGet)(this.downloadedFileKey);n=e?await Object(v.a)(e):this.previewContent}this.fullPreviewContent=n||this.previewContent}catch(n){this.fullPreviewContent=this.previewContent}this.imageViewerVisible=!0}},async loadInlineThumb(){if(!this.isDevice||!this.isImageFile)return;try{let n=await Object(k.DownloadedFileThumbGet)(this.downloadedFileKey,I);if(n)return void(this.previewContent=n)}catch(n){}let n=await this.$store.dispatch("platformDevice/getFilePreview",{name:this.fileName,path:this.getFilePath(),imageMaxSize:I});if(n){this.previewContent=n;try{await Object(k.DownloadedFileThumbSet)(this.downloadedFileKey,n,I)}catch(n){}}},userClick(){return this.isDownloadedImage?this.openImageViewer():this.canOpen?!this.isDevice&&this.isViewableInApp?this.openInViewer():this.openFile():this.isExpired?void 0:this.canDownload?this.doDownload():void 0},async openInViewer(){this.isIosWeb&&this.preloadShareBlob();try{let content=this.previewContent;if(content||(content=await this.$store.dispatch("platformDevice/getFilePreview",{name:this.fileName,path:this.getFilePath(),imageMaxSize:0})),!content)return this.openFile();this.viewerContent=content,this.fileViewerVisible=!0}catch(n){x.a.warn("openInViewer failed",n),this.openFile()}},showDeleteWarn(){let n=this.message&&this.message.createdAt?new Date(this.message.createdAt).getTime():0,e=n&&!isNaN(n)?Math.max(0,Date.now()-n):0,t=A-e;this.hoursLeft=t>0?Math.ceil(t/36e5):0,this.deleteWarnShown=!0},doDownload(){this.downloadError=!1,h.default.set(this,"fileInfoDownload",this.fileInfo)},doAbort(){this.downloadError=!0,h.default.set(this,"fileInfoDownload",null),this.autoDownloadCompleteSet()},async doFinish(n,e){this.downloadError=!1;let t=this.fileInfoDownload;if(x.a.log("on file finsh download ",this.fileName),h.default.set(this,"fileInfoDownload",null),t){let r=!this.isDevice&&n?n:null;await Object(k.DownloadedFileRecordSet)({key:this.downloadedFileKey,messageId:this.message._id,name:this.fileName,size:t.size,path:e||this.getFilePath()||"",savedAt:(new Date).toISOString(),lastAccessAt:(new Date).toISOString(),content:r}),this.downloadRecord=await Object(k.DownloadedFileRecordGet)(this.downloadedFileKey),this.loadedSize=t.size,this.previewContent=await Object(v.a)(n),this.isDevice&&this.isImageFile&&await this.loadInlineThumb(),this.autoDownloadCompleteSet()}this.autoOpenFile&&this.$nextTick(async()=>{!this.isDevice&&this.isViewableInApp?this.openInViewer():this.openFile()})}},watch:{message(){this.$nextTick(async()=>{await this.updateFileStatus()})},canOpen(){this.$emit("resize")},fileInfoDownload(){this.$emit("resize")}}},O=(t(786),t(788),t(5)),component=Object(O.a)(T,function(){var n=this,e=n._self._c;return e("div",{class:["px-2 py-1 inline-block border chat-bubble chat-bubble--media",n.isMine?"chat-bubble--mine":"chat-bubble--other",n.isMine?"chat_message_main":"chat_message_other",n.canOpen||n.canDownload?"cursor-pointer":"",n.fileMenuOpen?"chatfile-elevated":""],on:{click:n.userClick}},[n.forwardInfo?e("div",{staticClass:"reply-quote"},[e("span",{staticClass:"reply-quote__title",domProps:{textContent:n._s(n.forwardInfo.title)}}),n._v(" "),e("span",{staticClass:"reply-quote__text",domProps:{textContent:n._s(n.forwardInfo.quote)}})]):n._e(),n._v(" "),n.isDownloadedImage?n._e():e("div",{staticClass:"flex flex-row items-center"},[e("div",{staticClass:"inline-block mx-1"},[n.isBodyOk?e("p",{staticClass:"flex-1 mx-1 text-lg text-message",domProps:{textContent:n._s(n.text)}}):e("p",{staticClass:"text-center text-lg"},[n._v("ENCRYPTED")])])]),n._v(" "),n.canDownload||n.fileInfoDownload?e("div",{staticClass:"text-center"},[n.downloadError&&!n.isExpired?e("p",{staticClass:"text-red my-3"},[n._v(n._s(n.$t("Download failed")))]):n._e(),n._v(" "),n.canDownload&&n.isExpired?[e("button",{staticClass:"chat-file-deleted-btn",attrs:{type:"button",title:n.$t("Wait time exceeded, file deleted"),"aria-label":n.$t("Wait time exceeded, file deleted")},on:{click:function(n){n.stopPropagation(),n.preventDefault()},touchstart:function(n){n.stopPropagation()},touchend:function(n){n.stopPropagation(),n.preventDefault()}}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"}},[e("line",{attrs:{x1:"6",y1:"6",x2:"18",y2:"18"}}),e("line",{attrs:{x1:"18",y1:"6",x2:"6",y2:"18"}})])]),n._v(" "),e("p",{staticClass:"chat-file-expire-text my-2"},[n._v(n._s(n.$t("Wait time exceeded, file deleted")))])]:[n.canDownload&&n.deleteWarnShown?e("p",{staticClass:"chat-file-expire-text my-2"},[n._v("\n "+n._s(n.$t("File will be deleted in hours",{hours:n.hoursLeft}))+"\n ")]):n._e(),n._v(" "),!n.canDownload||n.isExpiringSoon&&!n.deleteWarnShown?n.canDownload&&n.isExpiringSoon&&!n.deleteWarnShown?e("button",{staticClass:"chat-file-clock-btn",attrs:{type:"button",title:n.$t("File will be deleted soon"),"aria-label":n.$t("File will be deleted soon")},on:{click:function(e){return e.preventDefault(),n.showDeleteWarn.apply(null,arguments)}}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#fff","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("circle",{attrs:{cx:"12",cy:"12",r:"9"}}),e("polyline",{attrs:{points:"12 7 12 12 15.5 14"}})])]):n._e():e("button",{staticClass:"chat-file-download-btn",attrs:{type:"button",title:n.$t("Download"),"aria-label":n.$t("Download")},on:{click:function(e){return e.preventDefault(),n.doDownload.apply(null,arguments)}}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#fff","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}}),e("polyline",{attrs:{points:"7 10 12 15 17 10"}}),e("line",{attrs:{x1:"12",y1:"15",x2:"12",y2:"3"}})])])],n._v(" "),n.fileInfoDownload?e("FileDownloading",{attrs:{fileInfo:n.fileInfoDownload},on:{abort:n.doAbort,finish:n.doFinish}}):n._e()],2):n._e(),n._v(" "),n.canOpen?e("div",{staticClass:"text-center"},[e("FilePreview",{staticClass:"max-w-sm chatmsg-feed-photo",attrs:{file_name:n.fileName,fileContentBase64:this.previewContent,hideFileName:n.isDownloadedImage||n.isVoiceMessage},on:{resize:function(e){return n.$emit("resize")}}}),n._v(" "),n.isDownloadedImage?n._e():e("div",{staticClass:"file-action-row",on:{click:function(n){n.stopPropagation()}}},[n.isAudioFile&&n.audioSrc?e("div",{ref:"seekTrack",staticClass:"cmf-audio-seek",on:{mousedown:function(e){return e.stopPropagation(),e.preventDefault(),n.onSeekStart.apply(null,arguments)},touchstart:function(e){return e.stopPropagation(),e.preventDefault(),n.onSeekStart.apply(null,arguments)}}},[e("div",{staticClass:"cmf-audio-seek__fill",style:{width:100*n.audioProgress+"%"}}),n._v(" "),e("div",{staticClass:"cmf-audio-seek__ball",style:{left:100*n.audioProgress+"%"}})]):n._e(),n._v(" "),e("div",{staticClass:"chat-top-actions inline-flex items-center"},[e("button",{staticClass:"chat-top-actions__btn",attrs:{type:"button",title:n.leftActionIsPlay?n.$t("Play"):n.$t("Open"),"aria-label":n.leftActionIsPlay?"play":"open"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.onLeftAction.apply(null,arguments)}}},[n.isAudioFile&&n.audioPlaying?e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"#fff"}},[e("rect",{attrs:{x:"6",y:"5",width:"4",height:"14",rx:"1"}}),e("rect",{attrs:{x:"14",y:"5",width:"4",height:"14",rx:"1"}})]):n.leftActionIsPlay?e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"#fff"}},[e("path",{attrs:{d:"M8 5v14l11-7z"}})]):e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"none",stroke:"#fff","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}}),e("path",{attrs:{d:"M14 2v6h6"}})])]),n._v(" "),e("button",{staticClass:"chat-top-actions__btn",attrs:{type:"button",title:n.$t("captions.Menu"),"aria-label":"menu"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.toggleFileMenu.apply(null,arguments)}}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"#fff"}},[e("circle",{attrs:{cx:"12",cy:"5",r:"2.2"}}),e("circle",{attrs:{cx:"12",cy:"12",r:"2.2"}}),e("circle",{attrs:{cx:"12",cy:"19",r:"2.2"}})])])]),n._v(" "),n.isAudioFile?e("audio",{ref:"audioEl",attrs:{src:n.audioSrc,playsinline:"","webkit-playsinline":""},on:{play:function(e){n.audioPlaying=!0},pause:function(e){n.audioPlaying=!1},ended:n.onAudioEnded,timeupdate:n.onAudioTime,loadedmetadata:n.onAudioMeta,durationchange:n.onAudioMeta}}):n._e(),n._v(" "),n.fileMenuOpen?e("div",{class:["file-action-menu chatfile-menu",n.fileMenuUp?"chatfile-menu--up":""],on:{click:function(n){n.stopPropagation()},touchstart:function(n){n.stopPropagation()},touchmove:function(n){n.stopPropagation()},touchend:function(n){n.stopPropagation()}}},[n.isChannel?n._e():e("div",{staticClass:"chatfile-menu__reactions"},n._l(n.quickReactions,function(t){return e("button",{key:t,class:["chatfile-menu__reaction",t===n.myReactionEmoji?"chatfile-menu__reaction--active":""],attrs:{type:"button"},domProps:{textContent:n._s(t)},on:{click:function(e){return e.stopPropagation(),n.onReact(t)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.onReact(t)}}})}),0),n._v(" "),e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doFileSave.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doFileSave.apply(null,arguments)}}},[n._v(n._s(n.$t("Save")))]),n._v(" "),e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doFileForward.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doFileForward.apply(null,arguments)}}},[n._v(n._s(n.$t("Forward")))]),n._v(" "),e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doFilePin.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doFilePin.apply(null,arguments)}}},[n._v(n._s(n.$t("Pin")))]),n._v(" "),e("button",{staticClass:"file-action-menu__danger",attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doFileDelete.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doFileDelete.apply(null,arguments)}}},[n._v(n._s(n.$t("Delete")))])]):n._e()])],1):n._e(),n._v(" "),n.imageViewerVisible?e("ImageViewer",{attrs:{src:n.fullPreviewContent||n.previewContent,visible:n.imageViewerVisible,reactions:n.quickReactions,"active-reaction":n.myReactionEmoji},on:{close:function(e){n.imageViewerVisible=!1},save:n.doFileSave,forward:n.doFileForward,pin:n.doFilePin,delete:n.doFileDelete,react:n.onReact}}):n._e(),n._v(" "),n.fileViewerVisible?e("FileViewer",{attrs:{fileName:n.fileName,contentBase64:n.viewerContent,visible:n.fileViewerVisible},on:{close:function(e){n.fileViewerVisible=!1},save:n.doFileSave,forward:n.doFileForward}}):n._e(),n._v(" "),e("ChatMessageBottom",{attrs:{me:n.me,recipientUser:n.recipientUser,message:n.message,showSecure:!1,showDelivery:!0},on:{remove:n.removeMessage}}),n._v(" "),n.isChannel?n._e():e("MessageReactions",{attrs:{message:n.message,me:n.me,mine:n.isMine}})],1)},[],!1,null,"3669b4ff",null);e.default=component.exports;installComponents(component,{FileDownloading:t(197).default,FilePreview:t(130).default,FileViewer:t(195).default})},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:fileTransfer:ImageViewer.vue");var r=t(24);t(2).get("interchat:fileTransfer:ImageViewer.vue");function o(n){if(!n||n.length<2)return 0;let e=n[0].clientX-n[1].clientX,t=n[0].clientY-n[1].clientY;return Math.sqrt(e*e+t*t)}function l(n){return n&&0!=n.length?1==n.length?{x:n[0].clientX,y:n[0].clientY}:{x:(n[0].clientX+n[1].clientX)/2,y:(n[0].clientY+n[1].clientY)/2}:{x:0,y:0}}var c={props:{src:{type:String,required:!0},visible:{type:Boolean,default:!1},reactions:{type:Array,default:()=>[]},activeReaction:{type:String,default:""}},data:()=>({scale:1,translateX:0,translateY:0,lastCenter:null,lastDistance:0,menuOpen:!1}),computed:{imageStyle(){return{transform:`translate3d(${this.translateX}px, ${this.translateY}px, 0) scale(${this.scale})`}}},watch:{visible(n){n?this.onOpen():this.onClose()}},mounted(){this.visible&&this.onOpen()},beforeDestroy(){this.onClose();try{this.$el&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el)}catch(n){}},methods:{onOpen(){this.reset();try{this.$el&&this.$el.parentNode!==document.body&&document.body.appendChild(this.$el)}catch(n){}document.addEventListener("keydown",this.onKeyDown),document.addEventListener("backbutton",this.onBackButton,!1),this._closingFromPop=!1,this._historyPushed=!1;try{"undefined"!=typeof window&&window.history&&window.history.pushState&&(window.history.pushState({ksitalkImageViewer:!0},""),this._historyPushed=!0,window.addEventListener("popstate",this.onPopState))}catch(n){}},onClose(){document.removeEventListener("keydown",this.onKeyDown),document.removeEventListener("backbutton",this.onBackButton,!1);try{window.removeEventListener("popstate",this.onPopState)}catch(n){}if(this._historyPushed&&!this._closingFromPop)try{window.history.back()}catch(n){}this._historyPushed=!1},onPopState(){this._closingFromPop=!0,this._historyPushed=!1,this.close()},close(){Object(r.a)(700),this.menuOpen=!1,this.$emit("close")},toggleMenu(){Object(r.a)(700),this.menuOpen=!this.menuOpen},closeMenu(){this.menuOpen=!1},doSave(){Object(r.a)(700),this.menuOpen=!1,this.$emit("save")},doForward(){Object(r.a)(700),this.menuOpen=!1,this.$emit("forward")},doPin(){Object(r.a)(700),this.menuOpen=!1,this.$emit("pin")},doReact(n){Object(r.a)(700),this.menuOpen=!1,this.$emit("react",n)},doDelete(){Object(r.a)(700),this.menuOpen=!1,this.$emit("delete")},reset(){this.scale=1,this.translateX=0,this.translateY=0,this.lastCenter=null,this.lastDistance=0},clampScale:n=>Math.max(1,Math.min(5,n)),onKeyDown(n){"Escape"===n.key&&this.close()},onBackButton(n){this.visible&&(n&&n.preventDefault&&n.preventDefault(),this.close())},onTouchStart(n){this.lastCenter=l(n.touches),this.lastDistance=o(n.touches),this._swipeActive=1===n.touches.length&&1===this.scale,this._swipeStartX=this._swipeActive?n.touches[0].clientX:0,this._swipeStartY=this._swipeActive?n.touches[0].clientY:0,this._swipeDx=0,this._swipeDy=0},onTouchMove(n){let e=l(n.touches);this.lastCenter&&(this.translateX+=e.x-this.lastCenter.x,this.translateY+=e.y-this.lastCenter.y);let t=o(n.touches);if(t&&this.lastDistance){let n=this.clampScale(this.scale*(t/this.lastDistance));this.scale=n}this._swipeActive&&1===n.touches.length&&1===this.scale?(this._swipeDx=n.touches[0].clientX-this._swipeStartX,this._swipeDy=n.touches[0].clientY-this._swipeStartY):this._swipeActive=!1,this.lastCenter=e,this.lastDistance=t},onTouchEnd(n){if(n.touches&&0!=n.touches.length)this.lastCenter=l(n.touches),this.lastDistance=o(n.touches),this._swipeActive=!1;else{if(this.lastCenter=null,this.lastDistance=0,this._swipeActive&&1===this.scale){let n=this._swipeDy,e=this._swipeDx;if(this._swipeActive=!1,Math.abs(n)>90&&Math.abs(n)>Math.abs(e))return this.close();this.reset()}this._swipeActive=!1}},onWheel(n){let e=n.deltaY>0?-1:1;this.scale=this.clampScale(this.scale+.15*e)}}},d=(t(782),t(5)),component=Object(d.a)(c,function(){var n=this,e=n._self._c;return e("div",{staticClass:"image-viewer",on:{click:function(e){return e.target!==e.currentTarget?null:(e.stopPropagation(),n.close.apply(null,arguments))},touchstart:function(e){return e.preventDefault(),n.onTouchStart.apply(null,arguments)},touchmove:function(e){return e.preventDefault(),n.onTouchMove.apply(null,arguments)},touchend:function(e){return e.preventDefault(),n.onTouchEnd.apply(null,arguments)},wheel:function(e){return e.preventDefault(),n.onWheel.apply(null,arguments)}}},[e("div",{staticClass:"image-viewer__bar",on:{click:function(n){n.stopPropagation()},touchstart:function(n){n.stopPropagation()},touchmove:function(n){n.stopPropagation()},touchend:function(n){n.stopPropagation()}}},[e("div",{staticClass:"chat-top-actions"},[e("button",{staticClass:"chat-top-actions__btn",attrs:{type:"button","aria-label":"back"},on:{click:function(e){return e.stopPropagation(),n.close.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.close.apply(null,arguments)}}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"none",stroke:"#fff","stroke-width":"2.4","stroke-linecap":"round"}},[e("path",{attrs:{d:"M6 6l12 12M18 6L6 18"}})])]),n._v(" "),e("button",{staticClass:"chat-top-actions__btn",attrs:{type:"button","aria-label":"menu"},on:{click:function(e){return e.stopPropagation(),n.toggleMenu.apply(null,arguments)}}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"#fff"}},[e("circle",{attrs:{cx:"12",cy:"5",r:"2.2"}}),e("circle",{attrs:{cx:"12",cy:"12",r:"2.2"}}),e("circle",{attrs:{cx:"12",cy:"19",r:"2.2"}})])])])]),n._v(" "),n.menuOpen?e("div",{staticClass:"image-viewer__menu-backdrop",on:{click:function(e){return e.stopPropagation(),n.closeMenu.apply(null,arguments)},touchstart:function(n){n.stopPropagation()},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.closeMenu.apply(null,arguments)}}}):n._e(),n._v(" "),n.menuOpen?e("div",{staticClass:"file-action-menu image-viewer__menu",on:{click:function(n){n.stopPropagation()},touchstart:function(n){n.stopPropagation()},touchmove:function(n){n.stopPropagation()},touchend:function(n){n.stopPropagation()}}},[n.reactions&&n.reactions.length?e("div",{staticClass:"image-viewer__reactions"},n._l(n.reactions,function(t){return e("button",{key:t,class:["image-viewer__reaction",t===n.activeReaction?"image-viewer__reaction--active":""],attrs:{type:"button"},domProps:{textContent:n._s(t)},on:{click:function(e){return e.stopPropagation(),n.doReact(t)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doReact(t)}}})}),0):n._e(),n._v(" "),e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doSave.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doSave.apply(null,arguments)}}},[n._v(n._s(n.$t("Save")))]),n._v(" "),e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doForward.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doForward.apply(null,arguments)}}},[n._v(n._s(n.$t("Forward")))]),n._v(" "),e("button",{attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doPin.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doPin.apply(null,arguments)}}},[n._v(n._s(n.$t("Pin")))]),n._v(" "),e("button",{staticClass:"file-action-menu__danger",attrs:{type:"button"},on:{click:function(e){return e.stopPropagation(),n.doDelete.apply(null,arguments)},touchend:function(e){return e.stopPropagation(),e.preventDefault(),n.doDelete.apply(null,arguments)}}},[n._v(n._s(n.$t("Delete")))])]):n._e(),n._v(" "),e("img",{staticClass:"image-viewer__image",style:n.imageStyle,attrs:{src:n.src,draggable:"false"},on:{click:function(n){n.stopPropagation()},dblclick:function(e){return e.stopPropagation(),e.preventDefault(),n.reset.apply(null,arguments)}}})])},[],!1,null,"3e7cb01c",null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:svg:svgMeEng.vue");var r=t(4);t(2).get("interchat:messages:svg:svgMeEng.vue");var o=r.default.extend({props:{color:{default:"#000000"}}}),l=t(5),component=Object(l.a)(o,function(){var n=this,e=n._self._c;n._self._setupProxy;return e("svg",{attrs:{width:"12px",viewBox:"0 0 58 50","enable-background":"new 0 0 58 50","xml:space":"preserve"}},[e("g",{attrs:{fill:n.color}},[e("path",{attrs:{d:"M51.857,4.945h3.271h3.271V0h-3.271h-3.271C44.725,0,38.92,5.805,38.92,12.938v24.346c0,7.134,5.805,12.938,12.938,12.938\r\n\t\th6.541v-4.945h-6.541c-4.407,0-7.993-3.586-7.993-7.993V26.238h14.534v-4.435H43.864v-8.865C43.864,8.531,47.45,4.945,51.857,4.945\r\n\t\tz"}}),n._v(" "),e("path",{attrs:{d:"M24.245,0h-0.437c-2.135,0-4.479,0.636-6.043,1.75C16.114,0.644,14.1,0,11.743,0h-0.436C4.172,0,0.113,5.804,0.113,12.938\r\n\t\tv37.285h4.944V12.938c0-4.407,1.843-7.993,6.25-7.993h0.436c4.407,0,6.248,3.586,6.248,7.993v37.285h4.946V12.938\r\n\t\tc0-2.729-0.6-5.26-1.732-7.35c0.68-0.256,1.769-0.644,2.604-0.644h0.437c4.407,0,6.249,3.586,6.249,7.993v37.285h4.944V12.938\r\n\t\tC35.438,5.804,31.379,0,24.245,0z"}})])])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:svg:svgMeRus.vue");var r=t(4);t(2).get("interchat:messages:svg:svgMeRus.vue");var o=r.default.extend({props:{color:{default:"#000000"}}}),l=t(5),component=Object(l.a)(o,function(){var n=this,e=n._self._c;n._self._setupProxy;return e("svg",{attrs:{width:"12px",viewBox:"0 0 52 57","enable-background":"new 0 0 52 57","xml:space":"preserve"}},[e("path",{attrs:{fill:n.color,d:"M37.25-0.084H14.5c-8.18,0-14.835,6.655-14.835,14.834v7.5c0,6.602,4.338,12.206,10.312,14.124\r\n\tC3.723,41.037-0.335,48.488-0.335,56.87v0.63h5.67v-0.63c0-10.304,7.879-18.799,17.928-19.785H37.25c3.46,0,6.639-1.2,9.165-3.192\r\n\tV57.5h5.67V22.25V18.5v-3.75C52.085,6.571,45.43-0.084,37.25-0.084z M46.415,18.5v3.75c0,5.054-4.111,9.166-9.165,9.166H25.22v-0.1\r\n\tc-0.733,0-1.458,0.039-2.176,0.1H14.5c-5.054,0-9.165-4.112-9.165-9.166v-7.5c0-5.054,4.111-9.166,9.165-9.166h22.75\r\n\tc5.054,0,9.165,4.112,9.165,9.166V18.5z"}})])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t(2).get("interchat:back.vue");var r=t(126).a,o=(t(794),t(5)),component=Object(o.a)(r,function(){var n=this,e=n._self._c;return e("div",{staticClass:"chat-page mx-auto p-1 flex flex-1 min-h-0 h-full flex-col relative overflow-hidden"},[e("div",{staticClass:"app-top-menu flex-none flex flex-row mb-1 w-full items-center",attrs:{id:"menu_up"}},[n.selectionActive?[e("span",{staticClass:"chat-sel-label"},[n._v(n._s(n.$t("Selected"))+" "+n._s(n.selectionCount))]),n._v(" "),e("div",{staticClass:"flex-1"}),n._v(" "),e("div",{staticClass:"chat-top-actions chat-sel-actions inline-flex items-center"},[e("button",{staticClass:"chat-top-actions__btn",attrs:{title:n.$t("Close"),"aria-label":"close"},on:{click:function(e){return e.stopPropagation(),n.selExit.apply(null,arguments)}}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"none",stroke:"#fff","stroke-width":"2.4","stroke-linecap":"round"}},[e("path",{attrs:{d:"M6 6l12 12M18 6L6 18"}})])]),n._v(" "),e("button",{staticClass:"chat-top-actions__btn",attrs:{title:n.$t("captions.Menu"),"aria-label":"menu"},on:{click:function(e){e.stopPropagation(),n.selMenuOpen=!n.selMenuOpen}}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"#fff"}},[e("circle",{attrs:{cx:"12",cy:"5",r:"2.2"}}),e("circle",{attrs:{cx:"12",cy:"12",r:"2.2"}}),e("circle",{attrs:{cx:"12",cy:"19",r:"2.2"}})])])])]:[n.showBackButton?e("div",{staticClass:"text-left"},[e("button",{staticClass:"btn btn-blue",on:{click:n.doBack}},[e("div",{staticClass:"flex flex-col justify-center",staticStyle:{height:"1rem"}},[e("SvgBack",{staticStyle:{height:"1rem"}})],1)])]):n._e(),n._v(" "),e("div",{staticClass:"text-center flex-1 flex-col justify-center max-h-full relative"},[e("UserStatusRow",{attrs:{user:n.me,show_avatar:!n.opponent,show_localname:!!n.opponent}}),n._v(" "),e("UserStatusRow",{staticClass:"text-lg",attrs:{user:n.opponent,show_avatar:!1,show_localname:!!n.opponent}}),n._v(" "),n.opponent?e("div",{staticStyle:{position:"absolute",top:"0",bottom:"0",left:"50%",transform:"translateX(-50%)",width:"4.5rem",cursor:"pointer","z-index":"2"},attrs:{"aria-label":"menu"},on:{click:function(e){return e.stopPropagation(),n.toggleChatMenu.apply(null,arguments)}}}):n._e()],1),n._v(" "),n.showMenuButton?e("div",{staticClass:"text-right"},[e("div",{staticClass:"chat-top-actions inline-flex items-center"},[n.opponent?e("button",{staticClass:"chat-top-actions__btn",attrs:{title:n.$t("Audio call"),"aria-label":"audio call"},on:{click:n.menuAudio}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"none",stroke:"#fff","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"}})])]):n._e(),n._v(" "),e("button",{staticClass:"chat-top-actions__btn",attrs:{title:n.$t("captions.Menu"),"aria-label":"menu"},on:{click:n.doMenu}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"#fff"}},[e("circle",{attrs:{cx:"12",cy:"5",r:"2.2"}}),e("circle",{attrs:{cx:"12",cy:"12",r:"2.2"}}),e("circle",{attrs:{cx:"12",cy:"19",r:"2.2"}})])])])]):n._e()]],2),n._v(" "),n.selectionActive&&n.selMenuOpen?e("div",{staticClass:"chat-top-menu-backdrop",on:{click:function(e){n.selMenuOpen=!1}}}):n._e(),n._v(" "),n.selectionActive&&n.selMenuOpen?e("div",{staticClass:"file-action-menu chat-sel-menu",on:{click:function(n){n.stopPropagation()}}},[n.selectionHasText?e("button",{on:{click:function(e){return e.stopPropagation(),n.selAction("copy")}}},[n._v(n._s(n.$t("Copy")))]):n._e(),n._v(" "),e("button",{on:{click:function(e){return e.stopPropagation(),n.selAction("forward")}}},[n._v(n._s(n.$t("Forward")))]),n._v(" "),e("button",{on:{click:function(e){return e.stopPropagation(),n.selAction("pin")}}},[n._v(n._s(n.$t("Pin")))]),n._v(" "),e("button",{on:{click:function(e){return e.stopPropagation(),n.selAction("save")}}},[n._v(n._s(n.$t("Save")))]),n._v(" "),e("button",{staticClass:"file-action-menu__danger",on:{click:function(e){return e.stopPropagation(),n.selAction("delete")}}},[n._v(n._s(n.$t("Delete")))])]):n._e(),n._v(" "),n.chatMenuOpen?e("div",{staticClass:"chat-top-menu-backdrop",on:{click:n.closeChatMenu}}):n._e(),n._v(" "),n.chatMenuOpen?e("div",{staticClass:"chat-top-menu",on:{click:function(n){n.stopPropagation()}}},[e("button",{staticClass:"chat-top-menu__item",attrs:{title:n.$t("Chat"),"aria-label":"chat"},on:{click:n.menuChat}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#fff","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{d:"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"}})])]),n._v(" "),e("button",{staticClass:"chat-top-menu__item",attrs:{title:n.$t("Audio call"),"aria-label":"audio call"},on:{click:n.menuAudio}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#fff","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"}})])]),n._v(" "),e("button",{staticClass:"chat-top-menu__item",attrs:{title:n.$t("Video call"),"aria-label":"video call"},on:{click:n.menuVideo}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#fff","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{d:"M23 7l-7 5 7 5V7z"}}),e("rect",{attrs:{x:"1",y:"5",width:"15",height:"14",rx:"2",ry:"2"}})])]),n._v(" "),e("button",{staticClass:"chat-top-menu__item",attrs:{title:n.$t("Search"),"aria-label":"search"},on:{click:n.menuSearch}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#fff","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("circle",{attrs:{cx:"11",cy:"11",r:"8"}}),e("line",{attrs:{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}})])]),n._v(" "),e("button",{staticClass:"chat-top-menu__item",attrs:{title:n.$t("Pinned"),"aria-label":"pinned"},on:{click:n.menuPinned}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#fff","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("path",{attrs:{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}}),e("path",{attrs:{d:"M14 2v6h6"}}),e("polyline",{attrs:{points:"9 13 11 15 15 11"}})])])]):n._e(),n._v(" "),e("ActivatorInitial"),n._v(" "),e("Alert"),n._v(" "),e("Loading"),n._v(" "),e("nuxt",{staticClass:"flex flex-1 min-h-0 overflow-hidden",attrs:{opponent:n.opponent,showMenuButton:n.showMenuButton,showBackButton:n.showBackButton},on:{"update:opponent":function(e){n.opponent=e},"update:showMenuButton":function(e){n.showMenuButton=e},"update:show-menu-button":function(e){n.showMenuButton=e},"update:showBackButton":function(e){n.showBackButton=e},"update:show-back-button":function(e){n.showBackButton=e}}}),n._v(" "),e("CallOpenCover"),n._v(" "),e("CallReturnBanner")],1)},[],!1,null,"ae68bc5c",null);e.a=component.exports;installComponents(component,{SvgBack:t(108).default,UserStatusRow:t(191).default,ActivatorInitial:t(53).default,Alert:t(55).default,Loading:t(82).default,CallOpenCover:t(464).default,CallReturnBanner:t(465).default})},function(n,e,t){"use strict";t(2).get("interchat:loggedIn.vue");var r=t(129).a,o=(t(805),t(5)),component=Object(o.a)(r,function(){var n=this,e=n._self._c;return e("div",{staticClass:"h-full min-h-0 flex flex-1 mx-auto p-1 overflow-hidden"},[e("div",{staticClass:"chat-page mx-auto flex flex-1 min-h-0 flex-col overflow-hidden"},[e("div",{staticClass:"app-top-menu flex-none flex flex-row mb-1 w-full items-center user_top_row",attrs:{id:"menu_up"}},[n.searchOpen?[e("div",{staticClass:"chats-search-bar"},[e("svg",{staticClass:"chats-search-bar__icon",attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"none",stroke:"#fff","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[e("circle",{attrs:{cx:"11",cy:"11",r:"8"}}),e("line",{attrs:{x1:"21",y1:"21",x2:"16.65",y2:"16.65"}})]),n._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:n.searchText,expression:"searchText"}],ref:"chatsSearchInput",staticClass:"chats-search-bar__input",attrs:{type:"text",placeholder:n.$t("Search name or number")},domProps:{value:n.searchText},on:{input:[function(e){e.target.composing||(n.searchText=e.target.value)},n.onSearchInput],keyup:function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:n.closeSearch.apply(null,arguments)}}}),n._v(" "),e("button",{staticClass:"chats-search-bar__close",attrs:{title:n.$t("Close"),"aria-label":"close"},on:{click:n.closeSearch}},[e("svg",{attrs:{viewBox:"0 0 24 24",width:"20",height:"20",fill:"none",stroke:"#fff","stroke-width":"2.4","stroke-linecap":"round"}},[e("path",{attrs:{d:"M6 6l12 12M18 6L6 18"}})])])])]:[e("div",{staticClass:"text-left"},[e("nuxt-link",{staticClass:"btn btn-blue inline-flex items-center",attrs:{to:n.localePath("/options")}},[e("div",{staticStyle:{height:"1.2rem"}},[e("SvgGear",{staticStyle:{height:"100%"}})],1)])],1),n._v(" "),e("div",{staticClass:"flex-1 relative",staticStyle:{cursor:"pointer"},attrs:{"aria-label":"search"},on:{click:n.openSearch}},[e("UserStatusRow",{attrs:{user:n.me,show_avatar:"true/"}})],1),n._v(" "),e("div",{staticClass:"text-right flex flex-row items-center"},[n.appUpdateAvailable?e("button",{staticClass:"btn-svg btn-blue update-badge-button inline-flex items-center px-2 py-2 mr-1",attrs:{title:n.updateTitle,"aria-label":n.updateTitle},on:{click:n.goAppUpdate}},[e("svg",{staticClass:"update-badge-icon",attrs:{viewBox:"0 0 24 24","aria-hidden":"true"}},[e("path",{attrs:{d:"M12 3v12"}}),n._v(" "),e("path",{attrs:{d:"M7 10l5 5 5-5"}}),n._v(" "),e("path",{attrs:{d:"M5 21h14"}})])]):n._e(),n._v(" "),e("button",{staticClass:"btn btn-blue inline-flex items-center",on:{click:n.doMenu}},[e("div",{staticStyle:{height:"1.2rem"}},[e("SvgMenu",{staticStyle:{height:"100%"}})],1)])])]],2),n._v(" "),e("ActivatorInitial"),n._v(" "),e("Alert"),n._v(" "),e("Loading"),n._v(" "),e("nuxt",{staticClass:"flex flex-1 min-h-0 overflow-hidden"})],1),n._v(" "),e("CallOpenCover"),n._v(" "),e("CallReturnBanner")],1)},[],!1,null,null,null);e.a=component.exports;installComponents(component,{SvgGear:t(198).default,UserStatusRow:t(191).default,SvgMenu:t(64).default,ActivatorInitial:t(53).default,Alert:t(55).default,Loading:t(82).default,CallOpenCover:t(464).default,CallReturnBanner:t(465).default})},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:svg:ConferenceCall.vue");var r=t(5),component=Object(r.a)({},function(){var n=this,e=n._self._c;return e("svg",{attrs:{version:"1.1",id:"Слой_2","xmlns:x":"&ns_extend;","xmlns:i":"&ns_ai;","xmlns:graph":"&ns_graphs;",x:"0px",y:"0px",height:"1.5rem",viewBox:"0 0 113.39 56.69","enable-background":"new 0 0 113.39 56.69","xml:space":"preserve"}},[e("switch",[e("g",{attrs:{"i:extraneous":"self"}},[e("g",[e("path",{attrs:{fill:"#010101",d:"M54.215,45.855c0,0-3.625,7.5-15,3.25S14.09,36.23,12.09,16.605c0,0-1.375-4,2.25-7s5.875-2.875,7.5-2.25\r\n\t\t\t\ts4,6.25,4,10.25s-2.5,4.75-2.5,4.75s-1.125,1.125-0.375,3.125s3.875,9.125,14.125,14c0,0,1.875,0.5,3-1.25s4-2.875,7-1.75\r\n\t\t\t\ts10.75,4.125,7.125,9"}}),n._v(" "),e("circle",{attrs:{fill:"#010101",cx:"66.168",cy:"47.055",r:"4"}}),n._v(" "),e("circle",{attrs:{fill:"#010101",cx:"78.918",cy:"47.055",r:"4"}}),n._v(" "),e("circle",{attrs:{fill:"#010101",cx:"91.793",cy:"47.055",r:"4"}})])])])])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:svg:ConferenceCam.vue");var r=t(5),component=Object(r.a)({},function(){var n=this,e=n._self._c;return e("svg",{attrs:{version:"1.1",x:"0px",y:"0px",height:"1.5rem",viewBox:"0 0 113.39 56.69","enable-background":"new 0 0 113.39 56.69","xml:space":"preserve"}},[e("g",[e("path",{attrs:{fill:"none",stroke:"#010101","stroke-width":"7","stroke-miterlimit":"10",d:"M90.511,41.518c0,3.066-2.486,5.552-5.552,5.552\n H52.511c-3.065,0-5.552-2.485-5.552-5.552V16.532c0-3.066,2.486-5.552,5.552-5.552h32.448c3.065,0,5.552,2.486,5.552,5.552\n V41.518z"}}),n._v(" "),e("path",{attrs:{fill:"none",stroke:"#010101","stroke-width":"7","stroke-miterlimit":"10",d:"M106.292,16.813v25.5\n c0,3.417-2.979,1.958-2.979,1.958l-12.803-6.625V20.48l12.791-6.484C103.302,13.996,106.292,12.063,106.292,16.813z"}}),n._v(" "),e("circle",{attrs:{fill:"#010101",cx:"30.083",cy:"47.068",r:"3.792"}}),n._v(" "),e("circle",{attrs:{fill:"#010101",cx:"18.334",cy:"47.068",r:"3.792"}}),n._v(" "),e("circle",{attrs:{fill:"#010101",cx:"6.536",cy:"47.068",r:"3.792"}})])])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:svg:Group.vue");var r=t(5),component=Object(r.a)({},function(){var n=this,e=n._self._c;return e("svg",{attrs:{version:"1.1",height:"2rem",viewBox:"0 0 141.73 85.04","enable-background":"new 0 0 141.73 85.04","xml:space":"preserve"}},[e("g",[e("path",{attrs:{fill:"none",stroke:"#010101","stroke-width":"6","stroke-miterlimit":"10",d:"M87.104,75.875h44.75v-3.86\n\t\tc0-12.357-10.018-22.375-22.375-22.375c-6.179,0-11.772,2.505-15.822,6.554"}}),n._v(" "),e("path",{attrs:{fill:"none",stroke:"#010101","stroke-width":"6","stroke-miterlimit":"10",d:"M47.958,57.193\n\t\tc-4.049-4.049-10.643-7.554-16.821-7.554c-12.357,0-22.375,10.018-22.375,22.375v3.86h44.75"}}),n._v(" "),e("path",{attrs:{fill:"none",stroke:"#010101","stroke-width":"6","stroke-miterlimit":"10",d:"M92.91,59.605\n\t\tc0-12.357-10.018-22.375-22.375-22.375S48.16,47.248,48.16,59.605v16.27h44.75V59.605z"}}),n._v(" "),e("circle",{attrs:{fill:"none",stroke:"#010101","stroke-width":"6","stroke-miterlimit":"10",cx:"69.41",cy:"23.23",r:"14"}}),n._v(" "),e("circle",{attrs:{fill:"none",stroke:"#010101","stroke-width":"6","stroke-miterlimit":"10",cx:"31.137",cy:"35.64",r:"14"}}),n._v(" "),e("circle",{attrs:{fill:"none",stroke:"#010101","stroke-width":"6","stroke-miterlimit":"10",cx:"109.479",cy:"35.64",r:"14"}})])])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:svg:bird.vue");var r=t(5),component=Object(r.a)({},function(){var n=this._self._c;return n("svg",{attrs:{height:"0.5rem",viewBox:"0 0 28.031 20","enable-background":"new 0 0 28.031 20","xml:space":"preserve"}},[n("polygon",{attrs:{fill:"#000000",points:"25.209,0 12.917,16.083 3.109,4.094 0,4.094 12.917,20 28.031,0 "}})])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:svg:double_bird.vue");var r=t(5),component=Object(r.a)({},function(){var n=this._self._c;return n("svg",{attrs:{height:"0.5rem",viewBox:"0 0 36 20","enable-background":"new 0 0 36 20","xml:space":"preserve"}},[n("g",[n("polygon",{attrs:{fill:"#89C03C",points:"25.209,0 12.917,16.083 3.109,4.094 0,4.094 12.917,20 28.031,0 \t"}}),this._v(" "),n("polygon",{attrs:{fill:"#89C03C",points:"31.292,0 19,16.083 17.988,14.888 16.407,16.845 19,20 34.114,0 \t"}})])])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:svg:secure.vue");var r=t(5),component=Object(r.a)({},function(){var n=this._self._c;return n("svg",{attrs:{viewBox:"0 0 13 20","enable-background":"new 0 0 13 20","xml:space":"preserve",height:"0.75rem"}},[n("path",{attrs:{fill:"#8AC33D",d:"M11.97,7.546L12,4.952c0-2.69-2.654-4.871-5.344-4.871c-2.69,0-5.242,2.181-5.242,4.871v2.542H1.29\n\tC0.577,7.494,0,8.071,0,8.784v9.992c0,0.712,0.577,1.29,1,1.29h10.422c1.001,0,1.578-0.578,1.578-1.29V8.784\n\tC13,8.163,12.553,7.669,11.97,7.546z M7.491,15.599c0.143,0.429-0.215,0.537-0.215,0.537s-1.003,0-1.505,0\n\tc-0.501,0-0.322-0.502-0.322-0.502l0.478-2.044c-0.464-0.195-0.79-0.653-0.79-1.189c0-0.712,0.577-1.289,1.289-1.289\n\tc0.713,0,1.291,0.577,1.291,1.289c0,0.498-0.283,0.929-0.695,1.145C7.17,14.257,7.398,15.319,7.491,15.599z M2.919,7.494V4.952\n\tc0-1.859,1.878-3.367,3.737-3.367s3.839,1.507,3.839,3.367l-0.01,2.542h-0.404H2.919z"}})])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:messages:svg:not_secure.vue");var r=t(5),component=Object(r.a)({},function(){var n=this._self._c;return n("svg",{attrs:{version:"1.1",id:"not_x5F_secure",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",height:"0.75rem",viewBox:"0 0 13 20","enable-background":"new 0 0 13 20","xml:space":"preserve"}},[n("path",{attrs:{fill:"#D84141",d:"M9.436,0.921c-0.891-0.53-1.922-0.84-2.936-0.84c-2.69,0-5.085,2.181-5.085,4.871v2.542H1.29\n\tC0.577,7.494,0,8.071,0,8.784v9.991c0,0.713,0.577,1.291,1,1.291h10.422c1.001,0,1.578-0.578,1.578-1.291V8.784\n\tc0-0.712-0.577-1.29-1.289-1.29h-0.125h-1.505H2.919V4.952c0-1.859,1.722-3.367,3.581-3.367c0.735,0,1.514,0.235,2.187,0.636\n\tL9.436,0.921z M7.491,15.6c0.143,0.428-0.216,0.536-0.216,0.536s-1.002,0-1.504,0c-0.501,0-0.322-0.502-0.322-0.502l0.478-2.044\n\tc-0.464-0.195-0.79-0.652-0.79-1.189c0-0.711,0.577-1.289,1.289-1.289c0.713,0,1.291,0.578,1.291,1.289\n\tc0,0.498-0.283,0.93-0.695,1.146C7.17,14.257,7.398,15.318,7.491,15.6z"}})])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.d(e,"a",function(){return _});var r=t(0),o=t(8);t(2).get("interchat:integration:JsonRpc.ts");var l;!function(n){n[n.ParseError=-32700]="ParseError",n[n.InvalidRequest=-32600]="InvalidRequest",n[n.MethodNotFound=-32601]="MethodNotFound",n[n.InvalidParams=-32602]="InvalidParams",n[n.InternalError=-32603]="InternalError"}(l||(l={}));const c="2.0",d={code:l.MethodNotFound,message:"Method not found"};var f=class{constructor({methods:n={},source:source,destination:e,origin:t,serviceName:r}={}){this.sequence=0,this.deferreds={},this.handleMessage=({data:data,origin:n})=>{data&&"2.0"===data.jsonrpc&&("*"!==this.origin&&this.origin!==n||this.serviceName&&this.serviceName!=data.serviceName||(console.log("RPC Handle message",data),"method"in data?this.handleRequest(data).then(n=>this.destination&&this.postMessage(this.destination,n)):("result"in data||"error"in data)&&this.handleResponse(data)))},this.methods=n,this.destination=e,this.origin=t||"*",this.source=source,this.serviceName=r,this.source&&this.mount(this.source)}apply(n,e){if(!this.destination)throw Error("Attempted to apply with no destination");const t=this.sequence++,r=new Promise((n,e)=>{this.deferreds[t]={resolve:n,reject:e}});return this.postMessage(this.destination,{id:t,jsonrpc:c,method:n,params:e}),r}call(n,...e){return this.apply(n,e)}mount(source){this.source=source,source.addEventListener("message",this.handleMessage)}unmount(){this.source&&this.source.removeEventListener("message",this.handleMessage)}handleRequest(n){return Promise.resolve().then(()=>{const e=this.methods[n.method];return e?e.apply(null,(source=n.params,Array.isArray(source)?source:[source])):Promise.reject(d);var source}).then((e=n.id,n=>({jsonrpc:c,id:e,result:n})),(n=>e=>({jsonrpc:c,id:n,error:{code:e.code||l.InternalError,message:e.message}}))(n.id));var e}handleResponse(n){const e=this.deferreds[n.id];delete this.deferreds[n.id],e&&(n.error?e.reject(Object.assign(Error(),n.error)):e.resolve(n.result))}postMessage(n,e){const t=n.window===n;this.serviceName&&e&&(e.serviceName=this.serviceName),console.log("RPC Post message",e),n.postMessage(e,t?this.origin:void 0)}},m=t(142);t(2).get("interchat:integration:integration.ts");let h,v,x,k,w,y=!1;async function _(n){window.parent!=window&&(h=n,await async function(){if(!h.$auth.loggedIn)return;await o.a.onLogout()}(),async function(){v=new f({methods:T(),source:window,destination:window.parent,serviceName:O}),n=v,x={getAuthorizationWBG:()=>n.apply("getAuthorizationWBG"),onNotifiChanged:e=>n.apply("onNotifiChanged",{count:e}),getServiceName:()=>n.apply("getServiceName"),getLanguage:()=>n.apply("getLanguage")};var n}(),function(){h.store.watch((n,e)=>e.unreadedMessagesCount,async n=>{await x.onNotifiChanged(n)});let n=h.store.getters.unreadedMessagesCount;x.onNotifiChanged(n)}(),async function(){const n=1e4,e=5e3;let t=null,r=async()=>{t=null;try{await A(I,n)}catch(n){console.warn(n)}finally{t=setTimeout(r,e)}};await r()}(),await async function(n){await n.store.dispatch("doActivate")}(n))}const S=2e3,C="365";async function E(n){w=n,await h.store.dispatch("platformDevice/setLanguage",{language:w})}async function I(){if(!y&&await async function(){if(k)return!0;try{return await A(async()=>{let n=await x.getServiceName();k="object"==typeof n&&n.serviceName?n.serviceName:n,console.log("Set service name "+k)},S),!0}catch(n){return!1}}()){await async function(){if(!w)return k==C?E("ru"):void E(await x.getLanguage())}();try{let data=await async function(){return await x.getAuthorizationWBG()}();await N(data),await D(data),y=!0}catch(n){y=!1,r.a.warn("Error in wbg authorization",n);let data=await async function(){let n=function(){const n="interchat:anonimous_id";try{M=localStorage.getItem(n),M||(M=Object(m.a)(),localStorage.setItem(n,M))}catch(n){M=Object(m.a)()}return M}(),e=k||C;return{name:e+" anonim "+n,anonimous_id:n,service_name:e}}();await N(data),await D(data)}}}async function A(n,e){return new Promise(async(t,r)=>{let o=setTimeout(()=>{r(new Error("timeout"))},e);try{await n(),t()}finally{clearTimeout(o)}})}function T(){return{onAuthorizationChanged:async n=>{y=!1},onLanguageChanged:async n=>{console.warn("Register changed language!!",n),E(n)}}}const O="interchat";let M=null;async function N(n){if(!h.$auth.loggedIn)return;h.$auth.user.name!=n.name&&await o.a.onLogout()}async function D(n){h.$auth.loggedIn||(await h.$auth.login({data:{...n,service:!0}}),h.store.dispatch("reset"))}},function(n,e,t){n.exports=t.p+"img/logoKsiTalk.0390708.png"},,,,,,function(n,e,t){"use strict";t.r(e),t.d(e,"isDevice",function(){return Y}),t.d(e,"state",function(){return nn}),t.d(e,"getters",function(){return en}),t.d(e,"mutations",function(){return tn}),t.d(e,"actions",function(){return rn});var r=t(0),o=t(1),l=t(8);t(2).get("interchat:DeferredDispatch");t(21);var c=t(27);t(2).get("interchat:platform:EOrientationLock.ts");var d;!function(n){n.ANY="any",n.LANDSCAPE="landscape",n.PORTRAIT="portrait",n.PORTRAIT_PRIMARY="portrait-primary",n.PORTRAIT_SECONDARY="portrait-secondary",n.LANDSCAPE_PRIMARY="landscape-primary",n.LANDSCAPE_SECONDARY="landscape-secondary"}(d||(d={}));t(2).get("interchat:platform:EPlatformEvent.ts");var f;!function(n){n.CALL="call",n.TOKEN_DEVICE="tokenDevice",n.RESUME="resume",n.PAUSE="pause",n.READY="ready",n.FILE_SAVED="file_saved",n.FILE_SHARE="file_share",n.FILE_SELECTED_INFO="file_selected_info",n.NAVIGATE_BACK="navigate_back"}(f||(f={}));var m=t(36),h=t.n(m),v=t(30);t(2).get("interchat:platform:PlatformDeviceCordova.ts");function x(n,e=[],t,r){const o=window;o.cordova&&o.cordova.exec?o.cordova.exec(t||function(){},r||function(){},"NativeDevicePlugin",n,e):r&&r("cordova exec is not available")}function k(n,e=[]){return new Promise((t,r)=>{x(n,e,t,r)})}function w(n){if("string"!=typeof n)return n;try{return JSON.parse(n)}catch(e){return r.a.error("Can not parse FCM JSON",e,n),n}}function y(n){r.a.debug("RegisterListeners");const e=function(){const n=window;return n.FCMPluginNG?n.FCMPluginNG:n.cordova&&n.cordova.exec?(n.FCMPluginNG={getToken(e,t){n.cordova.exec(e,t||function(){},"FCMPluginNG","getToken",[])},onTokenRefresh(e,t){n.cordova.exec(e,t||function(){},"FCMPluginNG","onTokenRefresh",[])},onNotification(e,t){n.cordova.exec(e,t||function(){},"FCMPluginNG","onNotification",[])},getInitialNotification(e,t){n.cordova.exec(e,t||function(){},"FCMPluginNG","getInitialNotification",[])}},n.FCMPluginNG):null}();if(!e)return void r.a.error("FCMPluginNG is not available");e.onTokenRefresh(function(e){n.emit(f.TOKEN_DEVICE,e)});const t=function(e){if(r.a.debug("FCM notification received",e),!e)return;let t=function(n){if(!n)return n;r.a.warn("CALL_PUSH_TRACE normalize start",{rawType:typeof n,rawKeys:n&&"object"==typeof n?Object.keys(n):null,nativeSource:n&&n.ksitalkNativeSource,openReason:n&&n.ksitalkOpenReason});const e=w(n);if(!e||"object"!=typeof e)return e;let t=e.payload?w(e.payload):e;return t&&"object"==typeof t?(!t.type&&e.type&&(t.type=e.type),!t.authorID&&e.authorID&&(t.authorID=e.authorID),!t.reason&&e.reason&&(t.reason=e.reason),e.ksitalkOpenReason&&(t.ksitalkOpenReason=e.ksitalkOpenReason),e.ksitalkNativeSource&&(t.ksitalkNativeSource=e.ksitalkNativeSource),e.ksitalkNativeAt&&(t.ksitalkNativeAt=e.ksitalkNativeAt),r.a.warn("CALL_PUSH_TRACE normalize done",{reason:t.reason,type:t.type,authorID:t.authorID,payloadKeys:t&&"object"==typeof t?Object.keys(t):null,nestedPayloadKeys:t.payload&&"object"==typeof t.payload?Object.keys(t.payload):null,hasCallInfo:!(!t.payload||!t.payload.callInfo),openReason:t.ksitalkOpenReason,nativeSource:t.ksitalkNativeSource}),t):t}(e);if(function(n){return!!(n&&"object"==typeof n&&(n.reason||n.type||n.authorID||n.callId||n.ksitalkOpenReason||n.payload&&(n.payload.reason||n.payload.type||n.payload.authorID||n.payload.callId||n.payload.callInfo)))}(t)){if(t&&("call"==t.reason||"incoming-call"==t.ksitalkOpenReason)){window.__ksitalkOpenCallPending=!0;try{window.dispatchEvent(new CustomEvent("ksitalk-open-call"))}catch(n){r.a.warn("CALL_PUSH_TRACE native open-call event failed",n)}}n.emit(f.CALL,t)}else r.a.warn("CALL_PUSH_TRACE notification ignored as non-push payload",t)};e.onNotification(t),e.getInitialNotification(function(n){r.a.warn("CALL_PUSH_TRACE initial notification received",n),t(n)});let o=null;async function l(){return new Promise((t,l)=>{r.a.debug("Poll token request "),e.getToken(e=>{r.a.debug("Poll token result ",e),e&&e!=o&&(o=e,r.a.debug("PlatformDevice token changed",o),n.emit(f.TOKEN_DEVICE,o),t(o))})})}setTimeout(()=>l(),0),setInterval(async()=>{await l()},5e3)}class _ extends h.a.EventEmitter{constructor(){var n;super(),this.speakerphoneModeCurrent=c.c.ANY,this.audioModeCurrent=c.a.MODE_NORMAL,n=this,document.addEventListener("deviceready",()=>{n.emit(f.READY),n.onDeviceReady()},!1),document.addEventListener("resume",()=>{n.emit(f.RESUME),setTimeout(()=>n.drainPendingSharedFiles("resume"),250)},!1),document.addEventListener("pause",()=>{n.emit(f.PAUSE)},!1)}static IsExist(){return false}onDeviceReady(){y(this),this.drainPendingSharedFiles("device-ready"),setTimeout(()=>this.drainPendingSharedFiles("device-ready-1s"),1e3),setTimeout(()=>this.drainPendingSharedFiles("device-ready-3s"),3e3),setTimeout(()=>this.cleanupSenderCopiesOld(),8e3)}cleanupSenderCopiesOld(){try{const n=31536e6,e=Object(v.d)();x("cleanupSenderCopies",[n,e],n=>{r.a.log("cleanupSenderCopies done",{removed:n,protected:e.length})},n=>{r.a.warn("cleanupSenderCopies error",n)})}catch(n){r.a.warn("cleanupSenderCopiesOld failed",n)}}drainPendingSharedFiles(n){x("getPendingSharedFiles",[],e=>{if("string"==typeof e&&(e=w(e)),!Array.isArray(e)||e.length<=0)r.a.warn("ANDROID_SHARE_TRACE pending native share empty",{reason:n});else{r.a.warn("ANDROID_SHARE_TRACE pending native share received",{reason:n,count:e.length,firstName:e[0]?e[0].fileName:"",firstSize:e[0]?e[0].fileSize:0,firstContentLength:e[0]&&e[0].fileContent?e[0].fileContent.length:0});for(const n of e)n&&this.emit(f.FILE_SHARE,n.fileName,n.fileSize,n.fileContent)}},e=>{r.a.warn("ANDROID_SHARE_TRACE pending native share failed",{reason:n,error:e})})}isDevice(){return!0}callIntent(n,e){}callStarted(){}callAccepted(){x("stopIncomingCall",[],void 0,n=>{r.a.error("stopIncomingCall accepted error",n)})}callEnded(){x("stopIncomingCall",[],void 0,n=>{r.a.error("stopIncomingCall error",n)})}versionGet(){return"10.10.13"}platformNameGet(){return"PlatformDeviceCordova"}screenPowerOffOnProximity(n){r.a.log("Cordova platform screenPowerOffOnProximity value = ",n),x("screenPowerOffOnProximity",[n],void 0,e=>{r.a.warn("screenPowerOffOnProximity native error",{value:n,error:e})})}callKeepAliveStart(title,text){x("callKeepAliveStart",[title||"",text||""],void 0,n=>{r.a.warn("callKeepAliveStart native error",n)})}callKeepAliveStop(){x("callKeepAliveStop",[],void 0,n=>{r.a.warn("callKeepAliveStop native error",n)})}vibroEnable(n){n?navigator.vibrate([0,800,200,0]):navigator.vibrate([])}soundRingEnable(n){x("soundRingEnable",[n],void 0,n=>{r.a.error("soundRingEnable error",n)})}orientationLock(n){n==d.ANY?window.screen.orientation.unlock():window.screen.orientation.lock(n)}messageReceived(body,n,e){}onMounted(){o.b.$emit(o.a.ACTIVATE,{}),k("getCallSettingsStatus").then(n=>{if(!n||!n.needsSettings)return;const e=["Чтобы KsiTalk показывал входящий звонок на заблокированном телефоне и звонил как обычный телефон, нужно включить настройки звонков.","","В ОТКРЫВШЕМСЯ ОКНЕ ОБЯЗАТЕЛЬНО ВКЛЮЧИТЕ:","1. Уведомления для канала KsiTalk calls","2. Звук","3. Показ на экране блокировки","4. Всплывающие / полноэкранные уведомления","","Если эти пункты уже включены, просто вернитесь назад в приложение."].join("\n");window.confirm(e)&&x("openCallSettings",[],void 0,n=>{r.a.error("openCallSettings error",n)})}).catch(n=>{r.a.error("getCallSettingsStatus failed",n)})}brandNameGet(){return"ksitalk"}speakerphoneModeSet(n){this.speakerphoneModeCurrent=n,x("speakerphoneModeSet",[n],n=>{"string"==typeof n&&(this.speakerphoneModeCurrent=n)},n=>{r.a.error("speakerphoneModeSet error",n)})}speakerphoneModeGet(){return x("speakerphoneModeGet",[],n=>{this.speakerphoneModeCurrent="string"==typeof n?n:n?c.c.SPEAKER:c.c.PHONE},n=>{r.a.error("speakerphoneModeGet error",n)}),this.speakerphoneModeCurrent}isScreenLocked(){return!1}appHide(){}appExit(){}notificationCloseAll(){}notificationCloseConversation(n){}setBadgeCount(n){x("setBadgeCount",[Math.max(0,Number(n)||0)],void 0,e=>{r.a.warn("setBadgeCount native error",{count:n,error:e})})}applicationUpdate(n){return r.a.log("applicationUpdate cordova url = ",n),k("applicationUpdate",[n]).catch(e=>{throw r.a.error("applicationUpdate error",e),window.location.href=n,e})}languageGet(){return""}onFileDownload(n,e,t){return r.a.log(`onFileDownload cordova = ${n} fileSize = ${e} length = `+t.size),new Promise((o,l)=>{let c=new FileReader;c.onerror=n=>l(n),c.onload=()=>{let t=c.result;if(!t||"string"!=typeof t)return r.a.debug("Loader result null or not string"),void o(null);let d=t.replace(/^data:.+;base64,/,"");x("onFileDownload",[n,e,d,!1],path=>{r.a.log("onFileDownload cordova saved",{fileName:n,path:path}),o(path||null)},n=>{r.a.error("onFileDownload cordova error",n),l(n)})},c.readAsDataURL(t)})}onFileDownloadBegin(n,e){}onFileDownloadAppend(n,e,t){}onFileDownloadEnd(n,e){}onFileUpload(n,e,t){return r.a.log(`onFileUpload cordova = ${n} fileSize = ${e} length = `+t.size),new Promise(e=>{let o=new FileReader;o.onerror=()=>e(null),o.onload=()=>{let t=o.result;if(!t||"string"!=typeof t)return void e(null);let l=t.replace(/^data:.+;base64,/,"");x("saveSenderLocalCopy",[n,l],path=>{r.a.log("onFileUpload cordova saved (private)",{fileName:n,path:path}),e(path||null)},n=>{r.a.error("onFileUpload cordova error",n),e(null)})},o.readAsDataURL(t)})}appActivateForeground(){}doOpenFile(n,path){x("openFile",[n,path||""],void 0,n=>{r.a.warn("doOpenFile cordova error",n)})}getFileSize(n,path){return 0}async getFilePreview(n,path,e){let t=await k("getFilePreview",[n,path||"",e||0]).catch(n=>(r.a.warn("getFilePreview cordova error",n),""));return"string"==typeof t&&t.length?"data:image/jpeg;base64,"+t:""}async getFileContentBase64(n,path){let e=await k("getFileContentBase64",[n,path||""]).catch(n=>(r.a.warn("getFileContentBase64 cordova error",n),""));return"string"==typeof e?e:""}async getStorageUsage(){try{let n=await k("getStorageUsage",[]);if("string"==typeof n&&(n=JSON.parse(n)),n&&"object"==typeof n)return{sent:Number(n.sent)||0,received:Number(n.received)||0,sentCount:Number(n.sentCount)||0,receivedCount:Number(n.receivedCount)||0}}catch(n){r.a.warn("getStorageUsage cordova error",n)}return{sent:0,received:0,sentCount:0,receivedCount:0}}async deleteSenderCopy(path){try{let n=await k("deleteSenderCopy",[path||""]);return Number(n)>0}catch(n){return r.a.warn("deleteSenderCopy cordova error",n),!1}}async dedupSenderCopies(){try{let n=await k("dedupSenderCopies",[]);if("string"==typeof n&&(n=JSON.parse(n)),Array.isArray(n))return n.filter(n=>n&&n.old&&n.new)}catch(n){r.a.warn("dedupSenderCopies cordova error",n)}return[]}clearCache(){}pageReload(){}contentUpdate(){}audioModeSet(n){this.audioModeCurrent=n,x("audioModeSet",[n],void 0,n=>{r.a.error("audioModeSet error",n)})}audioModeGet(){return this.audioModeCurrent}async audioRouteDebugGet(){const n=await k("audioRouteDebugGet");return"string"==typeof n?n:JSON.stringify(n,null,2)}developerLogSendSet(n){}async unlockScreen(n){return new Promise((e,t)=>{x("unlockScreen",[n],e,t)})}cryptBackupWrite(n,content){return k("cryptBackupWrite",[n,content])}cryptBackupRead(n){return k("cryptBackupRead",[n])}soundVolumeGet(n){return 0}soundVolumeSet(n,e){}}t(2).get("interchat:platform:PlatformDeviceCordovaAndroid.ts");class S extends _{constructor(){super()}static IsExist(){return super.IsExist()&&false}}t(2).get("interchat:platform:PlatformDeviceCordovaIOS.ts");class C extends _{constructor(){super()}static IsExist(){return super.IsExist()&&false}onDeviceReady(){r.a.debug("device ready event!!! "),cordova.plugins.iosrtc.registerGlobals(),r.a.debug("cordova.plugins.iosrtc.registerGlobals finished"),super.onDeviceReady()}platformNameGet(){return"PlatformDeviceCordovaIOS"}screenPowerOffOnProximity(n){r.a.debug("screenPowerOffOnProximity io snot implemented")}callKeepAliveStart(title,text){}callKeepAliveStop(){}}t(2).get("interchat:platform:PlatformDeviceAndroid.ts");function E(n,e=[],t,r){const o=window;return o.cordova&&o.cordova.exec?(o.cordova.exec(t||function(){},r||function(){},"NativeDevicePlugin",n,e),!0):(r&&r("cordova exec is not available"),!1)}function I(n,e=[]){return new Promise((t,r)=>{E(n,e,t,r)||r("cordova exec is not available")})}class A extends h.a.EventEmitter{constructor(){super(),this.screenLockPromise=null,setTimeout(()=>{!function(n){document.devicePlatform={onCall(e){n.emit(f.CALL,e)},onTokenFirebase(e){n.emit(f.TOKEN_DEVICE,e)},onResume(){n.emit(f.RESUME)},onPause(){n.emit(f.PAUSE)},onFileSaved(e){n.emit(f.FILE_SAVED,e)},onFileShare(e,t,o){r.a.log("On file share fileName = ",e),n.emit(f.FILE_SHARE,e,t,o)},doNavigateBack(){n.emit(f.NAVIGATE_BACK)},onFileUpload(e,path){n.emit(f.FILE_SELECTED_INFO,{name:e,path:path})}};let e=null;async function t(){let t=PlatformDevice.FirebaseRegistrationTokenGet();t!=e&&(e=t,r.a.debug("PlatformDevice token changed",e),n.emit(f.TOKEN_DEVICE,e))}setTimeout(()=>t(),0),setInterval(async()=>{await t()},5e3)}(this),this.emit(f.READY)},0)}static IsExist(){return"undefined"!=typeof PlatformDevice}isDevice(){return!0}callIntent(n,e){PlatformDevice.callIntent(n)}callStarted(){PlatformDevice.callStarted()}callAccepted(){"function"==typeof PlatformDevice.callAccepted&&PlatformDevice.callAccepted()}callEnded(){PlatformDevice.callEnded()}versionGet(){return PlatformDevice.versionGet()}platformNameGet(){return"PlatformDeviceAndroid"}screenPowerOffOnProximity(n){r.a.log("Android platform screenPowerOffOnProximity value = ",n),PlatformDevice.screenPowerOffOnProximity(n)}callKeepAliveStart(title,text){try{I("callKeepAliveStart",[title||"",text||""])}catch(n){r.a.warn("callKeepAliveStart error",n)}}callKeepAliveStop(){try{I("callKeepAliveStop",[])}catch(n){r.a.warn("callKeepAliveStop error",n)}}vibroEnable(n){PlatformDevice.vibroEnable(n)}soundRingEnable(n){PlatformDevice.soundRingEnable(n)}orientationLock(n){PlatformDevice.lockOrientation(String(n))}messageReceived(body,n,e){PlatformDevice.messageReceived(body,n,e)}onMounted(){r.a.log("PlatformDeviceAndroid onMounted, emit activated"),o.b.$emit(o.a.ACTIVATE,{}),PlatformDevice.onMounted()}brandNameGet(){return PlatformDevice.brandNameGet()}speakerphoneModeSet(n){r.a.log("Android platform device speakerphoneModeSet = ",n),PlatformDevice.speakerphoneModeSet(n)}speakerphoneModeGet(){let n=PlatformDevice.speakerphoneModeGet();return!0===n?c.c.SPEAKER:!1===n?c.c.PHONE:n||c.c.PHONE}isScreenLocked(){return PlatformDevice.isScreenLocked()}appHide(){PlatformDevice.appHide()}appExit(){PlatformDevice.appExit()}notificationCloseAll(){PlatformDevice.notificationCloseAll()}notificationCloseConversation(n){PlatformDevice.notificationCloseConversation(n)}setBadgeCount(n){"function"==typeof PlatformDevice.setBadgeCount&&PlatformDevice.setBadgeCount(n)}applicationUpdate(n){PlatformDevice.applicationUpdate(n)}languageGet(){return PlatformDevice.languageGet()}onFileDownload(n,e,t){return r.a.log(`onFileDownload android = ${n} fileSize = ${e} length = `+t.size),new Promise((o,l)=>{let c=new FileReader;c.onerror=n=>l(n),c.onload=()=>{let t=c.result;if(!t||"string"!=typeof t)return r.a.debug("Loader result null or not string"),void o(null);let d=t.replace(/^data:.+;base64,/,"");r.a.log(`onFileDownload android base64 = ${n} fileSize = ${e} length = `+d.length);E("onFileDownload",[n,e,d,!1],path=>{r.a.log("onFileDownload android saved",{fileName:n,path:path}),o(path||null)},t=>{r.a.error("onFileDownload android cordova error",t),"function"==typeof PlatformDevice.onFileDownload&&PlatformDevice.onFileDownload(n,e,d),l(t)})||"function"!=typeof PlatformDevice.onFileDownload||(PlatformDevice.onFileDownload(n,e,d),o(null)),r.a.log("onFileDownload after ")},c.readAsDataURL(t)})}onFileDownloadBegin(n,e){}onFileDownloadAppend(n,e,t){}onFileDownloadEnd(n,e){}onFileUpload(n,e,t){r.a.debug(`onFileUpload fileName = ${n} fileSize = ${e} length= ${t.size}`)}appActivateForeground(){return PlatformDevice.appActivateForeground()}doOpenFile(n,path){return path||(path=""),PlatformDevice.openFile(n,path)}getFileSize(n,path){return path||(path=""),PlatformDevice.getFileSize(n,path)}async getFilePreview(n,path,e){path||(path="");let t="";try{let r=await I("getFilePreview",[n,path,e]);t="string"==typeof r?r:""}catch(o){r.a.warn("getFilePreview cordova fallback to old bridge",o),t=PlatformDevice.getFilePreview(n,path,e)}return t.length?"data:image/jpeg;base64,"+t:t}async getFileContentBase64(n,path){path||(path="");try{let e=await I("getFileContentBase64",[n,path]);return"string"==typeof e?e:""}catch(n){return r.a.warn("getFileContentBase64 cordova error",n),""}}async getStorageUsage(){try{let n=await I("getStorageUsage",[]);if("string"==typeof n&&(n=JSON.parse(n)),n&&"object"==typeof n)return{sent:Number(n.sent)||0,received:Number(n.received)||0,sentCount:Number(n.sentCount)||0,receivedCount:Number(n.receivedCount)||0}}catch(n){r.a.warn("getStorageUsage cordova error",n)}return{sent:0,received:0,sentCount:0,receivedCount:0}}async deleteSenderCopy(path){try{let n=await I("deleteSenderCopy",[path||""]);return Number(n)>0}catch(n){return r.a.warn("deleteSenderCopy cordova error",n),!1}}async dedupSenderCopies(){try{let n=await I("dedupSenderCopies",[]);if("string"==typeof n&&(n=JSON.parse(n)),Array.isArray(n))return n.filter(n=>n&&n.old&&n.new)}catch(n){r.a.warn("dedupSenderCopies cordova error",n)}return[]}clearCache(){r.a.log("clearCache"),PlatformDevice.clearCache()}pageReload(){r.a.log("pageReload"),PlatformDevice.reloadPage()}contentUpdate(){r.a.log("contentUpdate");try{PlatformDevice.contentUpdate()}catch(n){r.a.error("contentUpdate error",n)}}audioModeSet(n){r.a.log("audioModeSet",n),PlatformDevice.audioModeSet(n)}audioModeGet(){return PlatformDevice.audioModeGet()}async audioRouteDebugGet(){return PlatformDevice.audioRouteDebugGet()}developerLogSendSet(n){return PlatformDevice.developerLogSendSet(n)}async unlockScreen(n){r.a.log("unlockScreen",n);return this.screenLockPromise&&(await this.screenLockPromise,this.screenLockPromise=null),this.screenLockPromise=new Promise(n=>{setTimeout(()=>{this.screenLockPromise=null,n()},1e3)}),PlatformDevice.unlockScreen(n)}async cryptBackupWrite(n,content){return"function"!=typeof PlatformDevice.cryptBackupWrite?"":PlatformDevice.cryptBackupWrite(n,content)}async cryptBackupRead(n){return"function"!=typeof PlatformDevice.cryptBackupRead?"":PlatformDevice.cryptBackupRead(n)}soundVolumeGet(n){return PlatformDevice.soundVolumeGet(n)}soundVolumeSet(n,e){return PlatformDevice.soundVolumeSet(n,e)}}t(2).get("interchat:notifier");async function T(title,n){if(!("Notification"in window))return;let e=Notification.permission;if("default"===e&&(e=await Notification.requestPermission()),"granted"!==e)return;let t=new Notification(title,n);setTimeout(t.close.bind(t),4e3)}var O=t(57),M=t(63);t(2).get("interchat:webPush.ts");const N={apiKey:"AIzaSyAmTHTL5k-wp3CObXdttkFlBf-yt5QXrCc",authDomain:"ctalk-push-2026.firebaseapp.com",projectId:"ctalk-push-2026",storageBucket:"ctalk-push-2026.firebasestorage.app",messagingSenderId:"646636986937",appId:"1:646636986937:web:56805ef7ee0e433a07e3e8"},D="10.12.2";let R=!1;function P(n){return new Promise((e,t)=>{const s=document.createElement("script");s.src=n,s.async=!0,s.onload=()=>e(),s.onerror=()=>t(new Error("load fail "+n)),document.head.appendChild(s)})}function L(){try{const n=window;return"undefined"!=typeof window&&"serviceWorker"in navigator&&"Notification"in window&&"PushManager"in window&&!0===n.isSecureContext}catch(n){return!1}}let j=!1;async function U(n){if(!j)if(L()){j=!0;try{const e=await navigator.serviceWorker.register("/firebase-messaging-sw.js");r.a.warn("webPush: SW registered");if(!await async function(){const n=window;if(R&&n.firebase)return!0;try{return await P(`https://www.gstatic.com/firebasejs/${D}/firebase-app-compat.js`),await P(`https://www.gstatic.com/firebasejs/${D}/firebase-messaging-compat.js`),R=!0,!!n.firebase}catch(n){return r.a.warn("webPush: firebase CDN load failed",n),!1}}())return void(j=!1);const t=window.firebase;t.apps&&t.apps.length||t.initializeApp(N);const o=t.messaging(),l=await Notification.requestPermission();if(r.a.warn("webPush: permission = "+l),"granted"!==l)return void(j=!1);const c=await o.getToken({vapidKey:"BFBQ7YDKkN4EWDZluW93mhaBf_2vb24795eb15lx8nqtuY_YooIoozZPdOXskheivphP_5KvREfBWya1R_S34Yc",serviceWorkerRegistration:e});c?(r.a.warn("webPush: token obtained len="+c.length),n(c)):r.a.warn("webPush: getToken empty"),o.onMessage(n=>{r.a.warn("webPush onMessage (foreground)",n&&n.data)})}catch(n){j=!1,r.a.warn("webPush init failed",n)}}else r.a.warn("webPush: not supported on this runtime")}t(2).get("interchat:platform:PlatformDeviceSite.ts");class F{constructor(n,content){this.name=n,this.size=content.size,this.url=URL.createObjectURL(content),this.content=content}destroy(){this.url&&(URL.revokeObjectURL(this.url),this.url=null),this.content=null}}class z{constructor(){this.store={}}get(n){return this.store[n]}add(n){this.store[n.name]=n}clear(){Object.values(this.store).forEach(n=>{n.destroy()}),this.store={}}}class $ extends h.a.EventEmitter{constructor(){super(),this.wakeLock=null,this.callActive=!1,this.savedFiles=new z,setTimeout(async()=>{await async function(n){let e=document.hasFocus();n.emit(e?f.RESUME:f.PAUSE),setInterval(()=>{let t=document.hasFocus();e!=t&&(e=t,n.emit(e?f.RESUME:f.PAUSE))},500)}(this),this.emit(f.READY)},0),this.setupWebPush(),this.setupCallPushBridge();try{document.addEventListener("visibilitychange",()=>{"visible"===document.visibilityState&&this.callActive&&!this.wakeLock&&this.acquireWakeLock()})}catch(n){}}setupCallPushBridge(){try{const nav=navigator;if(!nav.serviceWorker)return;nav.serviceWorker.addEventListener("message",n=>{const e=n&&n.data;if(e&&"KSITALK_OPEN_CALL"===e.type){r.a.warn("KT-0100 SW OPEN_CALL → forceConnect + CALL + route /call");try{window.dispatchEvent(new Event("ksitalk-open-call"))}catch(n){}e.raw&&this.emit(f.CALL,e.raw)}})}catch(n){r.a.warn("setupCallPushBridge failed",n)}}async acquireWakeLock(){try{const nav=navigator;nav.wakeLock&&this.callActive&&"visible"===document.visibilityState&&(this.wakeLock=await nav.wakeLock.request("screen"),this.wakeLock&&this.wakeLock.addEventListener&&this.wakeLock.addEventListener("release",()=>{this.wakeLock=null}),r.a.warn("KT-0091 wakeLock acquired"))}catch(n){r.a.warn("wakeLock acquire failed",n)}}async releaseWakeLock(){try{this.wakeLock&&(await this.wakeLock.release(),this.wakeLock=null,r.a.warn("KT-0091 wakeLock released"))}catch(n){}}setupMediaSessionGuard(){try{const n=navigator.mediaSession;if(!n)return;try{n.metadata=new window.MediaMetadata({title:"KsiTalk",artist:"Звонок"})}catch(n){}const e=()=>{try{n.playbackState="playing"}catch(n){}};["pause","stop","play","previoustrack","nexttrack"].forEach(a=>{try{n.setActionHandler(a,e)}catch(n){}});try{n.playbackState="playing"}catch(n){}r.a.warn("KT-0091 mediaSession guard set")}catch(n){}}clearMediaSessionGuard(){try{const n=navigator.mediaSession;if(!n)return;["pause","stop","play","previoustrack","nexttrack"].forEach(a=>{try{n.setActionHandler(a,null)}catch(n){}});try{n.playbackState="none"}catch(n){}try{n.metadata=null}catch(n){}}catch(n){}}setupWebPush(){try{if(!L())return;const n=window;if(!(n.navigator&&!0===n.navigator.standalone||n.matchMedia&&n.matchMedia("(display-mode: standalone)").matches))return void r.a.warn("KT-0086 web push: not installed PWA — skip");const e=()=>{document.removeEventListener("click",e,!0),document.removeEventListener("touchend",e,!0),U(n=>{r.a.warn("KT-0086 web push token → TOKEN_DEVICE"),this.emit(f.TOKEN_DEVICE,n)})};document.addEventListener("click",e,!0),document.addEventListener("touchend",e,!0)}catch(n){r.a.warn("setupWebPush failed",n)}}isDevice(){return!1}callIntent(n,e){n||T("Incoming CALL",{tag:e})}callStarted(){this.callActive=!0,this.acquireWakeLock(),this.setupMediaSessionGuard()}callAccepted(){this.callActive=!0,this.acquireWakeLock(),this.setupMediaSessionGuard()}callEnded(){this.callActive=!1,this.releaseWakeLock(),this.clearMediaSessionGuard()}versionGet(){return"10.10.13.7"}platformNameGet(){return"PlatformDeviceSite"}screenPowerOffOnProximity(n){}callKeepAliveStart(title,text){}callKeepAliveStop(){}vibroEnable(n){}soundRingEnable(n){}orientationLock(n){}messageReceived(body,n,e){T("New message from "+n,{tag:e,body:body})}onMounted(){}brandNameGet(){let n=document.domain;if("1.ksitalk.com"==n)return"ksitalk1";let e=n.split(".");return e.length<=1?e[0]:e[e.length-2]}speakerphoneModeSet(n){}speakerphoneModeGet(){return c.c.ANY}isScreenLocked(){return!1}appHide(){}appExit(){}notificationCloseAll(){}notificationCloseConversation(n){}setBadgeCount(n){}applicationUpdate(n){}languageGet(){return""}onFileDownload(n,e,t){r.a.debug(`onFileDownload fileName = ${n} fileSize = ${e} length= ${t.size}`);try{this.savedFiles.add(new F(n,t))}catch(n){}}onFileDownloadBegin(n,e){}onFileDownloadAppend(n,e,t){}onFileDownloadEnd(n,e){}onFileUpload(n,e,t){r.a.debug(`onFileUpload fileName = ${n} fileSize = ${e} length= ${t.size}`);try{this.savedFiles.add(new F(n,t))}catch(n){}}appActivateForeground(){}doOpenFile(n,path){r.a.debug("Site open file ",n);let e=this.savedFiles.get(n);if(!e||!e.url)return;let t=e.url;const o="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent:"";if(/iPad|iPhone|iPod/.test(o)||-1!=o.indexOf("Macintosh")&&"undefined"!=typeof document&&"ontouchend"in document){if(this.shareFileIos(n,e.content,t))return t;try{window.open(t,"_blank")}catch(n){r.a.warn("ios open file failed",n)}return t}let a=document.createElement("a");return a.href=t,a.download=e.name,a.click(),t}shareFileIos(n,content,e){try{if(!content)return!1;const nav=navigator;if(!nav||"function"!=typeof nav.share)return!1;let t=content.type;t&&"application/octet-stream"!==t||(t=function(n){const e=(n||"").toLowerCase();return/\.(mp4|m4v)$/.test(e)?"video/mp4":/\.mov$/.test(e)?"video/quicktime":/\.3gp$/.test(e)?"video/3gpp":/\.webm$/.test(e)?"video/webm":/\.(jpg|jpeg)$/.test(e)?"image/jpeg":/\.png$/.test(e)?"image/png":/\.gif$/.test(e)?"image/gif":/\.heic$/.test(e)?"image/heic":/\.pdf$/.test(e)?"application/pdf":/\.mp3$/.test(e)?"audio/mpeg":/\.(m4a|aac)$/.test(e)?"audio/mp4":/\.wav$/.test(e)?"audio/wav":"application/octet-stream"}(n));const o=new File([content],n||"file",{type:t});return nav.share({files:[o]}).catch(n=>{if("AbortError"!==(n||{}).name){r.a.warn("ios share file failed",n);try{window.open(e,"_blank")}catch(n){}}}),!0}catch(n){return r.a.warn("ios share file error",n),!1}}getFileSize(n,path){let e=this.savedFiles.get(n);return e?e.size:0}async getFilePreview(n,path,e){let t=this.savedFiles.get(n);return t&&t.content?await Object(O.a)(t.content):""}async getFileContentBase64(n,path){let e=this.savedFiles.get(n);return e&&e.content?(await Object(O.a)(e.content)).replace(/^data:[^;]*;base64,/,""):""}async getStorageUsage(){return{sent:0,received:0,sentCount:0,receivedCount:0}}async deleteSenderCopy(path){return!1}async dedupSenderCopies(){return[]}clearCache(){window.location.reload()}pageReload(){window.location.reload()}contentUpdate(){window.location.reload()}audioModeSet(n){}audioModeGet(){return c.a.MODE_NORMAL}async audioRouteDebugGet(){let n="ctx: none";try{const e=M.c;e&&(n=`ctx.sampleRate: ${e.sampleRate} ctx.state: ${e.state}`)}catch(n){}let e="devices: n/a";try{if(navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices){e="devices: "+(await navigator.mediaDevices.enumerateDevices()).filter(n=>"audioinput"===n.kind||"audiooutput"===n.kind).map(n=>`${n.kind}=${n.label||"(no-label)"}`).join(" | ")}}catch(n){}return["platform: browser",`userAgent: ${navigator.userAgent}`,`href: ${window.location.href}`,n,e].join("\n")}developerLogSendSet(n){}async unlockScreen(n){}async cryptBackupWrite(n,content){return localStorage.setItem(`site-crypt-backup:${n}`,content),n}async cryptBackupRead(n){return localStorage.getItem(`site-crypt-backup:${n}`)||""}soundVolumeGet(n){return 0}soundVolumeSet(n,e){}}t(2).get("interchat:platform:PlatformDeviceFactory.ts");var B=t(29),G=t(31),V=t(37),H=t(49),K=t(13);t(2).get("interchat:platformDevice.ts");let W=A.IsExist()?new A:C.IsExist()?new C:S.IsExist()||S.IsExist()?new S:new $;const Y=W.isDevice();function J(n){try{return n()}catch(n){r.a.error("PlatformDevice error",n)}}async function X(n){try{return await n()}catch(n){r.a.error("PlatformDevice error",n)}}r.a.log("Create platform device ",W.platformNameGet()),W.on(f.CALL,n=>J(async()=>{r.a.warn("CALL_PUSH_TRACE platform event",{rawType:typeof n,rawKeys:n&&"object"==typeof n?Object.keys(n):null,type:n&&n.type,authorID:n&&n.authorID,openReason:n&&n.ksitalkOpenReason,nativeSource:n&&n.ksitalkNativeSource,hasPayload:!(!n||!n.payload),hasCallInfo:!!(n&&n.payload&&n.payload.callInfo)}),l.a.forceConnect(),"string"==typeof n&&(n=JSON.parse(n)),n.type==B.MessageType.REQUEST&&Q.dispatch("FileShare/firebaseMessage",n,{root:!0}),n.type==G.MessageType.REQUEST&&(r.a.warn("CALL_PUSH_TRACE dispatch Call/firebaseCall",{authorID:n.authorID,openReason:n.ksitalkOpenReason,nativeSource:n.ksitalkNativeSource,hasCallInfo:!(!n.payload||!n.payload.callInfo)}),Q.dispatch("Call/firebaseCall",n,{root:!0}))})),W.on(f.TOKEN_DEVICE,n=>J(async()=>{r.a.debug("devicePlatform:onTokenFirebase",n),Q.dispatch("deviceTokenSet",{token:n})})),W.on(f.RESUME,n=>J(async()=>{r.a.log("devicePlatform:onResume"),await Q.dispatch("notificationCloseAll"),await Q.dispatch("deviceBackgroundStateSet",{background:!1})})),W.on(f.PAUSE,n=>J(async()=>{r.a.log("devicePlatform:onPause"),await Q.dispatch("deviceBackgroundStateSet",{background:!0})})),W.on(f.READY,n=>J(async()=>{Q.dispatch("onDeviceReady",{})})),W.on(f.FILE_SHARE,(n,e,t)=>J(async()=>{Q.dispatch("onFileShare",{fileName:n,fileSize:e,fileContent:t})})),W.on(f.NAVIGATE_BACK,()=>J(async()=>{Q.dispatch("onNavigateBack",{})})),W.on(f.FILE_SELECTED_INFO,({name:n,path:path})=>{r.a.log("Save file path name= ",n,"path =",path),Object(H.DoFilePathSet)(n,path)});let Q=new class{constructor(){this.deferredArray=[],this.dispatchMethod=null}setDispatch(n){this.dispatchMethod=n,this._doDispatch()}dispatch(n,e={},t={}){this.deferredArray.push({method:n,params:e,options:t}),this._doDispatch()}_doDispatch(){this.dispatchMethod&&(this.deferredArray.forEach(async({method:n,params:e,options:t})=>{try{await this.dispatchMethod(n,e,t)}catch(e){loggerLocal.error("Error deferred dispatch method = ",n," e ",e)}}),this.deferredArray=[])}},Z=null;const nn=()=>({platformName:"",background:!1,muteConversationId:null,deviceToken:null,deviceReady:!1,speakerphoneMode:c.c.ANY,speakerphoneModeAim:c.c.ANY,audioMode:c.a.MODE_INVALID}),en={platformName:n=>n.platformName,isDeviceReady:n=>n.deviceReady},tn={BACKGROUND_SET(n,e){r.a.debug("BACKGROUND_SET ",e),n.background=e},MUTE_CONVERSATION_ID_SET(n,e){r.a.debug("MUTE_CONVERSATION_ID_SET ",e),n.muteConversationId=e},DEVICE_TOKEN_SET(n,e){r.a.debug("DEVICE_TOKEN_SET ",e),n.deviceToken=e},DEVICE_READY(n){n.deviceReady=!0},SET_SPEAKERPHONE_MODE(n,e){n.speakerphoneMode=e},SET_SPEAKERPHONE_MODE_AIM(n,e){n.speakerphoneModeAim=e},SET_AUDIO_MODE(n,e){n.audioMode=e}},rn={isDevice:({})=>W.isDevice(),callStarted:({state:n,commit:e,dispatch:t})=>J(async()=>{r.a.debug("callStarted"),Z=setInterval(()=>{let t=W.speakerphoneModeGet();n.speakerphoneModeAim!=c.c.ANY&&t!=c.c.ANY&&n.speakerphoneModeAim!=t&&(W.speakerphoneModeSet(n.speakerphoneModeAim),t=W.speakerphoneModeGet()),e("SET_SPEAKERPHONE_MODE",t),e("SET_AUDIO_MODE",W.audioModeGet())},1e3),W.callStarted()}),callEnded:({dispatch:n})=>J(async()=>{r.a.debug("PlatformDevice: callEnded"),Z&&(clearInterval(Z),Z=null),W.callEnded()}),callAccepted:({})=>J(async()=>{r.a.debug("PlatformDevice: callAccepted"),W.callAccepted()}),doCheckSoundMinimalVolume:({},{})=>J(()=>{r.a.debug("doCheckSoundMinimalVolume "),W.soundVolumeGet(c.b.STREAM_MUSIC)<=.1&&W.soundVolumeSet(c.b.STREAM_MUSIC,.5),W.soundVolumeGet(c.b.STREAM_VOICE_CALL)<=.1&&W.soundVolumeSet(c.b.STREAM_VOICE_CALL,.5)}),async onFileDownload({dispatch:n},{fileName:e,fileSize:t,fileContent:o}){r.a.debug("PlatformDevice: onFileDownload");let path=await W.onFileDownload(e,t,o);return path&&Object(H.DoFilePathSet)(e,path),path},async onFileDownloadBegin({},{fileName:n,fileSize:e}){r.a.debug("PlatformDevice: onFileDownloadBegin"),W.onFileDownloadBegin(n,e)},async onFileDownloadAppend({},{fileName:n,fileSize:e,fileContent:t}){r.a.debug("PlatformDevice: onFileDownloadAppend"),W.onFileDownloadAppend(n,e,t)},async onFileDownloadEnd({},{fileName:n,fileSize:e}){r.a.debug("PlatformDevice: onFileDownloadEnd"),W.onFileDownloadEnd(n,e)},onFileUpload:async({},{fileName:n,fileSize:e,fileContent:t})=>(r.a.debug("PlatformDevice: onFileUpload"),await W.onFileUpload(n,e,t)),versionGet:({})=>J(()=>W.versionGet()),screenPowerOffOnProximity:({},{value:n})=>J(()=>{r.a.debug("screenPowerOffOnProximity",n),W.screenPowerOffOnProximity(n)}),callKeepAliveStart:({},{title:title,text:text})=>J(()=>{W.callKeepAliveStart(title||"",text||"")}),callKeepAliveStop:({})=>J(()=>{W.callKeepAliveStop()}),vibroEnable:({},{value:n})=>J(()=>{r.a.debug("PlatformDevice: vibro enable ",n),W.vibroEnable(n)}),soundRingEnable:({},{value:n})=>J(()=>{r.a.debug("PlatformDevice: sound ring enable ",n),W.soundRingEnable(n)}),orientationLock:({},{orientation:n})=>J(()=>{r.a.debug("PlatformDevice: lock orientation ",n),W.orientationLock(n)}),messageReceived:({state:n},{message:e})=>J(()=>{r.a.debug(" on new message! Background = ",n.background," mute conversation = ",n.muteConversationId," message.conversationId",e.conversationId),0==n.background&&n.muteConversationId==e.conversationId||(e.authorName=e.authorUser?e.authorUser.name:"",W.messageReceived(e.body,e.authorName,e.conversationId))}),onMounted:({commit:n,dispatch:e})=>J(()=>{r.a.debug("PlatformDevice: onMounted"),Q.setDispatch(e);try{W.onMounted()}catch(n){r.a.error("Platform device onMounted Error!!! ",n),n.message&&Object(o.c)("Error platfrom mount"+n.message)}let n=W.languageGet();r.a.debug("platform Lang = |"+n+"|"),n&&""!=n&&e("setLanguage",{language:n});try{W.notificationCloseAll()}catch(n){r.a.error("Platform device notificationCloseAll Error!!! ",n),n.message&&Object(o.c)("Error platfrom notificationCloseAll"+n.message)}o.b.$on(o.a.NAVIGATE_END,()=>{W.appExit()});try{W.developerLogSendSet(Object(K.m)())}catch(n){r.a.error("Error developerLogSendSet ")}}),setLanguage({commit:n,dispatch:e},{language:t}){let o=this.$i18n;o&&(r.a.debug("Set locale |"+t+"|"),o.setLocale(t),o.setLocaleCookie(t))},onDeviceReady:({commit:n,dispatch:e})=>J(()=>{r.a.debug("PlatformDevice:Device ready"),n("DEVICE_READY")}),brandNameGet:()=>J(()=>(r.a.debug("PlatformDevice: brandNameGet"),W.brandNameGet())),speakerphoneModeSet:({commit:n},{mode:e})=>J(()=>{r.a.debug("PlatformDevice: speakerphoneModeSet",e),n("SET_SPEAKERPHONE_MODE_AIM",e),W.speakerphoneModeSet(e),n("SET_SPEAKERPHONE_MODE",e)}),audioModeSet:({commit:n},{mode:e})=>J(()=>{r.a.debug("PlatformDevice: audioModeSet",e),W.audioModeSet(e),n("SET_AUDIO_MODE",e)}),audioRouteDebugGet:({})=>X(async()=>(r.a.debug("PlatformDevice: audioRouteDebugGet"),await W.audioRouteDebugGet())),cryptBackupWrite:({},{fileName:n,content:content})=>X(async()=>(r.a.debug("PlatformDevice: cryptBackupWrite",n),await W.cryptBackupWrite(n,content))),cryptBackupRead:({},{fileName:n})=>X(async()=>(r.a.debug("PlatformDevice: cryptBackupRead",n),await W.cryptBackupRead(n))),isScreenLocked:({})=>J(()=>W.isScreenLocked()),screenUnlockSet:({},{value:n})=>X(async()=>{r.a.debug("unlockScreen",n),await W.unlockScreen(n)}),applicationHide:()=>J(()=>{r.a.debug("appHide"),W.appHide()}),applicationUpdate:({},{url:n})=>X(async()=>(r.a.debug("appUpdate url = ",n),await W.applicationUpdate(n))),contentUpdate({}){J(()=>{W.contentUpdate()})},notificationCloseAll:({},{})=>J(()=>{W.notificationCloseAll()}),notificationCloseConversation:({},{conversationId:n})=>J(()=>{W.notificationCloseConversation(n)}),setBadgeCount:({},{count:n})=>J(()=>{const e=Math.max(0,Number(n)||0);r.a.debug("PlatformDevice: setBadgeCount",e),W.setBadgeCount(e)}),notificationMuteConversation({commit:n},{conversationId:e}){n("MUTE_CONVERSATION_ID_SET",e)},deviceBackgroundStateSet({commit:n},{background:e}){n("BACKGROUND_SET",e)},deviceTokenSet({state:n,commit:e},{token:t}){e("DEVICE_TOKEN_SET",t),o.b.$emit(o.a.REGISTRATION_TOKEN,{token:t})},appActivateForeground:({})=>J(()=>{r.a.debug("PlatformDevice: appActivateForeground"),W.appActivateForeground()}),doOpenFile:({},{name:n,path:path})=>J(()=>{path||(path=Object(H.DoFilePathGet)(n)),r.a.log("do open file",n,path),W.doOpenFile(n,path)}),getFileSize:({},{name:n,path:path})=>J(()=>(path||(path=Object(H.DoFilePathGet)(n)),W.getFileSize(n,path))),getFilePreview:async({},{name:n,path:path,imageMaxSize:e=0})=>X(async()=>(path||(path=Object(H.DoFilePathGet)(n)),r.a.log("getFilePreview",n,path),await W.getFilePreview(n,path,e))),getFileContentBase64:async({},{name:n,path:path})=>X(async()=>(path||(path=Object(H.DoFilePathGet)(n)),await W.getFileContentBase64(n,path))),getStorageUsage:async({})=>X(async()=>await W.getStorageUsage()),deleteSenderCopy:async({},{path:path})=>X(async()=>await W.deleteSenderCopy(path)),dedupSenderCopies:async({})=>X(async()=>await W.dedupSenderCopies()),doPageReload:async({})=>J(async()=>{W.pageReload()}),async onFileShare({dispatch:n},{fileName:e,fileSize:t,fileContent:l}){if(r.a.warn("ANDROID_SHARE_TRACE onFileShare",{fileName:e,fileSize:t,hasContent:!!l,contentLength:l?l.length:0}),await n("screen/restoreAppViewport",{},{root:!0}),l){let n=atob(l),t=new Uint8Array(n.length);for(let i=0;i.vb-dragger {\n z-index: 5;\n width: 12px;\n right: 0;\n}\n\n.vb>.vb-dragger>.vb-dragger-styler {\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transform: rotate3d(0, 0, 0, 0);\n transform: rotate3d(0, 0, 0, 0);\n -webkit-transition: background-color 100ms ease-out, margin 100ms ease-out, height 100ms ease-out;\n transition: background-color 100ms ease-out, margin 100ms ease-out, height 100ms ease-out;\n background-color: rgba(48, 121, 244, .1);\n margin: 5px 5px 5px 0;\n border-radius: 20px;\n height: calc(100% - 10px);\n display: block;\n}\n\n.vb.vb-scrolling-phantom>.vb-dragger>.vb-dragger-styler {\n background-color: rgba(48, 121, 244, .3);\n}\n\n.vb>.vb-dragger:hover>.vb-dragger-styler {\n background-color: rgba(48, 121, 244, .5);\n margin: 0px;\n height: 100%;\n}\n\n.vb.vb-dragging>.vb-dragger>.vb-dragger-styler {\n background-color: rgba(48, 121, 244, .5);\n margin: 0px;\n height: 100%;\n}\n\n.vb.vb-dragging-phantom>.vb-dragger>.vb-dragger-styler {\n background-color: rgba(48, 121, 244, .5);\n}\n\n@media (min-width: 576px) {\n .sm\\:list-reset {\n list-style: none;\n padding: 0;\n }\n\n .sm\\:appearance-none {\n appearance: none;\n }\n\n .sm\\:bg-fixed {\n background-attachment: fixed;\n }\n\n .sm\\:bg-local {\n background-attachment: local;\n }\n\n .sm\\:bg-scroll {\n background-attachment: scroll;\n }\n\n .sm\\:bg-transparent {\n background-color: transparent;\n }\n\n .sm\\:bg-black {\n background-color: #22292f;\n }\n\n .sm\\:bg-grey-darkest {\n background-color: #3d4852;\n }\n\n .sm\\:bg-grey-darker {\n background-color: #606f7b;\n }\n\n .sm\\:bg-grey-dark {\n background-color: #8795a1;\n }\n\n .sm\\:bg-grey {\n background-color: #b8c2cc;\n }\n\n .sm\\:bg-grey-light {\n background-color: #dae1e7;\n }\n\n .sm\\:bg-grey-lighter {\n background-color: #f1f5f8;\n }\n\n .sm\\:bg-grey-lightest {\n background-color: #f8fafc;\n }\n\n .sm\\:bg-white {\n background-color: #fff;\n }\n\n .sm\\:bg-red-darkest {\n background-color: #3b0d0c;\n }\n\n .sm\\:bg-red-darker {\n background-color: #621b18;\n }\n\n .sm\\:bg-red-dark {\n background-color: #cc1f1a;\n }\n\n .sm\\:bg-red {\n background-color: #e3342f;\n }\n\n .sm\\:bg-red-light {\n background-color: #ef5753;\n }\n\n .sm\\:bg-red-lighter {\n background-color: #f9acaa;\n }\n\n .sm\\:bg-red-lightest {\n background-color: #fcebea;\n }\n\n .sm\\:bg-orange-darkest {\n background-color: #462a16;\n }\n\n .sm\\:bg-orange-darker {\n background-color: #613b1f;\n }\n\n .sm\\:bg-orange-dark {\n background-color: #de751f;\n }\n\n .sm\\:bg-orange {\n background-color: #f6993f;\n }\n\n .sm\\:bg-orange-light {\n background-color: #faad63;\n }\n\n .sm\\:bg-orange-lighter {\n background-color: #fcd9b6;\n }\n\n .sm\\:bg-orange-lightest {\n background-color: #fff5eb;\n }\n\n .sm\\:bg-yellow-darkest {\n background-color: #453411;\n }\n\n .sm\\:bg-yellow-darker {\n background-color: #684f1d;\n }\n\n .sm\\:bg-yellow-dark {\n background-color: #f2d024;\n }\n\n .sm\\:bg-yellow {\n background-color: #ffed4a;\n }\n\n .sm\\:bg-yellow-light {\n background-color: #fff382;\n }\n\n .sm\\:bg-yellow-lighter {\n background-color: #fff9c2;\n }\n\n .sm\\:bg-yellow-lightest {\n background-color: #fcfbeb;\n }\n\n .sm\\:bg-green-darkest {\n background-color: #0f2f21;\n }\n\n .sm\\:bg-green-darker {\n background-color: #1a4731;\n }\n\n .sm\\:bg-green-dark {\n background-color: #1f9d55;\n }\n\n .sm\\:bg-green {\n background-color: #38c172;\n }\n\n .sm\\:bg-green-light {\n background-color: #51d88a;\n }\n\n .sm\\:bg-green-lighter {\n background-color: #a2f5bf;\n }\n\n .sm\\:bg-green-lightest {\n background-color: #e3fcec;\n }\n\n .sm\\:bg-teal-darkest {\n background-color: #0d3331;\n }\n\n .sm\\:bg-teal-darker {\n background-color: #20504f;\n }\n\n .sm\\:bg-teal-dark {\n background-color: #38a89d;\n }\n\n .sm\\:bg-teal {\n background-color: #4dc0b5;\n }\n\n .sm\\:bg-teal-light {\n background-color: #64d5ca;\n }\n\n .sm\\:bg-teal-lighter {\n background-color: #a0f0ed;\n }\n\n .sm\\:bg-teal-lightest {\n background-color: #e8fffe;\n }\n\n .sm\\:bg-blue-darkest {\n background-color: #12283a;\n }\n\n .sm\\:bg-blue-darker {\n background-color: #1c3d5a;\n }\n\n .sm\\:bg-blue-dark {\n background-color: #2779bd;\n }\n\n .sm\\:bg-blue {\n background-color: #3490dc;\n }\n\n .sm\\:bg-blue-light {\n background-color: #6cb2eb;\n }\n\n .sm\\:bg-blue-lighter {\n background-color: #bcdefa;\n }\n\n .sm\\:bg-blue-lightest {\n background-color: #eff8ff;\n }\n\n .sm\\:bg-indigo-darkest {\n background-color: #191e38;\n }\n\n .sm\\:bg-indigo-darker {\n background-color: #2f365f;\n }\n\n .sm\\:bg-indigo-dark {\n background-color: #5661b3;\n }\n\n .sm\\:bg-indigo {\n background-color: #6574cd;\n }\n\n .sm\\:bg-indigo-light {\n background-color: #7886d7;\n }\n\n .sm\\:bg-indigo-lighter {\n background-color: #b2b7ff;\n }\n\n .sm\\:bg-indigo-lightest {\n background-color: #e6e8ff;\n }\n\n .sm\\:bg-purple-darkest {\n background-color: #21183c;\n }\n\n .sm\\:bg-purple-darker {\n background-color: #382b5f;\n }\n\n .sm\\:bg-purple-dark {\n background-color: #794acf;\n }\n\n .sm\\:bg-purple {\n background-color: #9561e2;\n }\n\n .sm\\:bg-purple-light {\n background-color: #a779e9;\n }\n\n .sm\\:bg-purple-lighter {\n background-color: #d6bbfc;\n }\n\n .sm\\:bg-purple-lightest {\n background-color: #f3ebff;\n }\n\n .sm\\:bg-pink-darkest {\n background-color: #451225;\n }\n\n .sm\\:bg-pink-darker {\n background-color: #6f213f;\n }\n\n .sm\\:bg-pink-dark {\n background-color: #eb5286;\n }\n\n .sm\\:bg-pink {\n background-color: #f66d9b;\n }\n\n .sm\\:bg-pink-light {\n background-color: #fa7ea8;\n }\n\n .sm\\:bg-pink-lighter {\n background-color: #ffbbca;\n }\n\n .sm\\:bg-pink-lightest {\n background-color: #ffebef;\n }\n\n .sm\\:hover\\:bg-transparent:hover {\n background-color: transparent;\n }\n\n .sm\\:hover\\:bg-black:hover {\n background-color: #22292f;\n }\n\n .sm\\:hover\\:bg-grey-darkest:hover {\n background-color: #3d4852;\n }\n\n .sm\\:hover\\:bg-grey-darker:hover {\n background-color: #606f7b;\n }\n\n .sm\\:hover\\:bg-grey-dark:hover {\n background-color: #8795a1;\n }\n\n .sm\\:hover\\:bg-grey:hover {\n background-color: #b8c2cc;\n }\n\n .sm\\:hover\\:bg-grey-light:hover {\n background-color: #dae1e7;\n }\n\n .sm\\:hover\\:bg-grey-lighter:hover {\n background-color: #f1f5f8;\n }\n\n .sm\\:hover\\:bg-grey-lightest:hover {\n background-color: #f8fafc;\n }\n\n .sm\\:hover\\:bg-white:hover {\n background-color: #fff;\n }\n\n .sm\\:hover\\:bg-red-darkest:hover {\n background-color: #3b0d0c;\n }\n\n .sm\\:hover\\:bg-red-darker:hover {\n background-color: #621b18;\n }\n\n .sm\\:hover\\:bg-red-dark:hover {\n background-color: #cc1f1a;\n }\n\n .sm\\:hover\\:bg-red:hover {\n background-color: #e3342f;\n }\n\n .sm\\:hover\\:bg-red-light:hover {\n background-color: #ef5753;\n }\n\n .sm\\:hover\\:bg-red-lighter:hover {\n background-color: #f9acaa;\n }\n\n .sm\\:hover\\:bg-red-lightest:hover {\n background-color: #fcebea;\n }\n\n .sm\\:hover\\:bg-orange-darkest:hover {\n background-color: #462a16;\n }\n\n .sm\\:hover\\:bg-orange-darker:hover {\n background-color: #613b1f;\n }\n\n .sm\\:hover\\:bg-orange-dark:hover {\n background-color: #de751f;\n }\n\n .sm\\:hover\\:bg-orange:hover {\n background-color: #f6993f;\n }\n\n .sm\\:hover\\:bg-orange-light:hover {\n background-color: #faad63;\n }\n\n .sm\\:hover\\:bg-orange-lighter:hover {\n background-color: #fcd9b6;\n }\n\n .sm\\:hover\\:bg-orange-lightest:hover {\n background-color: #fff5eb;\n }\n\n .sm\\:hover\\:bg-yellow-darkest:hover {\n background-color: #453411;\n }\n\n .sm\\:hover\\:bg-yellow-darker:hover {\n background-color: #684f1d;\n }\n\n .sm\\:hover\\:bg-yellow-dark:hover {\n background-color: #f2d024;\n }\n\n .sm\\:hover\\:bg-yellow:hover {\n background-color: #ffed4a;\n }\n\n .sm\\:hover\\:bg-yellow-light:hover {\n background-color: #fff382;\n }\n\n .sm\\:hover\\:bg-yellow-lighter:hover {\n background-color: #fff9c2;\n }\n\n .sm\\:hover\\:bg-yellow-lightest:hover {\n background-color: #fcfbeb;\n }\n\n .sm\\:hover\\:bg-green-darkest:hover {\n background-color: #0f2f21;\n }\n\n .sm\\:hover\\:bg-green-darker:hover {\n background-color: #1a4731;\n }\n\n .sm\\:hover\\:bg-green-dark:hover {\n background-color: #1f9d55;\n }\n\n .sm\\:hover\\:bg-green:hover {\n background-color: #38c172;\n }\n\n .sm\\:hover\\:bg-green-light:hover {\n background-color: #51d88a;\n }\n\n .sm\\:hover\\:bg-green-lighter:hover {\n background-color: #a2f5bf;\n }\n\n .sm\\:hover\\:bg-green-lightest:hover {\n background-color: #e3fcec;\n }\n\n .sm\\:hover\\:bg-teal-darkest:hover {\n background-color: #0d3331;\n }\n\n .sm\\:hover\\:bg-teal-darker:hover {\n background-color: #20504f;\n }\n\n .sm\\:hover\\:bg-teal-dark:hover {\n background-color: #38a89d;\n }\n\n .sm\\:hover\\:bg-teal:hover {\n background-color: #4dc0b5;\n }\n\n .sm\\:hover\\:bg-teal-light:hover {\n background-color: #64d5ca;\n }\n\n .sm\\:hover\\:bg-teal-lighter:hover {\n background-color: #a0f0ed;\n }\n\n .sm\\:hover\\:bg-teal-lightest:hover {\n background-color: #e8fffe;\n }\n\n .sm\\:hover\\:bg-blue-darkest:hover {\n background-color: #12283a;\n }\n\n .sm\\:hover\\:bg-blue-darker:hover {\n background-color: #1c3d5a;\n }\n\n .sm\\:hover\\:bg-blue-dark:hover {\n background-color: #2779bd;\n }\n\n .sm\\:hover\\:bg-blue:hover {\n background-color: #3490dc;\n }\n\n .sm\\:hover\\:bg-blue-light:hover {\n background-color: #6cb2eb;\n }\n\n .sm\\:hover\\:bg-blue-lighter:hover {\n background-color: #bcdefa;\n }\n\n .sm\\:hover\\:bg-blue-lightest:hover {\n background-color: #eff8ff;\n }\n\n .sm\\:hover\\:bg-indigo-darkest:hover {\n background-color: #191e38;\n }\n\n .sm\\:hover\\:bg-indigo-darker:hover {\n background-color: #2f365f;\n }\n\n .sm\\:hover\\:bg-indigo-dark:hover {\n background-color: #5661b3;\n }\n\n .sm\\:hover\\:bg-indigo:hover {\n background-color: #6574cd;\n }\n\n .sm\\:hover\\:bg-indigo-light:hover {\n background-color: #7886d7;\n }\n\n .sm\\:hover\\:bg-indigo-lighter:hover {\n background-color: #b2b7ff;\n }\n\n .sm\\:hover\\:bg-indigo-lightest:hover {\n background-color: #e6e8ff;\n }\n\n .sm\\:hover\\:bg-purple-darkest:hover {\n background-color: #21183c;\n }\n\n .sm\\:hover\\:bg-purple-darker:hover {\n background-color: #382b5f;\n }\n\n .sm\\:hover\\:bg-purple-dark:hover {\n background-color: #794acf;\n }\n\n .sm\\:hover\\:bg-purple:hover {\n background-color: #9561e2;\n }\n\n .sm\\:hover\\:bg-purple-light:hover {\n background-color: #a779e9;\n }\n\n .sm\\:hover\\:bg-purple-lighter:hover {\n background-color: #d6bbfc;\n }\n\n .sm\\:hover\\:bg-purple-lightest:hover {\n background-color: #f3ebff;\n }\n\n .sm\\:hover\\:bg-pink-darkest:hover {\n background-color: #451225;\n }\n\n .sm\\:hover\\:bg-pink-darker:hover {\n background-color: #6f213f;\n }\n\n .sm\\:hover\\:bg-pink-dark:hover {\n background-color: #eb5286;\n }\n\n .sm\\:hover\\:bg-pink:hover {\n background-color: #f66d9b;\n }\n\n .sm\\:hover\\:bg-pink-light:hover {\n background-color: #fa7ea8;\n }\n\n .sm\\:hover\\:bg-pink-lighter:hover {\n background-color: #ffbbca;\n }\n\n .sm\\:hover\\:bg-pink-lightest:hover {\n background-color: #ffebef;\n }\n\n .sm\\:focus\\:bg-transparent:focus {\n background-color: transparent;\n }\n\n .sm\\:focus\\:bg-black:focus {\n background-color: #22292f;\n }\n\n .sm\\:focus\\:bg-grey-darkest:focus {\n background-color: #3d4852;\n }\n\n .sm\\:focus\\:bg-grey-darker:focus {\n background-color: #606f7b;\n }\n\n .sm\\:focus\\:bg-grey-dark:focus {\n background-color: #8795a1;\n }\n\n .sm\\:focus\\:bg-grey:focus {\n background-color: #b8c2cc;\n }\n\n .sm\\:focus\\:bg-grey-light:focus {\n background-color: #dae1e7;\n }\n\n .sm\\:focus\\:bg-grey-lighter:focus {\n background-color: #f1f5f8;\n }\n\n .sm\\:focus\\:bg-grey-lightest:focus {\n background-color: #f8fafc;\n }\n\n .sm\\:focus\\:bg-white:focus {\n background-color: #fff;\n }\n\n .sm\\:focus\\:bg-red-darkest:focus {\n background-color: #3b0d0c;\n }\n\n .sm\\:focus\\:bg-red-darker:focus {\n background-color: #621b18;\n }\n\n .sm\\:focus\\:bg-red-dark:focus {\n background-color: #cc1f1a;\n }\n\n .sm\\:focus\\:bg-red:focus {\n background-color: #e3342f;\n }\n\n .sm\\:focus\\:bg-red-light:focus {\n background-color: #ef5753;\n }\n\n .sm\\:focus\\:bg-red-lighter:focus {\n background-color: #f9acaa;\n }\n\n .sm\\:focus\\:bg-red-lightest:focus {\n background-color: #fcebea;\n }\n\n .sm\\:focus\\:bg-orange-darkest:focus {\n background-color: #462a16;\n }\n\n .sm\\:focus\\:bg-orange-darker:focus {\n background-color: #613b1f;\n }\n\n .sm\\:focus\\:bg-orange-dark:focus {\n background-color: #de751f;\n }\n\n .sm\\:focus\\:bg-orange:focus {\n background-color: #f6993f;\n }\n\n .sm\\:focus\\:bg-orange-light:focus {\n background-color: #faad63;\n }\n\n .sm\\:focus\\:bg-orange-lighter:focus {\n background-color: #fcd9b6;\n }\n\n .sm\\:focus\\:bg-orange-lightest:focus {\n background-color: #fff5eb;\n }\n\n .sm\\:focus\\:bg-yellow-darkest:focus {\n background-color: #453411;\n }\n\n .sm\\:focus\\:bg-yellow-darker:focus {\n background-color: #684f1d;\n }\n\n .sm\\:focus\\:bg-yellow-dark:focus {\n background-color: #f2d024;\n }\n\n .sm\\:focus\\:bg-yellow:focus {\n background-color: #ffed4a;\n }\n\n .sm\\:focus\\:bg-yellow-light:focus {\n background-color: #fff382;\n }\n\n .sm\\:focus\\:bg-yellow-lighter:focus {\n background-color: #fff9c2;\n }\n\n .sm\\:focus\\:bg-yellow-lightest:focus {\n background-color: #fcfbeb;\n }\n\n .sm\\:focus\\:bg-green-darkest:focus {\n background-color: #0f2f21;\n }\n\n .sm\\:focus\\:bg-green-darker:focus {\n background-color: #1a4731;\n }\n\n .sm\\:focus\\:bg-green-dark:focus {\n background-color: #1f9d55;\n }\n\n .sm\\:focus\\:bg-green:focus {\n background-color: #38c172;\n }\n\n .sm\\:focus\\:bg-green-light:focus {\n background-color: #51d88a;\n }\n\n .sm\\:focus\\:bg-green-lighter:focus {\n background-color: #a2f5bf;\n }\n\n .sm\\:focus\\:bg-green-lightest:focus {\n background-color: #e3fcec;\n }\n\n .sm\\:focus\\:bg-teal-darkest:focus {\n background-color: #0d3331;\n }\n\n .sm\\:focus\\:bg-teal-darker:focus {\n background-color: #20504f;\n }\n\n .sm\\:focus\\:bg-teal-dark:focus {\n background-color: #38a89d;\n }\n\n .sm\\:focus\\:bg-teal:focus {\n background-color: #4dc0b5;\n }\n\n .sm\\:focus\\:bg-teal-light:focus {\n background-color: #64d5ca;\n }\n\n .sm\\:focus\\:bg-teal-lighter:focus {\n background-color: #a0f0ed;\n }\n\n .sm\\:focus\\:bg-teal-lightest:focus {\n background-color: #e8fffe;\n }\n\n .sm\\:focus\\:bg-blue-darkest:focus {\n background-color: #12283a;\n }\n\n .sm\\:focus\\:bg-blue-darker:focus {\n background-color: #1c3d5a;\n }\n\n .sm\\:focus\\:bg-blue-dark:focus {\n background-color: #2779bd;\n }\n\n .sm\\:focus\\:bg-blue:focus {\n background-color: #3490dc;\n }\n\n .sm\\:focus\\:bg-blue-light:focus {\n background-color: #6cb2eb;\n }\n\n .sm\\:focus\\:bg-blue-lighter:focus {\n background-color: #bcdefa;\n }\n\n .sm\\:focus\\:bg-blue-lightest:focus {\n background-color: #eff8ff;\n }\n\n .sm\\:focus\\:bg-indigo-darkest:focus {\n background-color: #191e38;\n }\n\n .sm\\:focus\\:bg-indigo-darker:focus {\n background-color: #2f365f;\n }\n\n .sm\\:focus\\:bg-indigo-dark:focus {\n background-color: #5661b3;\n }\n\n .sm\\:focus\\:bg-indigo:focus {\n background-color: #6574cd;\n }\n\n .sm\\:focus\\:bg-indigo-light:focus {\n background-color: #7886d7;\n }\n\n .sm\\:focus\\:bg-indigo-lighter:focus {\n background-color: #b2b7ff;\n }\n\n .sm\\:focus\\:bg-indigo-lightest:focus {\n background-color: #e6e8ff;\n }\n\n .sm\\:focus\\:bg-purple-darkest:focus {\n background-color: #21183c;\n }\n\n .sm\\:focus\\:bg-purple-darker:focus {\n background-color: #382b5f;\n }\n\n .sm\\:focus\\:bg-purple-dark:focus {\n background-color: #794acf;\n }\n\n .sm\\:focus\\:bg-purple:focus {\n background-color: #9561e2;\n }\n\n .sm\\:focus\\:bg-purple-light:focus {\n background-color: #a779e9;\n }\n\n .sm\\:focus\\:bg-purple-lighter:focus {\n background-color: #d6bbfc;\n }\n\n .sm\\:focus\\:bg-purple-lightest:focus {\n background-color: #f3ebff;\n }\n\n .sm\\:focus\\:bg-pink-darkest:focus {\n background-color: #451225;\n }\n\n .sm\\:focus\\:bg-pink-darker:focus {\n background-color: #6f213f;\n }\n\n .sm\\:focus\\:bg-pink-dark:focus {\n background-color: #eb5286;\n }\n\n .sm\\:focus\\:bg-pink:focus {\n background-color: #f66d9b;\n }\n\n .sm\\:focus\\:bg-pink-light:focus {\n background-color: #fa7ea8;\n }\n\n .sm\\:focus\\:bg-pink-lighter:focus {\n background-color: #ffbbca;\n }\n\n .sm\\:focus\\:bg-pink-lightest:focus {\n background-color: #ffebef;\n }\n\n .sm\\:bg-bottom {\n background-position: bottom;\n }\n\n .sm\\:bg-center {\n background-position: center;\n }\n\n .sm\\:bg-left {\n background-position: left;\n }\n\n .sm\\:bg-left-bottom {\n background-position: left bottom;\n }\n\n .sm\\:bg-left-top {\n background-position: left top;\n }\n\n .sm\\:bg-right {\n background-position: right;\n }\n\n .sm\\:bg-right-bottom {\n background-position: right bottom;\n }\n\n .sm\\:bg-right-top {\n background-position: right top;\n }\n\n .sm\\:bg-top {\n background-position: top;\n }\n\n .sm\\:bg-repeat {\n background-repeat: repeat;\n }\n\n .sm\\:bg-no-repeat {\n background-repeat: no-repeat;\n }\n\n .sm\\:bg-repeat-x {\n background-repeat: repeat-x;\n }\n\n .sm\\:bg-repeat-y {\n background-repeat: repeat-y;\n }\n\n .sm\\:bg-auto {\n background-size: auto;\n }\n\n .sm\\:bg-cover {\n background-size: cover;\n }\n\n .sm\\:bg-contain {\n background-size: contain;\n }\n\n .sm\\:border-transparent {\n border-color: transparent;\n }\n\n .sm\\:border-black {\n border-color: #22292f;\n }\n\n .sm\\:border-grey-darkest {\n border-color: #3d4852;\n }\n\n .sm\\:border-grey-darker {\n border-color: #606f7b;\n }\n\n .sm\\:border-grey-dark {\n border-color: #8795a1;\n }\n\n .sm\\:border-grey {\n border-color: #b8c2cc;\n }\n\n .sm\\:border-grey-light {\n border-color: #dae1e7;\n }\n\n .sm\\:border-grey-lighter {\n border-color: #f1f5f8;\n }\n\n .sm\\:border-grey-lightest {\n border-color: #f8fafc;\n }\n\n .sm\\:border-white {\n border-color: #fff;\n }\n\n .sm\\:border-red-darkest {\n border-color: #3b0d0c;\n }\n\n .sm\\:border-red-darker {\n border-color: #621b18;\n }\n\n .sm\\:border-red-dark {\n border-color: #cc1f1a;\n }\n\n .sm\\:border-red {\n border-color: #e3342f;\n }\n\n .sm\\:border-red-light {\n border-color: #ef5753;\n }\n\n .sm\\:border-red-lighter {\n border-color: #f9acaa;\n }\n\n .sm\\:border-red-lightest {\n border-color: #fcebea;\n }\n\n .sm\\:border-orange-darkest {\n border-color: #462a16;\n }\n\n .sm\\:border-orange-darker {\n border-color: #613b1f;\n }\n\n .sm\\:border-orange-dark {\n border-color: #de751f;\n }\n\n .sm\\:border-orange {\n border-color: #f6993f;\n }\n\n .sm\\:border-orange-light {\n border-color: #faad63;\n }\n\n .sm\\:border-orange-lighter {\n border-color: #fcd9b6;\n }\n\n .sm\\:border-orange-lightest {\n border-color: #fff5eb;\n }\n\n .sm\\:border-yellow-darkest {\n border-color: #453411;\n }\n\n .sm\\:border-yellow-darker {\n border-color: #684f1d;\n }\n\n .sm\\:border-yellow-dark {\n border-color: #f2d024;\n }\n\n .sm\\:border-yellow {\n border-color: #ffed4a;\n }\n\n .sm\\:border-yellow-light {\n border-color: #fff382;\n }\n\n .sm\\:border-yellow-lighter {\n border-color: #fff9c2;\n }\n\n .sm\\:border-yellow-lightest {\n border-color: #fcfbeb;\n }\n\n .sm\\:border-green-darkest {\n border-color: #0f2f21;\n }\n\n .sm\\:border-green-darker {\n border-color: #1a4731;\n }\n\n .sm\\:border-green-dark {\n border-color: #1f9d55;\n }\n\n .sm\\:border-green {\n border-color: #38c172;\n }\n\n .sm\\:border-green-light {\n border-color: #51d88a;\n }\n\n .sm\\:border-green-lighter {\n border-color: #a2f5bf;\n }\n\n .sm\\:border-green-lightest {\n border-color: #e3fcec;\n }\n\n .sm\\:border-teal-darkest {\n border-color: #0d3331;\n }\n\n .sm\\:border-teal-darker {\n border-color: #20504f;\n }\n\n .sm\\:border-teal-dark {\n border-color: #38a89d;\n }\n\n .sm\\:border-teal {\n border-color: #4dc0b5;\n }\n\n .sm\\:border-teal-light {\n border-color: #64d5ca;\n }\n\n .sm\\:border-teal-lighter {\n border-color: #a0f0ed;\n }\n\n .sm\\:border-teal-lightest {\n border-color: #e8fffe;\n }\n\n .sm\\:border-blue-darkest {\n border-color: #12283a;\n }\n\n .sm\\:border-blue-darker {\n border-color: #1c3d5a;\n }\n\n .sm\\:border-blue-dark {\n border-color: #2779bd;\n }\n\n .sm\\:border-blue {\n border-color: #3490dc;\n }\n\n .sm\\:border-blue-light {\n border-color: #6cb2eb;\n }\n\n .sm\\:border-blue-lighter {\n border-color: #bcdefa;\n }\n\n .sm\\:border-blue-lightest {\n border-color: #eff8ff;\n }\n\n .sm\\:border-indigo-darkest {\n border-color: #191e38;\n }\n\n .sm\\:border-indigo-darker {\n border-color: #2f365f;\n }\n\n .sm\\:border-indigo-dark {\n border-color: #5661b3;\n }\n\n .sm\\:border-indigo {\n border-color: #6574cd;\n }\n\n .sm\\:border-indigo-light {\n border-color: #7886d7;\n }\n\n .sm\\:border-indigo-lighter {\n border-color: #b2b7ff;\n }\n\n .sm\\:border-indigo-lightest {\n border-color: #e6e8ff;\n }\n\n .sm\\:border-purple-darkest {\n border-color: #21183c;\n }\n\n .sm\\:border-purple-darker {\n border-color: #382b5f;\n }\n\n .sm\\:border-purple-dark {\n border-color: #794acf;\n }\n\n .sm\\:border-purple {\n border-color: #9561e2;\n }\n\n .sm\\:border-purple-light {\n border-color: #a779e9;\n }\n\n .sm\\:border-purple-lighter {\n border-color: #d6bbfc;\n }\n\n .sm\\:border-purple-lightest {\n border-color: #f3ebff;\n }\n\n .sm\\:border-pink-darkest {\n border-color: #451225;\n }\n\n .sm\\:border-pink-darker {\n border-color: #6f213f;\n }\n\n .sm\\:border-pink-dark {\n border-color: #eb5286;\n }\n\n .sm\\:border-pink {\n border-color: #f66d9b;\n }\n\n .sm\\:border-pink-light {\n border-color: #fa7ea8;\n }\n\n .sm\\:border-pink-lighter {\n border-color: #ffbbca;\n }\n\n .sm\\:border-pink-lightest {\n border-color: #ffebef;\n }\n\n .sm\\:hover\\:border-transparent:hover {\n border-color: transparent;\n }\n\n .sm\\:hover\\:border-black:hover {\n border-color: #22292f;\n }\n\n .sm\\:hover\\:border-grey-darkest:hover {\n border-color: #3d4852;\n }\n\n .sm\\:hover\\:border-grey-darker:hover {\n border-color: #606f7b;\n }\n\n .sm\\:hover\\:border-grey-dark:hover {\n border-color: #8795a1;\n }\n\n .sm\\:hover\\:border-grey:hover {\n border-color: #b8c2cc;\n }\n\n .sm\\:hover\\:border-grey-light:hover {\n border-color: #dae1e7;\n }\n\n .sm\\:hover\\:border-grey-lighter:hover {\n border-color: #f1f5f8;\n }\n\n .sm\\:hover\\:border-grey-lightest:hover {\n border-color: #f8fafc;\n }\n\n .sm\\:hover\\:border-white:hover {\n border-color: #fff;\n }\n\n .sm\\:hover\\:border-red-darkest:hover {\n border-color: #3b0d0c;\n }\n\n .sm\\:hover\\:border-red-darker:hover {\n border-color: #621b18;\n }\n\n .sm\\:hover\\:border-red-dark:hover {\n border-color: #cc1f1a;\n }\n\n .sm\\:hover\\:border-red:hover {\n border-color: #e3342f;\n }\n\n .sm\\:hover\\:border-red-light:hover {\n border-color: #ef5753;\n }\n\n .sm\\:hover\\:border-red-lighter:hover {\n border-color: #f9acaa;\n }\n\n .sm\\:hover\\:border-red-lightest:hover {\n border-color: #fcebea;\n }\n\n .sm\\:hover\\:border-orange-darkest:hover {\n border-color: #462a16;\n }\n\n .sm\\:hover\\:border-orange-darker:hover {\n border-color: #613b1f;\n }\n\n .sm\\:hover\\:border-orange-dark:hover {\n border-color: #de751f;\n }\n\n .sm\\:hover\\:border-orange:hover {\n border-color: #f6993f;\n }\n\n .sm\\:hover\\:border-orange-light:hover {\n border-color: #faad63;\n }\n\n .sm\\:hover\\:border-orange-lighter:hover {\n border-color: #fcd9b6;\n }\n\n .sm\\:hover\\:border-orange-lightest:hover {\n border-color: #fff5eb;\n }\n\n .sm\\:hover\\:border-yellow-darkest:hover {\n border-color: #453411;\n }\n\n .sm\\:hover\\:border-yellow-darker:hover {\n border-color: #684f1d;\n }\n\n .sm\\:hover\\:border-yellow-dark:hover {\n border-color: #f2d024;\n }\n\n .sm\\:hover\\:border-yellow:hover {\n border-color: #ffed4a;\n }\n\n .sm\\:hover\\:border-yellow-light:hover {\n border-color: #fff382;\n }\n\n .sm\\:hover\\:border-yellow-lighter:hover {\n border-color: #fff9c2;\n }\n\n .sm\\:hover\\:border-yellow-lightest:hover {\n border-color: #fcfbeb;\n }\n\n .sm\\:hover\\:border-green-darkest:hover {\n border-color: #0f2f21;\n }\n\n .sm\\:hover\\:border-green-darker:hover {\n border-color: #1a4731;\n }\n\n .sm\\:hover\\:border-green-dark:hover {\n border-color: #1f9d55;\n }\n\n .sm\\:hover\\:border-green:hover {\n border-color: #38c172;\n }\n\n .sm\\:hover\\:border-green-light:hover {\n border-color: #51d88a;\n }\n\n .sm\\:hover\\:border-green-lighter:hover {\n border-color: #a2f5bf;\n }\n\n .sm\\:hover\\:border-green-lightest:hover {\n border-color: #e3fcec;\n }\n\n .sm\\:hover\\:border-teal-darkest:hover {\n border-color: #0d3331;\n }\n\n .sm\\:hover\\:border-teal-darker:hover {\n border-color: #20504f;\n }\n\n .sm\\:hover\\:border-teal-dark:hover {\n border-color: #38a89d;\n }\n\n .sm\\:hover\\:border-teal:hover {\n border-color: #4dc0b5;\n }\n\n .sm\\:hover\\:border-teal-light:hover {\n border-color: #64d5ca;\n }\n\n .sm\\:hover\\:border-teal-lighter:hover {\n border-color: #a0f0ed;\n }\n\n .sm\\:hover\\:border-teal-lightest:hover {\n border-color: #e8fffe;\n }\n\n .sm\\:hover\\:border-blue-darkest:hover {\n border-color: #12283a;\n }\n\n .sm\\:hover\\:border-blue-darker:hover {\n border-color: #1c3d5a;\n }\n\n .sm\\:hover\\:border-blue-dark:hover {\n border-color: #2779bd;\n }\n\n .sm\\:hover\\:border-blue:hover {\n border-color: #3490dc;\n }\n\n .sm\\:hover\\:border-blue-light:hover {\n border-color: #6cb2eb;\n }\n\n .sm\\:hover\\:border-blue-lighter:hover {\n border-color: #bcdefa;\n }\n\n .sm\\:hover\\:border-blue-lightest:hover {\n border-color: #eff8ff;\n }\n\n .sm\\:hover\\:border-indigo-darkest:hover {\n border-color: #191e38;\n }\n\n .sm\\:hover\\:border-indigo-darker:hover {\n border-color: #2f365f;\n }\n\n .sm\\:hover\\:border-indigo-dark:hover {\n border-color: #5661b3;\n }\n\n .sm\\:hover\\:border-indigo:hover {\n border-color: #6574cd;\n }\n\n .sm\\:hover\\:border-indigo-light:hover {\n border-color: #7886d7;\n }\n\n .sm\\:hover\\:border-indigo-lighter:hover {\n border-color: #b2b7ff;\n }\n\n .sm\\:hover\\:border-indigo-lightest:hover {\n border-color: #e6e8ff;\n }\n\n .sm\\:hover\\:border-purple-darkest:hover {\n border-color: #21183c;\n }\n\n .sm\\:hover\\:border-purple-darker:hover {\n border-color: #382b5f;\n }\n\n .sm\\:hover\\:border-purple-dark:hover {\n border-color: #794acf;\n }\n\n .sm\\:hover\\:border-purple:hover {\n border-color: #9561e2;\n }\n\n .sm\\:hover\\:border-purple-light:hover {\n border-color: #a779e9;\n }\n\n .sm\\:hover\\:border-purple-lighter:hover {\n border-color: #d6bbfc;\n }\n\n .sm\\:hover\\:border-purple-lightest:hover {\n border-color: #f3ebff;\n }\n\n .sm\\:hover\\:border-pink-darkest:hover {\n border-color: #451225;\n }\n\n .sm\\:hover\\:border-pink-darker:hover {\n border-color: #6f213f;\n }\n\n .sm\\:hover\\:border-pink-dark:hover {\n border-color: #eb5286;\n }\n\n .sm\\:hover\\:border-pink:hover {\n border-color: #f66d9b;\n }\n\n .sm\\:hover\\:border-pink-light:hover {\n border-color: #fa7ea8;\n }\n\n .sm\\:hover\\:border-pink-lighter:hover {\n border-color: #ffbbca;\n }\n\n .sm\\:hover\\:border-pink-lightest:hover {\n border-color: #ffebef;\n }\n\n .sm\\:focus\\:border-transparent:focus {\n border-color: transparent;\n }\n\n .sm\\:focus\\:border-black:focus {\n border-color: #22292f;\n }\n\n .sm\\:focus\\:border-grey-darkest:focus {\n border-color: #3d4852;\n }\n\n .sm\\:focus\\:border-grey-darker:focus {\n border-color: #606f7b;\n }\n\n .sm\\:focus\\:border-grey-dark:focus {\n border-color: #8795a1;\n }\n\n .sm\\:focus\\:border-grey:focus {\n border-color: #b8c2cc;\n }\n\n .sm\\:focus\\:border-grey-light:focus {\n border-color: #dae1e7;\n }\n\n .sm\\:focus\\:border-grey-lighter:focus {\n border-color: #f1f5f8;\n }\n\n .sm\\:focus\\:border-grey-lightest:focus {\n border-color: #f8fafc;\n }\n\n .sm\\:focus\\:border-white:focus {\n border-color: #fff;\n }\n\n .sm\\:focus\\:border-red-darkest:focus {\n border-color: #3b0d0c;\n }\n\n .sm\\:focus\\:border-red-darker:focus {\n border-color: #621b18;\n }\n\n .sm\\:focus\\:border-red-dark:focus {\n border-color: #cc1f1a;\n }\n\n .sm\\:focus\\:border-red:focus {\n border-color: #e3342f;\n }\n\n .sm\\:focus\\:border-red-light:focus {\n border-color: #ef5753;\n }\n\n .sm\\:focus\\:border-red-lighter:focus {\n border-color: #f9acaa;\n }\n\n .sm\\:focus\\:border-red-lightest:focus {\n border-color: #fcebea;\n }\n\n .sm\\:focus\\:border-orange-darkest:focus {\n border-color: #462a16;\n }\n\n .sm\\:focus\\:border-orange-darker:focus {\n border-color: #613b1f;\n }\n\n .sm\\:focus\\:border-orange-dark:focus {\n border-color: #de751f;\n }\n\n .sm\\:focus\\:border-orange:focus {\n border-color: #f6993f;\n }\n\n .sm\\:focus\\:border-orange-light:focus {\n border-color: #faad63;\n }\n\n .sm\\:focus\\:border-orange-lighter:focus {\n border-color: #fcd9b6;\n }\n\n .sm\\:focus\\:border-orange-lightest:focus {\n border-color: #fff5eb;\n }\n\n .sm\\:focus\\:border-yellow-darkest:focus {\n border-color: #453411;\n }\n\n .sm\\:focus\\:border-yellow-darker:focus {\n border-color: #684f1d;\n }\n\n .sm\\:focus\\:border-yellow-dark:focus {\n border-color: #f2d024;\n }\n\n .sm\\:focus\\:border-yellow:focus {\n border-color: #ffed4a;\n }\n\n .sm\\:focus\\:border-yellow-light:focus {\n border-color: #fff382;\n }\n\n .sm\\:focus\\:border-yellow-lighter:focus {\n border-color: #fff9c2;\n }\n\n .sm\\:focus\\:border-yellow-lightest:focus {\n border-color: #fcfbeb;\n }\n\n .sm\\:focus\\:border-green-darkest:focus {\n border-color: #0f2f21;\n }\n\n .sm\\:focus\\:border-green-darker:focus {\n border-color: #1a4731;\n }\n\n .sm\\:focus\\:border-green-dark:focus {\n border-color: #1f9d55;\n }\n\n .sm\\:focus\\:border-green:focus {\n border-color: #38c172;\n }\n\n .sm\\:focus\\:border-green-light:focus {\n border-color: #51d88a;\n }\n\n .sm\\:focus\\:border-green-lighter:focus {\n border-color: #a2f5bf;\n }\n\n .sm\\:focus\\:border-green-lightest:focus {\n border-color: #e3fcec;\n }\n\n .sm\\:focus\\:border-teal-darkest:focus {\n border-color: #0d3331;\n }\n\n .sm\\:focus\\:border-teal-darker:focus {\n border-color: #20504f;\n }\n\n .sm\\:focus\\:border-teal-dark:focus {\n border-color: #38a89d;\n }\n\n .sm\\:focus\\:border-teal:focus {\n border-color: #4dc0b5;\n }\n\n .sm\\:focus\\:border-teal-light:focus {\n border-color: #64d5ca;\n }\n\n .sm\\:focus\\:border-teal-lighter:focus {\n border-color: #a0f0ed;\n }\n\n .sm\\:focus\\:border-teal-lightest:focus {\n border-color: #e8fffe;\n }\n\n .sm\\:focus\\:border-blue-darkest:focus {\n border-color: #12283a;\n }\n\n .sm\\:focus\\:border-blue-darker:focus {\n border-color: #1c3d5a;\n }\n\n .sm\\:focus\\:border-blue-dark:focus {\n border-color: #2779bd;\n }\n\n .sm\\:focus\\:border-blue:focus {\n border-color: #3490dc;\n }\n\n .sm\\:focus\\:border-blue-light:focus {\n border-color: #6cb2eb;\n }\n\n .sm\\:focus\\:border-blue-lighter:focus {\n border-color: #bcdefa;\n }\n\n .sm\\:focus\\:border-blue-lightest:focus {\n border-color: #eff8ff;\n }\n\n .sm\\:focus\\:border-indigo-darkest:focus {\n border-color: #191e38;\n }\n\n .sm\\:focus\\:border-indigo-darker:focus {\n border-color: #2f365f;\n }\n\n .sm\\:focus\\:border-indigo-dark:focus {\n border-color: #5661b3;\n }\n\n .sm\\:focus\\:border-indigo:focus {\n border-color: #6574cd;\n }\n\n .sm\\:focus\\:border-indigo-light:focus {\n border-color: #7886d7;\n }\n\n .sm\\:focus\\:border-indigo-lighter:focus {\n border-color: #b2b7ff;\n }\n\n .sm\\:focus\\:border-indigo-lightest:focus {\n border-color: #e6e8ff;\n }\n\n .sm\\:focus\\:border-purple-darkest:focus {\n border-color: #21183c;\n }\n\n .sm\\:focus\\:border-purple-darker:focus {\n border-color: #382b5f;\n }\n\n .sm\\:focus\\:border-purple-dark:focus {\n border-color: #794acf;\n }\n\n .sm\\:focus\\:border-purple:focus {\n border-color: #9561e2;\n }\n\n .sm\\:focus\\:border-purple-light:focus {\n border-color: #a779e9;\n }\n\n .sm\\:focus\\:border-purple-lighter:focus {\n border-color: #d6bbfc;\n }\n\n .sm\\:focus\\:border-purple-lightest:focus {\n border-color: #f3ebff;\n }\n\n .sm\\:focus\\:border-pink-darkest:focus {\n border-color: #451225;\n }\n\n .sm\\:focus\\:border-pink-darker:focus {\n border-color: #6f213f;\n }\n\n .sm\\:focus\\:border-pink-dark:focus {\n border-color: #eb5286;\n }\n\n .sm\\:focus\\:border-pink:focus {\n border-color: #f66d9b;\n }\n\n .sm\\:focus\\:border-pink-light:focus {\n border-color: #fa7ea8;\n }\n\n .sm\\:focus\\:border-pink-lighter:focus {\n border-color: #ffbbca;\n }\n\n .sm\\:focus\\:border-pink-lightest:focus {\n border-color: #ffebef;\n }\n\n .sm\\:rounded-none {\n border-radius: 0;\n }\n\n .sm\\:rounded-sm {\n border-radius: .125rem;\n }\n\n .sm\\:rounded {\n border-radius: .25rem;\n }\n\n .sm\\:rounded-lg {\n border-radius: .5rem;\n }\n\n .sm\\:rounded-full {\n border-radius: 9999px;\n }\n\n .sm\\:rounded-t-none {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n .sm\\:rounded-r-none {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .sm\\:rounded-b-none {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .sm\\:rounded-l-none {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .sm\\:rounded-t-sm {\n border-top-left-radius: .125rem;\n border-top-right-radius: .125rem;\n }\n\n .sm\\:rounded-r-sm {\n border-top-right-radius: .125rem;\n border-bottom-right-radius: .125rem;\n }\n\n .sm\\:rounded-b-sm {\n border-bottom-right-radius: .125rem;\n border-bottom-left-radius: .125rem;\n }\n\n .sm\\:rounded-l-sm {\n border-top-left-radius: .125rem;\n border-bottom-left-radius: .125rem;\n }\n\n .sm\\:rounded-t {\n border-top-left-radius: .25rem;\n border-top-right-radius: .25rem;\n }\n\n .sm\\:rounded-r {\n border-top-right-radius: .25rem;\n border-bottom-right-radius: .25rem;\n }\n\n .sm\\:rounded-b {\n border-bottom-right-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n\n .sm\\:rounded-l {\n border-top-left-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n\n .sm\\:rounded-t-lg {\n border-top-left-radius: .5rem;\n border-top-right-radius: .5rem;\n }\n\n .sm\\:rounded-r-lg {\n border-top-right-radius: .5rem;\n border-bottom-right-radius: .5rem;\n }\n\n .sm\\:rounded-b-lg {\n border-bottom-right-radius: .5rem;\n border-bottom-left-radius: .5rem;\n }\n\n .sm\\:rounded-l-lg {\n border-top-left-radius: .5rem;\n border-bottom-left-radius: .5rem;\n }\n\n .sm\\:rounded-t-full {\n border-top-left-radius: 9999px;\n border-top-right-radius: 9999px;\n }\n\n .sm\\:rounded-r-full {\n border-top-right-radius: 9999px;\n border-bottom-right-radius: 9999px;\n }\n\n .sm\\:rounded-b-full {\n border-bottom-right-radius: 9999px;\n border-bottom-left-radius: 9999px;\n }\n\n .sm\\:rounded-l-full {\n border-top-left-radius: 9999px;\n border-bottom-left-radius: 9999px;\n }\n\n .sm\\:rounded-tl-none {\n border-top-left-radius: 0;\n }\n\n .sm\\:rounded-tr-none {\n border-top-right-radius: 0;\n }\n\n .sm\\:rounded-br-none {\n border-bottom-right-radius: 0;\n }\n\n .sm\\:rounded-bl-none {\n border-bottom-left-radius: 0;\n }\n\n .sm\\:rounded-tl-sm {\n border-top-left-radius: .125rem;\n }\n\n .sm\\:rounded-tr-sm {\n border-top-right-radius: .125rem;\n }\n\n .sm\\:rounded-br-sm {\n border-bottom-right-radius: .125rem;\n }\n\n .sm\\:rounded-bl-sm {\n border-bottom-left-radius: .125rem;\n }\n\n .sm\\:rounded-tl {\n border-top-left-radius: .25rem;\n }\n\n .sm\\:rounded-tr {\n border-top-right-radius: .25rem;\n }\n\n .sm\\:rounded-br {\n border-bottom-right-radius: .25rem;\n }\n\n .sm\\:rounded-bl {\n border-bottom-left-radius: .25rem;\n }\n\n .sm\\:rounded-tl-lg {\n border-top-left-radius: .5rem;\n }\n\n .sm\\:rounded-tr-lg {\n border-top-right-radius: .5rem;\n }\n\n .sm\\:rounded-br-lg {\n border-bottom-right-radius: .5rem;\n }\n\n .sm\\:rounded-bl-lg {\n border-bottom-left-radius: .5rem;\n }\n\n .sm\\:rounded-tl-full {\n border-top-left-radius: 9999px;\n }\n\n .sm\\:rounded-tr-full {\n border-top-right-radius: 9999px;\n }\n\n .sm\\:rounded-br-full {\n border-bottom-right-radius: 9999px;\n }\n\n .sm\\:rounded-bl-full {\n border-bottom-left-radius: 9999px;\n }\n\n .sm\\:border-solid {\n border-style: solid;\n }\n\n .sm\\:border-dashed {\n border-style: dashed;\n }\n\n .sm\\:border-dotted {\n border-style: dotted;\n }\n\n .sm\\:border-none {\n border-style: none;\n }\n\n .sm\\:border-0 {\n border-width: 0;\n }\n\n .sm\\:border-2 {\n border-width: 2px;\n }\n\n .sm\\:border-4 {\n border-width: 4px;\n }\n\n .sm\\:border-8 {\n border-width: 8px;\n }\n\n .sm\\:border {\n border-width: 1px;\n }\n\n .sm\\:border-t-0 {\n border-top-width: 0;\n }\n\n .sm\\:border-r-0 {\n border-right-width: 0;\n }\n\n .sm\\:border-b-0 {\n border-bottom-width: 0;\n }\n\n .sm\\:border-l-0 {\n border-left-width: 0;\n }\n\n .sm\\:border-t-2 {\n border-top-width: 2px;\n }\n\n .sm\\:border-r-2 {\n border-right-width: 2px;\n }\n\n .sm\\:border-b-2 {\n border-bottom-width: 2px;\n }\n\n .sm\\:border-l-2 {\n border-left-width: 2px;\n }\n\n .sm\\:border-t-4 {\n border-top-width: 4px;\n }\n\n .sm\\:border-r-4 {\n border-right-width: 4px;\n }\n\n .sm\\:border-b-4 {\n border-bottom-width: 4px;\n }\n\n .sm\\:border-l-4 {\n border-left-width: 4px;\n }\n\n .sm\\:border-t-8 {\n border-top-width: 8px;\n }\n\n .sm\\:border-r-8 {\n border-right-width: 8px;\n }\n\n .sm\\:border-b-8 {\n border-bottom-width: 8px;\n }\n\n .sm\\:border-l-8 {\n border-left-width: 8px;\n }\n\n .sm\\:border-t {\n border-top-width: 1px;\n }\n\n .sm\\:border-r {\n border-right-width: 1px;\n }\n\n .sm\\:border-b {\n border-bottom-width: 1px;\n }\n\n .sm\\:border-l {\n border-left-width: 1px;\n }\n\n .sm\\:cursor-auto {\n cursor: auto;\n }\n\n .sm\\:cursor-default {\n cursor: default;\n }\n\n .sm\\:cursor-pointer {\n cursor: pointer;\n }\n\n .sm\\:cursor-wait {\n cursor: wait;\n }\n\n .sm\\:cursor-move {\n cursor: move;\n }\n\n .sm\\:cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .sm\\:block {\n display: block;\n }\n\n .sm\\:inline-block {\n display: inline-block;\n }\n\n .sm\\:inline {\n display: inline;\n }\n\n .sm\\:table {\n display: table;\n }\n\n .sm\\:table-row {\n display: table-row;\n }\n\n .sm\\:table-cell {\n display: table-cell;\n }\n\n .sm\\:hidden {\n display: none;\n }\n\n .sm\\:flex {\n display: flex;\n }\n\n .sm\\:inline-flex {\n display: inline-flex;\n }\n\n .sm\\:flex-row {\n flex-direction: row;\n }\n\n .sm\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .sm\\:flex-col {\n flex-direction: column;\n }\n\n .sm\\:flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .sm\\:flex-wrap {\n flex-wrap: wrap;\n }\n\n .sm\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .sm\\:flex-no-wrap {\n flex-wrap: nowrap;\n }\n\n .sm\\:items-start {\n align-items: flex-start;\n }\n\n .sm\\:items-end {\n align-items: flex-end;\n }\n\n .sm\\:items-center {\n align-items: center;\n }\n\n .sm\\:items-baseline {\n align-items: baseline;\n }\n\n .sm\\:items-stretch {\n align-items: stretch;\n }\n\n .sm\\:self-auto {\n align-self: auto;\n }\n\n .sm\\:self-start {\n align-self: flex-start;\n }\n\n .sm\\:self-end {\n align-self: flex-end;\n }\n\n .sm\\:self-center {\n align-self: center;\n }\n\n .sm\\:self-stretch {\n align-self: stretch;\n }\n\n .sm\\:justify-start {\n justify-content: flex-start;\n }\n\n .sm\\:justify-end {\n justify-content: flex-end;\n }\n\n .sm\\:justify-center {\n justify-content: center;\n }\n\n .sm\\:justify-between {\n justify-content: space-between;\n }\n\n .sm\\:justify-around {\n justify-content: space-around;\n }\n\n .sm\\:content-center {\n align-content: center;\n }\n\n .sm\\:content-start {\n align-content: flex-start;\n }\n\n .sm\\:content-end {\n align-content: flex-end;\n }\n\n .sm\\:content-between {\n align-content: space-between;\n }\n\n .sm\\:content-around {\n align-content: space-around;\n }\n\n .sm\\:flex-1 {\n flex: 1 1 0%;\n }\n\n .sm\\:flex-auto {\n flex: 1 1 auto;\n }\n\n .sm\\:flex-initial {\n flex: 0 1 auto;\n }\n\n .sm\\:flex-none {\n flex: none;\n }\n\n .sm\\:flex-grow {\n flex-grow: 1;\n }\n\n .sm\\:flex-shrink {\n flex-shrink: 1;\n }\n\n .sm\\:flex-no-grow {\n flex-grow: 0;\n }\n\n .sm\\:flex-no-shrink {\n flex-shrink: 0;\n }\n\n .sm\\:float-right {\n float: right;\n }\n\n .sm\\:float-left {\n float: left;\n }\n\n .sm\\:float-none {\n float: none;\n }\n\n .sm\\:clearfix:after {\n content: "";\n display: table;\n clear: both;\n }\n\n .sm\\:font-sans {\n font-family: system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n }\n\n .sm\\:font-serif {\n font-family: Constantia, Lucida Bright, Lucidabright, Lucida Serif, Lucida, DejaVu Serif, Bitstream Vera Serif, Liberation Serif, Georgia, serif;\n }\n\n .sm\\:font-mono {\n font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n }\n\n .sm\\:font-hairline {\n font-weight: 100;\n }\n\n .sm\\:font-thin {\n font-weight: 200;\n }\n\n .sm\\:font-light {\n font-weight: 300;\n }\n\n .sm\\:font-normal {\n font-weight: 400;\n }\n\n .sm\\:font-medium {\n font-weight: 500;\n }\n\n .sm\\:font-semibold {\n font-weight: 600;\n }\n\n .sm\\:font-bold {\n font-weight: 700;\n }\n\n .sm\\:font-extrabold {\n font-weight: 800;\n }\n\n .sm\\:font-black {\n font-weight: 900;\n }\n\n .sm\\:hover\\:font-hairline:hover {\n font-weight: 100;\n }\n\n .sm\\:hover\\:font-thin:hover {\n font-weight: 200;\n }\n\n .sm\\:hover\\:font-light:hover {\n font-weight: 300;\n }\n\n .sm\\:hover\\:font-normal:hover {\n font-weight: 400;\n }\n\n .sm\\:hover\\:font-medium:hover {\n font-weight: 500;\n }\n\n .sm\\:hover\\:font-semibold:hover {\n font-weight: 600;\n }\n\n .sm\\:hover\\:font-bold:hover {\n font-weight: 700;\n }\n\n .sm\\:hover\\:font-extrabold:hover {\n font-weight: 800;\n }\n\n .sm\\:hover\\:font-black:hover {\n font-weight: 900;\n }\n\n .sm\\:focus\\:font-hairline:focus {\n font-weight: 100;\n }\n\n .sm\\:focus\\:font-thin:focus {\n font-weight: 200;\n }\n\n .sm\\:focus\\:font-light:focus {\n font-weight: 300;\n }\n\n .sm\\:focus\\:font-normal:focus {\n font-weight: 400;\n }\n\n .sm\\:focus\\:font-medium:focus {\n font-weight: 500;\n }\n\n .sm\\:focus\\:font-semibold:focus {\n font-weight: 600;\n }\n\n .sm\\:focus\\:font-bold:focus {\n font-weight: 700;\n }\n\n .sm\\:focus\\:font-extrabold:focus {\n font-weight: 800;\n }\n\n .sm\\:focus\\:font-black:focus {\n font-weight: 900;\n }\n\n .sm\\:h-1 {\n height: .25rem;\n }\n\n .sm\\:h-2 {\n height: .5rem;\n }\n\n .sm\\:h-3 {\n height: .75rem;\n }\n\n .sm\\:h-4 {\n height: 1rem;\n }\n\n .sm\\:h-5 {\n height: 1.25rem;\n }\n\n .sm\\:h-6 {\n height: 1.5rem;\n }\n\n .sm\\:h-8 {\n height: 2rem;\n }\n\n .sm\\:h-10 {\n height: 2.5rem;\n }\n\n .sm\\:h-12 {\n height: 3rem;\n }\n\n .sm\\:h-16 {\n height: 4rem;\n }\n\n .sm\\:h-24 {\n height: 6rem;\n }\n\n .sm\\:h-32 {\n height: 8rem;\n }\n\n .sm\\:h-48 {\n height: 12rem;\n }\n\n .sm\\:h-64 {\n height: 16rem;\n }\n\n .sm\\:h-auto {\n height: auto;\n }\n\n .sm\\:h-px {\n height: 1px;\n }\n\n .sm\\:h-full {\n height: 100%;\n }\n\n .sm\\:h-screen {\n height: 100vh;\n }\n\n .sm\\:leading-none {\n line-height: 1;\n }\n\n .sm\\:leading-tight {\n line-height: 1.25;\n }\n\n .sm\\:leading-normal {\n line-height: 1.5;\n }\n\n .sm\\:leading-loose {\n line-height: 2;\n }\n\n .sm\\:m-0 {\n margin: 0;\n }\n\n .sm\\:m-1 {\n margin: .25rem;\n }\n\n .sm\\:m-2 {\n margin: .5rem;\n }\n\n .sm\\:m-3 {\n margin: .75rem;\n }\n\n .sm\\:m-4 {\n margin: 1rem;\n }\n\n .sm\\:m-5 {\n margin: 1.25rem;\n }\n\n .sm\\:m-6 {\n margin: 1.5rem;\n }\n\n .sm\\:m-8 {\n margin: 2rem;\n }\n\n .sm\\:m-10 {\n margin: 2.5rem;\n }\n\n .sm\\:m-12 {\n margin: 3rem;\n }\n\n .sm\\:m-16 {\n margin: 4rem;\n }\n\n .sm\\:m-20 {\n margin: 5rem;\n }\n\n .sm\\:m-24 {\n margin: 6rem;\n }\n\n .sm\\:m-32 {\n margin: 8rem;\n }\n\n .sm\\:m-auto {\n margin: auto;\n }\n\n .sm\\:m-px {\n margin: 1px;\n }\n\n .sm\\:my-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n .sm\\:mx-0 {\n margin-left: 0;\n margin-right: 0;\n }\n\n .sm\\:my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n }\n\n .sm\\:mx-1 {\n margin-left: .25rem;\n margin-right: .25rem;\n }\n\n .sm\\:my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n }\n\n .sm\\:mx-2 {\n margin-left: .5rem;\n margin-right: .5rem;\n }\n\n .sm\\:my-3 {\n margin-top: .75rem;\n margin-bottom: .75rem;\n }\n\n .sm\\:mx-3 {\n margin-left: .75rem;\n margin-right: .75rem;\n }\n\n .sm\\:my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .sm\\:mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n }\n\n .sm\\:my-5 {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n\n .sm\\:mx-5 {\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n }\n\n .sm\\:my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n\n .sm\\:mx-6 {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n }\n\n .sm\\:my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n }\n\n .sm\\:mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n }\n\n .sm\\:my-10 {\n margin-top: 2.5rem;\n margin-bottom: 2.5rem;\n }\n\n .sm\\:mx-10 {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n }\n\n .sm\\:my-12 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n\n .sm\\:mx-12 {\n margin-left: 3rem;\n margin-right: 3rem;\n }\n\n .sm\\:my-16 {\n margin-top: 4rem;\n margin-bottom: 4rem;\n }\n\n .sm\\:mx-16 {\n margin-left: 4rem;\n margin-right: 4rem;\n }\n\n .sm\\:my-20 {\n margin-top: 5rem;\n margin-bottom: 5rem;\n }\n\n .sm\\:mx-20 {\n margin-left: 5rem;\n margin-right: 5rem;\n }\n\n .sm\\:my-24 {\n margin-top: 6rem;\n margin-bottom: 6rem;\n }\n\n .sm\\:mx-24 {\n margin-left: 6rem;\n margin-right: 6rem;\n }\n\n .sm\\:my-32 {\n margin-top: 8rem;\n margin-bottom: 8rem;\n }\n\n .sm\\:mx-32 {\n margin-left: 8rem;\n margin-right: 8rem;\n }\n\n .sm\\:my-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .sm\\:mx-auto {\n margin-left: auto;\n margin-right: auto;\n }\n\n .sm\\:my-px {\n margin-top: 1px;\n margin-bottom: 1px;\n }\n\n .sm\\:mx-px {\n margin-left: 1px;\n margin-right: 1px;\n }\n\n .sm\\:mt-0 {\n margin-top: 0;\n }\n\n .sm\\:mr-0 {\n margin-right: 0;\n }\n\n .sm\\:mb-0 {\n margin-bottom: 0;\n }\n\n .sm\\:ml-0 {\n margin-left: 0;\n }\n\n .sm\\:mt-1 {\n margin-top: .25rem;\n }\n\n .sm\\:mr-1 {\n margin-right: .25rem;\n }\n\n .sm\\:mb-1 {\n margin-bottom: .25rem;\n }\n\n .sm\\:ml-1 {\n margin-left: .25rem;\n }\n\n .sm\\:mt-2 {\n margin-top: .5rem;\n }\n\n .sm\\:mr-2 {\n margin-right: .5rem;\n }\n\n .sm\\:mb-2 {\n margin-bottom: .5rem;\n }\n\n .sm\\:ml-2 {\n margin-left: .5rem;\n }\n\n .sm\\:mt-3 {\n margin-top: .75rem;\n }\n\n .sm\\:mr-3 {\n margin-right: .75rem;\n }\n\n .sm\\:mb-3 {\n margin-bottom: .75rem;\n }\n\n .sm\\:ml-3 {\n margin-left: .75rem;\n }\n\n .sm\\:mt-4 {\n margin-top: 1rem;\n }\n\n .sm\\:mr-4 {\n margin-right: 1rem;\n }\n\n .sm\\:mb-4 {\n margin-bottom: 1rem;\n }\n\n .sm\\:ml-4 {\n margin-left: 1rem;\n }\n\n .sm\\:mt-5 {\n margin-top: 1.25rem;\n }\n\n .sm\\:mr-5 {\n margin-right: 1.25rem;\n }\n\n .sm\\:mb-5 {\n margin-bottom: 1.25rem;\n }\n\n .sm\\:ml-5 {\n margin-left: 1.25rem;\n }\n\n .sm\\:mt-6 {\n margin-top: 1.5rem;\n }\n\n .sm\\:mr-6 {\n margin-right: 1.5rem;\n }\n\n .sm\\:mb-6 {\n margin-bottom: 1.5rem;\n }\n\n .sm\\:ml-6 {\n margin-left: 1.5rem;\n }\n\n .sm\\:mt-8 {\n margin-top: 2rem;\n }\n\n .sm\\:mr-8 {\n margin-right: 2rem;\n }\n\n .sm\\:mb-8 {\n margin-bottom: 2rem;\n }\n\n .sm\\:ml-8 {\n margin-left: 2rem;\n }\n\n .sm\\:mt-10 {\n margin-top: 2.5rem;\n }\n\n .sm\\:mr-10 {\n margin-right: 2.5rem;\n }\n\n .sm\\:mb-10 {\n margin-bottom: 2.5rem;\n }\n\n .sm\\:ml-10 {\n margin-left: 2.5rem;\n }\n\n .sm\\:mt-12 {\n margin-top: 3rem;\n }\n\n .sm\\:mr-12 {\n margin-right: 3rem;\n }\n\n .sm\\:mb-12 {\n margin-bottom: 3rem;\n }\n\n .sm\\:ml-12 {\n margin-left: 3rem;\n }\n\n .sm\\:mt-16 {\n margin-top: 4rem;\n }\n\n .sm\\:mr-16 {\n margin-right: 4rem;\n }\n\n .sm\\:mb-16 {\n margin-bottom: 4rem;\n }\n\n .sm\\:ml-16 {\n margin-left: 4rem;\n }\n\n .sm\\:mt-20 {\n margin-top: 5rem;\n }\n\n .sm\\:mr-20 {\n margin-right: 5rem;\n }\n\n .sm\\:mb-20 {\n margin-bottom: 5rem;\n }\n\n .sm\\:ml-20 {\n margin-left: 5rem;\n }\n\n .sm\\:mt-24 {\n margin-top: 6rem;\n }\n\n .sm\\:mr-24 {\n margin-right: 6rem;\n }\n\n .sm\\:mb-24 {\n margin-bottom: 6rem;\n }\n\n .sm\\:ml-24 {\n margin-left: 6rem;\n }\n\n .sm\\:mt-32 {\n margin-top: 8rem;\n }\n\n .sm\\:mr-32 {\n margin-right: 8rem;\n }\n\n .sm\\:mb-32 {\n margin-bottom: 8rem;\n }\n\n .sm\\:ml-32 {\n margin-left: 8rem;\n }\n\n .sm\\:mt-auto {\n margin-top: auto;\n }\n\n .sm\\:mr-auto {\n margin-right: auto;\n }\n\n .sm\\:mb-auto {\n margin-bottom: auto;\n }\n\n .sm\\:ml-auto {\n margin-left: auto;\n }\n\n .sm\\:mt-px {\n margin-top: 1px;\n }\n\n .sm\\:mr-px {\n margin-right: 1px;\n }\n\n .sm\\:mb-px {\n margin-bottom: 1px;\n }\n\n .sm\\:ml-px {\n margin-left: 1px;\n }\n\n .sm\\:max-h-full {\n max-height: 100%;\n }\n\n .sm\\:max-h-screen {\n max-height: 100vh;\n }\n\n .sm\\:max-w-xs {\n max-width: 20rem;\n }\n\n .sm\\:max-w-sm {\n max-width: 30rem;\n }\n\n .sm\\:max-w-md {\n max-width: 40rem;\n }\n\n .sm\\:max-w-lg {\n max-width: 50rem;\n }\n\n .sm\\:max-w-xl {\n max-width: 60rem;\n }\n\n .sm\\:max-w-2xl {\n max-width: 70rem;\n }\n\n .sm\\:max-w-3xl {\n max-width: 80rem;\n }\n\n .sm\\:max-w-4xl {\n max-width: 90rem;\n }\n\n .sm\\:max-w-5xl {\n max-width: 100rem;\n }\n\n .sm\\:max-w-full {\n max-width: 100%;\n }\n\n .sm\\:min-h-0 {\n min-height: 0;\n }\n\n .sm\\:min-h-full {\n min-height: 100%;\n }\n\n .sm\\:min-h-screen {\n min-height: 100vh;\n }\n\n .sm\\:min-w-0 {\n min-width: 0;\n }\n\n .sm\\:min-w-full {\n min-width: 100%;\n }\n\n .sm\\:-m-0 {\n margin: 0;\n }\n\n .sm\\:-m-1 {\n margin: -0.25rem;\n }\n\n .sm\\:-m-2 {\n margin: -0.5rem;\n }\n\n .sm\\:-m-3 {\n margin: -0.75rem;\n }\n\n .sm\\:-m-4 {\n margin: -1rem;\n }\n\n .sm\\:-m-5 {\n margin: -1.25rem;\n }\n\n .sm\\:-m-6 {\n margin: -1.5rem;\n }\n\n .sm\\:-m-8 {\n margin: -2rem;\n }\n\n .sm\\:-m-10 {\n margin: -2.5rem;\n }\n\n .sm\\:-m-12 {\n margin: -3rem;\n }\n\n .sm\\:-m-16 {\n margin: -4rem;\n }\n\n .sm\\:-m-20 {\n margin: -5rem;\n }\n\n .sm\\:-m-24 {\n margin: -6rem;\n }\n\n .sm\\:-m-32 {\n margin: -8rem;\n }\n\n .sm\\:-m-px {\n margin: -1px;\n }\n\n .sm\\:-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n .sm\\:-mx-0 {\n margin-left: 0;\n margin-right: 0;\n }\n\n .sm\\:-my-1 {\n margin-top: -0.25rem;\n margin-bottom: -0.25rem;\n }\n\n .sm\\:-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n }\n\n .sm\\:-my-2 {\n margin-top: -0.5rem;\n margin-bottom: -0.5rem;\n }\n\n .sm\\:-mx-2 {\n margin-left: -0.5rem;\n margin-right: -0.5rem;\n }\n\n .sm\\:-my-3 {\n margin-top: -0.75rem;\n margin-bottom: -0.75rem;\n }\n\n .sm\\:-mx-3 {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n }\n\n .sm\\:-my-4 {\n margin-top: -1rem;\n margin-bottom: -1rem;\n }\n\n .sm\\:-mx-4 {\n margin-left: -1rem;\n margin-right: -1rem;\n }\n\n .sm\\:-my-5 {\n margin-top: -1.25rem;\n margin-bottom: -1.25rem;\n }\n\n .sm\\:-mx-5 {\n margin-left: -1.25rem;\n margin-right: -1.25rem;\n }\n\n .sm\\:-my-6 {\n margin-top: -1.5rem;\n margin-bottom: -1.5rem;\n }\n\n .sm\\:-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n }\n\n .sm\\:-my-8 {\n margin-top: -2rem;\n margin-bottom: -2rem;\n }\n\n .sm\\:-mx-8 {\n margin-left: -2rem;\n margin-right: -2rem;\n }\n\n .sm\\:-my-10 {\n margin-top: -2.5rem;\n margin-bottom: -2.5rem;\n }\n\n .sm\\:-mx-10 {\n margin-left: -2.5rem;\n margin-right: -2.5rem;\n }\n\n .sm\\:-my-12 {\n margin-top: -3rem;\n margin-bottom: -3rem;\n }\n\n .sm\\:-mx-12 {\n margin-left: -3rem;\n margin-right: -3rem;\n }\n\n .sm\\:-my-16 {\n margin-top: -4rem;\n margin-bottom: -4rem;\n }\n\n .sm\\:-mx-16 {\n margin-left: -4rem;\n margin-right: -4rem;\n }\n\n .sm\\:-my-20 {\n margin-top: -5rem;\n margin-bottom: -5rem;\n }\n\n .sm\\:-mx-20 {\n margin-left: -5rem;\n margin-right: -5rem;\n }\n\n .sm\\:-my-24 {\n margin-top: -6rem;\n margin-bottom: -6rem;\n }\n\n .sm\\:-mx-24 {\n margin-left: -6rem;\n margin-right: -6rem;\n }\n\n .sm\\:-my-32 {\n margin-top: -8rem;\n margin-bottom: -8rem;\n }\n\n .sm\\:-mx-32 {\n margin-left: -8rem;\n margin-right: -8rem;\n }\n\n .sm\\:-my-px {\n margin-top: -1px;\n margin-bottom: -1px;\n }\n\n .sm\\:-mx-px {\n margin-left: -1px;\n margin-right: -1px;\n }\n\n .sm\\:-mt-0 {\n margin-top: 0;\n }\n\n .sm\\:-mr-0 {\n margin-right: 0;\n }\n\n .sm\\:-mb-0 {\n margin-bottom: 0;\n }\n\n .sm\\:-ml-0 {\n margin-left: 0;\n }\n\n .sm\\:-mt-1 {\n margin-top: -0.25rem;\n }\n\n .sm\\:-mr-1 {\n margin-right: -0.25rem;\n }\n\n .sm\\:-mb-1 {\n margin-bottom: -0.25rem;\n }\n\n .sm\\:-ml-1 {\n margin-left: -0.25rem;\n }\n\n .sm\\:-mt-2 {\n margin-top: -0.5rem;\n }\n\n .sm\\:-mr-2 {\n margin-right: -0.5rem;\n }\n\n .sm\\:-mb-2 {\n margin-bottom: -0.5rem;\n }\n\n .sm\\:-ml-2 {\n margin-left: -0.5rem;\n }\n\n .sm\\:-mt-3 {\n margin-top: -0.75rem;\n }\n\n .sm\\:-mr-3 {\n margin-right: -0.75rem;\n }\n\n .sm\\:-mb-3 {\n margin-bottom: -0.75rem;\n }\n\n .sm\\:-ml-3 {\n margin-left: -0.75rem;\n }\n\n .sm\\:-mt-4 {\n margin-top: -1rem;\n }\n\n .sm\\:-mr-4 {\n margin-right: -1rem;\n }\n\n .sm\\:-mb-4 {\n margin-bottom: -1rem;\n }\n\n .sm\\:-ml-4 {\n margin-left: -1rem;\n }\n\n .sm\\:-mt-5 {\n margin-top: -1.25rem;\n }\n\n .sm\\:-mr-5 {\n margin-right: -1.25rem;\n }\n\n .sm\\:-mb-5 {\n margin-bottom: -1.25rem;\n }\n\n .sm\\:-ml-5 {\n margin-left: -1.25rem;\n }\n\n .sm\\:-mt-6 {\n margin-top: -1.5rem;\n }\n\n .sm\\:-mr-6 {\n margin-right: -1.5rem;\n }\n\n .sm\\:-mb-6 {\n margin-bottom: -1.5rem;\n }\n\n .sm\\:-ml-6 {\n margin-left: -1.5rem;\n }\n\n .sm\\:-mt-8 {\n margin-top: -2rem;\n }\n\n .sm\\:-mr-8 {\n margin-right: -2rem;\n }\n\n .sm\\:-mb-8 {\n margin-bottom: -2rem;\n }\n\n .sm\\:-ml-8 {\n margin-left: -2rem;\n }\n\n .sm\\:-mt-10 {\n margin-top: -2.5rem;\n }\n\n .sm\\:-mr-10 {\n margin-right: -2.5rem;\n }\n\n .sm\\:-mb-10 {\n margin-bottom: -2.5rem;\n }\n\n .sm\\:-ml-10 {\n margin-left: -2.5rem;\n }\n\n .sm\\:-mt-12 {\n margin-top: -3rem;\n }\n\n .sm\\:-mr-12 {\n margin-right: -3rem;\n }\n\n .sm\\:-mb-12 {\n margin-bottom: -3rem;\n }\n\n .sm\\:-ml-12 {\n margin-left: -3rem;\n }\n\n .sm\\:-mt-16 {\n margin-top: -4rem;\n }\n\n .sm\\:-mr-16 {\n margin-right: -4rem;\n }\n\n .sm\\:-mb-16 {\n margin-bottom: -4rem;\n }\n\n .sm\\:-ml-16 {\n margin-left: -4rem;\n }\n\n .sm\\:-mt-20 {\n margin-top: -5rem;\n }\n\n .sm\\:-mr-20 {\n margin-right: -5rem;\n }\n\n .sm\\:-mb-20 {\n margin-bottom: -5rem;\n }\n\n .sm\\:-ml-20 {\n margin-left: -5rem;\n }\n\n .sm\\:-mt-24 {\n margin-top: -6rem;\n }\n\n .sm\\:-mr-24 {\n margin-right: -6rem;\n }\n\n .sm\\:-mb-24 {\n margin-bottom: -6rem;\n }\n\n .sm\\:-ml-24 {\n margin-left: -6rem;\n }\n\n .sm\\:-mt-32 {\n margin-top: -8rem;\n }\n\n .sm\\:-mr-32 {\n margin-right: -8rem;\n }\n\n .sm\\:-mb-32 {\n margin-bottom: -8rem;\n }\n\n .sm\\:-ml-32 {\n margin-left: -8rem;\n }\n\n .sm\\:-mt-px {\n margin-top: -1px;\n }\n\n .sm\\:-mr-px {\n margin-right: -1px;\n }\n\n .sm\\:-mb-px {\n margin-bottom: -1px;\n }\n\n .sm\\:-ml-px {\n margin-left: -1px;\n }\n\n .sm\\:opacity-0 {\n opacity: 0;\n }\n\n .sm\\:opacity-25 {\n opacity: .25;\n }\n\n .sm\\:opacity-50 {\n opacity: .5;\n }\n\n .sm\\:opacity-75 {\n opacity: .75;\n }\n\n .sm\\:opacity-100 {\n opacity: 1;\n }\n\n .sm\\:overflow-auto {\n overflow: auto;\n }\n\n .sm\\:overflow-hidden {\n overflow: hidden;\n }\n\n .sm\\:overflow-visible {\n overflow: visible;\n }\n\n .sm\\:overflow-scroll {\n overflow: scroll;\n }\n\n .sm\\:overflow-x-auto {\n overflow-x: auto;\n }\n\n .sm\\:overflow-y-auto {\n overflow-y: auto;\n }\n\n .sm\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n\n .sm\\:overflow-y-hidden {\n overflow-y: hidden;\n }\n\n .sm\\:overflow-x-visible {\n overflow-x: visible;\n }\n\n .sm\\:overflow-y-visible {\n overflow-y: visible;\n }\n\n .sm\\:overflow-x-scroll {\n overflow-x: scroll;\n }\n\n .sm\\:overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .sm\\:scrolling-touch {\n -webkit-overflow-scrolling: touch;\n }\n\n .sm\\:scrolling-auto {\n -webkit-overflow-scrolling: auto;\n }\n\n .sm\\:p-0 {\n padding: 0;\n }\n\n .sm\\:p-1 {\n padding: .25rem;\n }\n\n .sm\\:p-2 {\n padding: .5rem;\n }\n\n .sm\\:p-3 {\n padding: .75rem;\n }\n\n .sm\\:p-4 {\n padding: 1rem;\n }\n\n .sm\\:p-5 {\n padding: 1.25rem;\n }\n\n .sm\\:p-6 {\n padding: 1.5rem;\n }\n\n .sm\\:p-8 {\n padding: 2rem;\n }\n\n .sm\\:p-10 {\n padding: 2.5rem;\n }\n\n .sm\\:p-12 {\n padding: 3rem;\n }\n\n .sm\\:p-16 {\n padding: 4rem;\n }\n\n .sm\\:p-20 {\n padding: 5rem;\n }\n\n .sm\\:p-24 {\n padding: 6rem;\n }\n\n .sm\\:p-32 {\n padding: 8rem;\n }\n\n .sm\\:p-px {\n padding: 1px;\n }\n\n .sm\\:py-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n .sm\\:px-0 {\n padding-left: 0;\n padding-right: 0;\n }\n\n .sm\\:py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n }\n\n .sm\\:px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n }\n\n .sm\\:py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n }\n\n .sm\\:px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n }\n\n .sm\\:py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n }\n\n .sm\\:px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n }\n\n .sm\\:py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n\n .sm\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .sm\\:py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n }\n\n .sm\\:px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .sm\\:py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n\n .sm\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n\n .sm\\:py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n }\n\n .sm\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n\n .sm\\:py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n }\n\n .sm\\:px-10 {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n }\n\n .sm\\:py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n\n .sm\\:px-12 {\n padding-left: 3rem;\n padding-right: 3rem;\n }\n\n .sm\\:py-16 {\n padding-top: 4rem;\n padding-bottom: 4rem;\n }\n\n .sm\\:px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n }\n\n .sm\\:py-20 {\n padding-top: 5rem;\n padding-bottom: 5rem;\n }\n\n .sm\\:px-20 {\n padding-left: 5rem;\n padding-right: 5rem;\n }\n\n .sm\\:py-24 {\n padding-top: 6rem;\n padding-bottom: 6rem;\n }\n\n .sm\\:px-24 {\n padding-left: 6rem;\n padding-right: 6rem;\n }\n\n .sm\\:py-32 {\n padding-top: 8rem;\n padding-bottom: 8rem;\n }\n\n .sm\\:px-32 {\n padding-left: 8rem;\n padding-right: 8rem;\n }\n\n .sm\\:py-px {\n padding-top: 1px;\n padding-bottom: 1px;\n }\n\n .sm\\:px-px {\n padding-left: 1px;\n padding-right: 1px;\n }\n\n .sm\\:pt-0 {\n padding-top: 0;\n }\n\n .sm\\:pr-0 {\n padding-right: 0;\n }\n\n .sm\\:pb-0 {\n padding-bottom: 0;\n }\n\n .sm\\:pl-0 {\n padding-left: 0;\n }\n\n .sm\\:pt-1 {\n padding-top: .25rem;\n }\n\n .sm\\:pr-1 {\n padding-right: .25rem;\n }\n\n .sm\\:pb-1 {\n padding-bottom: .25rem;\n }\n\n .sm\\:pl-1 {\n padding-left: .25rem;\n }\n\n .sm\\:pt-2 {\n padding-top: .5rem;\n }\n\n .sm\\:pr-2 {\n padding-right: .5rem;\n }\n\n .sm\\:pb-2 {\n padding-bottom: .5rem;\n }\n\n .sm\\:pl-2 {\n padding-left: .5rem;\n }\n\n .sm\\:pt-3 {\n padding-top: .75rem;\n }\n\n .sm\\:pr-3 {\n padding-right: .75rem;\n }\n\n .sm\\:pb-3 {\n padding-bottom: .75rem;\n }\n\n .sm\\:pl-3 {\n padding-left: .75rem;\n }\n\n .sm\\:pt-4 {\n padding-top: 1rem;\n }\n\n .sm\\:pr-4 {\n padding-right: 1rem;\n }\n\n .sm\\:pb-4 {\n padding-bottom: 1rem;\n }\n\n .sm\\:pl-4 {\n padding-left: 1rem;\n }\n\n .sm\\:pt-5 {\n padding-top: 1.25rem;\n }\n\n .sm\\:pr-5 {\n padding-right: 1.25rem;\n }\n\n .sm\\:pb-5 {\n padding-bottom: 1.25rem;\n }\n\n .sm\\:pl-5 {\n padding-left: 1.25rem;\n }\n\n .sm\\:pt-6 {\n padding-top: 1.5rem;\n }\n\n .sm\\:pr-6 {\n padding-right: 1.5rem;\n }\n\n .sm\\:pb-6 {\n padding-bottom: 1.5rem;\n }\n\n .sm\\:pl-6 {\n padding-left: 1.5rem;\n }\n\n .sm\\:pt-8 {\n padding-top: 2rem;\n }\n\n .sm\\:pr-8 {\n padding-right: 2rem;\n }\n\n .sm\\:pb-8 {\n padding-bottom: 2rem;\n }\n\n .sm\\:pl-8 {\n padding-left: 2rem;\n }\n\n .sm\\:pt-10 {\n padding-top: 2.5rem;\n }\n\n .sm\\:pr-10 {\n padding-right: 2.5rem;\n }\n\n .sm\\:pb-10 {\n padding-bottom: 2.5rem;\n }\n\n .sm\\:pl-10 {\n padding-left: 2.5rem;\n }\n\n .sm\\:pt-12 {\n padding-top: 3rem;\n }\n\n .sm\\:pr-12 {\n padding-right: 3rem;\n }\n\n .sm\\:pb-12 {\n padding-bottom: 3rem;\n }\n\n .sm\\:pl-12 {\n padding-left: 3rem;\n }\n\n .sm\\:pt-16 {\n padding-top: 4rem;\n }\n\n .sm\\:pr-16 {\n padding-right: 4rem;\n }\n\n .sm\\:pb-16 {\n padding-bottom: 4rem;\n }\n\n .sm\\:pl-16 {\n padding-left: 4rem;\n }\n\n .sm\\:pt-20 {\n padding-top: 5rem;\n }\n\n .sm\\:pr-20 {\n padding-right: 5rem;\n }\n\n .sm\\:pb-20 {\n padding-bottom: 5rem;\n }\n\n .sm\\:pl-20 {\n padding-left: 5rem;\n }\n\n .sm\\:pt-24 {\n padding-top: 6rem;\n }\n\n .sm\\:pr-24 {\n padding-right: 6rem;\n }\n\n .sm\\:pb-24 {\n padding-bottom: 6rem;\n }\n\n .sm\\:pl-24 {\n padding-left: 6rem;\n }\n\n .sm\\:pt-32 {\n padding-top: 8rem;\n }\n\n .sm\\:pr-32 {\n padding-right: 8rem;\n }\n\n .sm\\:pb-32 {\n padding-bottom: 8rem;\n }\n\n .sm\\:pl-32 {\n padding-left: 8rem;\n }\n\n .sm\\:pt-px {\n padding-top: 1px;\n }\n\n .sm\\:pr-px {\n padding-right: 1px;\n }\n\n .sm\\:pb-px {\n padding-bottom: 1px;\n }\n\n .sm\\:pl-px {\n padding-left: 1px;\n }\n\n .sm\\:pointer-events-none {\n pointer-events: none;\n }\n\n .sm\\:pointer-events-auto {\n pointer-events: auto;\n }\n\n .sm\\:static {\n position: static;\n }\n\n .sm\\:fixed {\n position: fixed;\n }\n\n .sm\\:absolute {\n position: absolute;\n }\n\n .sm\\:relative {\n position: relative;\n }\n\n .sm\\:sticky {\n position: sticky;\n }\n\n .sm\\:pin-none {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n }\n\n .sm\\:pin {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n .sm\\:pin-y {\n top: 0;\n bottom: 0;\n }\n\n .sm\\:pin-x {\n right: 0;\n left: 0;\n }\n\n .sm\\:pin-t {\n top: 0;\n }\n\n .sm\\:pin-r {\n right: 0;\n }\n\n .sm\\:pin-b {\n bottom: 0;\n }\n\n .sm\\:pin-l {\n left: 0;\n }\n\n .sm\\:resize-none {\n resize: none;\n }\n\n .sm\\:resize-y {\n resize: vertical;\n }\n\n .sm\\:resize-x {\n resize: horizontal;\n }\n\n .sm\\:resize {\n resize: both;\n }\n\n .sm\\:shadow {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .sm\\:shadow-md {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .sm\\:shadow-lg {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .sm\\:shadow-inner {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .sm\\:shadow-outline {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .sm\\:shadow-none {\n box-shadow: none;\n }\n\n .sm\\:hover\\:shadow:hover {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .sm\\:hover\\:shadow-md:hover {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .sm\\:hover\\:shadow-lg:hover {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .sm\\:hover\\:shadow-inner:hover {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .sm\\:hover\\:shadow-outline:hover {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .sm\\:hover\\:shadow-none:hover {\n box-shadow: none;\n }\n\n .sm\\:focus\\:shadow:focus {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .sm\\:focus\\:shadow-md:focus {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .sm\\:focus\\:shadow-lg:focus {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .sm\\:focus\\:shadow-inner:focus {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .sm\\:focus\\:shadow-outline:focus {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .sm\\:focus\\:shadow-none:focus {\n box-shadow: none;\n }\n\n .sm\\:table-auto {\n table-layout: auto;\n }\n\n .sm\\:table-fixed {\n table-layout: fixed;\n }\n\n .sm\\:text-left {\n text-align: left;\n }\n\n .sm\\:text-center {\n text-align: center;\n }\n\n .sm\\:text-right {\n text-align: right;\n }\n\n .sm\\:text-justify {\n text-align: justify;\n }\n\n .sm\\:text-transparent {\n color: transparent;\n }\n\n .sm\\:text-black {\n color: #22292f;\n }\n\n .sm\\:text-grey-darkest {\n color: #3d4852;\n }\n\n .sm\\:text-grey-darker {\n color: #606f7b;\n }\n\n .sm\\:text-grey-dark {\n color: #8795a1;\n }\n\n .sm\\:text-grey {\n color: #b8c2cc;\n }\n\n .sm\\:text-grey-light {\n color: #dae1e7;\n }\n\n .sm\\:text-grey-lighter {\n color: #f1f5f8;\n }\n\n .sm\\:text-grey-lightest {\n color: #f8fafc;\n }\n\n .sm\\:text-white {\n color: #fff;\n }\n\n .sm\\:text-red-darkest {\n color: #3b0d0c;\n }\n\n .sm\\:text-red-darker {\n color: #621b18;\n }\n\n .sm\\:text-red-dark {\n color: #cc1f1a;\n }\n\n .sm\\:text-red {\n color: #e3342f;\n }\n\n .sm\\:text-red-light {\n color: #ef5753;\n }\n\n .sm\\:text-red-lighter {\n color: #f9acaa;\n }\n\n .sm\\:text-red-lightest {\n color: #fcebea;\n }\n\n .sm\\:text-orange-darkest {\n color: #462a16;\n }\n\n .sm\\:text-orange-darker {\n color: #613b1f;\n }\n\n .sm\\:text-orange-dark {\n color: #de751f;\n }\n\n .sm\\:text-orange {\n color: #f6993f;\n }\n\n .sm\\:text-orange-light {\n color: #faad63;\n }\n\n .sm\\:text-orange-lighter {\n color: #fcd9b6;\n }\n\n .sm\\:text-orange-lightest {\n color: #fff5eb;\n }\n\n .sm\\:text-yellow-darkest {\n color: #453411;\n }\n\n .sm\\:text-yellow-darker {\n color: #684f1d;\n }\n\n .sm\\:text-yellow-dark {\n color: #f2d024;\n }\n\n .sm\\:text-yellow {\n color: #ffed4a;\n }\n\n .sm\\:text-yellow-light {\n color: #fff382;\n }\n\n .sm\\:text-yellow-lighter {\n color: #fff9c2;\n }\n\n .sm\\:text-yellow-lightest {\n color: #fcfbeb;\n }\n\n .sm\\:text-green-darkest {\n color: #0f2f21;\n }\n\n .sm\\:text-green-darker {\n color: #1a4731;\n }\n\n .sm\\:text-green-dark {\n color: #1f9d55;\n }\n\n .sm\\:text-green {\n color: #38c172;\n }\n\n .sm\\:text-green-light {\n color: #51d88a;\n }\n\n .sm\\:text-green-lighter {\n color: #a2f5bf;\n }\n\n .sm\\:text-green-lightest {\n color: #e3fcec;\n }\n\n .sm\\:text-teal-darkest {\n color: #0d3331;\n }\n\n .sm\\:text-teal-darker {\n color: #20504f;\n }\n\n .sm\\:text-teal-dark {\n color: #38a89d;\n }\n\n .sm\\:text-teal {\n color: #4dc0b5;\n }\n\n .sm\\:text-teal-light {\n color: #64d5ca;\n }\n\n .sm\\:text-teal-lighter {\n color: #a0f0ed;\n }\n\n .sm\\:text-teal-lightest {\n color: #e8fffe;\n }\n\n .sm\\:text-blue-darkest {\n color: #12283a;\n }\n\n .sm\\:text-blue-darker {\n color: #1c3d5a;\n }\n\n .sm\\:text-blue-dark {\n color: #2779bd;\n }\n\n .sm\\:text-blue {\n color: #3490dc;\n }\n\n .sm\\:text-blue-light {\n color: #6cb2eb;\n }\n\n .sm\\:text-blue-lighter {\n color: #bcdefa;\n }\n\n .sm\\:text-blue-lightest {\n color: #eff8ff;\n }\n\n .sm\\:text-indigo-darkest {\n color: #191e38;\n }\n\n .sm\\:text-indigo-darker {\n color: #2f365f;\n }\n\n .sm\\:text-indigo-dark {\n color: #5661b3;\n }\n\n .sm\\:text-indigo {\n color: #6574cd;\n }\n\n .sm\\:text-indigo-light {\n color: #7886d7;\n }\n\n .sm\\:text-indigo-lighter {\n color: #b2b7ff;\n }\n\n .sm\\:text-indigo-lightest {\n color: #e6e8ff;\n }\n\n .sm\\:text-purple-darkest {\n color: #21183c;\n }\n\n .sm\\:text-purple-darker {\n color: #382b5f;\n }\n\n .sm\\:text-purple-dark {\n color: #794acf;\n }\n\n .sm\\:text-purple {\n color: #9561e2;\n }\n\n .sm\\:text-purple-light {\n color: #a779e9;\n }\n\n .sm\\:text-purple-lighter {\n color: #d6bbfc;\n }\n\n .sm\\:text-purple-lightest {\n color: #f3ebff;\n }\n\n .sm\\:text-pink-darkest {\n color: #451225;\n }\n\n .sm\\:text-pink-darker {\n color: #6f213f;\n }\n\n .sm\\:text-pink-dark {\n color: #eb5286;\n }\n\n .sm\\:text-pink {\n color: #f66d9b;\n }\n\n .sm\\:text-pink-light {\n color: #fa7ea8;\n }\n\n .sm\\:text-pink-lighter {\n color: #ffbbca;\n }\n\n .sm\\:text-pink-lightest {\n color: #ffebef;\n }\n\n .sm\\:hover\\:text-transparent:hover {\n color: transparent;\n }\n\n .sm\\:hover\\:text-black:hover {\n color: #22292f;\n }\n\n .sm\\:hover\\:text-grey-darkest:hover {\n color: #3d4852;\n }\n\n .sm\\:hover\\:text-grey-darker:hover {\n color: #606f7b;\n }\n\n .sm\\:hover\\:text-grey-dark:hover {\n color: #8795a1;\n }\n\n .sm\\:hover\\:text-grey:hover {\n color: #b8c2cc;\n }\n\n .sm\\:hover\\:text-grey-light:hover {\n color: #dae1e7;\n }\n\n .sm\\:hover\\:text-grey-lighter:hover {\n color: #f1f5f8;\n }\n\n .sm\\:hover\\:text-grey-lightest:hover {\n color: #f8fafc;\n }\n\n .sm\\:hover\\:text-white:hover {\n color: #fff;\n }\n\n .sm\\:hover\\:text-red-darkest:hover {\n color: #3b0d0c;\n }\n\n .sm\\:hover\\:text-red-darker:hover {\n color: #621b18;\n }\n\n .sm\\:hover\\:text-red-dark:hover {\n color: #cc1f1a;\n }\n\n .sm\\:hover\\:text-red:hover {\n color: #e3342f;\n }\n\n .sm\\:hover\\:text-red-light:hover {\n color: #ef5753;\n }\n\n .sm\\:hover\\:text-red-lighter:hover {\n color: #f9acaa;\n }\n\n .sm\\:hover\\:text-red-lightest:hover {\n color: #fcebea;\n }\n\n .sm\\:hover\\:text-orange-darkest:hover {\n color: #462a16;\n }\n\n .sm\\:hover\\:text-orange-darker:hover {\n color: #613b1f;\n }\n\n .sm\\:hover\\:text-orange-dark:hover {\n color: #de751f;\n }\n\n .sm\\:hover\\:text-orange:hover {\n color: #f6993f;\n }\n\n .sm\\:hover\\:text-orange-light:hover {\n color: #faad63;\n }\n\n .sm\\:hover\\:text-orange-lighter:hover {\n color: #fcd9b6;\n }\n\n .sm\\:hover\\:text-orange-lightest:hover {\n color: #fff5eb;\n }\n\n .sm\\:hover\\:text-yellow-darkest:hover {\n color: #453411;\n }\n\n .sm\\:hover\\:text-yellow-darker:hover {\n color: #684f1d;\n }\n\n .sm\\:hover\\:text-yellow-dark:hover {\n color: #f2d024;\n }\n\n .sm\\:hover\\:text-yellow:hover {\n color: #ffed4a;\n }\n\n .sm\\:hover\\:text-yellow-light:hover {\n color: #fff382;\n }\n\n .sm\\:hover\\:text-yellow-lighter:hover {\n color: #fff9c2;\n }\n\n .sm\\:hover\\:text-yellow-lightest:hover {\n color: #fcfbeb;\n }\n\n .sm\\:hover\\:text-green-darkest:hover {\n color: #0f2f21;\n }\n\n .sm\\:hover\\:text-green-darker:hover {\n color: #1a4731;\n }\n\n .sm\\:hover\\:text-green-dark:hover {\n color: #1f9d55;\n }\n\n .sm\\:hover\\:text-green:hover {\n color: #38c172;\n }\n\n .sm\\:hover\\:text-green-light:hover {\n color: #51d88a;\n }\n\n .sm\\:hover\\:text-green-lighter:hover {\n color: #a2f5bf;\n }\n\n .sm\\:hover\\:text-green-lightest:hover {\n color: #e3fcec;\n }\n\n .sm\\:hover\\:text-teal-darkest:hover {\n color: #0d3331;\n }\n\n .sm\\:hover\\:text-teal-darker:hover {\n color: #20504f;\n }\n\n .sm\\:hover\\:text-teal-dark:hover {\n color: #38a89d;\n }\n\n .sm\\:hover\\:text-teal:hover {\n color: #4dc0b5;\n }\n\n .sm\\:hover\\:text-teal-light:hover {\n color: #64d5ca;\n }\n\n .sm\\:hover\\:text-teal-lighter:hover {\n color: #a0f0ed;\n }\n\n .sm\\:hover\\:text-teal-lightest:hover {\n color: #e8fffe;\n }\n\n .sm\\:hover\\:text-blue-darkest:hover {\n color: #12283a;\n }\n\n .sm\\:hover\\:text-blue-darker:hover {\n color: #1c3d5a;\n }\n\n .sm\\:hover\\:text-blue-dark:hover {\n color: #2779bd;\n }\n\n .sm\\:hover\\:text-blue:hover {\n color: #3490dc;\n }\n\n .sm\\:hover\\:text-blue-light:hover {\n color: #6cb2eb;\n }\n\n .sm\\:hover\\:text-blue-lighter:hover {\n color: #bcdefa;\n }\n\n .sm\\:hover\\:text-blue-lightest:hover {\n color: #eff8ff;\n }\n\n .sm\\:hover\\:text-indigo-darkest:hover {\n color: #191e38;\n }\n\n .sm\\:hover\\:text-indigo-darker:hover {\n color: #2f365f;\n }\n\n .sm\\:hover\\:text-indigo-dark:hover {\n color: #5661b3;\n }\n\n .sm\\:hover\\:text-indigo:hover {\n color: #6574cd;\n }\n\n .sm\\:hover\\:text-indigo-light:hover {\n color: #7886d7;\n }\n\n .sm\\:hover\\:text-indigo-lighter:hover {\n color: #b2b7ff;\n }\n\n .sm\\:hover\\:text-indigo-lightest:hover {\n color: #e6e8ff;\n }\n\n .sm\\:hover\\:text-purple-darkest:hover {\n color: #21183c;\n }\n\n .sm\\:hover\\:text-purple-darker:hover {\n color: #382b5f;\n }\n\n .sm\\:hover\\:text-purple-dark:hover {\n color: #794acf;\n }\n\n .sm\\:hover\\:text-purple:hover {\n color: #9561e2;\n }\n\n .sm\\:hover\\:text-purple-light:hover {\n color: #a779e9;\n }\n\n .sm\\:hover\\:text-purple-lighter:hover {\n color: #d6bbfc;\n }\n\n .sm\\:hover\\:text-purple-lightest:hover {\n color: #f3ebff;\n }\n\n .sm\\:hover\\:text-pink-darkest:hover {\n color: #451225;\n }\n\n .sm\\:hover\\:text-pink-darker:hover {\n color: #6f213f;\n }\n\n .sm\\:hover\\:text-pink-dark:hover {\n color: #eb5286;\n }\n\n .sm\\:hover\\:text-pink:hover {\n color: #f66d9b;\n }\n\n .sm\\:hover\\:text-pink-light:hover {\n color: #fa7ea8;\n }\n\n .sm\\:hover\\:text-pink-lighter:hover {\n color: #ffbbca;\n }\n\n .sm\\:hover\\:text-pink-lightest:hover {\n color: #ffebef;\n }\n\n .sm\\:focus\\:text-transparent:focus {\n color: transparent;\n }\n\n .sm\\:focus\\:text-black:focus {\n color: #22292f;\n }\n\n .sm\\:focus\\:text-grey-darkest:focus {\n color: #3d4852;\n }\n\n .sm\\:focus\\:text-grey-darker:focus {\n color: #606f7b;\n }\n\n .sm\\:focus\\:text-grey-dark:focus {\n color: #8795a1;\n }\n\n .sm\\:focus\\:text-grey:focus {\n color: #b8c2cc;\n }\n\n .sm\\:focus\\:text-grey-light:focus {\n color: #dae1e7;\n }\n\n .sm\\:focus\\:text-grey-lighter:focus {\n color: #f1f5f8;\n }\n\n .sm\\:focus\\:text-grey-lightest:focus {\n color: #f8fafc;\n }\n\n .sm\\:focus\\:text-white:focus {\n color: #fff;\n }\n\n .sm\\:focus\\:text-red-darkest:focus {\n color: #3b0d0c;\n }\n\n .sm\\:focus\\:text-red-darker:focus {\n color: #621b18;\n }\n\n .sm\\:focus\\:text-red-dark:focus {\n color: #cc1f1a;\n }\n\n .sm\\:focus\\:text-red:focus {\n color: #e3342f;\n }\n\n .sm\\:focus\\:text-red-light:focus {\n color: #ef5753;\n }\n\n .sm\\:focus\\:text-red-lighter:focus {\n color: #f9acaa;\n }\n\n .sm\\:focus\\:text-red-lightest:focus {\n color: #fcebea;\n }\n\n .sm\\:focus\\:text-orange-darkest:focus {\n color: #462a16;\n }\n\n .sm\\:focus\\:text-orange-darker:focus {\n color: #613b1f;\n }\n\n .sm\\:focus\\:text-orange-dark:focus {\n color: #de751f;\n }\n\n .sm\\:focus\\:text-orange:focus {\n color: #f6993f;\n }\n\n .sm\\:focus\\:text-orange-light:focus {\n color: #faad63;\n }\n\n .sm\\:focus\\:text-orange-lighter:focus {\n color: #fcd9b6;\n }\n\n .sm\\:focus\\:text-orange-lightest:focus {\n color: #fff5eb;\n }\n\n .sm\\:focus\\:text-yellow-darkest:focus {\n color: #453411;\n }\n\n .sm\\:focus\\:text-yellow-darker:focus {\n color: #684f1d;\n }\n\n .sm\\:focus\\:text-yellow-dark:focus {\n color: #f2d024;\n }\n\n .sm\\:focus\\:text-yellow:focus {\n color: #ffed4a;\n }\n\n .sm\\:focus\\:text-yellow-light:focus {\n color: #fff382;\n }\n\n .sm\\:focus\\:text-yellow-lighter:focus {\n color: #fff9c2;\n }\n\n .sm\\:focus\\:text-yellow-lightest:focus {\n color: #fcfbeb;\n }\n\n .sm\\:focus\\:text-green-darkest:focus {\n color: #0f2f21;\n }\n\n .sm\\:focus\\:text-green-darker:focus {\n color: #1a4731;\n }\n\n .sm\\:focus\\:text-green-dark:focus {\n color: #1f9d55;\n }\n\n .sm\\:focus\\:text-green:focus {\n color: #38c172;\n }\n\n .sm\\:focus\\:text-green-light:focus {\n color: #51d88a;\n }\n\n .sm\\:focus\\:text-green-lighter:focus {\n color: #a2f5bf;\n }\n\n .sm\\:focus\\:text-green-lightest:focus {\n color: #e3fcec;\n }\n\n .sm\\:focus\\:text-teal-darkest:focus {\n color: #0d3331;\n }\n\n .sm\\:focus\\:text-teal-darker:focus {\n color: #20504f;\n }\n\n .sm\\:focus\\:text-teal-dark:focus {\n color: #38a89d;\n }\n\n .sm\\:focus\\:text-teal:focus {\n color: #4dc0b5;\n }\n\n .sm\\:focus\\:text-teal-light:focus {\n color: #64d5ca;\n }\n\n .sm\\:focus\\:text-teal-lighter:focus {\n color: #a0f0ed;\n }\n\n .sm\\:focus\\:text-teal-lightest:focus {\n color: #e8fffe;\n }\n\n .sm\\:focus\\:text-blue-darkest:focus {\n color: #12283a;\n }\n\n .sm\\:focus\\:text-blue-darker:focus {\n color: #1c3d5a;\n }\n\n .sm\\:focus\\:text-blue-dark:focus {\n color: #2779bd;\n }\n\n .sm\\:focus\\:text-blue:focus {\n color: #3490dc;\n }\n\n .sm\\:focus\\:text-blue-light:focus {\n color: #6cb2eb;\n }\n\n .sm\\:focus\\:text-blue-lighter:focus {\n color: #bcdefa;\n }\n\n .sm\\:focus\\:text-blue-lightest:focus {\n color: #eff8ff;\n }\n\n .sm\\:focus\\:text-indigo-darkest:focus {\n color: #191e38;\n }\n\n .sm\\:focus\\:text-indigo-darker:focus {\n color: #2f365f;\n }\n\n .sm\\:focus\\:text-indigo-dark:focus {\n color: #5661b3;\n }\n\n .sm\\:focus\\:text-indigo:focus {\n color: #6574cd;\n }\n\n .sm\\:focus\\:text-indigo-light:focus {\n color: #7886d7;\n }\n\n .sm\\:focus\\:text-indigo-lighter:focus {\n color: #b2b7ff;\n }\n\n .sm\\:focus\\:text-indigo-lightest:focus {\n color: #e6e8ff;\n }\n\n .sm\\:focus\\:text-purple-darkest:focus {\n color: #21183c;\n }\n\n .sm\\:focus\\:text-purple-darker:focus {\n color: #382b5f;\n }\n\n .sm\\:focus\\:text-purple-dark:focus {\n color: #794acf;\n }\n\n .sm\\:focus\\:text-purple:focus {\n color: #9561e2;\n }\n\n .sm\\:focus\\:text-purple-light:focus {\n color: #a779e9;\n }\n\n .sm\\:focus\\:text-purple-lighter:focus {\n color: #d6bbfc;\n }\n\n .sm\\:focus\\:text-purple-lightest:focus {\n color: #f3ebff;\n }\n\n .sm\\:focus\\:text-pink-darkest:focus {\n color: #451225;\n }\n\n .sm\\:focus\\:text-pink-darker:focus {\n color: #6f213f;\n }\n\n .sm\\:focus\\:text-pink-dark:focus {\n color: #eb5286;\n }\n\n .sm\\:focus\\:text-pink:focus {\n color: #f66d9b;\n }\n\n .sm\\:focus\\:text-pink-light:focus {\n color: #fa7ea8;\n }\n\n .sm\\:focus\\:text-pink-lighter:focus {\n color: #ffbbca;\n }\n\n .sm\\:focus\\:text-pink-lightest:focus {\n color: #ffebef;\n }\n\n .sm\\:text-xs {\n font-size: .75rem;\n }\n\n .sm\\:text-sm {\n font-size: .875rem;\n }\n\n .sm\\:text-base {\n font-size: 1rem;\n }\n\n .sm\\:text-lg {\n font-size: 1.125rem;\n }\n\n .sm\\:text-xl {\n font-size: 1.25rem;\n }\n\n .sm\\:text-2xl {\n font-size: 1.5rem;\n }\n\n .sm\\:text-3xl {\n font-size: 1.875rem;\n }\n\n .sm\\:text-4xl {\n font-size: 2.25rem;\n }\n\n .sm\\:text-5xl {\n font-size: 3rem;\n }\n\n .sm\\:italic {\n font-style: italic;\n }\n\n .sm\\:roman {\n font-style: normal;\n }\n\n .sm\\:uppercase {\n text-transform: uppercase;\n }\n\n .sm\\:lowercase {\n text-transform: lowercase;\n }\n\n .sm\\:capitalize {\n text-transform: capitalize;\n }\n\n .sm\\:normal-case {\n text-transform: none;\n }\n\n .sm\\:underline {\n text-decoration: underline;\n }\n\n .sm\\:line-through {\n text-decoration: line-through;\n }\n\n .sm\\:no-underline {\n text-decoration: none;\n }\n\n .sm\\:antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .sm\\:subpixel-antialiased {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .sm\\:hover\\:italic:hover {\n font-style: italic;\n }\n\n .sm\\:hover\\:roman:hover {\n font-style: normal;\n }\n\n .sm\\:hover\\:uppercase:hover {\n text-transform: uppercase;\n }\n\n .sm\\:hover\\:lowercase:hover {\n text-transform: lowercase;\n }\n\n .sm\\:hover\\:capitalize:hover {\n text-transform: capitalize;\n }\n\n .sm\\:hover\\:normal-case:hover {\n text-transform: none;\n }\n\n .sm\\:hover\\:underline:hover {\n text-decoration: underline;\n }\n\n .sm\\:hover\\:line-through:hover {\n text-decoration: line-through;\n }\n\n .sm\\:hover\\:no-underline:hover {\n text-decoration: none;\n }\n\n .sm\\:hover\\:antialiased:hover {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .sm\\:hover\\:subpixel-antialiased:hover {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .sm\\:focus\\:italic:focus {\n font-style: italic;\n }\n\n .sm\\:focus\\:roman:focus {\n font-style: normal;\n }\n\n .sm\\:focus\\:uppercase:focus {\n text-transform: uppercase;\n }\n\n .sm\\:focus\\:lowercase:focus {\n text-transform: lowercase;\n }\n\n .sm\\:focus\\:capitalize:focus {\n text-transform: capitalize;\n }\n\n .sm\\:focus\\:normal-case:focus {\n text-transform: none;\n }\n\n .sm\\:focus\\:underline:focus {\n text-decoration: underline;\n }\n\n .sm\\:focus\\:line-through:focus {\n text-decoration: line-through;\n }\n\n .sm\\:focus\\:no-underline:focus {\n text-decoration: none;\n }\n\n .sm\\:focus\\:antialiased:focus {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .sm\\:focus\\:subpixel-antialiased:focus {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .sm\\:tracking-tight {\n letter-spacing: -0.05em;\n }\n\n .sm\\:tracking-normal {\n letter-spacing: 0;\n }\n\n .sm\\:tracking-wide {\n letter-spacing: .05em;\n }\n\n .sm\\:select-none {\n user-select: none;\n }\n\n .sm\\:select-text {\n user-select: text;\n }\n\n .sm\\:align-baseline {\n vertical-align: baseline;\n }\n\n .sm\\:align-top {\n vertical-align: top;\n }\n\n .sm\\:align-middle {\n vertical-align: middle;\n }\n\n .sm\\:align-bottom {\n vertical-align: bottom;\n }\n\n .sm\\:align-text-top {\n vertical-align: text-top;\n }\n\n .sm\\:align-text-bottom {\n vertical-align: text-bottom;\n }\n\n .sm\\:visible {\n visibility: visible;\n }\n\n .sm\\:invisible {\n visibility: hidden;\n }\n\n .sm\\:whitespace-normal {\n white-space: normal;\n }\n\n .sm\\:whitespace-no-wrap {\n white-space: nowrap;\n }\n\n .sm\\:whitespace-pre {\n white-space: pre;\n }\n\n .sm\\:whitespace-pre-line {\n white-space: pre-line;\n }\n\n .sm\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n\n .sm\\:break-words {\n word-wrap: break-word;\n }\n\n .sm\\:break-normal {\n word-wrap: normal;\n }\n\n .sm\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .sm\\:w-1 {\n width: .25rem;\n }\n\n .sm\\:w-2 {\n width: .5rem;\n }\n\n .sm\\:w-3 {\n width: .75rem;\n }\n\n .sm\\:w-4 {\n width: 1rem;\n }\n\n .sm\\:w-5 {\n width: 1.25rem;\n }\n\n .sm\\:w-6 {\n width: 1.5rem;\n }\n\n .sm\\:w-8 {\n width: 2rem;\n }\n\n .sm\\:w-10 {\n width: 2.5rem;\n }\n\n .sm\\:w-12 {\n width: 3rem;\n }\n\n .sm\\:w-16 {\n width: 4rem;\n }\n\n .sm\\:w-24 {\n width: 6rem;\n }\n\n .sm\\:w-32 {\n width: 8rem;\n }\n\n .sm\\:w-48 {\n width: 12rem;\n }\n\n .sm\\:w-64 {\n width: 16rem;\n }\n\n .sm\\:w-auto {\n width: auto;\n }\n\n .sm\\:w-px {\n width: 1px;\n }\n\n .sm\\:w-1\\/2 {\n width: 50%;\n }\n\n .sm\\:w-1\\/3 {\n width: 33.33333%;\n }\n\n .sm\\:w-2\\/3 {\n width: 66.66667%;\n }\n\n .sm\\:w-1\\/4 {\n width: 25%;\n }\n\n .sm\\:w-3\\/4 {\n width: 75%;\n }\n\n .sm\\:w-1\\/5 {\n width: 20%;\n }\n\n .sm\\:w-2\\/5 {\n width: 40%;\n }\n\n .sm\\:w-3\\/5 {\n width: 60%;\n }\n\n .sm\\:w-4\\/5 {\n width: 80%;\n }\n\n .sm\\:w-1\\/6 {\n width: 16.66667%;\n }\n\n .sm\\:w-5\\/6 {\n width: 83.33333%;\n }\n\n .sm\\:w-full {\n width: 100%;\n }\n\n .sm\\:w-screen {\n width: 100vw;\n }\n\n .sm\\:z-0 {\n z-index: 0;\n }\n\n .sm\\:z-10 {\n z-index: 10;\n }\n\n .sm\\:z-20 {\n z-index: 20;\n }\n\n .sm\\:z-30 {\n z-index: 30;\n }\n\n .sm\\:z-40 {\n z-index: 40;\n }\n\n .sm\\:z-50 {\n z-index: 50;\n }\n\n .sm\\:z-auto {\n z-index: auto;\n }\n}\n\n@media (min-width: 768px) {\n .md\\:list-reset {\n list-style: none;\n padding: 0;\n }\n\n .md\\:appearance-none {\n appearance: none;\n }\n\n .md\\:bg-fixed {\n background-attachment: fixed;\n }\n\n .md\\:bg-local {\n background-attachment: local;\n }\n\n .md\\:bg-scroll {\n background-attachment: scroll;\n }\n\n .md\\:bg-transparent {\n background-color: transparent;\n }\n\n .md\\:bg-black {\n background-color: #22292f;\n }\n\n .md\\:bg-grey-darkest {\n background-color: #3d4852;\n }\n\n .md\\:bg-grey-darker {\n background-color: #606f7b;\n }\n\n .md\\:bg-grey-dark {\n background-color: #8795a1;\n }\n\n .md\\:bg-grey {\n background-color: #b8c2cc;\n }\n\n .md\\:bg-grey-light {\n background-color: #dae1e7;\n }\n\n .md\\:bg-grey-lighter {\n background-color: #f1f5f8;\n }\n\n .md\\:bg-grey-lightest {\n background-color: #f8fafc;\n }\n\n .md\\:bg-white {\n background-color: #fff;\n }\n\n .md\\:bg-red-darkest {\n background-color: #3b0d0c;\n }\n\n .md\\:bg-red-darker {\n background-color: #621b18;\n }\n\n .md\\:bg-red-dark {\n background-color: #cc1f1a;\n }\n\n .md\\:bg-red {\n background-color: #e3342f;\n }\n\n .md\\:bg-red-light {\n background-color: #ef5753;\n }\n\n .md\\:bg-red-lighter {\n background-color: #f9acaa;\n }\n\n .md\\:bg-red-lightest {\n background-color: #fcebea;\n }\n\n .md\\:bg-orange-darkest {\n background-color: #462a16;\n }\n\n .md\\:bg-orange-darker {\n background-color: #613b1f;\n }\n\n .md\\:bg-orange-dark {\n background-color: #de751f;\n }\n\n .md\\:bg-orange {\n background-color: #f6993f;\n }\n\n .md\\:bg-orange-light {\n background-color: #faad63;\n }\n\n .md\\:bg-orange-lighter {\n background-color: #fcd9b6;\n }\n\n .md\\:bg-orange-lightest {\n background-color: #fff5eb;\n }\n\n .md\\:bg-yellow-darkest {\n background-color: #453411;\n }\n\n .md\\:bg-yellow-darker {\n background-color: #684f1d;\n }\n\n .md\\:bg-yellow-dark {\n background-color: #f2d024;\n }\n\n .md\\:bg-yellow {\n background-color: #ffed4a;\n }\n\n .md\\:bg-yellow-light {\n background-color: #fff382;\n }\n\n .md\\:bg-yellow-lighter {\n background-color: #fff9c2;\n }\n\n .md\\:bg-yellow-lightest {\n background-color: #fcfbeb;\n }\n\n .md\\:bg-green-darkest {\n background-color: #0f2f21;\n }\n\n .md\\:bg-green-darker {\n background-color: #1a4731;\n }\n\n .md\\:bg-green-dark {\n background-color: #1f9d55;\n }\n\n .md\\:bg-green {\n background-color: #38c172;\n }\n\n .md\\:bg-green-light {\n background-color: #51d88a;\n }\n\n .md\\:bg-green-lighter {\n background-color: #a2f5bf;\n }\n\n .md\\:bg-green-lightest {\n background-color: #e3fcec;\n }\n\n .md\\:bg-teal-darkest {\n background-color: #0d3331;\n }\n\n .md\\:bg-teal-darker {\n background-color: #20504f;\n }\n\n .md\\:bg-teal-dark {\n background-color: #38a89d;\n }\n\n .md\\:bg-teal {\n background-color: #4dc0b5;\n }\n\n .md\\:bg-teal-light {\n background-color: #64d5ca;\n }\n\n .md\\:bg-teal-lighter {\n background-color: #a0f0ed;\n }\n\n .md\\:bg-teal-lightest {\n background-color: #e8fffe;\n }\n\n .md\\:bg-blue-darkest {\n background-color: #12283a;\n }\n\n .md\\:bg-blue-darker {\n background-color: #1c3d5a;\n }\n\n .md\\:bg-blue-dark {\n background-color: #2779bd;\n }\n\n .md\\:bg-blue {\n background-color: #3490dc;\n }\n\n .md\\:bg-blue-light {\n background-color: #6cb2eb;\n }\n\n .md\\:bg-blue-lighter {\n background-color: #bcdefa;\n }\n\n .md\\:bg-blue-lightest {\n background-color: #eff8ff;\n }\n\n .md\\:bg-indigo-darkest {\n background-color: #191e38;\n }\n\n .md\\:bg-indigo-darker {\n background-color: #2f365f;\n }\n\n .md\\:bg-indigo-dark {\n background-color: #5661b3;\n }\n\n .md\\:bg-indigo {\n background-color: #6574cd;\n }\n\n .md\\:bg-indigo-light {\n background-color: #7886d7;\n }\n\n .md\\:bg-indigo-lighter {\n background-color: #b2b7ff;\n }\n\n .md\\:bg-indigo-lightest {\n background-color: #e6e8ff;\n }\n\n .md\\:bg-purple-darkest {\n background-color: #21183c;\n }\n\n .md\\:bg-purple-darker {\n background-color: #382b5f;\n }\n\n .md\\:bg-purple-dark {\n background-color: #794acf;\n }\n\n .md\\:bg-purple {\n background-color: #9561e2;\n }\n\n .md\\:bg-purple-light {\n background-color: #a779e9;\n }\n\n .md\\:bg-purple-lighter {\n background-color: #d6bbfc;\n }\n\n .md\\:bg-purple-lightest {\n background-color: #f3ebff;\n }\n\n .md\\:bg-pink-darkest {\n background-color: #451225;\n }\n\n .md\\:bg-pink-darker {\n background-color: #6f213f;\n }\n\n .md\\:bg-pink-dark {\n background-color: #eb5286;\n }\n\n .md\\:bg-pink {\n background-color: #f66d9b;\n }\n\n .md\\:bg-pink-light {\n background-color: #fa7ea8;\n }\n\n .md\\:bg-pink-lighter {\n background-color: #ffbbca;\n }\n\n .md\\:bg-pink-lightest {\n background-color: #ffebef;\n }\n\n .md\\:hover\\:bg-transparent:hover {\n background-color: transparent;\n }\n\n .md\\:hover\\:bg-black:hover {\n background-color: #22292f;\n }\n\n .md\\:hover\\:bg-grey-darkest:hover {\n background-color: #3d4852;\n }\n\n .md\\:hover\\:bg-grey-darker:hover {\n background-color: #606f7b;\n }\n\n .md\\:hover\\:bg-grey-dark:hover {\n background-color: #8795a1;\n }\n\n .md\\:hover\\:bg-grey:hover {\n background-color: #b8c2cc;\n }\n\n .md\\:hover\\:bg-grey-light:hover {\n background-color: #dae1e7;\n }\n\n .md\\:hover\\:bg-grey-lighter:hover {\n background-color: #f1f5f8;\n }\n\n .md\\:hover\\:bg-grey-lightest:hover {\n background-color: #f8fafc;\n }\n\n .md\\:hover\\:bg-white:hover {\n background-color: #fff;\n }\n\n .md\\:hover\\:bg-red-darkest:hover {\n background-color: #3b0d0c;\n }\n\n .md\\:hover\\:bg-red-darker:hover {\n background-color: #621b18;\n }\n\n .md\\:hover\\:bg-red-dark:hover {\n background-color: #cc1f1a;\n }\n\n .md\\:hover\\:bg-red:hover {\n background-color: #e3342f;\n }\n\n .md\\:hover\\:bg-red-light:hover {\n background-color: #ef5753;\n }\n\n .md\\:hover\\:bg-red-lighter:hover {\n background-color: #f9acaa;\n }\n\n .md\\:hover\\:bg-red-lightest:hover {\n background-color: #fcebea;\n }\n\n .md\\:hover\\:bg-orange-darkest:hover {\n background-color: #462a16;\n }\n\n .md\\:hover\\:bg-orange-darker:hover {\n background-color: #613b1f;\n }\n\n .md\\:hover\\:bg-orange-dark:hover {\n background-color: #de751f;\n }\n\n .md\\:hover\\:bg-orange:hover {\n background-color: #f6993f;\n }\n\n .md\\:hover\\:bg-orange-light:hover {\n background-color: #faad63;\n }\n\n .md\\:hover\\:bg-orange-lighter:hover {\n background-color: #fcd9b6;\n }\n\n .md\\:hover\\:bg-orange-lightest:hover {\n background-color: #fff5eb;\n }\n\n .md\\:hover\\:bg-yellow-darkest:hover {\n background-color: #453411;\n }\n\n .md\\:hover\\:bg-yellow-darker:hover {\n background-color: #684f1d;\n }\n\n .md\\:hover\\:bg-yellow-dark:hover {\n background-color: #f2d024;\n }\n\n .md\\:hover\\:bg-yellow:hover {\n background-color: #ffed4a;\n }\n\n .md\\:hover\\:bg-yellow-light:hover {\n background-color: #fff382;\n }\n\n .md\\:hover\\:bg-yellow-lighter:hover {\n background-color: #fff9c2;\n }\n\n .md\\:hover\\:bg-yellow-lightest:hover {\n background-color: #fcfbeb;\n }\n\n .md\\:hover\\:bg-green-darkest:hover {\n background-color: #0f2f21;\n }\n\n .md\\:hover\\:bg-green-darker:hover {\n background-color: #1a4731;\n }\n\n .md\\:hover\\:bg-green-dark:hover {\n background-color: #1f9d55;\n }\n\n .md\\:hover\\:bg-green:hover {\n background-color: #38c172;\n }\n\n .md\\:hover\\:bg-green-light:hover {\n background-color: #51d88a;\n }\n\n .md\\:hover\\:bg-green-lighter:hover {\n background-color: #a2f5bf;\n }\n\n .md\\:hover\\:bg-green-lightest:hover {\n background-color: #e3fcec;\n }\n\n .md\\:hover\\:bg-teal-darkest:hover {\n background-color: #0d3331;\n }\n\n .md\\:hover\\:bg-teal-darker:hover {\n background-color: #20504f;\n }\n\n .md\\:hover\\:bg-teal-dark:hover {\n background-color: #38a89d;\n }\n\n .md\\:hover\\:bg-teal:hover {\n background-color: #4dc0b5;\n }\n\n .md\\:hover\\:bg-teal-light:hover {\n background-color: #64d5ca;\n }\n\n .md\\:hover\\:bg-teal-lighter:hover {\n background-color: #a0f0ed;\n }\n\n .md\\:hover\\:bg-teal-lightest:hover {\n background-color: #e8fffe;\n }\n\n .md\\:hover\\:bg-blue-darkest:hover {\n background-color: #12283a;\n }\n\n .md\\:hover\\:bg-blue-darker:hover {\n background-color: #1c3d5a;\n }\n\n .md\\:hover\\:bg-blue-dark:hover {\n background-color: #2779bd;\n }\n\n .md\\:hover\\:bg-blue:hover {\n background-color: #3490dc;\n }\n\n .md\\:hover\\:bg-blue-light:hover {\n background-color: #6cb2eb;\n }\n\n .md\\:hover\\:bg-blue-lighter:hover {\n background-color: #bcdefa;\n }\n\n .md\\:hover\\:bg-blue-lightest:hover {\n background-color: #eff8ff;\n }\n\n .md\\:hover\\:bg-indigo-darkest:hover {\n background-color: #191e38;\n }\n\n .md\\:hover\\:bg-indigo-darker:hover {\n background-color: #2f365f;\n }\n\n .md\\:hover\\:bg-indigo-dark:hover {\n background-color: #5661b3;\n }\n\n .md\\:hover\\:bg-indigo:hover {\n background-color: #6574cd;\n }\n\n .md\\:hover\\:bg-indigo-light:hover {\n background-color: #7886d7;\n }\n\n .md\\:hover\\:bg-indigo-lighter:hover {\n background-color: #b2b7ff;\n }\n\n .md\\:hover\\:bg-indigo-lightest:hover {\n background-color: #e6e8ff;\n }\n\n .md\\:hover\\:bg-purple-darkest:hover {\n background-color: #21183c;\n }\n\n .md\\:hover\\:bg-purple-darker:hover {\n background-color: #382b5f;\n }\n\n .md\\:hover\\:bg-purple-dark:hover {\n background-color: #794acf;\n }\n\n .md\\:hover\\:bg-purple:hover {\n background-color: #9561e2;\n }\n\n .md\\:hover\\:bg-purple-light:hover {\n background-color: #a779e9;\n }\n\n .md\\:hover\\:bg-purple-lighter:hover {\n background-color: #d6bbfc;\n }\n\n .md\\:hover\\:bg-purple-lightest:hover {\n background-color: #f3ebff;\n }\n\n .md\\:hover\\:bg-pink-darkest:hover {\n background-color: #451225;\n }\n\n .md\\:hover\\:bg-pink-darker:hover {\n background-color: #6f213f;\n }\n\n .md\\:hover\\:bg-pink-dark:hover {\n background-color: #eb5286;\n }\n\n .md\\:hover\\:bg-pink:hover {\n background-color: #f66d9b;\n }\n\n .md\\:hover\\:bg-pink-light:hover {\n background-color: #fa7ea8;\n }\n\n .md\\:hover\\:bg-pink-lighter:hover {\n background-color: #ffbbca;\n }\n\n .md\\:hover\\:bg-pink-lightest:hover {\n background-color: #ffebef;\n }\n\n .md\\:focus\\:bg-transparent:focus {\n background-color: transparent;\n }\n\n .md\\:focus\\:bg-black:focus {\n background-color: #22292f;\n }\n\n .md\\:focus\\:bg-grey-darkest:focus {\n background-color: #3d4852;\n }\n\n .md\\:focus\\:bg-grey-darker:focus {\n background-color: #606f7b;\n }\n\n .md\\:focus\\:bg-grey-dark:focus {\n background-color: #8795a1;\n }\n\n .md\\:focus\\:bg-grey:focus {\n background-color: #b8c2cc;\n }\n\n .md\\:focus\\:bg-grey-light:focus {\n background-color: #dae1e7;\n }\n\n .md\\:focus\\:bg-grey-lighter:focus {\n background-color: #f1f5f8;\n }\n\n .md\\:focus\\:bg-grey-lightest:focus {\n background-color: #f8fafc;\n }\n\n .md\\:focus\\:bg-white:focus {\n background-color: #fff;\n }\n\n .md\\:focus\\:bg-red-darkest:focus {\n background-color: #3b0d0c;\n }\n\n .md\\:focus\\:bg-red-darker:focus {\n background-color: #621b18;\n }\n\n .md\\:focus\\:bg-red-dark:focus {\n background-color: #cc1f1a;\n }\n\n .md\\:focus\\:bg-red:focus {\n background-color: #e3342f;\n }\n\n .md\\:focus\\:bg-red-light:focus {\n background-color: #ef5753;\n }\n\n .md\\:focus\\:bg-red-lighter:focus {\n background-color: #f9acaa;\n }\n\n .md\\:focus\\:bg-red-lightest:focus {\n background-color: #fcebea;\n }\n\n .md\\:focus\\:bg-orange-darkest:focus {\n background-color: #462a16;\n }\n\n .md\\:focus\\:bg-orange-darker:focus {\n background-color: #613b1f;\n }\n\n .md\\:focus\\:bg-orange-dark:focus {\n background-color: #de751f;\n }\n\n .md\\:focus\\:bg-orange:focus {\n background-color: #f6993f;\n }\n\n .md\\:focus\\:bg-orange-light:focus {\n background-color: #faad63;\n }\n\n .md\\:focus\\:bg-orange-lighter:focus {\n background-color: #fcd9b6;\n }\n\n .md\\:focus\\:bg-orange-lightest:focus {\n background-color: #fff5eb;\n }\n\n .md\\:focus\\:bg-yellow-darkest:focus {\n background-color: #453411;\n }\n\n .md\\:focus\\:bg-yellow-darker:focus {\n background-color: #684f1d;\n }\n\n .md\\:focus\\:bg-yellow-dark:focus {\n background-color: #f2d024;\n }\n\n .md\\:focus\\:bg-yellow:focus {\n background-color: #ffed4a;\n }\n\n .md\\:focus\\:bg-yellow-light:focus {\n background-color: #fff382;\n }\n\n .md\\:focus\\:bg-yellow-lighter:focus {\n background-color: #fff9c2;\n }\n\n .md\\:focus\\:bg-yellow-lightest:focus {\n background-color: #fcfbeb;\n }\n\n .md\\:focus\\:bg-green-darkest:focus {\n background-color: #0f2f21;\n }\n\n .md\\:focus\\:bg-green-darker:focus {\n background-color: #1a4731;\n }\n\n .md\\:focus\\:bg-green-dark:focus {\n background-color: #1f9d55;\n }\n\n .md\\:focus\\:bg-green:focus {\n background-color: #38c172;\n }\n\n .md\\:focus\\:bg-green-light:focus {\n background-color: #51d88a;\n }\n\n .md\\:focus\\:bg-green-lighter:focus {\n background-color: #a2f5bf;\n }\n\n .md\\:focus\\:bg-green-lightest:focus {\n background-color: #e3fcec;\n }\n\n .md\\:focus\\:bg-teal-darkest:focus {\n background-color: #0d3331;\n }\n\n .md\\:focus\\:bg-teal-darker:focus {\n background-color: #20504f;\n }\n\n .md\\:focus\\:bg-teal-dark:focus {\n background-color: #38a89d;\n }\n\n .md\\:focus\\:bg-teal:focus {\n background-color: #4dc0b5;\n }\n\n .md\\:focus\\:bg-teal-light:focus {\n background-color: #64d5ca;\n }\n\n .md\\:focus\\:bg-teal-lighter:focus {\n background-color: #a0f0ed;\n }\n\n .md\\:focus\\:bg-teal-lightest:focus {\n background-color: #e8fffe;\n }\n\n .md\\:focus\\:bg-blue-darkest:focus {\n background-color: #12283a;\n }\n\n .md\\:focus\\:bg-blue-darker:focus {\n background-color: #1c3d5a;\n }\n\n .md\\:focus\\:bg-blue-dark:focus {\n background-color: #2779bd;\n }\n\n .md\\:focus\\:bg-blue:focus {\n background-color: #3490dc;\n }\n\n .md\\:focus\\:bg-blue-light:focus {\n background-color: #6cb2eb;\n }\n\n .md\\:focus\\:bg-blue-lighter:focus {\n background-color: #bcdefa;\n }\n\n .md\\:focus\\:bg-blue-lightest:focus {\n background-color: #eff8ff;\n }\n\n .md\\:focus\\:bg-indigo-darkest:focus {\n background-color: #191e38;\n }\n\n .md\\:focus\\:bg-indigo-darker:focus {\n background-color: #2f365f;\n }\n\n .md\\:focus\\:bg-indigo-dark:focus {\n background-color: #5661b3;\n }\n\n .md\\:focus\\:bg-indigo:focus {\n background-color: #6574cd;\n }\n\n .md\\:focus\\:bg-indigo-light:focus {\n background-color: #7886d7;\n }\n\n .md\\:focus\\:bg-indigo-lighter:focus {\n background-color: #b2b7ff;\n }\n\n .md\\:focus\\:bg-indigo-lightest:focus {\n background-color: #e6e8ff;\n }\n\n .md\\:focus\\:bg-purple-darkest:focus {\n background-color: #21183c;\n }\n\n .md\\:focus\\:bg-purple-darker:focus {\n background-color: #382b5f;\n }\n\n .md\\:focus\\:bg-purple-dark:focus {\n background-color: #794acf;\n }\n\n .md\\:focus\\:bg-purple:focus {\n background-color: #9561e2;\n }\n\n .md\\:focus\\:bg-purple-light:focus {\n background-color: #a779e9;\n }\n\n .md\\:focus\\:bg-purple-lighter:focus {\n background-color: #d6bbfc;\n }\n\n .md\\:focus\\:bg-purple-lightest:focus {\n background-color: #f3ebff;\n }\n\n .md\\:focus\\:bg-pink-darkest:focus {\n background-color: #451225;\n }\n\n .md\\:focus\\:bg-pink-darker:focus {\n background-color: #6f213f;\n }\n\n .md\\:focus\\:bg-pink-dark:focus {\n background-color: #eb5286;\n }\n\n .md\\:focus\\:bg-pink:focus {\n background-color: #f66d9b;\n }\n\n .md\\:focus\\:bg-pink-light:focus {\n background-color: #fa7ea8;\n }\n\n .md\\:focus\\:bg-pink-lighter:focus {\n background-color: #ffbbca;\n }\n\n .md\\:focus\\:bg-pink-lightest:focus {\n background-color: #ffebef;\n }\n\n .md\\:bg-bottom {\n background-position: bottom;\n }\n\n .md\\:bg-center {\n background-position: center;\n }\n\n .md\\:bg-left {\n background-position: left;\n }\n\n .md\\:bg-left-bottom {\n background-position: left bottom;\n }\n\n .md\\:bg-left-top {\n background-position: left top;\n }\n\n .md\\:bg-right {\n background-position: right;\n }\n\n .md\\:bg-right-bottom {\n background-position: right bottom;\n }\n\n .md\\:bg-right-top {\n background-position: right top;\n }\n\n .md\\:bg-top {\n background-position: top;\n }\n\n .md\\:bg-repeat {\n background-repeat: repeat;\n }\n\n .md\\:bg-no-repeat {\n background-repeat: no-repeat;\n }\n\n .md\\:bg-repeat-x {\n background-repeat: repeat-x;\n }\n\n .md\\:bg-repeat-y {\n background-repeat: repeat-y;\n }\n\n .md\\:bg-auto {\n background-size: auto;\n }\n\n .md\\:bg-cover {\n background-size: cover;\n }\n\n .md\\:bg-contain {\n background-size: contain;\n }\n\n .md\\:border-transparent {\n border-color: transparent;\n }\n\n .md\\:border-black {\n border-color: #22292f;\n }\n\n .md\\:border-grey-darkest {\n border-color: #3d4852;\n }\n\n .md\\:border-grey-darker {\n border-color: #606f7b;\n }\n\n .md\\:border-grey-dark {\n border-color: #8795a1;\n }\n\n .md\\:border-grey {\n border-color: #b8c2cc;\n }\n\n .md\\:border-grey-light {\n border-color: #dae1e7;\n }\n\n .md\\:border-grey-lighter {\n border-color: #f1f5f8;\n }\n\n .md\\:border-grey-lightest {\n border-color: #f8fafc;\n }\n\n .md\\:border-white {\n border-color: #fff;\n }\n\n .md\\:border-red-darkest {\n border-color: #3b0d0c;\n }\n\n .md\\:border-red-darker {\n border-color: #621b18;\n }\n\n .md\\:border-red-dark {\n border-color: #cc1f1a;\n }\n\n .md\\:border-red {\n border-color: #e3342f;\n }\n\n .md\\:border-red-light {\n border-color: #ef5753;\n }\n\n .md\\:border-red-lighter {\n border-color: #f9acaa;\n }\n\n .md\\:border-red-lightest {\n border-color: #fcebea;\n }\n\n .md\\:border-orange-darkest {\n border-color: #462a16;\n }\n\n .md\\:border-orange-darker {\n border-color: #613b1f;\n }\n\n .md\\:border-orange-dark {\n border-color: #de751f;\n }\n\n .md\\:border-orange {\n border-color: #f6993f;\n }\n\n .md\\:border-orange-light {\n border-color: #faad63;\n }\n\n .md\\:border-orange-lighter {\n border-color: #fcd9b6;\n }\n\n .md\\:border-orange-lightest {\n border-color: #fff5eb;\n }\n\n .md\\:border-yellow-darkest {\n border-color: #453411;\n }\n\n .md\\:border-yellow-darker {\n border-color: #684f1d;\n }\n\n .md\\:border-yellow-dark {\n border-color: #f2d024;\n }\n\n .md\\:border-yellow {\n border-color: #ffed4a;\n }\n\n .md\\:border-yellow-light {\n border-color: #fff382;\n }\n\n .md\\:border-yellow-lighter {\n border-color: #fff9c2;\n }\n\n .md\\:border-yellow-lightest {\n border-color: #fcfbeb;\n }\n\n .md\\:border-green-darkest {\n border-color: #0f2f21;\n }\n\n .md\\:border-green-darker {\n border-color: #1a4731;\n }\n\n .md\\:border-green-dark {\n border-color: #1f9d55;\n }\n\n .md\\:border-green {\n border-color: #38c172;\n }\n\n .md\\:border-green-light {\n border-color: #51d88a;\n }\n\n .md\\:border-green-lighter {\n border-color: #a2f5bf;\n }\n\n .md\\:border-green-lightest {\n border-color: #e3fcec;\n }\n\n .md\\:border-teal-darkest {\n border-color: #0d3331;\n }\n\n .md\\:border-teal-darker {\n border-color: #20504f;\n }\n\n .md\\:border-teal-dark {\n border-color: #38a89d;\n }\n\n .md\\:border-teal {\n border-color: #4dc0b5;\n }\n\n .md\\:border-teal-light {\n border-color: #64d5ca;\n }\n\n .md\\:border-teal-lighter {\n border-color: #a0f0ed;\n }\n\n .md\\:border-teal-lightest {\n border-color: #e8fffe;\n }\n\n .md\\:border-blue-darkest {\n border-color: #12283a;\n }\n\n .md\\:border-blue-darker {\n border-color: #1c3d5a;\n }\n\n .md\\:border-blue-dark {\n border-color: #2779bd;\n }\n\n .md\\:border-blue {\n border-color: #3490dc;\n }\n\n .md\\:border-blue-light {\n border-color: #6cb2eb;\n }\n\n .md\\:border-blue-lighter {\n border-color: #bcdefa;\n }\n\n .md\\:border-blue-lightest {\n border-color: #eff8ff;\n }\n\n .md\\:border-indigo-darkest {\n border-color: #191e38;\n }\n\n .md\\:border-indigo-darker {\n border-color: #2f365f;\n }\n\n .md\\:border-indigo-dark {\n border-color: #5661b3;\n }\n\n .md\\:border-indigo {\n border-color: #6574cd;\n }\n\n .md\\:border-indigo-light {\n border-color: #7886d7;\n }\n\n .md\\:border-indigo-lighter {\n border-color: #b2b7ff;\n }\n\n .md\\:border-indigo-lightest {\n border-color: #e6e8ff;\n }\n\n .md\\:border-purple-darkest {\n border-color: #21183c;\n }\n\n .md\\:border-purple-darker {\n border-color: #382b5f;\n }\n\n .md\\:border-purple-dark {\n border-color: #794acf;\n }\n\n .md\\:border-purple {\n border-color: #9561e2;\n }\n\n .md\\:border-purple-light {\n border-color: #a779e9;\n }\n\n .md\\:border-purple-lighter {\n border-color: #d6bbfc;\n }\n\n .md\\:border-purple-lightest {\n border-color: #f3ebff;\n }\n\n .md\\:border-pink-darkest {\n border-color: #451225;\n }\n\n .md\\:border-pink-darker {\n border-color: #6f213f;\n }\n\n .md\\:border-pink-dark {\n border-color: #eb5286;\n }\n\n .md\\:border-pink {\n border-color: #f66d9b;\n }\n\n .md\\:border-pink-light {\n border-color: #fa7ea8;\n }\n\n .md\\:border-pink-lighter {\n border-color: #ffbbca;\n }\n\n .md\\:border-pink-lightest {\n border-color: #ffebef;\n }\n\n .md\\:hover\\:border-transparent:hover {\n border-color: transparent;\n }\n\n .md\\:hover\\:border-black:hover {\n border-color: #22292f;\n }\n\n .md\\:hover\\:border-grey-darkest:hover {\n border-color: #3d4852;\n }\n\n .md\\:hover\\:border-grey-darker:hover {\n border-color: #606f7b;\n }\n\n .md\\:hover\\:border-grey-dark:hover {\n border-color: #8795a1;\n }\n\n .md\\:hover\\:border-grey:hover {\n border-color: #b8c2cc;\n }\n\n .md\\:hover\\:border-grey-light:hover {\n border-color: #dae1e7;\n }\n\n .md\\:hover\\:border-grey-lighter:hover {\n border-color: #f1f5f8;\n }\n\n .md\\:hover\\:border-grey-lightest:hover {\n border-color: #f8fafc;\n }\n\n .md\\:hover\\:border-white:hover {\n border-color: #fff;\n }\n\n .md\\:hover\\:border-red-darkest:hover {\n border-color: #3b0d0c;\n }\n\n .md\\:hover\\:border-red-darker:hover {\n border-color: #621b18;\n }\n\n .md\\:hover\\:border-red-dark:hover {\n border-color: #cc1f1a;\n }\n\n .md\\:hover\\:border-red:hover {\n border-color: #e3342f;\n }\n\n .md\\:hover\\:border-red-light:hover {\n border-color: #ef5753;\n }\n\n .md\\:hover\\:border-red-lighter:hover {\n border-color: #f9acaa;\n }\n\n .md\\:hover\\:border-red-lightest:hover {\n border-color: #fcebea;\n }\n\n .md\\:hover\\:border-orange-darkest:hover {\n border-color: #462a16;\n }\n\n .md\\:hover\\:border-orange-darker:hover {\n border-color: #613b1f;\n }\n\n .md\\:hover\\:border-orange-dark:hover {\n border-color: #de751f;\n }\n\n .md\\:hover\\:border-orange:hover {\n border-color: #f6993f;\n }\n\n .md\\:hover\\:border-orange-light:hover {\n border-color: #faad63;\n }\n\n .md\\:hover\\:border-orange-lighter:hover {\n border-color: #fcd9b6;\n }\n\n .md\\:hover\\:border-orange-lightest:hover {\n border-color: #fff5eb;\n }\n\n .md\\:hover\\:border-yellow-darkest:hover {\n border-color: #453411;\n }\n\n .md\\:hover\\:border-yellow-darker:hover {\n border-color: #684f1d;\n }\n\n .md\\:hover\\:border-yellow-dark:hover {\n border-color: #f2d024;\n }\n\n .md\\:hover\\:border-yellow:hover {\n border-color: #ffed4a;\n }\n\n .md\\:hover\\:border-yellow-light:hover {\n border-color: #fff382;\n }\n\n .md\\:hover\\:border-yellow-lighter:hover {\n border-color: #fff9c2;\n }\n\n .md\\:hover\\:border-yellow-lightest:hover {\n border-color: #fcfbeb;\n }\n\n .md\\:hover\\:border-green-darkest:hover {\n border-color: #0f2f21;\n }\n\n .md\\:hover\\:border-green-darker:hover {\n border-color: #1a4731;\n }\n\n .md\\:hover\\:border-green-dark:hover {\n border-color: #1f9d55;\n }\n\n .md\\:hover\\:border-green:hover {\n border-color: #38c172;\n }\n\n .md\\:hover\\:border-green-light:hover {\n border-color: #51d88a;\n }\n\n .md\\:hover\\:border-green-lighter:hover {\n border-color: #a2f5bf;\n }\n\n .md\\:hover\\:border-green-lightest:hover {\n border-color: #e3fcec;\n }\n\n .md\\:hover\\:border-teal-darkest:hover {\n border-color: #0d3331;\n }\n\n .md\\:hover\\:border-teal-darker:hover {\n border-color: #20504f;\n }\n\n .md\\:hover\\:border-teal-dark:hover {\n border-color: #38a89d;\n }\n\n .md\\:hover\\:border-teal:hover {\n border-color: #4dc0b5;\n }\n\n .md\\:hover\\:border-teal-light:hover {\n border-color: #64d5ca;\n }\n\n .md\\:hover\\:border-teal-lighter:hover {\n border-color: #a0f0ed;\n }\n\n .md\\:hover\\:border-teal-lightest:hover {\n border-color: #e8fffe;\n }\n\n .md\\:hover\\:border-blue-darkest:hover {\n border-color: #12283a;\n }\n\n .md\\:hover\\:border-blue-darker:hover {\n border-color: #1c3d5a;\n }\n\n .md\\:hover\\:border-blue-dark:hover {\n border-color: #2779bd;\n }\n\n .md\\:hover\\:border-blue:hover {\n border-color: #3490dc;\n }\n\n .md\\:hover\\:border-blue-light:hover {\n border-color: #6cb2eb;\n }\n\n .md\\:hover\\:border-blue-lighter:hover {\n border-color: #bcdefa;\n }\n\n .md\\:hover\\:border-blue-lightest:hover {\n border-color: #eff8ff;\n }\n\n .md\\:hover\\:border-indigo-darkest:hover {\n border-color: #191e38;\n }\n\n .md\\:hover\\:border-indigo-darker:hover {\n border-color: #2f365f;\n }\n\n .md\\:hover\\:border-indigo-dark:hover {\n border-color: #5661b3;\n }\n\n .md\\:hover\\:border-indigo:hover {\n border-color: #6574cd;\n }\n\n .md\\:hover\\:border-indigo-light:hover {\n border-color: #7886d7;\n }\n\n .md\\:hover\\:border-indigo-lighter:hover {\n border-color: #b2b7ff;\n }\n\n .md\\:hover\\:border-indigo-lightest:hover {\n border-color: #e6e8ff;\n }\n\n .md\\:hover\\:border-purple-darkest:hover {\n border-color: #21183c;\n }\n\n .md\\:hover\\:border-purple-darker:hover {\n border-color: #382b5f;\n }\n\n .md\\:hover\\:border-purple-dark:hover {\n border-color: #794acf;\n }\n\n .md\\:hover\\:border-purple:hover {\n border-color: #9561e2;\n }\n\n .md\\:hover\\:border-purple-light:hover {\n border-color: #a779e9;\n }\n\n .md\\:hover\\:border-purple-lighter:hover {\n border-color: #d6bbfc;\n }\n\n .md\\:hover\\:border-purple-lightest:hover {\n border-color: #f3ebff;\n }\n\n .md\\:hover\\:border-pink-darkest:hover {\n border-color: #451225;\n }\n\n .md\\:hover\\:border-pink-darker:hover {\n border-color: #6f213f;\n }\n\n .md\\:hover\\:border-pink-dark:hover {\n border-color: #eb5286;\n }\n\n .md\\:hover\\:border-pink:hover {\n border-color: #f66d9b;\n }\n\n .md\\:hover\\:border-pink-light:hover {\n border-color: #fa7ea8;\n }\n\n .md\\:hover\\:border-pink-lighter:hover {\n border-color: #ffbbca;\n }\n\n .md\\:hover\\:border-pink-lightest:hover {\n border-color: #ffebef;\n }\n\n .md\\:focus\\:border-transparent:focus {\n border-color: transparent;\n }\n\n .md\\:focus\\:border-black:focus {\n border-color: #22292f;\n }\n\n .md\\:focus\\:border-grey-darkest:focus {\n border-color: #3d4852;\n }\n\n .md\\:focus\\:border-grey-darker:focus {\n border-color: #606f7b;\n }\n\n .md\\:focus\\:border-grey-dark:focus {\n border-color: #8795a1;\n }\n\n .md\\:focus\\:border-grey:focus {\n border-color: #b8c2cc;\n }\n\n .md\\:focus\\:border-grey-light:focus {\n border-color: #dae1e7;\n }\n\n .md\\:focus\\:border-grey-lighter:focus {\n border-color: #f1f5f8;\n }\n\n .md\\:focus\\:border-grey-lightest:focus {\n border-color: #f8fafc;\n }\n\n .md\\:focus\\:border-white:focus {\n border-color: #fff;\n }\n\n .md\\:focus\\:border-red-darkest:focus {\n border-color: #3b0d0c;\n }\n\n .md\\:focus\\:border-red-darker:focus {\n border-color: #621b18;\n }\n\n .md\\:focus\\:border-red-dark:focus {\n border-color: #cc1f1a;\n }\n\n .md\\:focus\\:border-red:focus {\n border-color: #e3342f;\n }\n\n .md\\:focus\\:border-red-light:focus {\n border-color: #ef5753;\n }\n\n .md\\:focus\\:border-red-lighter:focus {\n border-color: #f9acaa;\n }\n\n .md\\:focus\\:border-red-lightest:focus {\n border-color: #fcebea;\n }\n\n .md\\:focus\\:border-orange-darkest:focus {\n border-color: #462a16;\n }\n\n .md\\:focus\\:border-orange-darker:focus {\n border-color: #613b1f;\n }\n\n .md\\:focus\\:border-orange-dark:focus {\n border-color: #de751f;\n }\n\n .md\\:focus\\:border-orange:focus {\n border-color: #f6993f;\n }\n\n .md\\:focus\\:border-orange-light:focus {\n border-color: #faad63;\n }\n\n .md\\:focus\\:border-orange-lighter:focus {\n border-color: #fcd9b6;\n }\n\n .md\\:focus\\:border-orange-lightest:focus {\n border-color: #fff5eb;\n }\n\n .md\\:focus\\:border-yellow-darkest:focus {\n border-color: #453411;\n }\n\n .md\\:focus\\:border-yellow-darker:focus {\n border-color: #684f1d;\n }\n\n .md\\:focus\\:border-yellow-dark:focus {\n border-color: #f2d024;\n }\n\n .md\\:focus\\:border-yellow:focus {\n border-color: #ffed4a;\n }\n\n .md\\:focus\\:border-yellow-light:focus {\n border-color: #fff382;\n }\n\n .md\\:focus\\:border-yellow-lighter:focus {\n border-color: #fff9c2;\n }\n\n .md\\:focus\\:border-yellow-lightest:focus {\n border-color: #fcfbeb;\n }\n\n .md\\:focus\\:border-green-darkest:focus {\n border-color: #0f2f21;\n }\n\n .md\\:focus\\:border-green-darker:focus {\n border-color: #1a4731;\n }\n\n .md\\:focus\\:border-green-dark:focus {\n border-color: #1f9d55;\n }\n\n .md\\:focus\\:border-green:focus {\n border-color: #38c172;\n }\n\n .md\\:focus\\:border-green-light:focus {\n border-color: #51d88a;\n }\n\n .md\\:focus\\:border-green-lighter:focus {\n border-color: #a2f5bf;\n }\n\n .md\\:focus\\:border-green-lightest:focus {\n border-color: #e3fcec;\n }\n\n .md\\:focus\\:border-teal-darkest:focus {\n border-color: #0d3331;\n }\n\n .md\\:focus\\:border-teal-darker:focus {\n border-color: #20504f;\n }\n\n .md\\:focus\\:border-teal-dark:focus {\n border-color: #38a89d;\n }\n\n .md\\:focus\\:border-teal:focus {\n border-color: #4dc0b5;\n }\n\n .md\\:focus\\:border-teal-light:focus {\n border-color: #64d5ca;\n }\n\n .md\\:focus\\:border-teal-lighter:focus {\n border-color: #a0f0ed;\n }\n\n .md\\:focus\\:border-teal-lightest:focus {\n border-color: #e8fffe;\n }\n\n .md\\:focus\\:border-blue-darkest:focus {\n border-color: #12283a;\n }\n\n .md\\:focus\\:border-blue-darker:focus {\n border-color: #1c3d5a;\n }\n\n .md\\:focus\\:border-blue-dark:focus {\n border-color: #2779bd;\n }\n\n .md\\:focus\\:border-blue:focus {\n border-color: #3490dc;\n }\n\n .md\\:focus\\:border-blue-light:focus {\n border-color: #6cb2eb;\n }\n\n .md\\:focus\\:border-blue-lighter:focus {\n border-color: #bcdefa;\n }\n\n .md\\:focus\\:border-blue-lightest:focus {\n border-color: #eff8ff;\n }\n\n .md\\:focus\\:border-indigo-darkest:focus {\n border-color: #191e38;\n }\n\n .md\\:focus\\:border-indigo-darker:focus {\n border-color: #2f365f;\n }\n\n .md\\:focus\\:border-indigo-dark:focus {\n border-color: #5661b3;\n }\n\n .md\\:focus\\:border-indigo:focus {\n border-color: #6574cd;\n }\n\n .md\\:focus\\:border-indigo-light:focus {\n border-color: #7886d7;\n }\n\n .md\\:focus\\:border-indigo-lighter:focus {\n border-color: #b2b7ff;\n }\n\n .md\\:focus\\:border-indigo-lightest:focus {\n border-color: #e6e8ff;\n }\n\n .md\\:focus\\:border-purple-darkest:focus {\n border-color: #21183c;\n }\n\n .md\\:focus\\:border-purple-darker:focus {\n border-color: #382b5f;\n }\n\n .md\\:focus\\:border-purple-dark:focus {\n border-color: #794acf;\n }\n\n .md\\:focus\\:border-purple:focus {\n border-color: #9561e2;\n }\n\n .md\\:focus\\:border-purple-light:focus {\n border-color: #a779e9;\n }\n\n .md\\:focus\\:border-purple-lighter:focus {\n border-color: #d6bbfc;\n }\n\n .md\\:focus\\:border-purple-lightest:focus {\n border-color: #f3ebff;\n }\n\n .md\\:focus\\:border-pink-darkest:focus {\n border-color: #451225;\n }\n\n .md\\:focus\\:border-pink-darker:focus {\n border-color: #6f213f;\n }\n\n .md\\:focus\\:border-pink-dark:focus {\n border-color: #eb5286;\n }\n\n .md\\:focus\\:border-pink:focus {\n border-color: #f66d9b;\n }\n\n .md\\:focus\\:border-pink-light:focus {\n border-color: #fa7ea8;\n }\n\n .md\\:focus\\:border-pink-lighter:focus {\n border-color: #ffbbca;\n }\n\n .md\\:focus\\:border-pink-lightest:focus {\n border-color: #ffebef;\n }\n\n .md\\:rounded-none {\n border-radius: 0;\n }\n\n .md\\:rounded-sm {\n border-radius: .125rem;\n }\n\n .md\\:rounded {\n border-radius: .25rem;\n }\n\n .md\\:rounded-lg {\n border-radius: .5rem;\n }\n\n .md\\:rounded-full {\n border-radius: 9999px;\n }\n\n .md\\:rounded-t-none {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n .md\\:rounded-r-none {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .md\\:rounded-b-none {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .md\\:rounded-l-none {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .md\\:rounded-t-sm {\n border-top-left-radius: .125rem;\n border-top-right-radius: .125rem;\n }\n\n .md\\:rounded-r-sm {\n border-top-right-radius: .125rem;\n border-bottom-right-radius: .125rem;\n }\n\n .md\\:rounded-b-sm {\n border-bottom-right-radius: .125rem;\n border-bottom-left-radius: .125rem;\n }\n\n .md\\:rounded-l-sm {\n border-top-left-radius: .125rem;\n border-bottom-left-radius: .125rem;\n }\n\n .md\\:rounded-t {\n border-top-left-radius: .25rem;\n border-top-right-radius: .25rem;\n }\n\n .md\\:rounded-r {\n border-top-right-radius: .25rem;\n border-bottom-right-radius: .25rem;\n }\n\n .md\\:rounded-b {\n border-bottom-right-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n\n .md\\:rounded-l {\n border-top-left-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n\n .md\\:rounded-t-lg {\n border-top-left-radius: .5rem;\n border-top-right-radius: .5rem;\n }\n\n .md\\:rounded-r-lg {\n border-top-right-radius: .5rem;\n border-bottom-right-radius: .5rem;\n }\n\n .md\\:rounded-b-lg {\n border-bottom-right-radius: .5rem;\n border-bottom-left-radius: .5rem;\n }\n\n .md\\:rounded-l-lg {\n border-top-left-radius: .5rem;\n border-bottom-left-radius: .5rem;\n }\n\n .md\\:rounded-t-full {\n border-top-left-radius: 9999px;\n border-top-right-radius: 9999px;\n }\n\n .md\\:rounded-r-full {\n border-top-right-radius: 9999px;\n border-bottom-right-radius: 9999px;\n }\n\n .md\\:rounded-b-full {\n border-bottom-right-radius: 9999px;\n border-bottom-left-radius: 9999px;\n }\n\n .md\\:rounded-l-full {\n border-top-left-radius: 9999px;\n border-bottom-left-radius: 9999px;\n }\n\n .md\\:rounded-tl-none {\n border-top-left-radius: 0;\n }\n\n .md\\:rounded-tr-none {\n border-top-right-radius: 0;\n }\n\n .md\\:rounded-br-none {\n border-bottom-right-radius: 0;\n }\n\n .md\\:rounded-bl-none {\n border-bottom-left-radius: 0;\n }\n\n .md\\:rounded-tl-sm {\n border-top-left-radius: .125rem;\n }\n\n .md\\:rounded-tr-sm {\n border-top-right-radius: .125rem;\n }\n\n .md\\:rounded-br-sm {\n border-bottom-right-radius: .125rem;\n }\n\n .md\\:rounded-bl-sm {\n border-bottom-left-radius: .125rem;\n }\n\n .md\\:rounded-tl {\n border-top-left-radius: .25rem;\n }\n\n .md\\:rounded-tr {\n border-top-right-radius: .25rem;\n }\n\n .md\\:rounded-br {\n border-bottom-right-radius: .25rem;\n }\n\n .md\\:rounded-bl {\n border-bottom-left-radius: .25rem;\n }\n\n .md\\:rounded-tl-lg {\n border-top-left-radius: .5rem;\n }\n\n .md\\:rounded-tr-lg {\n border-top-right-radius: .5rem;\n }\n\n .md\\:rounded-br-lg {\n border-bottom-right-radius: .5rem;\n }\n\n .md\\:rounded-bl-lg {\n border-bottom-left-radius: .5rem;\n }\n\n .md\\:rounded-tl-full {\n border-top-left-radius: 9999px;\n }\n\n .md\\:rounded-tr-full {\n border-top-right-radius: 9999px;\n }\n\n .md\\:rounded-br-full {\n border-bottom-right-radius: 9999px;\n }\n\n .md\\:rounded-bl-full {\n border-bottom-left-radius: 9999px;\n }\n\n .md\\:border-solid {\n border-style: solid;\n }\n\n .md\\:border-dashed {\n border-style: dashed;\n }\n\n .md\\:border-dotted {\n border-style: dotted;\n }\n\n .md\\:border-none {\n border-style: none;\n }\n\n .md\\:border-0 {\n border-width: 0;\n }\n\n .md\\:border-2 {\n border-width: 2px;\n }\n\n .md\\:border-4 {\n border-width: 4px;\n }\n\n .md\\:border-8 {\n border-width: 8px;\n }\n\n .md\\:border {\n border-width: 1px;\n }\n\n .md\\:border-t-0 {\n border-top-width: 0;\n }\n\n .md\\:border-r-0 {\n border-right-width: 0;\n }\n\n .md\\:border-b-0 {\n border-bottom-width: 0;\n }\n\n .md\\:border-l-0 {\n border-left-width: 0;\n }\n\n .md\\:border-t-2 {\n border-top-width: 2px;\n }\n\n .md\\:border-r-2 {\n border-right-width: 2px;\n }\n\n .md\\:border-b-2 {\n border-bottom-width: 2px;\n }\n\n .md\\:border-l-2 {\n border-left-width: 2px;\n }\n\n .md\\:border-t-4 {\n border-top-width: 4px;\n }\n\n .md\\:border-r-4 {\n border-right-width: 4px;\n }\n\n .md\\:border-b-4 {\n border-bottom-width: 4px;\n }\n\n .md\\:border-l-4 {\n border-left-width: 4px;\n }\n\n .md\\:border-t-8 {\n border-top-width: 8px;\n }\n\n .md\\:border-r-8 {\n border-right-width: 8px;\n }\n\n .md\\:border-b-8 {\n border-bottom-width: 8px;\n }\n\n .md\\:border-l-8 {\n border-left-width: 8px;\n }\n\n .md\\:border-t {\n border-top-width: 1px;\n }\n\n .md\\:border-r {\n border-right-width: 1px;\n }\n\n .md\\:border-b {\n border-bottom-width: 1px;\n }\n\n .md\\:border-l {\n border-left-width: 1px;\n }\n\n .md\\:cursor-auto {\n cursor: auto;\n }\n\n .md\\:cursor-default {\n cursor: default;\n }\n\n .md\\:cursor-pointer {\n cursor: pointer;\n }\n\n .md\\:cursor-wait {\n cursor: wait;\n }\n\n .md\\:cursor-move {\n cursor: move;\n }\n\n .md\\:cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .md\\:block {\n display: block;\n }\n\n .md\\:inline-block {\n display: inline-block;\n }\n\n .md\\:inline {\n display: inline;\n }\n\n .md\\:table {\n display: table;\n }\n\n .md\\:table-row {\n display: table-row;\n }\n\n .md\\:table-cell {\n display: table-cell;\n }\n\n .md\\:hidden {\n display: none;\n }\n\n .md\\:flex {\n display: flex;\n }\n\n .md\\:inline-flex {\n display: inline-flex;\n }\n\n .md\\:flex-row {\n flex-direction: row;\n }\n\n .md\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .md\\:flex-col {\n flex-direction: column;\n }\n\n .md\\:flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .md\\:flex-wrap {\n flex-wrap: wrap;\n }\n\n .md\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .md\\:flex-no-wrap {\n flex-wrap: nowrap;\n }\n\n .md\\:items-start {\n align-items: flex-start;\n }\n\n .md\\:items-end {\n align-items: flex-end;\n }\n\n .md\\:items-center {\n align-items: center;\n }\n\n .md\\:items-baseline {\n align-items: baseline;\n }\n\n .md\\:items-stretch {\n align-items: stretch;\n }\n\n .md\\:self-auto {\n align-self: auto;\n }\n\n .md\\:self-start {\n align-self: flex-start;\n }\n\n .md\\:self-end {\n align-self: flex-end;\n }\n\n .md\\:self-center {\n align-self: center;\n }\n\n .md\\:self-stretch {\n align-self: stretch;\n }\n\n .md\\:justify-start {\n justify-content: flex-start;\n }\n\n .md\\:justify-end {\n justify-content: flex-end;\n }\n\n .md\\:justify-center {\n justify-content: center;\n }\n\n .md\\:justify-between {\n justify-content: space-between;\n }\n\n .md\\:justify-around {\n justify-content: space-around;\n }\n\n .md\\:content-center {\n align-content: center;\n }\n\n .md\\:content-start {\n align-content: flex-start;\n }\n\n .md\\:content-end {\n align-content: flex-end;\n }\n\n .md\\:content-between {\n align-content: space-between;\n }\n\n .md\\:content-around {\n align-content: space-around;\n }\n\n .md\\:flex-1 {\n flex: 1 1 0%;\n }\n\n .md\\:flex-auto {\n flex: 1 1 auto;\n }\n\n .md\\:flex-initial {\n flex: 0 1 auto;\n }\n\n .md\\:flex-none {\n flex: none;\n }\n\n .md\\:flex-grow {\n flex-grow: 1;\n }\n\n .md\\:flex-shrink {\n flex-shrink: 1;\n }\n\n .md\\:flex-no-grow {\n flex-grow: 0;\n }\n\n .md\\:flex-no-shrink {\n flex-shrink: 0;\n }\n\n .md\\:float-right {\n float: right;\n }\n\n .md\\:float-left {\n float: left;\n }\n\n .md\\:float-none {\n float: none;\n }\n\n .md\\:clearfix:after {\n content: "";\n display: table;\n clear: both;\n }\n\n .md\\:font-sans {\n font-family: system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n }\n\n .md\\:font-serif {\n font-family: Constantia, Lucida Bright, Lucidabright, Lucida Serif, Lucida, DejaVu Serif, Bitstream Vera Serif, Liberation Serif, Georgia, serif;\n }\n\n .md\\:font-mono {\n font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n }\n\n .md\\:font-hairline {\n font-weight: 100;\n }\n\n .md\\:font-thin {\n font-weight: 200;\n }\n\n .md\\:font-light {\n font-weight: 300;\n }\n\n .md\\:font-normal {\n font-weight: 400;\n }\n\n .md\\:font-medium {\n font-weight: 500;\n }\n\n .md\\:font-semibold {\n font-weight: 600;\n }\n\n .md\\:font-bold {\n font-weight: 700;\n }\n\n .md\\:font-extrabold {\n font-weight: 800;\n }\n\n .md\\:font-black {\n font-weight: 900;\n }\n\n .md\\:hover\\:font-hairline:hover {\n font-weight: 100;\n }\n\n .md\\:hover\\:font-thin:hover {\n font-weight: 200;\n }\n\n .md\\:hover\\:font-light:hover {\n font-weight: 300;\n }\n\n .md\\:hover\\:font-normal:hover {\n font-weight: 400;\n }\n\n .md\\:hover\\:font-medium:hover {\n font-weight: 500;\n }\n\n .md\\:hover\\:font-semibold:hover {\n font-weight: 600;\n }\n\n .md\\:hover\\:font-bold:hover {\n font-weight: 700;\n }\n\n .md\\:hover\\:font-extrabold:hover {\n font-weight: 800;\n }\n\n .md\\:hover\\:font-black:hover {\n font-weight: 900;\n }\n\n .md\\:focus\\:font-hairline:focus {\n font-weight: 100;\n }\n\n .md\\:focus\\:font-thin:focus {\n font-weight: 200;\n }\n\n .md\\:focus\\:font-light:focus {\n font-weight: 300;\n }\n\n .md\\:focus\\:font-normal:focus {\n font-weight: 400;\n }\n\n .md\\:focus\\:font-medium:focus {\n font-weight: 500;\n }\n\n .md\\:focus\\:font-semibold:focus {\n font-weight: 600;\n }\n\n .md\\:focus\\:font-bold:focus {\n font-weight: 700;\n }\n\n .md\\:focus\\:font-extrabold:focus {\n font-weight: 800;\n }\n\n .md\\:focus\\:font-black:focus {\n font-weight: 900;\n }\n\n .md\\:h-1 {\n height: .25rem;\n }\n\n .md\\:h-2 {\n height: .5rem;\n }\n\n .md\\:h-3 {\n height: .75rem;\n }\n\n .md\\:h-4 {\n height: 1rem;\n }\n\n .md\\:h-5 {\n height: 1.25rem;\n }\n\n .md\\:h-6 {\n height: 1.5rem;\n }\n\n .md\\:h-8 {\n height: 2rem;\n }\n\n .md\\:h-10 {\n height: 2.5rem;\n }\n\n .md\\:h-12 {\n height: 3rem;\n }\n\n .md\\:h-16 {\n height: 4rem;\n }\n\n .md\\:h-24 {\n height: 6rem;\n }\n\n .md\\:h-32 {\n height: 8rem;\n }\n\n .md\\:h-48 {\n height: 12rem;\n }\n\n .md\\:h-64 {\n height: 16rem;\n }\n\n .md\\:h-auto {\n height: auto;\n }\n\n .md\\:h-px {\n height: 1px;\n }\n\n .md\\:h-full {\n height: 100%;\n }\n\n .md\\:h-screen {\n height: 100vh;\n }\n\n .md\\:leading-none {\n line-height: 1;\n }\n\n .md\\:leading-tight {\n line-height: 1.25;\n }\n\n .md\\:leading-normal {\n line-height: 1.5;\n }\n\n .md\\:leading-loose {\n line-height: 2;\n }\n\n .md\\:m-0 {\n margin: 0;\n }\n\n .md\\:m-1 {\n margin: .25rem;\n }\n\n .md\\:m-2 {\n margin: .5rem;\n }\n\n .md\\:m-3 {\n margin: .75rem;\n }\n\n .md\\:m-4 {\n margin: 1rem;\n }\n\n .md\\:m-5 {\n margin: 1.25rem;\n }\n\n .md\\:m-6 {\n margin: 1.5rem;\n }\n\n .md\\:m-8 {\n margin: 2rem;\n }\n\n .md\\:m-10 {\n margin: 2.5rem;\n }\n\n .md\\:m-12 {\n margin: 3rem;\n }\n\n .md\\:m-16 {\n margin: 4rem;\n }\n\n .md\\:m-20 {\n margin: 5rem;\n }\n\n .md\\:m-24 {\n margin: 6rem;\n }\n\n .md\\:m-32 {\n margin: 8rem;\n }\n\n .md\\:m-auto {\n margin: auto;\n }\n\n .md\\:m-px {\n margin: 1px;\n }\n\n .md\\:my-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n .md\\:mx-0 {\n margin-left: 0;\n margin-right: 0;\n }\n\n .md\\:my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n }\n\n .md\\:mx-1 {\n margin-left: .25rem;\n margin-right: .25rem;\n }\n\n .md\\:my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n }\n\n .md\\:mx-2 {\n margin-left: .5rem;\n margin-right: .5rem;\n }\n\n .md\\:my-3 {\n margin-top: .75rem;\n margin-bottom: .75rem;\n }\n\n .md\\:mx-3 {\n margin-left: .75rem;\n margin-right: .75rem;\n }\n\n .md\\:my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .md\\:mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n }\n\n .md\\:my-5 {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n\n .md\\:mx-5 {\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n }\n\n .md\\:my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n\n .md\\:mx-6 {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n }\n\n .md\\:my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n }\n\n .md\\:mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n }\n\n .md\\:my-10 {\n margin-top: 2.5rem;\n margin-bottom: 2.5rem;\n }\n\n .md\\:mx-10 {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n }\n\n .md\\:my-12 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n\n .md\\:mx-12 {\n margin-left: 3rem;\n margin-right: 3rem;\n }\n\n .md\\:my-16 {\n margin-top: 4rem;\n margin-bottom: 4rem;\n }\n\n .md\\:mx-16 {\n margin-left: 4rem;\n margin-right: 4rem;\n }\n\n .md\\:my-20 {\n margin-top: 5rem;\n margin-bottom: 5rem;\n }\n\n .md\\:mx-20 {\n margin-left: 5rem;\n margin-right: 5rem;\n }\n\n .md\\:my-24 {\n margin-top: 6rem;\n margin-bottom: 6rem;\n }\n\n .md\\:mx-24 {\n margin-left: 6rem;\n margin-right: 6rem;\n }\n\n .md\\:my-32 {\n margin-top: 8rem;\n margin-bottom: 8rem;\n }\n\n .md\\:mx-32 {\n margin-left: 8rem;\n margin-right: 8rem;\n }\n\n .md\\:my-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .md\\:mx-auto {\n margin-left: auto;\n margin-right: auto;\n }\n\n .md\\:my-px {\n margin-top: 1px;\n margin-bottom: 1px;\n }\n\n .md\\:mx-px {\n margin-left: 1px;\n margin-right: 1px;\n }\n\n .md\\:mt-0 {\n margin-top: 0;\n }\n\n .md\\:mr-0 {\n margin-right: 0;\n }\n\n .md\\:mb-0 {\n margin-bottom: 0;\n }\n\n .md\\:ml-0 {\n margin-left: 0;\n }\n\n .md\\:mt-1 {\n margin-top: .25rem;\n }\n\n .md\\:mr-1 {\n margin-right: .25rem;\n }\n\n .md\\:mb-1 {\n margin-bottom: .25rem;\n }\n\n .md\\:ml-1 {\n margin-left: .25rem;\n }\n\n .md\\:mt-2 {\n margin-top: .5rem;\n }\n\n .md\\:mr-2 {\n margin-right: .5rem;\n }\n\n .md\\:mb-2 {\n margin-bottom: .5rem;\n }\n\n .md\\:ml-2 {\n margin-left: .5rem;\n }\n\n .md\\:mt-3 {\n margin-top: .75rem;\n }\n\n .md\\:mr-3 {\n margin-right: .75rem;\n }\n\n .md\\:mb-3 {\n margin-bottom: .75rem;\n }\n\n .md\\:ml-3 {\n margin-left: .75rem;\n }\n\n .md\\:mt-4 {\n margin-top: 1rem;\n }\n\n .md\\:mr-4 {\n margin-right: 1rem;\n }\n\n .md\\:mb-4 {\n margin-bottom: 1rem;\n }\n\n .md\\:ml-4 {\n margin-left: 1rem;\n }\n\n .md\\:mt-5 {\n margin-top: 1.25rem;\n }\n\n .md\\:mr-5 {\n margin-right: 1.25rem;\n }\n\n .md\\:mb-5 {\n margin-bottom: 1.25rem;\n }\n\n .md\\:ml-5 {\n margin-left: 1.25rem;\n }\n\n .md\\:mt-6 {\n margin-top: 1.5rem;\n }\n\n .md\\:mr-6 {\n margin-right: 1.5rem;\n }\n\n .md\\:mb-6 {\n margin-bottom: 1.5rem;\n }\n\n .md\\:ml-6 {\n margin-left: 1.5rem;\n }\n\n .md\\:mt-8 {\n margin-top: 2rem;\n }\n\n .md\\:mr-8 {\n margin-right: 2rem;\n }\n\n .md\\:mb-8 {\n margin-bottom: 2rem;\n }\n\n .md\\:ml-8 {\n margin-left: 2rem;\n }\n\n .md\\:mt-10 {\n margin-top: 2.5rem;\n }\n\n .md\\:mr-10 {\n margin-right: 2.5rem;\n }\n\n .md\\:mb-10 {\n margin-bottom: 2.5rem;\n }\n\n .md\\:ml-10 {\n margin-left: 2.5rem;\n }\n\n .md\\:mt-12 {\n margin-top: 3rem;\n }\n\n .md\\:mr-12 {\n margin-right: 3rem;\n }\n\n .md\\:mb-12 {\n margin-bottom: 3rem;\n }\n\n .md\\:ml-12 {\n margin-left: 3rem;\n }\n\n .md\\:mt-16 {\n margin-top: 4rem;\n }\n\n .md\\:mr-16 {\n margin-right: 4rem;\n }\n\n .md\\:mb-16 {\n margin-bottom: 4rem;\n }\n\n .md\\:ml-16 {\n margin-left: 4rem;\n }\n\n .md\\:mt-20 {\n margin-top: 5rem;\n }\n\n .md\\:mr-20 {\n margin-right: 5rem;\n }\n\n .md\\:mb-20 {\n margin-bottom: 5rem;\n }\n\n .md\\:ml-20 {\n margin-left: 5rem;\n }\n\n .md\\:mt-24 {\n margin-top: 6rem;\n }\n\n .md\\:mr-24 {\n margin-right: 6rem;\n }\n\n .md\\:mb-24 {\n margin-bottom: 6rem;\n }\n\n .md\\:ml-24 {\n margin-left: 6rem;\n }\n\n .md\\:mt-32 {\n margin-top: 8rem;\n }\n\n .md\\:mr-32 {\n margin-right: 8rem;\n }\n\n .md\\:mb-32 {\n margin-bottom: 8rem;\n }\n\n .md\\:ml-32 {\n margin-left: 8rem;\n }\n\n .md\\:mt-auto {\n margin-top: auto;\n }\n\n .md\\:mr-auto {\n margin-right: auto;\n }\n\n .md\\:mb-auto {\n margin-bottom: auto;\n }\n\n .md\\:ml-auto {\n margin-left: auto;\n }\n\n .md\\:mt-px {\n margin-top: 1px;\n }\n\n .md\\:mr-px {\n margin-right: 1px;\n }\n\n .md\\:mb-px {\n margin-bottom: 1px;\n }\n\n .md\\:ml-px {\n margin-left: 1px;\n }\n\n .md\\:max-h-full {\n max-height: 100%;\n }\n\n .md\\:max-h-screen {\n max-height: 100vh;\n }\n\n .md\\:max-w-xs {\n max-width: 20rem;\n }\n\n .md\\:max-w-sm {\n max-width: 30rem;\n }\n\n .md\\:max-w-md {\n max-width: 40rem;\n }\n\n .md\\:max-w-lg {\n max-width: 50rem;\n }\n\n .md\\:max-w-xl {\n max-width: 60rem;\n }\n\n .md\\:max-w-2xl {\n max-width: 70rem;\n }\n\n .md\\:max-w-3xl {\n max-width: 80rem;\n }\n\n .md\\:max-w-4xl {\n max-width: 90rem;\n }\n\n .md\\:max-w-5xl {\n max-width: 100rem;\n }\n\n .md\\:max-w-full {\n max-width: 100%;\n }\n\n .md\\:min-h-0 {\n min-height: 0;\n }\n\n .md\\:min-h-full {\n min-height: 100%;\n }\n\n .md\\:min-h-screen {\n min-height: 100vh;\n }\n\n .md\\:min-w-0 {\n min-width: 0;\n }\n\n .md\\:min-w-full {\n min-width: 100%;\n }\n\n .md\\:-m-0 {\n margin: 0;\n }\n\n .md\\:-m-1 {\n margin: -0.25rem;\n }\n\n .md\\:-m-2 {\n margin: -0.5rem;\n }\n\n .md\\:-m-3 {\n margin: -0.75rem;\n }\n\n .md\\:-m-4 {\n margin: -1rem;\n }\n\n .md\\:-m-5 {\n margin: -1.25rem;\n }\n\n .md\\:-m-6 {\n margin: -1.5rem;\n }\n\n .md\\:-m-8 {\n margin: -2rem;\n }\n\n .md\\:-m-10 {\n margin: -2.5rem;\n }\n\n .md\\:-m-12 {\n margin: -3rem;\n }\n\n .md\\:-m-16 {\n margin: -4rem;\n }\n\n .md\\:-m-20 {\n margin: -5rem;\n }\n\n .md\\:-m-24 {\n margin: -6rem;\n }\n\n .md\\:-m-32 {\n margin: -8rem;\n }\n\n .md\\:-m-px {\n margin: -1px;\n }\n\n .md\\:-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n .md\\:-mx-0 {\n margin-left: 0;\n margin-right: 0;\n }\n\n .md\\:-my-1 {\n margin-top: -0.25rem;\n margin-bottom: -0.25rem;\n }\n\n .md\\:-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n }\n\n .md\\:-my-2 {\n margin-top: -0.5rem;\n margin-bottom: -0.5rem;\n }\n\n .md\\:-mx-2 {\n margin-left: -0.5rem;\n margin-right: -0.5rem;\n }\n\n .md\\:-my-3 {\n margin-top: -0.75rem;\n margin-bottom: -0.75rem;\n }\n\n .md\\:-mx-3 {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n }\n\n .md\\:-my-4 {\n margin-top: -1rem;\n margin-bottom: -1rem;\n }\n\n .md\\:-mx-4 {\n margin-left: -1rem;\n margin-right: -1rem;\n }\n\n .md\\:-my-5 {\n margin-top: -1.25rem;\n margin-bottom: -1.25rem;\n }\n\n .md\\:-mx-5 {\n margin-left: -1.25rem;\n margin-right: -1.25rem;\n }\n\n .md\\:-my-6 {\n margin-top: -1.5rem;\n margin-bottom: -1.5rem;\n }\n\n .md\\:-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n }\n\n .md\\:-my-8 {\n margin-top: -2rem;\n margin-bottom: -2rem;\n }\n\n .md\\:-mx-8 {\n margin-left: -2rem;\n margin-right: -2rem;\n }\n\n .md\\:-my-10 {\n margin-top: -2.5rem;\n margin-bottom: -2.5rem;\n }\n\n .md\\:-mx-10 {\n margin-left: -2.5rem;\n margin-right: -2.5rem;\n }\n\n .md\\:-my-12 {\n margin-top: -3rem;\n margin-bottom: -3rem;\n }\n\n .md\\:-mx-12 {\n margin-left: -3rem;\n margin-right: -3rem;\n }\n\n .md\\:-my-16 {\n margin-top: -4rem;\n margin-bottom: -4rem;\n }\n\n .md\\:-mx-16 {\n margin-left: -4rem;\n margin-right: -4rem;\n }\n\n .md\\:-my-20 {\n margin-top: -5rem;\n margin-bottom: -5rem;\n }\n\n .md\\:-mx-20 {\n margin-left: -5rem;\n margin-right: -5rem;\n }\n\n .md\\:-my-24 {\n margin-top: -6rem;\n margin-bottom: -6rem;\n }\n\n .md\\:-mx-24 {\n margin-left: -6rem;\n margin-right: -6rem;\n }\n\n .md\\:-my-32 {\n margin-top: -8rem;\n margin-bottom: -8rem;\n }\n\n .md\\:-mx-32 {\n margin-left: -8rem;\n margin-right: -8rem;\n }\n\n .md\\:-my-px {\n margin-top: -1px;\n margin-bottom: -1px;\n }\n\n .md\\:-mx-px {\n margin-left: -1px;\n margin-right: -1px;\n }\n\n .md\\:-mt-0 {\n margin-top: 0;\n }\n\n .md\\:-mr-0 {\n margin-right: 0;\n }\n\n .md\\:-mb-0 {\n margin-bottom: 0;\n }\n\n .md\\:-ml-0 {\n margin-left: 0;\n }\n\n .md\\:-mt-1 {\n margin-top: -0.25rem;\n }\n\n .md\\:-mr-1 {\n margin-right: -0.25rem;\n }\n\n .md\\:-mb-1 {\n margin-bottom: -0.25rem;\n }\n\n .md\\:-ml-1 {\n margin-left: -0.25rem;\n }\n\n .md\\:-mt-2 {\n margin-top: -0.5rem;\n }\n\n .md\\:-mr-2 {\n margin-right: -0.5rem;\n }\n\n .md\\:-mb-2 {\n margin-bottom: -0.5rem;\n }\n\n .md\\:-ml-2 {\n margin-left: -0.5rem;\n }\n\n .md\\:-mt-3 {\n margin-top: -0.75rem;\n }\n\n .md\\:-mr-3 {\n margin-right: -0.75rem;\n }\n\n .md\\:-mb-3 {\n margin-bottom: -0.75rem;\n }\n\n .md\\:-ml-3 {\n margin-left: -0.75rem;\n }\n\n .md\\:-mt-4 {\n margin-top: -1rem;\n }\n\n .md\\:-mr-4 {\n margin-right: -1rem;\n }\n\n .md\\:-mb-4 {\n margin-bottom: -1rem;\n }\n\n .md\\:-ml-4 {\n margin-left: -1rem;\n }\n\n .md\\:-mt-5 {\n margin-top: -1.25rem;\n }\n\n .md\\:-mr-5 {\n margin-right: -1.25rem;\n }\n\n .md\\:-mb-5 {\n margin-bottom: -1.25rem;\n }\n\n .md\\:-ml-5 {\n margin-left: -1.25rem;\n }\n\n .md\\:-mt-6 {\n margin-top: -1.5rem;\n }\n\n .md\\:-mr-6 {\n margin-right: -1.5rem;\n }\n\n .md\\:-mb-6 {\n margin-bottom: -1.5rem;\n }\n\n .md\\:-ml-6 {\n margin-left: -1.5rem;\n }\n\n .md\\:-mt-8 {\n margin-top: -2rem;\n }\n\n .md\\:-mr-8 {\n margin-right: -2rem;\n }\n\n .md\\:-mb-8 {\n margin-bottom: -2rem;\n }\n\n .md\\:-ml-8 {\n margin-left: -2rem;\n }\n\n .md\\:-mt-10 {\n margin-top: -2.5rem;\n }\n\n .md\\:-mr-10 {\n margin-right: -2.5rem;\n }\n\n .md\\:-mb-10 {\n margin-bottom: -2.5rem;\n }\n\n .md\\:-ml-10 {\n margin-left: -2.5rem;\n }\n\n .md\\:-mt-12 {\n margin-top: -3rem;\n }\n\n .md\\:-mr-12 {\n margin-right: -3rem;\n }\n\n .md\\:-mb-12 {\n margin-bottom: -3rem;\n }\n\n .md\\:-ml-12 {\n margin-left: -3rem;\n }\n\n .md\\:-mt-16 {\n margin-top: -4rem;\n }\n\n .md\\:-mr-16 {\n margin-right: -4rem;\n }\n\n .md\\:-mb-16 {\n margin-bottom: -4rem;\n }\n\n .md\\:-ml-16 {\n margin-left: -4rem;\n }\n\n .md\\:-mt-20 {\n margin-top: -5rem;\n }\n\n .md\\:-mr-20 {\n margin-right: -5rem;\n }\n\n .md\\:-mb-20 {\n margin-bottom: -5rem;\n }\n\n .md\\:-ml-20 {\n margin-left: -5rem;\n }\n\n .md\\:-mt-24 {\n margin-top: -6rem;\n }\n\n .md\\:-mr-24 {\n margin-right: -6rem;\n }\n\n .md\\:-mb-24 {\n margin-bottom: -6rem;\n }\n\n .md\\:-ml-24 {\n margin-left: -6rem;\n }\n\n .md\\:-mt-32 {\n margin-top: -8rem;\n }\n\n .md\\:-mr-32 {\n margin-right: -8rem;\n }\n\n .md\\:-mb-32 {\n margin-bottom: -8rem;\n }\n\n .md\\:-ml-32 {\n margin-left: -8rem;\n }\n\n .md\\:-mt-px {\n margin-top: -1px;\n }\n\n .md\\:-mr-px {\n margin-right: -1px;\n }\n\n .md\\:-mb-px {\n margin-bottom: -1px;\n }\n\n .md\\:-ml-px {\n margin-left: -1px;\n }\n\n .md\\:opacity-0 {\n opacity: 0;\n }\n\n .md\\:opacity-25 {\n opacity: .25;\n }\n\n .md\\:opacity-50 {\n opacity: .5;\n }\n\n .md\\:opacity-75 {\n opacity: .75;\n }\n\n .md\\:opacity-100 {\n opacity: 1;\n }\n\n .md\\:overflow-auto {\n overflow: auto;\n }\n\n .md\\:overflow-hidden {\n overflow: hidden;\n }\n\n .md\\:overflow-visible {\n overflow: visible;\n }\n\n .md\\:overflow-scroll {\n overflow: scroll;\n }\n\n .md\\:overflow-x-auto {\n overflow-x: auto;\n }\n\n .md\\:overflow-y-auto {\n overflow-y: auto;\n }\n\n .md\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n\n .md\\:overflow-y-hidden {\n overflow-y: hidden;\n }\n\n .md\\:overflow-x-visible {\n overflow-x: visible;\n }\n\n .md\\:overflow-y-visible {\n overflow-y: visible;\n }\n\n .md\\:overflow-x-scroll {\n overflow-x: scroll;\n }\n\n .md\\:overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .md\\:scrolling-touch {\n -webkit-overflow-scrolling: touch;\n }\n\n .md\\:scrolling-auto {\n -webkit-overflow-scrolling: auto;\n }\n\n .md\\:p-0 {\n padding: 0;\n }\n\n .md\\:p-1 {\n padding: .25rem;\n }\n\n .md\\:p-2 {\n padding: .5rem;\n }\n\n .md\\:p-3 {\n padding: .75rem;\n }\n\n .md\\:p-4 {\n padding: 1rem;\n }\n\n .md\\:p-5 {\n padding: 1.25rem;\n }\n\n .md\\:p-6 {\n padding: 1.5rem;\n }\n\n .md\\:p-8 {\n padding: 2rem;\n }\n\n .md\\:p-10 {\n padding: 2.5rem;\n }\n\n .md\\:p-12 {\n padding: 3rem;\n }\n\n .md\\:p-16 {\n padding: 4rem;\n }\n\n .md\\:p-20 {\n padding: 5rem;\n }\n\n .md\\:p-24 {\n padding: 6rem;\n }\n\n .md\\:p-32 {\n padding: 8rem;\n }\n\n .md\\:p-px {\n padding: 1px;\n }\n\n .md\\:py-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n .md\\:px-0 {\n padding-left: 0;\n padding-right: 0;\n }\n\n .md\\:py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n }\n\n .md\\:px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n }\n\n .md\\:py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n }\n\n .md\\:px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n }\n\n .md\\:py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n }\n\n .md\\:px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n }\n\n .md\\:py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n\n .md\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .md\\:py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n }\n\n .md\\:px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .md\\:py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n\n .md\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n\n .md\\:py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n }\n\n .md\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n\n .md\\:py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n }\n\n .md\\:px-10 {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n }\n\n .md\\:py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n\n .md\\:px-12 {\n padding-left: 3rem;\n padding-right: 3rem;\n }\n\n .md\\:py-16 {\n padding-top: 4rem;\n padding-bottom: 4rem;\n }\n\n .md\\:px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n }\n\n .md\\:py-20 {\n padding-top: 5rem;\n padding-bottom: 5rem;\n }\n\n .md\\:px-20 {\n padding-left: 5rem;\n padding-right: 5rem;\n }\n\n .md\\:py-24 {\n padding-top: 6rem;\n padding-bottom: 6rem;\n }\n\n .md\\:px-24 {\n padding-left: 6rem;\n padding-right: 6rem;\n }\n\n .md\\:py-32 {\n padding-top: 8rem;\n padding-bottom: 8rem;\n }\n\n .md\\:px-32 {\n padding-left: 8rem;\n padding-right: 8rem;\n }\n\n .md\\:py-px {\n padding-top: 1px;\n padding-bottom: 1px;\n }\n\n .md\\:px-px {\n padding-left: 1px;\n padding-right: 1px;\n }\n\n .md\\:pt-0 {\n padding-top: 0;\n }\n\n .md\\:pr-0 {\n padding-right: 0;\n }\n\n .md\\:pb-0 {\n padding-bottom: 0;\n }\n\n .md\\:pl-0 {\n padding-left: 0;\n }\n\n .md\\:pt-1 {\n padding-top: .25rem;\n }\n\n .md\\:pr-1 {\n padding-right: .25rem;\n }\n\n .md\\:pb-1 {\n padding-bottom: .25rem;\n }\n\n .md\\:pl-1 {\n padding-left: .25rem;\n }\n\n .md\\:pt-2 {\n padding-top: .5rem;\n }\n\n .md\\:pr-2 {\n padding-right: .5rem;\n }\n\n .md\\:pb-2 {\n padding-bottom: .5rem;\n }\n\n .md\\:pl-2 {\n padding-left: .5rem;\n }\n\n .md\\:pt-3 {\n padding-top: .75rem;\n }\n\n .md\\:pr-3 {\n padding-right: .75rem;\n }\n\n .md\\:pb-3 {\n padding-bottom: .75rem;\n }\n\n .md\\:pl-3 {\n padding-left: .75rem;\n }\n\n .md\\:pt-4 {\n padding-top: 1rem;\n }\n\n .md\\:pr-4 {\n padding-right: 1rem;\n }\n\n .md\\:pb-4 {\n padding-bottom: 1rem;\n }\n\n .md\\:pl-4 {\n padding-left: 1rem;\n }\n\n .md\\:pt-5 {\n padding-top: 1.25rem;\n }\n\n .md\\:pr-5 {\n padding-right: 1.25rem;\n }\n\n .md\\:pb-5 {\n padding-bottom: 1.25rem;\n }\n\n .md\\:pl-5 {\n padding-left: 1.25rem;\n }\n\n .md\\:pt-6 {\n padding-top: 1.5rem;\n }\n\n .md\\:pr-6 {\n padding-right: 1.5rem;\n }\n\n .md\\:pb-6 {\n padding-bottom: 1.5rem;\n }\n\n .md\\:pl-6 {\n padding-left: 1.5rem;\n }\n\n .md\\:pt-8 {\n padding-top: 2rem;\n }\n\n .md\\:pr-8 {\n padding-right: 2rem;\n }\n\n .md\\:pb-8 {\n padding-bottom: 2rem;\n }\n\n .md\\:pl-8 {\n padding-left: 2rem;\n }\n\n .md\\:pt-10 {\n padding-top: 2.5rem;\n }\n\n .md\\:pr-10 {\n padding-right: 2.5rem;\n }\n\n .md\\:pb-10 {\n padding-bottom: 2.5rem;\n }\n\n .md\\:pl-10 {\n padding-left: 2.5rem;\n }\n\n .md\\:pt-12 {\n padding-top: 3rem;\n }\n\n .md\\:pr-12 {\n padding-right: 3rem;\n }\n\n .md\\:pb-12 {\n padding-bottom: 3rem;\n }\n\n .md\\:pl-12 {\n padding-left: 3rem;\n }\n\n .md\\:pt-16 {\n padding-top: 4rem;\n }\n\n .md\\:pr-16 {\n padding-right: 4rem;\n }\n\n .md\\:pb-16 {\n padding-bottom: 4rem;\n }\n\n .md\\:pl-16 {\n padding-left: 4rem;\n }\n\n .md\\:pt-20 {\n padding-top: 5rem;\n }\n\n .md\\:pr-20 {\n padding-right: 5rem;\n }\n\n .md\\:pb-20 {\n padding-bottom: 5rem;\n }\n\n .md\\:pl-20 {\n padding-left: 5rem;\n }\n\n .md\\:pt-24 {\n padding-top: 6rem;\n }\n\n .md\\:pr-24 {\n padding-right: 6rem;\n }\n\n .md\\:pb-24 {\n padding-bottom: 6rem;\n }\n\n .md\\:pl-24 {\n padding-left: 6rem;\n }\n\n .md\\:pt-32 {\n padding-top: 8rem;\n }\n\n .md\\:pr-32 {\n padding-right: 8rem;\n }\n\n .md\\:pb-32 {\n padding-bottom: 8rem;\n }\n\n .md\\:pl-32 {\n padding-left: 8rem;\n }\n\n .md\\:pt-px {\n padding-top: 1px;\n }\n\n .md\\:pr-px {\n padding-right: 1px;\n }\n\n .md\\:pb-px {\n padding-bottom: 1px;\n }\n\n .md\\:pl-px {\n padding-left: 1px;\n }\n\n .md\\:pointer-events-none {\n pointer-events: none;\n }\n\n .md\\:pointer-events-auto {\n pointer-events: auto;\n }\n\n .md\\:static {\n position: static;\n }\n\n .md\\:fixed {\n position: fixed;\n }\n\n .md\\:absolute {\n position: absolute;\n }\n\n .md\\:relative {\n position: relative;\n }\n\n .md\\:sticky {\n position: sticky;\n }\n\n .md\\:pin-none {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n }\n\n .md\\:pin {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n .md\\:pin-y {\n top: 0;\n bottom: 0;\n }\n\n .md\\:pin-x {\n right: 0;\n left: 0;\n }\n\n .md\\:pin-t {\n top: 0;\n }\n\n .md\\:pin-r {\n right: 0;\n }\n\n .md\\:pin-b {\n bottom: 0;\n }\n\n .md\\:pin-l {\n left: 0;\n }\n\n .md\\:resize-none {\n resize: none;\n }\n\n .md\\:resize-y {\n resize: vertical;\n }\n\n .md\\:resize-x {\n resize: horizontal;\n }\n\n .md\\:resize {\n resize: both;\n }\n\n .md\\:shadow {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .md\\:shadow-md {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .md\\:shadow-lg {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .md\\:shadow-inner {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .md\\:shadow-outline {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .md\\:shadow-none {\n box-shadow: none;\n }\n\n .md\\:hover\\:shadow:hover {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .md\\:hover\\:shadow-md:hover {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .md\\:hover\\:shadow-lg:hover {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .md\\:hover\\:shadow-inner:hover {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .md\\:hover\\:shadow-outline:hover {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .md\\:hover\\:shadow-none:hover {\n box-shadow: none;\n }\n\n .md\\:focus\\:shadow:focus {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .md\\:focus\\:shadow-md:focus {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .md\\:focus\\:shadow-lg:focus {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .md\\:focus\\:shadow-inner:focus {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .md\\:focus\\:shadow-outline:focus {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .md\\:focus\\:shadow-none:focus {\n box-shadow: none;\n }\n\n .md\\:table-auto {\n table-layout: auto;\n }\n\n .md\\:table-fixed {\n table-layout: fixed;\n }\n\n .md\\:text-left {\n text-align: left;\n }\n\n .md\\:text-center {\n text-align: center;\n }\n\n .md\\:text-right {\n text-align: right;\n }\n\n .md\\:text-justify {\n text-align: justify;\n }\n\n .md\\:text-transparent {\n color: transparent;\n }\n\n .md\\:text-black {\n color: #22292f;\n }\n\n .md\\:text-grey-darkest {\n color: #3d4852;\n }\n\n .md\\:text-grey-darker {\n color: #606f7b;\n }\n\n .md\\:text-grey-dark {\n color: #8795a1;\n }\n\n .md\\:text-grey {\n color: #b8c2cc;\n }\n\n .md\\:text-grey-light {\n color: #dae1e7;\n }\n\n .md\\:text-grey-lighter {\n color: #f1f5f8;\n }\n\n .md\\:text-grey-lightest {\n color: #f8fafc;\n }\n\n .md\\:text-white {\n color: #fff;\n }\n\n .md\\:text-red-darkest {\n color: #3b0d0c;\n }\n\n .md\\:text-red-darker {\n color: #621b18;\n }\n\n .md\\:text-red-dark {\n color: #cc1f1a;\n }\n\n .md\\:text-red {\n color: #e3342f;\n }\n\n .md\\:text-red-light {\n color: #ef5753;\n }\n\n .md\\:text-red-lighter {\n color: #f9acaa;\n }\n\n .md\\:text-red-lightest {\n color: #fcebea;\n }\n\n .md\\:text-orange-darkest {\n color: #462a16;\n }\n\n .md\\:text-orange-darker {\n color: #613b1f;\n }\n\n .md\\:text-orange-dark {\n color: #de751f;\n }\n\n .md\\:text-orange {\n color: #f6993f;\n }\n\n .md\\:text-orange-light {\n color: #faad63;\n }\n\n .md\\:text-orange-lighter {\n color: #fcd9b6;\n }\n\n .md\\:text-orange-lightest {\n color: #fff5eb;\n }\n\n .md\\:text-yellow-darkest {\n color: #453411;\n }\n\n .md\\:text-yellow-darker {\n color: #684f1d;\n }\n\n .md\\:text-yellow-dark {\n color: #f2d024;\n }\n\n .md\\:text-yellow {\n color: #ffed4a;\n }\n\n .md\\:text-yellow-light {\n color: #fff382;\n }\n\n .md\\:text-yellow-lighter {\n color: #fff9c2;\n }\n\n .md\\:text-yellow-lightest {\n color: #fcfbeb;\n }\n\n .md\\:text-green-darkest {\n color: #0f2f21;\n }\n\n .md\\:text-green-darker {\n color: #1a4731;\n }\n\n .md\\:text-green-dark {\n color: #1f9d55;\n }\n\n .md\\:text-green {\n color: #38c172;\n }\n\n .md\\:text-green-light {\n color: #51d88a;\n }\n\n .md\\:text-green-lighter {\n color: #a2f5bf;\n }\n\n .md\\:text-green-lightest {\n color: #e3fcec;\n }\n\n .md\\:text-teal-darkest {\n color: #0d3331;\n }\n\n .md\\:text-teal-darker {\n color: #20504f;\n }\n\n .md\\:text-teal-dark {\n color: #38a89d;\n }\n\n .md\\:text-teal {\n color: #4dc0b5;\n }\n\n .md\\:text-teal-light {\n color: #64d5ca;\n }\n\n .md\\:text-teal-lighter {\n color: #a0f0ed;\n }\n\n .md\\:text-teal-lightest {\n color: #e8fffe;\n }\n\n .md\\:text-blue-darkest {\n color: #12283a;\n }\n\n .md\\:text-blue-darker {\n color: #1c3d5a;\n }\n\n .md\\:text-blue-dark {\n color: #2779bd;\n }\n\n .md\\:text-blue {\n color: #3490dc;\n }\n\n .md\\:text-blue-light {\n color: #6cb2eb;\n }\n\n .md\\:text-blue-lighter {\n color: #bcdefa;\n }\n\n .md\\:text-blue-lightest {\n color: #eff8ff;\n }\n\n .md\\:text-indigo-darkest {\n color: #191e38;\n }\n\n .md\\:text-indigo-darker {\n color: #2f365f;\n }\n\n .md\\:text-indigo-dark {\n color: #5661b3;\n }\n\n .md\\:text-indigo {\n color: #6574cd;\n }\n\n .md\\:text-indigo-light {\n color: #7886d7;\n }\n\n .md\\:text-indigo-lighter {\n color: #b2b7ff;\n }\n\n .md\\:text-indigo-lightest {\n color: #e6e8ff;\n }\n\n .md\\:text-purple-darkest {\n color: #21183c;\n }\n\n .md\\:text-purple-darker {\n color: #382b5f;\n }\n\n .md\\:text-purple-dark {\n color: #794acf;\n }\n\n .md\\:text-purple {\n color: #9561e2;\n }\n\n .md\\:text-purple-light {\n color: #a779e9;\n }\n\n .md\\:text-purple-lighter {\n color: #d6bbfc;\n }\n\n .md\\:text-purple-lightest {\n color: #f3ebff;\n }\n\n .md\\:text-pink-darkest {\n color: #451225;\n }\n\n .md\\:text-pink-darker {\n color: #6f213f;\n }\n\n .md\\:text-pink-dark {\n color: #eb5286;\n }\n\n .md\\:text-pink {\n color: #f66d9b;\n }\n\n .md\\:text-pink-light {\n color: #fa7ea8;\n }\n\n .md\\:text-pink-lighter {\n color: #ffbbca;\n }\n\n .md\\:text-pink-lightest {\n color: #ffebef;\n }\n\n .md\\:hover\\:text-transparent:hover {\n color: transparent;\n }\n\n .md\\:hover\\:text-black:hover {\n color: #22292f;\n }\n\n .md\\:hover\\:text-grey-darkest:hover {\n color: #3d4852;\n }\n\n .md\\:hover\\:text-grey-darker:hover {\n color: #606f7b;\n }\n\n .md\\:hover\\:text-grey-dark:hover {\n color: #8795a1;\n }\n\n .md\\:hover\\:text-grey:hover {\n color: #b8c2cc;\n }\n\n .md\\:hover\\:text-grey-light:hover {\n color: #dae1e7;\n }\n\n .md\\:hover\\:text-grey-lighter:hover {\n color: #f1f5f8;\n }\n\n .md\\:hover\\:text-grey-lightest:hover {\n color: #f8fafc;\n }\n\n .md\\:hover\\:text-white:hover {\n color: #fff;\n }\n\n .md\\:hover\\:text-red-darkest:hover {\n color: #3b0d0c;\n }\n\n .md\\:hover\\:text-red-darker:hover {\n color: #621b18;\n }\n\n .md\\:hover\\:text-red-dark:hover {\n color: #cc1f1a;\n }\n\n .md\\:hover\\:text-red:hover {\n color: #e3342f;\n }\n\n .md\\:hover\\:text-red-light:hover {\n color: #ef5753;\n }\n\n .md\\:hover\\:text-red-lighter:hover {\n color: #f9acaa;\n }\n\n .md\\:hover\\:text-red-lightest:hover {\n color: #fcebea;\n }\n\n .md\\:hover\\:text-orange-darkest:hover {\n color: #462a16;\n }\n\n .md\\:hover\\:text-orange-darker:hover {\n color: #613b1f;\n }\n\n .md\\:hover\\:text-orange-dark:hover {\n color: #de751f;\n }\n\n .md\\:hover\\:text-orange:hover {\n color: #f6993f;\n }\n\n .md\\:hover\\:text-orange-light:hover {\n color: #faad63;\n }\n\n .md\\:hover\\:text-orange-lighter:hover {\n color: #fcd9b6;\n }\n\n .md\\:hover\\:text-orange-lightest:hover {\n color: #fff5eb;\n }\n\n .md\\:hover\\:text-yellow-darkest:hover {\n color: #453411;\n }\n\n .md\\:hover\\:text-yellow-darker:hover {\n color: #684f1d;\n }\n\n .md\\:hover\\:text-yellow-dark:hover {\n color: #f2d024;\n }\n\n .md\\:hover\\:text-yellow:hover {\n color: #ffed4a;\n }\n\n .md\\:hover\\:text-yellow-light:hover {\n color: #fff382;\n }\n\n .md\\:hover\\:text-yellow-lighter:hover {\n color: #fff9c2;\n }\n\n .md\\:hover\\:text-yellow-lightest:hover {\n color: #fcfbeb;\n }\n\n .md\\:hover\\:text-green-darkest:hover {\n color: #0f2f21;\n }\n\n .md\\:hover\\:text-green-darker:hover {\n color: #1a4731;\n }\n\n .md\\:hover\\:text-green-dark:hover {\n color: #1f9d55;\n }\n\n .md\\:hover\\:text-green:hover {\n color: #38c172;\n }\n\n .md\\:hover\\:text-green-light:hover {\n color: #51d88a;\n }\n\n .md\\:hover\\:text-green-lighter:hover {\n color: #a2f5bf;\n }\n\n .md\\:hover\\:text-green-lightest:hover {\n color: #e3fcec;\n }\n\n .md\\:hover\\:text-teal-darkest:hover {\n color: #0d3331;\n }\n\n .md\\:hover\\:text-teal-darker:hover {\n color: #20504f;\n }\n\n .md\\:hover\\:text-teal-dark:hover {\n color: #38a89d;\n }\n\n .md\\:hover\\:text-teal:hover {\n color: #4dc0b5;\n }\n\n .md\\:hover\\:text-teal-light:hover {\n color: #64d5ca;\n }\n\n .md\\:hover\\:text-teal-lighter:hover {\n color: #a0f0ed;\n }\n\n .md\\:hover\\:text-teal-lightest:hover {\n color: #e8fffe;\n }\n\n .md\\:hover\\:text-blue-darkest:hover {\n color: #12283a;\n }\n\n .md\\:hover\\:text-blue-darker:hover {\n color: #1c3d5a;\n }\n\n .md\\:hover\\:text-blue-dark:hover {\n color: #2779bd;\n }\n\n .md\\:hover\\:text-blue:hover {\n color: #3490dc;\n }\n\n .md\\:hover\\:text-blue-light:hover {\n color: #6cb2eb;\n }\n\n .md\\:hover\\:text-blue-lighter:hover {\n color: #bcdefa;\n }\n\n .md\\:hover\\:text-blue-lightest:hover {\n color: #eff8ff;\n }\n\n .md\\:hover\\:text-indigo-darkest:hover {\n color: #191e38;\n }\n\n .md\\:hover\\:text-indigo-darker:hover {\n color: #2f365f;\n }\n\n .md\\:hover\\:text-indigo-dark:hover {\n color: #5661b3;\n }\n\n .md\\:hover\\:text-indigo:hover {\n color: #6574cd;\n }\n\n .md\\:hover\\:text-indigo-light:hover {\n color: #7886d7;\n }\n\n .md\\:hover\\:text-indigo-lighter:hover {\n color: #b2b7ff;\n }\n\n .md\\:hover\\:text-indigo-lightest:hover {\n color: #e6e8ff;\n }\n\n .md\\:hover\\:text-purple-darkest:hover {\n color: #21183c;\n }\n\n .md\\:hover\\:text-purple-darker:hover {\n color: #382b5f;\n }\n\n .md\\:hover\\:text-purple-dark:hover {\n color: #794acf;\n }\n\n .md\\:hover\\:text-purple:hover {\n color: #9561e2;\n }\n\n .md\\:hover\\:text-purple-light:hover {\n color: #a779e9;\n }\n\n .md\\:hover\\:text-purple-lighter:hover {\n color: #d6bbfc;\n }\n\n .md\\:hover\\:text-purple-lightest:hover {\n color: #f3ebff;\n }\n\n .md\\:hover\\:text-pink-darkest:hover {\n color: #451225;\n }\n\n .md\\:hover\\:text-pink-darker:hover {\n color: #6f213f;\n }\n\n .md\\:hover\\:text-pink-dark:hover {\n color: #eb5286;\n }\n\n .md\\:hover\\:text-pink:hover {\n color: #f66d9b;\n }\n\n .md\\:hover\\:text-pink-light:hover {\n color: #fa7ea8;\n }\n\n .md\\:hover\\:text-pink-lighter:hover {\n color: #ffbbca;\n }\n\n .md\\:hover\\:text-pink-lightest:hover {\n color: #ffebef;\n }\n\n .md\\:focus\\:text-transparent:focus {\n color: transparent;\n }\n\n .md\\:focus\\:text-black:focus {\n color: #22292f;\n }\n\n .md\\:focus\\:text-grey-darkest:focus {\n color: #3d4852;\n }\n\n .md\\:focus\\:text-grey-darker:focus {\n color: #606f7b;\n }\n\n .md\\:focus\\:text-grey-dark:focus {\n color: #8795a1;\n }\n\n .md\\:focus\\:text-grey:focus {\n color: #b8c2cc;\n }\n\n .md\\:focus\\:text-grey-light:focus {\n color: #dae1e7;\n }\n\n .md\\:focus\\:text-grey-lighter:focus {\n color: #f1f5f8;\n }\n\n .md\\:focus\\:text-grey-lightest:focus {\n color: #f8fafc;\n }\n\n .md\\:focus\\:text-white:focus {\n color: #fff;\n }\n\n .md\\:focus\\:text-red-darkest:focus {\n color: #3b0d0c;\n }\n\n .md\\:focus\\:text-red-darker:focus {\n color: #621b18;\n }\n\n .md\\:focus\\:text-red-dark:focus {\n color: #cc1f1a;\n }\n\n .md\\:focus\\:text-red:focus {\n color: #e3342f;\n }\n\n .md\\:focus\\:text-red-light:focus {\n color: #ef5753;\n }\n\n .md\\:focus\\:text-red-lighter:focus {\n color: #f9acaa;\n }\n\n .md\\:focus\\:text-red-lightest:focus {\n color: #fcebea;\n }\n\n .md\\:focus\\:text-orange-darkest:focus {\n color: #462a16;\n }\n\n .md\\:focus\\:text-orange-darker:focus {\n color: #613b1f;\n }\n\n .md\\:focus\\:text-orange-dark:focus {\n color: #de751f;\n }\n\n .md\\:focus\\:text-orange:focus {\n color: #f6993f;\n }\n\n .md\\:focus\\:text-orange-light:focus {\n color: #faad63;\n }\n\n .md\\:focus\\:text-orange-lighter:focus {\n color: #fcd9b6;\n }\n\n .md\\:focus\\:text-orange-lightest:focus {\n color: #fff5eb;\n }\n\n .md\\:focus\\:text-yellow-darkest:focus {\n color: #453411;\n }\n\n .md\\:focus\\:text-yellow-darker:focus {\n color: #684f1d;\n }\n\n .md\\:focus\\:text-yellow-dark:focus {\n color: #f2d024;\n }\n\n .md\\:focus\\:text-yellow:focus {\n color: #ffed4a;\n }\n\n .md\\:focus\\:text-yellow-light:focus {\n color: #fff382;\n }\n\n .md\\:focus\\:text-yellow-lighter:focus {\n color: #fff9c2;\n }\n\n .md\\:focus\\:text-yellow-lightest:focus {\n color: #fcfbeb;\n }\n\n .md\\:focus\\:text-green-darkest:focus {\n color: #0f2f21;\n }\n\n .md\\:focus\\:text-green-darker:focus {\n color: #1a4731;\n }\n\n .md\\:focus\\:text-green-dark:focus {\n color: #1f9d55;\n }\n\n .md\\:focus\\:text-green:focus {\n color: #38c172;\n }\n\n .md\\:focus\\:text-green-light:focus {\n color: #51d88a;\n }\n\n .md\\:focus\\:text-green-lighter:focus {\n color: #a2f5bf;\n }\n\n .md\\:focus\\:text-green-lightest:focus {\n color: #e3fcec;\n }\n\n .md\\:focus\\:text-teal-darkest:focus {\n color: #0d3331;\n }\n\n .md\\:focus\\:text-teal-darker:focus {\n color: #20504f;\n }\n\n .md\\:focus\\:text-teal-dark:focus {\n color: #38a89d;\n }\n\n .md\\:focus\\:text-teal:focus {\n color: #4dc0b5;\n }\n\n .md\\:focus\\:text-teal-light:focus {\n color: #64d5ca;\n }\n\n .md\\:focus\\:text-teal-lighter:focus {\n color: #a0f0ed;\n }\n\n .md\\:focus\\:text-teal-lightest:focus {\n color: #e8fffe;\n }\n\n .md\\:focus\\:text-blue-darkest:focus {\n color: #12283a;\n }\n\n .md\\:focus\\:text-blue-darker:focus {\n color: #1c3d5a;\n }\n\n .md\\:focus\\:text-blue-dark:focus {\n color: #2779bd;\n }\n\n .md\\:focus\\:text-blue:focus {\n color: #3490dc;\n }\n\n .md\\:focus\\:text-blue-light:focus {\n color: #6cb2eb;\n }\n\n .md\\:focus\\:text-blue-lighter:focus {\n color: #bcdefa;\n }\n\n .md\\:focus\\:text-blue-lightest:focus {\n color: #eff8ff;\n }\n\n .md\\:focus\\:text-indigo-darkest:focus {\n color: #191e38;\n }\n\n .md\\:focus\\:text-indigo-darker:focus {\n color: #2f365f;\n }\n\n .md\\:focus\\:text-indigo-dark:focus {\n color: #5661b3;\n }\n\n .md\\:focus\\:text-indigo:focus {\n color: #6574cd;\n }\n\n .md\\:focus\\:text-indigo-light:focus {\n color: #7886d7;\n }\n\n .md\\:focus\\:text-indigo-lighter:focus {\n color: #b2b7ff;\n }\n\n .md\\:focus\\:text-indigo-lightest:focus {\n color: #e6e8ff;\n }\n\n .md\\:focus\\:text-purple-darkest:focus {\n color: #21183c;\n }\n\n .md\\:focus\\:text-purple-darker:focus {\n color: #382b5f;\n }\n\n .md\\:focus\\:text-purple-dark:focus {\n color: #794acf;\n }\n\n .md\\:focus\\:text-purple:focus {\n color: #9561e2;\n }\n\n .md\\:focus\\:text-purple-light:focus {\n color: #a779e9;\n }\n\n .md\\:focus\\:text-purple-lighter:focus {\n color: #d6bbfc;\n }\n\n .md\\:focus\\:text-purple-lightest:focus {\n color: #f3ebff;\n }\n\n .md\\:focus\\:text-pink-darkest:focus {\n color: #451225;\n }\n\n .md\\:focus\\:text-pink-darker:focus {\n color: #6f213f;\n }\n\n .md\\:focus\\:text-pink-dark:focus {\n color: #eb5286;\n }\n\n .md\\:focus\\:text-pink:focus {\n color: #f66d9b;\n }\n\n .md\\:focus\\:text-pink-light:focus {\n color: #fa7ea8;\n }\n\n .md\\:focus\\:text-pink-lighter:focus {\n color: #ffbbca;\n }\n\n .md\\:focus\\:text-pink-lightest:focus {\n color: #ffebef;\n }\n\n .md\\:text-xs {\n font-size: .75rem;\n }\n\n .md\\:text-sm {\n font-size: .875rem;\n }\n\n .md\\:text-base {\n font-size: 1rem;\n }\n\n .md\\:text-lg {\n font-size: 1.125rem;\n }\n\n .md\\:text-xl {\n font-size: 1.25rem;\n }\n\n .md\\:text-2xl {\n font-size: 1.5rem;\n }\n\n .md\\:text-3xl {\n font-size: 1.875rem;\n }\n\n .md\\:text-4xl {\n font-size: 2.25rem;\n }\n\n .md\\:text-5xl {\n font-size: 3rem;\n }\n\n .md\\:italic {\n font-style: italic;\n }\n\n .md\\:roman {\n font-style: normal;\n }\n\n .md\\:uppercase {\n text-transform: uppercase;\n }\n\n .md\\:lowercase {\n text-transform: lowercase;\n }\n\n .md\\:capitalize {\n text-transform: capitalize;\n }\n\n .md\\:normal-case {\n text-transform: none;\n }\n\n .md\\:underline {\n text-decoration: underline;\n }\n\n .md\\:line-through {\n text-decoration: line-through;\n }\n\n .md\\:no-underline {\n text-decoration: none;\n }\n\n .md\\:antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .md\\:subpixel-antialiased {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .md\\:hover\\:italic:hover {\n font-style: italic;\n }\n\n .md\\:hover\\:roman:hover {\n font-style: normal;\n }\n\n .md\\:hover\\:uppercase:hover {\n text-transform: uppercase;\n }\n\n .md\\:hover\\:lowercase:hover {\n text-transform: lowercase;\n }\n\n .md\\:hover\\:capitalize:hover {\n text-transform: capitalize;\n }\n\n .md\\:hover\\:normal-case:hover {\n text-transform: none;\n }\n\n .md\\:hover\\:underline:hover {\n text-decoration: underline;\n }\n\n .md\\:hover\\:line-through:hover {\n text-decoration: line-through;\n }\n\n .md\\:hover\\:no-underline:hover {\n text-decoration: none;\n }\n\n .md\\:hover\\:antialiased:hover {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .md\\:hover\\:subpixel-antialiased:hover {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .md\\:focus\\:italic:focus {\n font-style: italic;\n }\n\n .md\\:focus\\:roman:focus {\n font-style: normal;\n }\n\n .md\\:focus\\:uppercase:focus {\n text-transform: uppercase;\n }\n\n .md\\:focus\\:lowercase:focus {\n text-transform: lowercase;\n }\n\n .md\\:focus\\:capitalize:focus {\n text-transform: capitalize;\n }\n\n .md\\:focus\\:normal-case:focus {\n text-transform: none;\n }\n\n .md\\:focus\\:underline:focus {\n text-decoration: underline;\n }\n\n .md\\:focus\\:line-through:focus {\n text-decoration: line-through;\n }\n\n .md\\:focus\\:no-underline:focus {\n text-decoration: none;\n }\n\n .md\\:focus\\:antialiased:focus {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .md\\:focus\\:subpixel-antialiased:focus {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .md\\:tracking-tight {\n letter-spacing: -0.05em;\n }\n\n .md\\:tracking-normal {\n letter-spacing: 0;\n }\n\n .md\\:tracking-wide {\n letter-spacing: .05em;\n }\n\n .md\\:select-none {\n user-select: none;\n }\n\n .md\\:select-text {\n user-select: text;\n }\n\n .md\\:align-baseline {\n vertical-align: baseline;\n }\n\n .md\\:align-top {\n vertical-align: top;\n }\n\n .md\\:align-middle {\n vertical-align: middle;\n }\n\n .md\\:align-bottom {\n vertical-align: bottom;\n }\n\n .md\\:align-text-top {\n vertical-align: text-top;\n }\n\n .md\\:align-text-bottom {\n vertical-align: text-bottom;\n }\n\n .md\\:visible {\n visibility: visible;\n }\n\n .md\\:invisible {\n visibility: hidden;\n }\n\n .md\\:whitespace-normal {\n white-space: normal;\n }\n\n .md\\:whitespace-no-wrap {\n white-space: nowrap;\n }\n\n .md\\:whitespace-pre {\n white-space: pre;\n }\n\n .md\\:whitespace-pre-line {\n white-space: pre-line;\n }\n\n .md\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n\n .md\\:break-words {\n word-wrap: break-word;\n }\n\n .md\\:break-normal {\n word-wrap: normal;\n }\n\n .md\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .md\\:w-1 {\n width: .25rem;\n }\n\n .md\\:w-2 {\n width: .5rem;\n }\n\n .md\\:w-3 {\n width: .75rem;\n }\n\n .md\\:w-4 {\n width: 1rem;\n }\n\n .md\\:w-5 {\n width: 1.25rem;\n }\n\n .md\\:w-6 {\n width: 1.5rem;\n }\n\n .md\\:w-8 {\n width: 2rem;\n }\n\n .md\\:w-10 {\n width: 2.5rem;\n }\n\n .md\\:w-12 {\n width: 3rem;\n }\n\n .md\\:w-16 {\n width: 4rem;\n }\n\n .md\\:w-24 {\n width: 6rem;\n }\n\n .md\\:w-32 {\n width: 8rem;\n }\n\n .md\\:w-48 {\n width: 12rem;\n }\n\n .md\\:w-64 {\n width: 16rem;\n }\n\n .md\\:w-auto {\n width: auto;\n }\n\n .md\\:w-px {\n width: 1px;\n }\n\n .md\\:w-1\\/2 {\n width: 50%;\n }\n\n .md\\:w-1\\/3 {\n width: 33.33333%;\n }\n\n .md\\:w-2\\/3 {\n width: 66.66667%;\n }\n\n .md\\:w-1\\/4 {\n width: 25%;\n }\n\n .md\\:w-3\\/4 {\n width: 75%;\n }\n\n .md\\:w-1\\/5 {\n width: 20%;\n }\n\n .md\\:w-2\\/5 {\n width: 40%;\n }\n\n .md\\:w-3\\/5 {\n width: 60%;\n }\n\n .md\\:w-4\\/5 {\n width: 80%;\n }\n\n .md\\:w-1\\/6 {\n width: 16.66667%;\n }\n\n .md\\:w-5\\/6 {\n width: 83.33333%;\n }\n\n .md\\:w-full {\n width: 100%;\n }\n\n .md\\:w-screen {\n width: 100vw;\n }\n\n .md\\:z-0 {\n z-index: 0;\n }\n\n .md\\:z-10 {\n z-index: 10;\n }\n\n .md\\:z-20 {\n z-index: 20;\n }\n\n .md\\:z-30 {\n z-index: 30;\n }\n\n .md\\:z-40 {\n z-index: 40;\n }\n\n .md\\:z-50 {\n z-index: 50;\n }\n\n .md\\:z-auto {\n z-index: auto;\n }\n}\n\n@media (min-width: 992px) {\n .lg\\:list-reset {\n list-style: none;\n padding: 0;\n }\n\n .lg\\:appearance-none {\n appearance: none;\n }\n\n .lg\\:bg-fixed {\n background-attachment: fixed;\n }\n\n .lg\\:bg-local {\n background-attachment: local;\n }\n\n .lg\\:bg-scroll {\n background-attachment: scroll;\n }\n\n .lg\\:bg-transparent {\n background-color: transparent;\n }\n\n .lg\\:bg-black {\n background-color: #22292f;\n }\n\n .lg\\:bg-grey-darkest {\n background-color: #3d4852;\n }\n\n .lg\\:bg-grey-darker {\n background-color: #606f7b;\n }\n\n .lg\\:bg-grey-dark {\n background-color: #8795a1;\n }\n\n .lg\\:bg-grey {\n background-color: #b8c2cc;\n }\n\n .lg\\:bg-grey-light {\n background-color: #dae1e7;\n }\n\n .lg\\:bg-grey-lighter {\n background-color: #f1f5f8;\n }\n\n .lg\\:bg-grey-lightest {\n background-color: #f8fafc;\n }\n\n .lg\\:bg-white {\n background-color: #fff;\n }\n\n .lg\\:bg-red-darkest {\n background-color: #3b0d0c;\n }\n\n .lg\\:bg-red-darker {\n background-color: #621b18;\n }\n\n .lg\\:bg-red-dark {\n background-color: #cc1f1a;\n }\n\n .lg\\:bg-red {\n background-color: #e3342f;\n }\n\n .lg\\:bg-red-light {\n background-color: #ef5753;\n }\n\n .lg\\:bg-red-lighter {\n background-color: #f9acaa;\n }\n\n .lg\\:bg-red-lightest {\n background-color: #fcebea;\n }\n\n .lg\\:bg-orange-darkest {\n background-color: #462a16;\n }\n\n .lg\\:bg-orange-darker {\n background-color: #613b1f;\n }\n\n .lg\\:bg-orange-dark {\n background-color: #de751f;\n }\n\n .lg\\:bg-orange {\n background-color: #f6993f;\n }\n\n .lg\\:bg-orange-light {\n background-color: #faad63;\n }\n\n .lg\\:bg-orange-lighter {\n background-color: #fcd9b6;\n }\n\n .lg\\:bg-orange-lightest {\n background-color: #fff5eb;\n }\n\n .lg\\:bg-yellow-darkest {\n background-color: #453411;\n }\n\n .lg\\:bg-yellow-darker {\n background-color: #684f1d;\n }\n\n .lg\\:bg-yellow-dark {\n background-color: #f2d024;\n }\n\n .lg\\:bg-yellow {\n background-color: #ffed4a;\n }\n\n .lg\\:bg-yellow-light {\n background-color: #fff382;\n }\n\n .lg\\:bg-yellow-lighter {\n background-color: #fff9c2;\n }\n\n .lg\\:bg-yellow-lightest {\n background-color: #fcfbeb;\n }\n\n .lg\\:bg-green-darkest {\n background-color: #0f2f21;\n }\n\n .lg\\:bg-green-darker {\n background-color: #1a4731;\n }\n\n .lg\\:bg-green-dark {\n background-color: #1f9d55;\n }\n\n .lg\\:bg-green {\n background-color: #38c172;\n }\n\n .lg\\:bg-green-light {\n background-color: #51d88a;\n }\n\n .lg\\:bg-green-lighter {\n background-color: #a2f5bf;\n }\n\n .lg\\:bg-green-lightest {\n background-color: #e3fcec;\n }\n\n .lg\\:bg-teal-darkest {\n background-color: #0d3331;\n }\n\n .lg\\:bg-teal-darker {\n background-color: #20504f;\n }\n\n .lg\\:bg-teal-dark {\n background-color: #38a89d;\n }\n\n .lg\\:bg-teal {\n background-color: #4dc0b5;\n }\n\n .lg\\:bg-teal-light {\n background-color: #64d5ca;\n }\n\n .lg\\:bg-teal-lighter {\n background-color: #a0f0ed;\n }\n\n .lg\\:bg-teal-lightest {\n background-color: #e8fffe;\n }\n\n .lg\\:bg-blue-darkest {\n background-color: #12283a;\n }\n\n .lg\\:bg-blue-darker {\n background-color: #1c3d5a;\n }\n\n .lg\\:bg-blue-dark {\n background-color: #2779bd;\n }\n\n .lg\\:bg-blue {\n background-color: #3490dc;\n }\n\n .lg\\:bg-blue-light {\n background-color: #6cb2eb;\n }\n\n .lg\\:bg-blue-lighter {\n background-color: #bcdefa;\n }\n\n .lg\\:bg-blue-lightest {\n background-color: #eff8ff;\n }\n\n .lg\\:bg-indigo-darkest {\n background-color: #191e38;\n }\n\n .lg\\:bg-indigo-darker {\n background-color: #2f365f;\n }\n\n .lg\\:bg-indigo-dark {\n background-color: #5661b3;\n }\n\n .lg\\:bg-indigo {\n background-color: #6574cd;\n }\n\n .lg\\:bg-indigo-light {\n background-color: #7886d7;\n }\n\n .lg\\:bg-indigo-lighter {\n background-color: #b2b7ff;\n }\n\n .lg\\:bg-indigo-lightest {\n background-color: #e6e8ff;\n }\n\n .lg\\:bg-purple-darkest {\n background-color: #21183c;\n }\n\n .lg\\:bg-purple-darker {\n background-color: #382b5f;\n }\n\n .lg\\:bg-purple-dark {\n background-color: #794acf;\n }\n\n .lg\\:bg-purple {\n background-color: #9561e2;\n }\n\n .lg\\:bg-purple-light {\n background-color: #a779e9;\n }\n\n .lg\\:bg-purple-lighter {\n background-color: #d6bbfc;\n }\n\n .lg\\:bg-purple-lightest {\n background-color: #f3ebff;\n }\n\n .lg\\:bg-pink-darkest {\n background-color: #451225;\n }\n\n .lg\\:bg-pink-darker {\n background-color: #6f213f;\n }\n\n .lg\\:bg-pink-dark {\n background-color: #eb5286;\n }\n\n .lg\\:bg-pink {\n background-color: #f66d9b;\n }\n\n .lg\\:bg-pink-light {\n background-color: #fa7ea8;\n }\n\n .lg\\:bg-pink-lighter {\n background-color: #ffbbca;\n }\n\n .lg\\:bg-pink-lightest {\n background-color: #ffebef;\n }\n\n .lg\\:hover\\:bg-transparent:hover {\n background-color: transparent;\n }\n\n .lg\\:hover\\:bg-black:hover {\n background-color: #22292f;\n }\n\n .lg\\:hover\\:bg-grey-darkest:hover {\n background-color: #3d4852;\n }\n\n .lg\\:hover\\:bg-grey-darker:hover {\n background-color: #606f7b;\n }\n\n .lg\\:hover\\:bg-grey-dark:hover {\n background-color: #8795a1;\n }\n\n .lg\\:hover\\:bg-grey:hover {\n background-color: #b8c2cc;\n }\n\n .lg\\:hover\\:bg-grey-light:hover {\n background-color: #dae1e7;\n }\n\n .lg\\:hover\\:bg-grey-lighter:hover {\n background-color: #f1f5f8;\n }\n\n .lg\\:hover\\:bg-grey-lightest:hover {\n background-color: #f8fafc;\n }\n\n .lg\\:hover\\:bg-white:hover {\n background-color: #fff;\n }\n\n .lg\\:hover\\:bg-red-darkest:hover {\n background-color: #3b0d0c;\n }\n\n .lg\\:hover\\:bg-red-darker:hover {\n background-color: #621b18;\n }\n\n .lg\\:hover\\:bg-red-dark:hover {\n background-color: #cc1f1a;\n }\n\n .lg\\:hover\\:bg-red:hover {\n background-color: #e3342f;\n }\n\n .lg\\:hover\\:bg-red-light:hover {\n background-color: #ef5753;\n }\n\n .lg\\:hover\\:bg-red-lighter:hover {\n background-color: #f9acaa;\n }\n\n .lg\\:hover\\:bg-red-lightest:hover {\n background-color: #fcebea;\n }\n\n .lg\\:hover\\:bg-orange-darkest:hover {\n background-color: #462a16;\n }\n\n .lg\\:hover\\:bg-orange-darker:hover {\n background-color: #613b1f;\n }\n\n .lg\\:hover\\:bg-orange-dark:hover {\n background-color: #de751f;\n }\n\n .lg\\:hover\\:bg-orange:hover {\n background-color: #f6993f;\n }\n\n .lg\\:hover\\:bg-orange-light:hover {\n background-color: #faad63;\n }\n\n .lg\\:hover\\:bg-orange-lighter:hover {\n background-color: #fcd9b6;\n }\n\n .lg\\:hover\\:bg-orange-lightest:hover {\n background-color: #fff5eb;\n }\n\n .lg\\:hover\\:bg-yellow-darkest:hover {\n background-color: #453411;\n }\n\n .lg\\:hover\\:bg-yellow-darker:hover {\n background-color: #684f1d;\n }\n\n .lg\\:hover\\:bg-yellow-dark:hover {\n background-color: #f2d024;\n }\n\n .lg\\:hover\\:bg-yellow:hover {\n background-color: #ffed4a;\n }\n\n .lg\\:hover\\:bg-yellow-light:hover {\n background-color: #fff382;\n }\n\n .lg\\:hover\\:bg-yellow-lighter:hover {\n background-color: #fff9c2;\n }\n\n .lg\\:hover\\:bg-yellow-lightest:hover {\n background-color: #fcfbeb;\n }\n\n .lg\\:hover\\:bg-green-darkest:hover {\n background-color: #0f2f21;\n }\n\n .lg\\:hover\\:bg-green-darker:hover {\n background-color: #1a4731;\n }\n\n .lg\\:hover\\:bg-green-dark:hover {\n background-color: #1f9d55;\n }\n\n .lg\\:hover\\:bg-green:hover {\n background-color: #38c172;\n }\n\n .lg\\:hover\\:bg-green-light:hover {\n background-color: #51d88a;\n }\n\n .lg\\:hover\\:bg-green-lighter:hover {\n background-color: #a2f5bf;\n }\n\n .lg\\:hover\\:bg-green-lightest:hover {\n background-color: #e3fcec;\n }\n\n .lg\\:hover\\:bg-teal-darkest:hover {\n background-color: #0d3331;\n }\n\n .lg\\:hover\\:bg-teal-darker:hover {\n background-color: #20504f;\n }\n\n .lg\\:hover\\:bg-teal-dark:hover {\n background-color: #38a89d;\n }\n\n .lg\\:hover\\:bg-teal:hover {\n background-color: #4dc0b5;\n }\n\n .lg\\:hover\\:bg-teal-light:hover {\n background-color: #64d5ca;\n }\n\n .lg\\:hover\\:bg-teal-lighter:hover {\n background-color: #a0f0ed;\n }\n\n .lg\\:hover\\:bg-teal-lightest:hover {\n background-color: #e8fffe;\n }\n\n .lg\\:hover\\:bg-blue-darkest:hover {\n background-color: #12283a;\n }\n\n .lg\\:hover\\:bg-blue-darker:hover {\n background-color: #1c3d5a;\n }\n\n .lg\\:hover\\:bg-blue-dark:hover {\n background-color: #2779bd;\n }\n\n .lg\\:hover\\:bg-blue:hover {\n background-color: #3490dc;\n }\n\n .lg\\:hover\\:bg-blue-light:hover {\n background-color: #6cb2eb;\n }\n\n .lg\\:hover\\:bg-blue-lighter:hover {\n background-color: #bcdefa;\n }\n\n .lg\\:hover\\:bg-blue-lightest:hover {\n background-color: #eff8ff;\n }\n\n .lg\\:hover\\:bg-indigo-darkest:hover {\n background-color: #191e38;\n }\n\n .lg\\:hover\\:bg-indigo-darker:hover {\n background-color: #2f365f;\n }\n\n .lg\\:hover\\:bg-indigo-dark:hover {\n background-color: #5661b3;\n }\n\n .lg\\:hover\\:bg-indigo:hover {\n background-color: #6574cd;\n }\n\n .lg\\:hover\\:bg-indigo-light:hover {\n background-color: #7886d7;\n }\n\n .lg\\:hover\\:bg-indigo-lighter:hover {\n background-color: #b2b7ff;\n }\n\n .lg\\:hover\\:bg-indigo-lightest:hover {\n background-color: #e6e8ff;\n }\n\n .lg\\:hover\\:bg-purple-darkest:hover {\n background-color: #21183c;\n }\n\n .lg\\:hover\\:bg-purple-darker:hover {\n background-color: #382b5f;\n }\n\n .lg\\:hover\\:bg-purple-dark:hover {\n background-color: #794acf;\n }\n\n .lg\\:hover\\:bg-purple:hover {\n background-color: #9561e2;\n }\n\n .lg\\:hover\\:bg-purple-light:hover {\n background-color: #a779e9;\n }\n\n .lg\\:hover\\:bg-purple-lighter:hover {\n background-color: #d6bbfc;\n }\n\n .lg\\:hover\\:bg-purple-lightest:hover {\n background-color: #f3ebff;\n }\n\n .lg\\:hover\\:bg-pink-darkest:hover {\n background-color: #451225;\n }\n\n .lg\\:hover\\:bg-pink-darker:hover {\n background-color: #6f213f;\n }\n\n .lg\\:hover\\:bg-pink-dark:hover {\n background-color: #eb5286;\n }\n\n .lg\\:hover\\:bg-pink:hover {\n background-color: #f66d9b;\n }\n\n .lg\\:hover\\:bg-pink-light:hover {\n background-color: #fa7ea8;\n }\n\n .lg\\:hover\\:bg-pink-lighter:hover {\n background-color: #ffbbca;\n }\n\n .lg\\:hover\\:bg-pink-lightest:hover {\n background-color: #ffebef;\n }\n\n .lg\\:focus\\:bg-transparent:focus {\n background-color: transparent;\n }\n\n .lg\\:focus\\:bg-black:focus {\n background-color: #22292f;\n }\n\n .lg\\:focus\\:bg-grey-darkest:focus {\n background-color: #3d4852;\n }\n\n .lg\\:focus\\:bg-grey-darker:focus {\n background-color: #606f7b;\n }\n\n .lg\\:focus\\:bg-grey-dark:focus {\n background-color: #8795a1;\n }\n\n .lg\\:focus\\:bg-grey:focus {\n background-color: #b8c2cc;\n }\n\n .lg\\:focus\\:bg-grey-light:focus {\n background-color: #dae1e7;\n }\n\n .lg\\:focus\\:bg-grey-lighter:focus {\n background-color: #f1f5f8;\n }\n\n .lg\\:focus\\:bg-grey-lightest:focus {\n background-color: #f8fafc;\n }\n\n .lg\\:focus\\:bg-white:focus {\n background-color: #fff;\n }\n\n .lg\\:focus\\:bg-red-darkest:focus {\n background-color: #3b0d0c;\n }\n\n .lg\\:focus\\:bg-red-darker:focus {\n background-color: #621b18;\n }\n\n .lg\\:focus\\:bg-red-dark:focus {\n background-color: #cc1f1a;\n }\n\n .lg\\:focus\\:bg-red:focus {\n background-color: #e3342f;\n }\n\n .lg\\:focus\\:bg-red-light:focus {\n background-color: #ef5753;\n }\n\n .lg\\:focus\\:bg-red-lighter:focus {\n background-color: #f9acaa;\n }\n\n .lg\\:focus\\:bg-red-lightest:focus {\n background-color: #fcebea;\n }\n\n .lg\\:focus\\:bg-orange-darkest:focus {\n background-color: #462a16;\n }\n\n .lg\\:focus\\:bg-orange-darker:focus {\n background-color: #613b1f;\n }\n\n .lg\\:focus\\:bg-orange-dark:focus {\n background-color: #de751f;\n }\n\n .lg\\:focus\\:bg-orange:focus {\n background-color: #f6993f;\n }\n\n .lg\\:focus\\:bg-orange-light:focus {\n background-color: #faad63;\n }\n\n .lg\\:focus\\:bg-orange-lighter:focus {\n background-color: #fcd9b6;\n }\n\n .lg\\:focus\\:bg-orange-lightest:focus {\n background-color: #fff5eb;\n }\n\n .lg\\:focus\\:bg-yellow-darkest:focus {\n background-color: #453411;\n }\n\n .lg\\:focus\\:bg-yellow-darker:focus {\n background-color: #684f1d;\n }\n\n .lg\\:focus\\:bg-yellow-dark:focus {\n background-color: #f2d024;\n }\n\n .lg\\:focus\\:bg-yellow:focus {\n background-color: #ffed4a;\n }\n\n .lg\\:focus\\:bg-yellow-light:focus {\n background-color: #fff382;\n }\n\n .lg\\:focus\\:bg-yellow-lighter:focus {\n background-color: #fff9c2;\n }\n\n .lg\\:focus\\:bg-yellow-lightest:focus {\n background-color: #fcfbeb;\n }\n\n .lg\\:focus\\:bg-green-darkest:focus {\n background-color: #0f2f21;\n }\n\n .lg\\:focus\\:bg-green-darker:focus {\n background-color: #1a4731;\n }\n\n .lg\\:focus\\:bg-green-dark:focus {\n background-color: #1f9d55;\n }\n\n .lg\\:focus\\:bg-green:focus {\n background-color: #38c172;\n }\n\n .lg\\:focus\\:bg-green-light:focus {\n background-color: #51d88a;\n }\n\n .lg\\:focus\\:bg-green-lighter:focus {\n background-color: #a2f5bf;\n }\n\n .lg\\:focus\\:bg-green-lightest:focus {\n background-color: #e3fcec;\n }\n\n .lg\\:focus\\:bg-teal-darkest:focus {\n background-color: #0d3331;\n }\n\n .lg\\:focus\\:bg-teal-darker:focus {\n background-color: #20504f;\n }\n\n .lg\\:focus\\:bg-teal-dark:focus {\n background-color: #38a89d;\n }\n\n .lg\\:focus\\:bg-teal:focus {\n background-color: #4dc0b5;\n }\n\n .lg\\:focus\\:bg-teal-light:focus {\n background-color: #64d5ca;\n }\n\n .lg\\:focus\\:bg-teal-lighter:focus {\n background-color: #a0f0ed;\n }\n\n .lg\\:focus\\:bg-teal-lightest:focus {\n background-color: #e8fffe;\n }\n\n .lg\\:focus\\:bg-blue-darkest:focus {\n background-color: #12283a;\n }\n\n .lg\\:focus\\:bg-blue-darker:focus {\n background-color: #1c3d5a;\n }\n\n .lg\\:focus\\:bg-blue-dark:focus {\n background-color: #2779bd;\n }\n\n .lg\\:focus\\:bg-blue:focus {\n background-color: #3490dc;\n }\n\n .lg\\:focus\\:bg-blue-light:focus {\n background-color: #6cb2eb;\n }\n\n .lg\\:focus\\:bg-blue-lighter:focus {\n background-color: #bcdefa;\n }\n\n .lg\\:focus\\:bg-blue-lightest:focus {\n background-color: #eff8ff;\n }\n\n .lg\\:focus\\:bg-indigo-darkest:focus {\n background-color: #191e38;\n }\n\n .lg\\:focus\\:bg-indigo-darker:focus {\n background-color: #2f365f;\n }\n\n .lg\\:focus\\:bg-indigo-dark:focus {\n background-color: #5661b3;\n }\n\n .lg\\:focus\\:bg-indigo:focus {\n background-color: #6574cd;\n }\n\n .lg\\:focus\\:bg-indigo-light:focus {\n background-color: #7886d7;\n }\n\n .lg\\:focus\\:bg-indigo-lighter:focus {\n background-color: #b2b7ff;\n }\n\n .lg\\:focus\\:bg-indigo-lightest:focus {\n background-color: #e6e8ff;\n }\n\n .lg\\:focus\\:bg-purple-darkest:focus {\n background-color: #21183c;\n }\n\n .lg\\:focus\\:bg-purple-darker:focus {\n background-color: #382b5f;\n }\n\n .lg\\:focus\\:bg-purple-dark:focus {\n background-color: #794acf;\n }\n\n .lg\\:focus\\:bg-purple:focus {\n background-color: #9561e2;\n }\n\n .lg\\:focus\\:bg-purple-light:focus {\n background-color: #a779e9;\n }\n\n .lg\\:focus\\:bg-purple-lighter:focus {\n background-color: #d6bbfc;\n }\n\n .lg\\:focus\\:bg-purple-lightest:focus {\n background-color: #f3ebff;\n }\n\n .lg\\:focus\\:bg-pink-darkest:focus {\n background-color: #451225;\n }\n\n .lg\\:focus\\:bg-pink-darker:focus {\n background-color: #6f213f;\n }\n\n .lg\\:focus\\:bg-pink-dark:focus {\n background-color: #eb5286;\n }\n\n .lg\\:focus\\:bg-pink:focus {\n background-color: #f66d9b;\n }\n\n .lg\\:focus\\:bg-pink-light:focus {\n background-color: #fa7ea8;\n }\n\n .lg\\:focus\\:bg-pink-lighter:focus {\n background-color: #ffbbca;\n }\n\n .lg\\:focus\\:bg-pink-lightest:focus {\n background-color: #ffebef;\n }\n\n .lg\\:bg-bottom {\n background-position: bottom;\n }\n\n .lg\\:bg-center {\n background-position: center;\n }\n\n .lg\\:bg-left {\n background-position: left;\n }\n\n .lg\\:bg-left-bottom {\n background-position: left bottom;\n }\n\n .lg\\:bg-left-top {\n background-position: left top;\n }\n\n .lg\\:bg-right {\n background-position: right;\n }\n\n .lg\\:bg-right-bottom {\n background-position: right bottom;\n }\n\n .lg\\:bg-right-top {\n background-position: right top;\n }\n\n .lg\\:bg-top {\n background-position: top;\n }\n\n .lg\\:bg-repeat {\n background-repeat: repeat;\n }\n\n .lg\\:bg-no-repeat {\n background-repeat: no-repeat;\n }\n\n .lg\\:bg-repeat-x {\n background-repeat: repeat-x;\n }\n\n .lg\\:bg-repeat-y {\n background-repeat: repeat-y;\n }\n\n .lg\\:bg-auto {\n background-size: auto;\n }\n\n .lg\\:bg-cover {\n background-size: cover;\n }\n\n .lg\\:bg-contain {\n background-size: contain;\n }\n\n .lg\\:border-transparent {\n border-color: transparent;\n }\n\n .lg\\:border-black {\n border-color: #22292f;\n }\n\n .lg\\:border-grey-darkest {\n border-color: #3d4852;\n }\n\n .lg\\:border-grey-darker {\n border-color: #606f7b;\n }\n\n .lg\\:border-grey-dark {\n border-color: #8795a1;\n }\n\n .lg\\:border-grey {\n border-color: #b8c2cc;\n }\n\n .lg\\:border-grey-light {\n border-color: #dae1e7;\n }\n\n .lg\\:border-grey-lighter {\n border-color: #f1f5f8;\n }\n\n .lg\\:border-grey-lightest {\n border-color: #f8fafc;\n }\n\n .lg\\:border-white {\n border-color: #fff;\n }\n\n .lg\\:border-red-darkest {\n border-color: #3b0d0c;\n }\n\n .lg\\:border-red-darker {\n border-color: #621b18;\n }\n\n .lg\\:border-red-dark {\n border-color: #cc1f1a;\n }\n\n .lg\\:border-red {\n border-color: #e3342f;\n }\n\n .lg\\:border-red-light {\n border-color: #ef5753;\n }\n\n .lg\\:border-red-lighter {\n border-color: #f9acaa;\n }\n\n .lg\\:border-red-lightest {\n border-color: #fcebea;\n }\n\n .lg\\:border-orange-darkest {\n border-color: #462a16;\n }\n\n .lg\\:border-orange-darker {\n border-color: #613b1f;\n }\n\n .lg\\:border-orange-dark {\n border-color: #de751f;\n }\n\n .lg\\:border-orange {\n border-color: #f6993f;\n }\n\n .lg\\:border-orange-light {\n border-color: #faad63;\n }\n\n .lg\\:border-orange-lighter {\n border-color: #fcd9b6;\n }\n\n .lg\\:border-orange-lightest {\n border-color: #fff5eb;\n }\n\n .lg\\:border-yellow-darkest {\n border-color: #453411;\n }\n\n .lg\\:border-yellow-darker {\n border-color: #684f1d;\n }\n\n .lg\\:border-yellow-dark {\n border-color: #f2d024;\n }\n\n .lg\\:border-yellow {\n border-color: #ffed4a;\n }\n\n .lg\\:border-yellow-light {\n border-color: #fff382;\n }\n\n .lg\\:border-yellow-lighter {\n border-color: #fff9c2;\n }\n\n .lg\\:border-yellow-lightest {\n border-color: #fcfbeb;\n }\n\n .lg\\:border-green-darkest {\n border-color: #0f2f21;\n }\n\n .lg\\:border-green-darker {\n border-color: #1a4731;\n }\n\n .lg\\:border-green-dark {\n border-color: #1f9d55;\n }\n\n .lg\\:border-green {\n border-color: #38c172;\n }\n\n .lg\\:border-green-light {\n border-color: #51d88a;\n }\n\n .lg\\:border-green-lighter {\n border-color: #a2f5bf;\n }\n\n .lg\\:border-green-lightest {\n border-color: #e3fcec;\n }\n\n .lg\\:border-teal-darkest {\n border-color: #0d3331;\n }\n\n .lg\\:border-teal-darker {\n border-color: #20504f;\n }\n\n .lg\\:border-teal-dark {\n border-color: #38a89d;\n }\n\n .lg\\:border-teal {\n border-color: #4dc0b5;\n }\n\n .lg\\:border-teal-light {\n border-color: #64d5ca;\n }\n\n .lg\\:border-teal-lighter {\n border-color: #a0f0ed;\n }\n\n .lg\\:border-teal-lightest {\n border-color: #e8fffe;\n }\n\n .lg\\:border-blue-darkest {\n border-color: #12283a;\n }\n\n .lg\\:border-blue-darker {\n border-color: #1c3d5a;\n }\n\n .lg\\:border-blue-dark {\n border-color: #2779bd;\n }\n\n .lg\\:border-blue {\n border-color: #3490dc;\n }\n\n .lg\\:border-blue-light {\n border-color: #6cb2eb;\n }\n\n .lg\\:border-blue-lighter {\n border-color: #bcdefa;\n }\n\n .lg\\:border-blue-lightest {\n border-color: #eff8ff;\n }\n\n .lg\\:border-indigo-darkest {\n border-color: #191e38;\n }\n\n .lg\\:border-indigo-darker {\n border-color: #2f365f;\n }\n\n .lg\\:border-indigo-dark {\n border-color: #5661b3;\n }\n\n .lg\\:border-indigo {\n border-color: #6574cd;\n }\n\n .lg\\:border-indigo-light {\n border-color: #7886d7;\n }\n\n .lg\\:border-indigo-lighter {\n border-color: #b2b7ff;\n }\n\n .lg\\:border-indigo-lightest {\n border-color: #e6e8ff;\n }\n\n .lg\\:border-purple-darkest {\n border-color: #21183c;\n }\n\n .lg\\:border-purple-darker {\n border-color: #382b5f;\n }\n\n .lg\\:border-purple-dark {\n border-color: #794acf;\n }\n\n .lg\\:border-purple {\n border-color: #9561e2;\n }\n\n .lg\\:border-purple-light {\n border-color: #a779e9;\n }\n\n .lg\\:border-purple-lighter {\n border-color: #d6bbfc;\n }\n\n .lg\\:border-purple-lightest {\n border-color: #f3ebff;\n }\n\n .lg\\:border-pink-darkest {\n border-color: #451225;\n }\n\n .lg\\:border-pink-darker {\n border-color: #6f213f;\n }\n\n .lg\\:border-pink-dark {\n border-color: #eb5286;\n }\n\n .lg\\:border-pink {\n border-color: #f66d9b;\n }\n\n .lg\\:border-pink-light {\n border-color: #fa7ea8;\n }\n\n .lg\\:border-pink-lighter {\n border-color: #ffbbca;\n }\n\n .lg\\:border-pink-lightest {\n border-color: #ffebef;\n }\n\n .lg\\:hover\\:border-transparent:hover {\n border-color: transparent;\n }\n\n .lg\\:hover\\:border-black:hover {\n border-color: #22292f;\n }\n\n .lg\\:hover\\:border-grey-darkest:hover {\n border-color: #3d4852;\n }\n\n .lg\\:hover\\:border-grey-darker:hover {\n border-color: #606f7b;\n }\n\n .lg\\:hover\\:border-grey-dark:hover {\n border-color: #8795a1;\n }\n\n .lg\\:hover\\:border-grey:hover {\n border-color: #b8c2cc;\n }\n\n .lg\\:hover\\:border-grey-light:hover {\n border-color: #dae1e7;\n }\n\n .lg\\:hover\\:border-grey-lighter:hover {\n border-color: #f1f5f8;\n }\n\n .lg\\:hover\\:border-grey-lightest:hover {\n border-color: #f8fafc;\n }\n\n .lg\\:hover\\:border-white:hover {\n border-color: #fff;\n }\n\n .lg\\:hover\\:border-red-darkest:hover {\n border-color: #3b0d0c;\n }\n\n .lg\\:hover\\:border-red-darker:hover {\n border-color: #621b18;\n }\n\n .lg\\:hover\\:border-red-dark:hover {\n border-color: #cc1f1a;\n }\n\n .lg\\:hover\\:border-red:hover {\n border-color: #e3342f;\n }\n\n .lg\\:hover\\:border-red-light:hover {\n border-color: #ef5753;\n }\n\n .lg\\:hover\\:border-red-lighter:hover {\n border-color: #f9acaa;\n }\n\n .lg\\:hover\\:border-red-lightest:hover {\n border-color: #fcebea;\n }\n\n .lg\\:hover\\:border-orange-darkest:hover {\n border-color: #462a16;\n }\n\n .lg\\:hover\\:border-orange-darker:hover {\n border-color: #613b1f;\n }\n\n .lg\\:hover\\:border-orange-dark:hover {\n border-color: #de751f;\n }\n\n .lg\\:hover\\:border-orange:hover {\n border-color: #f6993f;\n }\n\n .lg\\:hover\\:border-orange-light:hover {\n border-color: #faad63;\n }\n\n .lg\\:hover\\:border-orange-lighter:hover {\n border-color: #fcd9b6;\n }\n\n .lg\\:hover\\:border-orange-lightest:hover {\n border-color: #fff5eb;\n }\n\n .lg\\:hover\\:border-yellow-darkest:hover {\n border-color: #453411;\n }\n\n .lg\\:hover\\:border-yellow-darker:hover {\n border-color: #684f1d;\n }\n\n .lg\\:hover\\:border-yellow-dark:hover {\n border-color: #f2d024;\n }\n\n .lg\\:hover\\:border-yellow:hover {\n border-color: #ffed4a;\n }\n\n .lg\\:hover\\:border-yellow-light:hover {\n border-color: #fff382;\n }\n\n .lg\\:hover\\:border-yellow-lighter:hover {\n border-color: #fff9c2;\n }\n\n .lg\\:hover\\:border-yellow-lightest:hover {\n border-color: #fcfbeb;\n }\n\n .lg\\:hover\\:border-green-darkest:hover {\n border-color: #0f2f21;\n }\n\n .lg\\:hover\\:border-green-darker:hover {\n border-color: #1a4731;\n }\n\n .lg\\:hover\\:border-green-dark:hover {\n border-color: #1f9d55;\n }\n\n .lg\\:hover\\:border-green:hover {\n border-color: #38c172;\n }\n\n .lg\\:hover\\:border-green-light:hover {\n border-color: #51d88a;\n }\n\n .lg\\:hover\\:border-green-lighter:hover {\n border-color: #a2f5bf;\n }\n\n .lg\\:hover\\:border-green-lightest:hover {\n border-color: #e3fcec;\n }\n\n .lg\\:hover\\:border-teal-darkest:hover {\n border-color: #0d3331;\n }\n\n .lg\\:hover\\:border-teal-darker:hover {\n border-color: #20504f;\n }\n\n .lg\\:hover\\:border-teal-dark:hover {\n border-color: #38a89d;\n }\n\n .lg\\:hover\\:border-teal:hover {\n border-color: #4dc0b5;\n }\n\n .lg\\:hover\\:border-teal-light:hover {\n border-color: #64d5ca;\n }\n\n .lg\\:hover\\:border-teal-lighter:hover {\n border-color: #a0f0ed;\n }\n\n .lg\\:hover\\:border-teal-lightest:hover {\n border-color: #e8fffe;\n }\n\n .lg\\:hover\\:border-blue-darkest:hover {\n border-color: #12283a;\n }\n\n .lg\\:hover\\:border-blue-darker:hover {\n border-color: #1c3d5a;\n }\n\n .lg\\:hover\\:border-blue-dark:hover {\n border-color: #2779bd;\n }\n\n .lg\\:hover\\:border-blue:hover {\n border-color: #3490dc;\n }\n\n .lg\\:hover\\:border-blue-light:hover {\n border-color: #6cb2eb;\n }\n\n .lg\\:hover\\:border-blue-lighter:hover {\n border-color: #bcdefa;\n }\n\n .lg\\:hover\\:border-blue-lightest:hover {\n border-color: #eff8ff;\n }\n\n .lg\\:hover\\:border-indigo-darkest:hover {\n border-color: #191e38;\n }\n\n .lg\\:hover\\:border-indigo-darker:hover {\n border-color: #2f365f;\n }\n\n .lg\\:hover\\:border-indigo-dark:hover {\n border-color: #5661b3;\n }\n\n .lg\\:hover\\:border-indigo:hover {\n border-color: #6574cd;\n }\n\n .lg\\:hover\\:border-indigo-light:hover {\n border-color: #7886d7;\n }\n\n .lg\\:hover\\:border-indigo-lighter:hover {\n border-color: #b2b7ff;\n }\n\n .lg\\:hover\\:border-indigo-lightest:hover {\n border-color: #e6e8ff;\n }\n\n .lg\\:hover\\:border-purple-darkest:hover {\n border-color: #21183c;\n }\n\n .lg\\:hover\\:border-purple-darker:hover {\n border-color: #382b5f;\n }\n\n .lg\\:hover\\:border-purple-dark:hover {\n border-color: #794acf;\n }\n\n .lg\\:hover\\:border-purple:hover {\n border-color: #9561e2;\n }\n\n .lg\\:hover\\:border-purple-light:hover {\n border-color: #a779e9;\n }\n\n .lg\\:hover\\:border-purple-lighter:hover {\n border-color: #d6bbfc;\n }\n\n .lg\\:hover\\:border-purple-lightest:hover {\n border-color: #f3ebff;\n }\n\n .lg\\:hover\\:border-pink-darkest:hover {\n border-color: #451225;\n }\n\n .lg\\:hover\\:border-pink-darker:hover {\n border-color: #6f213f;\n }\n\n .lg\\:hover\\:border-pink-dark:hover {\n border-color: #eb5286;\n }\n\n .lg\\:hover\\:border-pink:hover {\n border-color: #f66d9b;\n }\n\n .lg\\:hover\\:border-pink-light:hover {\n border-color: #fa7ea8;\n }\n\n .lg\\:hover\\:border-pink-lighter:hover {\n border-color: #ffbbca;\n }\n\n .lg\\:hover\\:border-pink-lightest:hover {\n border-color: #ffebef;\n }\n\n .lg\\:focus\\:border-transparent:focus {\n border-color: transparent;\n }\n\n .lg\\:focus\\:border-black:focus {\n border-color: #22292f;\n }\n\n .lg\\:focus\\:border-grey-darkest:focus {\n border-color: #3d4852;\n }\n\n .lg\\:focus\\:border-grey-darker:focus {\n border-color: #606f7b;\n }\n\n .lg\\:focus\\:border-grey-dark:focus {\n border-color: #8795a1;\n }\n\n .lg\\:focus\\:border-grey:focus {\n border-color: #b8c2cc;\n }\n\n .lg\\:focus\\:border-grey-light:focus {\n border-color: #dae1e7;\n }\n\n .lg\\:focus\\:border-grey-lighter:focus {\n border-color: #f1f5f8;\n }\n\n .lg\\:focus\\:border-grey-lightest:focus {\n border-color: #f8fafc;\n }\n\n .lg\\:focus\\:border-white:focus {\n border-color: #fff;\n }\n\n .lg\\:focus\\:border-red-darkest:focus {\n border-color: #3b0d0c;\n }\n\n .lg\\:focus\\:border-red-darker:focus {\n border-color: #621b18;\n }\n\n .lg\\:focus\\:border-red-dark:focus {\n border-color: #cc1f1a;\n }\n\n .lg\\:focus\\:border-red:focus {\n border-color: #e3342f;\n }\n\n .lg\\:focus\\:border-red-light:focus {\n border-color: #ef5753;\n }\n\n .lg\\:focus\\:border-red-lighter:focus {\n border-color: #f9acaa;\n }\n\n .lg\\:focus\\:border-red-lightest:focus {\n border-color: #fcebea;\n }\n\n .lg\\:focus\\:border-orange-darkest:focus {\n border-color: #462a16;\n }\n\n .lg\\:focus\\:border-orange-darker:focus {\n border-color: #613b1f;\n }\n\n .lg\\:focus\\:border-orange-dark:focus {\n border-color: #de751f;\n }\n\n .lg\\:focus\\:border-orange:focus {\n border-color: #f6993f;\n }\n\n .lg\\:focus\\:border-orange-light:focus {\n border-color: #faad63;\n }\n\n .lg\\:focus\\:border-orange-lighter:focus {\n border-color: #fcd9b6;\n }\n\n .lg\\:focus\\:border-orange-lightest:focus {\n border-color: #fff5eb;\n }\n\n .lg\\:focus\\:border-yellow-darkest:focus {\n border-color: #453411;\n }\n\n .lg\\:focus\\:border-yellow-darker:focus {\n border-color: #684f1d;\n }\n\n .lg\\:focus\\:border-yellow-dark:focus {\n border-color: #f2d024;\n }\n\n .lg\\:focus\\:border-yellow:focus {\n border-color: #ffed4a;\n }\n\n .lg\\:focus\\:border-yellow-light:focus {\n border-color: #fff382;\n }\n\n .lg\\:focus\\:border-yellow-lighter:focus {\n border-color: #fff9c2;\n }\n\n .lg\\:focus\\:border-yellow-lightest:focus {\n border-color: #fcfbeb;\n }\n\n .lg\\:focus\\:border-green-darkest:focus {\n border-color: #0f2f21;\n }\n\n .lg\\:focus\\:border-green-darker:focus {\n border-color: #1a4731;\n }\n\n .lg\\:focus\\:border-green-dark:focus {\n border-color: #1f9d55;\n }\n\n .lg\\:focus\\:border-green:focus {\n border-color: #38c172;\n }\n\n .lg\\:focus\\:border-green-light:focus {\n border-color: #51d88a;\n }\n\n .lg\\:focus\\:border-green-lighter:focus {\n border-color: #a2f5bf;\n }\n\n .lg\\:focus\\:border-green-lightest:focus {\n border-color: #e3fcec;\n }\n\n .lg\\:focus\\:border-teal-darkest:focus {\n border-color: #0d3331;\n }\n\n .lg\\:focus\\:border-teal-darker:focus {\n border-color: #20504f;\n }\n\n .lg\\:focus\\:border-teal-dark:focus {\n border-color: #38a89d;\n }\n\n .lg\\:focus\\:border-teal:focus {\n border-color: #4dc0b5;\n }\n\n .lg\\:focus\\:border-teal-light:focus {\n border-color: #64d5ca;\n }\n\n .lg\\:focus\\:border-teal-lighter:focus {\n border-color: #a0f0ed;\n }\n\n .lg\\:focus\\:border-teal-lightest:focus {\n border-color: #e8fffe;\n }\n\n .lg\\:focus\\:border-blue-darkest:focus {\n border-color: #12283a;\n }\n\n .lg\\:focus\\:border-blue-darker:focus {\n border-color: #1c3d5a;\n }\n\n .lg\\:focus\\:border-blue-dark:focus {\n border-color: #2779bd;\n }\n\n .lg\\:focus\\:border-blue:focus {\n border-color: #3490dc;\n }\n\n .lg\\:focus\\:border-blue-light:focus {\n border-color: #6cb2eb;\n }\n\n .lg\\:focus\\:border-blue-lighter:focus {\n border-color: #bcdefa;\n }\n\n .lg\\:focus\\:border-blue-lightest:focus {\n border-color: #eff8ff;\n }\n\n .lg\\:focus\\:border-indigo-darkest:focus {\n border-color: #191e38;\n }\n\n .lg\\:focus\\:border-indigo-darker:focus {\n border-color: #2f365f;\n }\n\n .lg\\:focus\\:border-indigo-dark:focus {\n border-color: #5661b3;\n }\n\n .lg\\:focus\\:border-indigo:focus {\n border-color: #6574cd;\n }\n\n .lg\\:focus\\:border-indigo-light:focus {\n border-color: #7886d7;\n }\n\n .lg\\:focus\\:border-indigo-lighter:focus {\n border-color: #b2b7ff;\n }\n\n .lg\\:focus\\:border-indigo-lightest:focus {\n border-color: #e6e8ff;\n }\n\n .lg\\:focus\\:border-purple-darkest:focus {\n border-color: #21183c;\n }\n\n .lg\\:focus\\:border-purple-darker:focus {\n border-color: #382b5f;\n }\n\n .lg\\:focus\\:border-purple-dark:focus {\n border-color: #794acf;\n }\n\n .lg\\:focus\\:border-purple:focus {\n border-color: #9561e2;\n }\n\n .lg\\:focus\\:border-purple-light:focus {\n border-color: #a779e9;\n }\n\n .lg\\:focus\\:border-purple-lighter:focus {\n border-color: #d6bbfc;\n }\n\n .lg\\:focus\\:border-purple-lightest:focus {\n border-color: #f3ebff;\n }\n\n .lg\\:focus\\:border-pink-darkest:focus {\n border-color: #451225;\n }\n\n .lg\\:focus\\:border-pink-darker:focus {\n border-color: #6f213f;\n }\n\n .lg\\:focus\\:border-pink-dark:focus {\n border-color: #eb5286;\n }\n\n .lg\\:focus\\:border-pink:focus {\n border-color: #f66d9b;\n }\n\n .lg\\:focus\\:border-pink-light:focus {\n border-color: #fa7ea8;\n }\n\n .lg\\:focus\\:border-pink-lighter:focus {\n border-color: #ffbbca;\n }\n\n .lg\\:focus\\:border-pink-lightest:focus {\n border-color: #ffebef;\n }\n\n .lg\\:rounded-none {\n border-radius: 0;\n }\n\n .lg\\:rounded-sm {\n border-radius: .125rem;\n }\n\n .lg\\:rounded {\n border-radius: .25rem;\n }\n\n .lg\\:rounded-lg {\n border-radius: .5rem;\n }\n\n .lg\\:rounded-full {\n border-radius: 9999px;\n }\n\n .lg\\:rounded-t-none {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n .lg\\:rounded-r-none {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .lg\\:rounded-b-none {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .lg\\:rounded-l-none {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .lg\\:rounded-t-sm {\n border-top-left-radius: .125rem;\n border-top-right-radius: .125rem;\n }\n\n .lg\\:rounded-r-sm {\n border-top-right-radius: .125rem;\n border-bottom-right-radius: .125rem;\n }\n\n .lg\\:rounded-b-sm {\n border-bottom-right-radius: .125rem;\n border-bottom-left-radius: .125rem;\n }\n\n .lg\\:rounded-l-sm {\n border-top-left-radius: .125rem;\n border-bottom-left-radius: .125rem;\n }\n\n .lg\\:rounded-t {\n border-top-left-radius: .25rem;\n border-top-right-radius: .25rem;\n }\n\n .lg\\:rounded-r {\n border-top-right-radius: .25rem;\n border-bottom-right-radius: .25rem;\n }\n\n .lg\\:rounded-b {\n border-bottom-right-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n\n .lg\\:rounded-l {\n border-top-left-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n\n .lg\\:rounded-t-lg {\n border-top-left-radius: .5rem;\n border-top-right-radius: .5rem;\n }\n\n .lg\\:rounded-r-lg {\n border-top-right-radius: .5rem;\n border-bottom-right-radius: .5rem;\n }\n\n .lg\\:rounded-b-lg {\n border-bottom-right-radius: .5rem;\n border-bottom-left-radius: .5rem;\n }\n\n .lg\\:rounded-l-lg {\n border-top-left-radius: .5rem;\n border-bottom-left-radius: .5rem;\n }\n\n .lg\\:rounded-t-full {\n border-top-left-radius: 9999px;\n border-top-right-radius: 9999px;\n }\n\n .lg\\:rounded-r-full {\n border-top-right-radius: 9999px;\n border-bottom-right-radius: 9999px;\n }\n\n .lg\\:rounded-b-full {\n border-bottom-right-radius: 9999px;\n border-bottom-left-radius: 9999px;\n }\n\n .lg\\:rounded-l-full {\n border-top-left-radius: 9999px;\n border-bottom-left-radius: 9999px;\n }\n\n .lg\\:rounded-tl-none {\n border-top-left-radius: 0;\n }\n\n .lg\\:rounded-tr-none {\n border-top-right-radius: 0;\n }\n\n .lg\\:rounded-br-none {\n border-bottom-right-radius: 0;\n }\n\n .lg\\:rounded-bl-none {\n border-bottom-left-radius: 0;\n }\n\n .lg\\:rounded-tl-sm {\n border-top-left-radius: .125rem;\n }\n\n .lg\\:rounded-tr-sm {\n border-top-right-radius: .125rem;\n }\n\n .lg\\:rounded-br-sm {\n border-bottom-right-radius: .125rem;\n }\n\n .lg\\:rounded-bl-sm {\n border-bottom-left-radius: .125rem;\n }\n\n .lg\\:rounded-tl {\n border-top-left-radius: .25rem;\n }\n\n .lg\\:rounded-tr {\n border-top-right-radius: .25rem;\n }\n\n .lg\\:rounded-br {\n border-bottom-right-radius: .25rem;\n }\n\n .lg\\:rounded-bl {\n border-bottom-left-radius: .25rem;\n }\n\n .lg\\:rounded-tl-lg {\n border-top-left-radius: .5rem;\n }\n\n .lg\\:rounded-tr-lg {\n border-top-right-radius: .5rem;\n }\n\n .lg\\:rounded-br-lg {\n border-bottom-right-radius: .5rem;\n }\n\n .lg\\:rounded-bl-lg {\n border-bottom-left-radius: .5rem;\n }\n\n .lg\\:rounded-tl-full {\n border-top-left-radius: 9999px;\n }\n\n .lg\\:rounded-tr-full {\n border-top-right-radius: 9999px;\n }\n\n .lg\\:rounded-br-full {\n border-bottom-right-radius: 9999px;\n }\n\n .lg\\:rounded-bl-full {\n border-bottom-left-radius: 9999px;\n }\n\n .lg\\:border-solid {\n border-style: solid;\n }\n\n .lg\\:border-dashed {\n border-style: dashed;\n }\n\n .lg\\:border-dotted {\n border-style: dotted;\n }\n\n .lg\\:border-none {\n border-style: none;\n }\n\n .lg\\:border-0 {\n border-width: 0;\n }\n\n .lg\\:border-2 {\n border-width: 2px;\n }\n\n .lg\\:border-4 {\n border-width: 4px;\n }\n\n .lg\\:border-8 {\n border-width: 8px;\n }\n\n .lg\\:border {\n border-width: 1px;\n }\n\n .lg\\:border-t-0 {\n border-top-width: 0;\n }\n\n .lg\\:border-r-0 {\n border-right-width: 0;\n }\n\n .lg\\:border-b-0 {\n border-bottom-width: 0;\n }\n\n .lg\\:border-l-0 {\n border-left-width: 0;\n }\n\n .lg\\:border-t-2 {\n border-top-width: 2px;\n }\n\n .lg\\:border-r-2 {\n border-right-width: 2px;\n }\n\n .lg\\:border-b-2 {\n border-bottom-width: 2px;\n }\n\n .lg\\:border-l-2 {\n border-left-width: 2px;\n }\n\n .lg\\:border-t-4 {\n border-top-width: 4px;\n }\n\n .lg\\:border-r-4 {\n border-right-width: 4px;\n }\n\n .lg\\:border-b-4 {\n border-bottom-width: 4px;\n }\n\n .lg\\:border-l-4 {\n border-left-width: 4px;\n }\n\n .lg\\:border-t-8 {\n border-top-width: 8px;\n }\n\n .lg\\:border-r-8 {\n border-right-width: 8px;\n }\n\n .lg\\:border-b-8 {\n border-bottom-width: 8px;\n }\n\n .lg\\:border-l-8 {\n border-left-width: 8px;\n }\n\n .lg\\:border-t {\n border-top-width: 1px;\n }\n\n .lg\\:border-r {\n border-right-width: 1px;\n }\n\n .lg\\:border-b {\n border-bottom-width: 1px;\n }\n\n .lg\\:border-l {\n border-left-width: 1px;\n }\n\n .lg\\:cursor-auto {\n cursor: auto;\n }\n\n .lg\\:cursor-default {\n cursor: default;\n }\n\n .lg\\:cursor-pointer {\n cursor: pointer;\n }\n\n .lg\\:cursor-wait {\n cursor: wait;\n }\n\n .lg\\:cursor-move {\n cursor: move;\n }\n\n .lg\\:cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .lg\\:block {\n display: block;\n }\n\n .lg\\:inline-block {\n display: inline-block;\n }\n\n .lg\\:inline {\n display: inline;\n }\n\n .lg\\:table {\n display: table;\n }\n\n .lg\\:table-row {\n display: table-row;\n }\n\n .lg\\:table-cell {\n display: table-cell;\n }\n\n .lg\\:hidden {\n display: none;\n }\n\n .lg\\:flex {\n display: flex;\n }\n\n .lg\\:inline-flex {\n display: inline-flex;\n }\n\n .lg\\:flex-row {\n flex-direction: row;\n }\n\n .lg\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .lg\\:flex-col {\n flex-direction: column;\n }\n\n .lg\\:flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .lg\\:flex-wrap {\n flex-wrap: wrap;\n }\n\n .lg\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .lg\\:flex-no-wrap {\n flex-wrap: nowrap;\n }\n\n .lg\\:items-start {\n align-items: flex-start;\n }\n\n .lg\\:items-end {\n align-items: flex-end;\n }\n\n .lg\\:items-center {\n align-items: center;\n }\n\n .lg\\:items-baseline {\n align-items: baseline;\n }\n\n .lg\\:items-stretch {\n align-items: stretch;\n }\n\n .lg\\:self-auto {\n align-self: auto;\n }\n\n .lg\\:self-start {\n align-self: flex-start;\n }\n\n .lg\\:self-end {\n align-self: flex-end;\n }\n\n .lg\\:self-center {\n align-self: center;\n }\n\n .lg\\:self-stretch {\n align-self: stretch;\n }\n\n .lg\\:justify-start {\n justify-content: flex-start;\n }\n\n .lg\\:justify-end {\n justify-content: flex-end;\n }\n\n .lg\\:justify-center {\n justify-content: center;\n }\n\n .lg\\:justify-between {\n justify-content: space-between;\n }\n\n .lg\\:justify-around {\n justify-content: space-around;\n }\n\n .lg\\:content-center {\n align-content: center;\n }\n\n .lg\\:content-start {\n align-content: flex-start;\n }\n\n .lg\\:content-end {\n align-content: flex-end;\n }\n\n .lg\\:content-between {\n align-content: space-between;\n }\n\n .lg\\:content-around {\n align-content: space-around;\n }\n\n .lg\\:flex-1 {\n flex: 1 1 0%;\n }\n\n .lg\\:flex-auto {\n flex: 1 1 auto;\n }\n\n .lg\\:flex-initial {\n flex: 0 1 auto;\n }\n\n .lg\\:flex-none {\n flex: none;\n }\n\n .lg\\:flex-grow {\n flex-grow: 1;\n }\n\n .lg\\:flex-shrink {\n flex-shrink: 1;\n }\n\n .lg\\:flex-no-grow {\n flex-grow: 0;\n }\n\n .lg\\:flex-no-shrink {\n flex-shrink: 0;\n }\n\n .lg\\:float-right {\n float: right;\n }\n\n .lg\\:float-left {\n float: left;\n }\n\n .lg\\:float-none {\n float: none;\n }\n\n .lg\\:clearfix:after {\n content: "";\n display: table;\n clear: both;\n }\n\n .lg\\:font-sans {\n font-family: system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n }\n\n .lg\\:font-serif {\n font-family: Constantia, Lucida Bright, Lucidabright, Lucida Serif, Lucida, DejaVu Serif, Bitstream Vera Serif, Liberation Serif, Georgia, serif;\n }\n\n .lg\\:font-mono {\n font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n }\n\n .lg\\:font-hairline {\n font-weight: 100;\n }\n\n .lg\\:font-thin {\n font-weight: 200;\n }\n\n .lg\\:font-light {\n font-weight: 300;\n }\n\n .lg\\:font-normal {\n font-weight: 400;\n }\n\n .lg\\:font-medium {\n font-weight: 500;\n }\n\n .lg\\:font-semibold {\n font-weight: 600;\n }\n\n .lg\\:font-bold {\n font-weight: 700;\n }\n\n .lg\\:font-extrabold {\n font-weight: 800;\n }\n\n .lg\\:font-black {\n font-weight: 900;\n }\n\n .lg\\:hover\\:font-hairline:hover {\n font-weight: 100;\n }\n\n .lg\\:hover\\:font-thin:hover {\n font-weight: 200;\n }\n\n .lg\\:hover\\:font-light:hover {\n font-weight: 300;\n }\n\n .lg\\:hover\\:font-normal:hover {\n font-weight: 400;\n }\n\n .lg\\:hover\\:font-medium:hover {\n font-weight: 500;\n }\n\n .lg\\:hover\\:font-semibold:hover {\n font-weight: 600;\n }\n\n .lg\\:hover\\:font-bold:hover {\n font-weight: 700;\n }\n\n .lg\\:hover\\:font-extrabold:hover {\n font-weight: 800;\n }\n\n .lg\\:hover\\:font-black:hover {\n font-weight: 900;\n }\n\n .lg\\:focus\\:font-hairline:focus {\n font-weight: 100;\n }\n\n .lg\\:focus\\:font-thin:focus {\n font-weight: 200;\n }\n\n .lg\\:focus\\:font-light:focus {\n font-weight: 300;\n }\n\n .lg\\:focus\\:font-normal:focus {\n font-weight: 400;\n }\n\n .lg\\:focus\\:font-medium:focus {\n font-weight: 500;\n }\n\n .lg\\:focus\\:font-semibold:focus {\n font-weight: 600;\n }\n\n .lg\\:focus\\:font-bold:focus {\n font-weight: 700;\n }\n\n .lg\\:focus\\:font-extrabold:focus {\n font-weight: 800;\n }\n\n .lg\\:focus\\:font-black:focus {\n font-weight: 900;\n }\n\n .lg\\:h-1 {\n height: .25rem;\n }\n\n .lg\\:h-2 {\n height: .5rem;\n }\n\n .lg\\:h-3 {\n height: .75rem;\n }\n\n .lg\\:h-4 {\n height: 1rem;\n }\n\n .lg\\:h-5 {\n height: 1.25rem;\n }\n\n .lg\\:h-6 {\n height: 1.5rem;\n }\n\n .lg\\:h-8 {\n height: 2rem;\n }\n\n .lg\\:h-10 {\n height: 2.5rem;\n }\n\n .lg\\:h-12 {\n height: 3rem;\n }\n\n .lg\\:h-16 {\n height: 4rem;\n }\n\n .lg\\:h-24 {\n height: 6rem;\n }\n\n .lg\\:h-32 {\n height: 8rem;\n }\n\n .lg\\:h-48 {\n height: 12rem;\n }\n\n .lg\\:h-64 {\n height: 16rem;\n }\n\n .lg\\:h-auto {\n height: auto;\n }\n\n .lg\\:h-px {\n height: 1px;\n }\n\n .lg\\:h-full {\n height: 100%;\n }\n\n .lg\\:h-screen {\n height: 100vh;\n }\n\n .lg\\:leading-none {\n line-height: 1;\n }\n\n .lg\\:leading-tight {\n line-height: 1.25;\n }\n\n .lg\\:leading-normal {\n line-height: 1.5;\n }\n\n .lg\\:leading-loose {\n line-height: 2;\n }\n\n .lg\\:m-0 {\n margin: 0;\n }\n\n .lg\\:m-1 {\n margin: .25rem;\n }\n\n .lg\\:m-2 {\n margin: .5rem;\n }\n\n .lg\\:m-3 {\n margin: .75rem;\n }\n\n .lg\\:m-4 {\n margin: 1rem;\n }\n\n .lg\\:m-5 {\n margin: 1.25rem;\n }\n\n .lg\\:m-6 {\n margin: 1.5rem;\n }\n\n .lg\\:m-8 {\n margin: 2rem;\n }\n\n .lg\\:m-10 {\n margin: 2.5rem;\n }\n\n .lg\\:m-12 {\n margin: 3rem;\n }\n\n .lg\\:m-16 {\n margin: 4rem;\n }\n\n .lg\\:m-20 {\n margin: 5rem;\n }\n\n .lg\\:m-24 {\n margin: 6rem;\n }\n\n .lg\\:m-32 {\n margin: 8rem;\n }\n\n .lg\\:m-auto {\n margin: auto;\n }\n\n .lg\\:m-px {\n margin: 1px;\n }\n\n .lg\\:my-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n .lg\\:mx-0 {\n margin-left: 0;\n margin-right: 0;\n }\n\n .lg\\:my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n }\n\n .lg\\:mx-1 {\n margin-left: .25rem;\n margin-right: .25rem;\n }\n\n .lg\\:my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n }\n\n .lg\\:mx-2 {\n margin-left: .5rem;\n margin-right: .5rem;\n }\n\n .lg\\:my-3 {\n margin-top: .75rem;\n margin-bottom: .75rem;\n }\n\n .lg\\:mx-3 {\n margin-left: .75rem;\n margin-right: .75rem;\n }\n\n .lg\\:my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .lg\\:mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n }\n\n .lg\\:my-5 {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n\n .lg\\:mx-5 {\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n }\n\n .lg\\:my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n\n .lg\\:mx-6 {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n }\n\n .lg\\:my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n }\n\n .lg\\:mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n }\n\n .lg\\:my-10 {\n margin-top: 2.5rem;\n margin-bottom: 2.5rem;\n }\n\n .lg\\:mx-10 {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n }\n\n .lg\\:my-12 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n\n .lg\\:mx-12 {\n margin-left: 3rem;\n margin-right: 3rem;\n }\n\n .lg\\:my-16 {\n margin-top: 4rem;\n margin-bottom: 4rem;\n }\n\n .lg\\:mx-16 {\n margin-left: 4rem;\n margin-right: 4rem;\n }\n\n .lg\\:my-20 {\n margin-top: 5rem;\n margin-bottom: 5rem;\n }\n\n .lg\\:mx-20 {\n margin-left: 5rem;\n margin-right: 5rem;\n }\n\n .lg\\:my-24 {\n margin-top: 6rem;\n margin-bottom: 6rem;\n }\n\n .lg\\:mx-24 {\n margin-left: 6rem;\n margin-right: 6rem;\n }\n\n .lg\\:my-32 {\n margin-top: 8rem;\n margin-bottom: 8rem;\n }\n\n .lg\\:mx-32 {\n margin-left: 8rem;\n margin-right: 8rem;\n }\n\n .lg\\:my-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .lg\\:mx-auto {\n margin-left: auto;\n margin-right: auto;\n }\n\n .lg\\:my-px {\n margin-top: 1px;\n margin-bottom: 1px;\n }\n\n .lg\\:mx-px {\n margin-left: 1px;\n margin-right: 1px;\n }\n\n .lg\\:mt-0 {\n margin-top: 0;\n }\n\n .lg\\:mr-0 {\n margin-right: 0;\n }\n\n .lg\\:mb-0 {\n margin-bottom: 0;\n }\n\n .lg\\:ml-0 {\n margin-left: 0;\n }\n\n .lg\\:mt-1 {\n margin-top: .25rem;\n }\n\n .lg\\:mr-1 {\n margin-right: .25rem;\n }\n\n .lg\\:mb-1 {\n margin-bottom: .25rem;\n }\n\n .lg\\:ml-1 {\n margin-left: .25rem;\n }\n\n .lg\\:mt-2 {\n margin-top: .5rem;\n }\n\n .lg\\:mr-2 {\n margin-right: .5rem;\n }\n\n .lg\\:mb-2 {\n margin-bottom: .5rem;\n }\n\n .lg\\:ml-2 {\n margin-left: .5rem;\n }\n\n .lg\\:mt-3 {\n margin-top: .75rem;\n }\n\n .lg\\:mr-3 {\n margin-right: .75rem;\n }\n\n .lg\\:mb-3 {\n margin-bottom: .75rem;\n }\n\n .lg\\:ml-3 {\n margin-left: .75rem;\n }\n\n .lg\\:mt-4 {\n margin-top: 1rem;\n }\n\n .lg\\:mr-4 {\n margin-right: 1rem;\n }\n\n .lg\\:mb-4 {\n margin-bottom: 1rem;\n }\n\n .lg\\:ml-4 {\n margin-left: 1rem;\n }\n\n .lg\\:mt-5 {\n margin-top: 1.25rem;\n }\n\n .lg\\:mr-5 {\n margin-right: 1.25rem;\n }\n\n .lg\\:mb-5 {\n margin-bottom: 1.25rem;\n }\n\n .lg\\:ml-5 {\n margin-left: 1.25rem;\n }\n\n .lg\\:mt-6 {\n margin-top: 1.5rem;\n }\n\n .lg\\:mr-6 {\n margin-right: 1.5rem;\n }\n\n .lg\\:mb-6 {\n margin-bottom: 1.5rem;\n }\n\n .lg\\:ml-6 {\n margin-left: 1.5rem;\n }\n\n .lg\\:mt-8 {\n margin-top: 2rem;\n }\n\n .lg\\:mr-8 {\n margin-right: 2rem;\n }\n\n .lg\\:mb-8 {\n margin-bottom: 2rem;\n }\n\n .lg\\:ml-8 {\n margin-left: 2rem;\n }\n\n .lg\\:mt-10 {\n margin-top: 2.5rem;\n }\n\n .lg\\:mr-10 {\n margin-right: 2.5rem;\n }\n\n .lg\\:mb-10 {\n margin-bottom: 2.5rem;\n }\n\n .lg\\:ml-10 {\n margin-left: 2.5rem;\n }\n\n .lg\\:mt-12 {\n margin-top: 3rem;\n }\n\n .lg\\:mr-12 {\n margin-right: 3rem;\n }\n\n .lg\\:mb-12 {\n margin-bottom: 3rem;\n }\n\n .lg\\:ml-12 {\n margin-left: 3rem;\n }\n\n .lg\\:mt-16 {\n margin-top: 4rem;\n }\n\n .lg\\:mr-16 {\n margin-right: 4rem;\n }\n\n .lg\\:mb-16 {\n margin-bottom: 4rem;\n }\n\n .lg\\:ml-16 {\n margin-left: 4rem;\n }\n\n .lg\\:mt-20 {\n margin-top: 5rem;\n }\n\n .lg\\:mr-20 {\n margin-right: 5rem;\n }\n\n .lg\\:mb-20 {\n margin-bottom: 5rem;\n }\n\n .lg\\:ml-20 {\n margin-left: 5rem;\n }\n\n .lg\\:mt-24 {\n margin-top: 6rem;\n }\n\n .lg\\:mr-24 {\n margin-right: 6rem;\n }\n\n .lg\\:mb-24 {\n margin-bottom: 6rem;\n }\n\n .lg\\:ml-24 {\n margin-left: 6rem;\n }\n\n .lg\\:mt-32 {\n margin-top: 8rem;\n }\n\n .lg\\:mr-32 {\n margin-right: 8rem;\n }\n\n .lg\\:mb-32 {\n margin-bottom: 8rem;\n }\n\n .lg\\:ml-32 {\n margin-left: 8rem;\n }\n\n .lg\\:mt-auto {\n margin-top: auto;\n }\n\n .lg\\:mr-auto {\n margin-right: auto;\n }\n\n .lg\\:mb-auto {\n margin-bottom: auto;\n }\n\n .lg\\:ml-auto {\n margin-left: auto;\n }\n\n .lg\\:mt-px {\n margin-top: 1px;\n }\n\n .lg\\:mr-px {\n margin-right: 1px;\n }\n\n .lg\\:mb-px {\n margin-bottom: 1px;\n }\n\n .lg\\:ml-px {\n margin-left: 1px;\n }\n\n .lg\\:max-h-full {\n max-height: 100%;\n }\n\n .lg\\:max-h-screen {\n max-height: 100vh;\n }\n\n .lg\\:max-w-xs {\n max-width: 20rem;\n }\n\n .lg\\:max-w-sm {\n max-width: 30rem;\n }\n\n .lg\\:max-w-md {\n max-width: 40rem;\n }\n\n .lg\\:max-w-lg {\n max-width: 50rem;\n }\n\n .lg\\:max-w-xl {\n max-width: 60rem;\n }\n\n .lg\\:max-w-2xl {\n max-width: 70rem;\n }\n\n .lg\\:max-w-3xl {\n max-width: 80rem;\n }\n\n .lg\\:max-w-4xl {\n max-width: 90rem;\n }\n\n .lg\\:max-w-5xl {\n max-width: 100rem;\n }\n\n .lg\\:max-w-full {\n max-width: 100%;\n }\n\n .lg\\:min-h-0 {\n min-height: 0;\n }\n\n .lg\\:min-h-full {\n min-height: 100%;\n }\n\n .lg\\:min-h-screen {\n min-height: 100vh;\n }\n\n .lg\\:min-w-0 {\n min-width: 0;\n }\n\n .lg\\:min-w-full {\n min-width: 100%;\n }\n\n .lg\\:-m-0 {\n margin: 0;\n }\n\n .lg\\:-m-1 {\n margin: -0.25rem;\n }\n\n .lg\\:-m-2 {\n margin: -0.5rem;\n }\n\n .lg\\:-m-3 {\n margin: -0.75rem;\n }\n\n .lg\\:-m-4 {\n margin: -1rem;\n }\n\n .lg\\:-m-5 {\n margin: -1.25rem;\n }\n\n .lg\\:-m-6 {\n margin: -1.5rem;\n }\n\n .lg\\:-m-8 {\n margin: -2rem;\n }\n\n .lg\\:-m-10 {\n margin: -2.5rem;\n }\n\n .lg\\:-m-12 {\n margin: -3rem;\n }\n\n .lg\\:-m-16 {\n margin: -4rem;\n }\n\n .lg\\:-m-20 {\n margin: -5rem;\n }\n\n .lg\\:-m-24 {\n margin: -6rem;\n }\n\n .lg\\:-m-32 {\n margin: -8rem;\n }\n\n .lg\\:-m-px {\n margin: -1px;\n }\n\n .lg\\:-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n .lg\\:-mx-0 {\n margin-left: 0;\n margin-right: 0;\n }\n\n .lg\\:-my-1 {\n margin-top: -0.25rem;\n margin-bottom: -0.25rem;\n }\n\n .lg\\:-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n }\n\n .lg\\:-my-2 {\n margin-top: -0.5rem;\n margin-bottom: -0.5rem;\n }\n\n .lg\\:-mx-2 {\n margin-left: -0.5rem;\n margin-right: -0.5rem;\n }\n\n .lg\\:-my-3 {\n margin-top: -0.75rem;\n margin-bottom: -0.75rem;\n }\n\n .lg\\:-mx-3 {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n }\n\n .lg\\:-my-4 {\n margin-top: -1rem;\n margin-bottom: -1rem;\n }\n\n .lg\\:-mx-4 {\n margin-left: -1rem;\n margin-right: -1rem;\n }\n\n .lg\\:-my-5 {\n margin-top: -1.25rem;\n margin-bottom: -1.25rem;\n }\n\n .lg\\:-mx-5 {\n margin-left: -1.25rem;\n margin-right: -1.25rem;\n }\n\n .lg\\:-my-6 {\n margin-top: -1.5rem;\n margin-bottom: -1.5rem;\n }\n\n .lg\\:-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n }\n\n .lg\\:-my-8 {\n margin-top: -2rem;\n margin-bottom: -2rem;\n }\n\n .lg\\:-mx-8 {\n margin-left: -2rem;\n margin-right: -2rem;\n }\n\n .lg\\:-my-10 {\n margin-top: -2.5rem;\n margin-bottom: -2.5rem;\n }\n\n .lg\\:-mx-10 {\n margin-left: -2.5rem;\n margin-right: -2.5rem;\n }\n\n .lg\\:-my-12 {\n margin-top: -3rem;\n margin-bottom: -3rem;\n }\n\n .lg\\:-mx-12 {\n margin-left: -3rem;\n margin-right: -3rem;\n }\n\n .lg\\:-my-16 {\n margin-top: -4rem;\n margin-bottom: -4rem;\n }\n\n .lg\\:-mx-16 {\n margin-left: -4rem;\n margin-right: -4rem;\n }\n\n .lg\\:-my-20 {\n margin-top: -5rem;\n margin-bottom: -5rem;\n }\n\n .lg\\:-mx-20 {\n margin-left: -5rem;\n margin-right: -5rem;\n }\n\n .lg\\:-my-24 {\n margin-top: -6rem;\n margin-bottom: -6rem;\n }\n\n .lg\\:-mx-24 {\n margin-left: -6rem;\n margin-right: -6rem;\n }\n\n .lg\\:-my-32 {\n margin-top: -8rem;\n margin-bottom: -8rem;\n }\n\n .lg\\:-mx-32 {\n margin-left: -8rem;\n margin-right: -8rem;\n }\n\n .lg\\:-my-px {\n margin-top: -1px;\n margin-bottom: -1px;\n }\n\n .lg\\:-mx-px {\n margin-left: -1px;\n margin-right: -1px;\n }\n\n .lg\\:-mt-0 {\n margin-top: 0;\n }\n\n .lg\\:-mr-0 {\n margin-right: 0;\n }\n\n .lg\\:-mb-0 {\n margin-bottom: 0;\n }\n\n .lg\\:-ml-0 {\n margin-left: 0;\n }\n\n .lg\\:-mt-1 {\n margin-top: -0.25rem;\n }\n\n .lg\\:-mr-1 {\n margin-right: -0.25rem;\n }\n\n .lg\\:-mb-1 {\n margin-bottom: -0.25rem;\n }\n\n .lg\\:-ml-1 {\n margin-left: -0.25rem;\n }\n\n .lg\\:-mt-2 {\n margin-top: -0.5rem;\n }\n\n .lg\\:-mr-2 {\n margin-right: -0.5rem;\n }\n\n .lg\\:-mb-2 {\n margin-bottom: -0.5rem;\n }\n\n .lg\\:-ml-2 {\n margin-left: -0.5rem;\n }\n\n .lg\\:-mt-3 {\n margin-top: -0.75rem;\n }\n\n .lg\\:-mr-3 {\n margin-right: -0.75rem;\n }\n\n .lg\\:-mb-3 {\n margin-bottom: -0.75rem;\n }\n\n .lg\\:-ml-3 {\n margin-left: -0.75rem;\n }\n\n .lg\\:-mt-4 {\n margin-top: -1rem;\n }\n\n .lg\\:-mr-4 {\n margin-right: -1rem;\n }\n\n .lg\\:-mb-4 {\n margin-bottom: -1rem;\n }\n\n .lg\\:-ml-4 {\n margin-left: -1rem;\n }\n\n .lg\\:-mt-5 {\n margin-top: -1.25rem;\n }\n\n .lg\\:-mr-5 {\n margin-right: -1.25rem;\n }\n\n .lg\\:-mb-5 {\n margin-bottom: -1.25rem;\n }\n\n .lg\\:-ml-5 {\n margin-left: -1.25rem;\n }\n\n .lg\\:-mt-6 {\n margin-top: -1.5rem;\n }\n\n .lg\\:-mr-6 {\n margin-right: -1.5rem;\n }\n\n .lg\\:-mb-6 {\n margin-bottom: -1.5rem;\n }\n\n .lg\\:-ml-6 {\n margin-left: -1.5rem;\n }\n\n .lg\\:-mt-8 {\n margin-top: -2rem;\n }\n\n .lg\\:-mr-8 {\n margin-right: -2rem;\n }\n\n .lg\\:-mb-8 {\n margin-bottom: -2rem;\n }\n\n .lg\\:-ml-8 {\n margin-left: -2rem;\n }\n\n .lg\\:-mt-10 {\n margin-top: -2.5rem;\n }\n\n .lg\\:-mr-10 {\n margin-right: -2.5rem;\n }\n\n .lg\\:-mb-10 {\n margin-bottom: -2.5rem;\n }\n\n .lg\\:-ml-10 {\n margin-left: -2.5rem;\n }\n\n .lg\\:-mt-12 {\n margin-top: -3rem;\n }\n\n .lg\\:-mr-12 {\n margin-right: -3rem;\n }\n\n .lg\\:-mb-12 {\n margin-bottom: -3rem;\n }\n\n .lg\\:-ml-12 {\n margin-left: -3rem;\n }\n\n .lg\\:-mt-16 {\n margin-top: -4rem;\n }\n\n .lg\\:-mr-16 {\n margin-right: -4rem;\n }\n\n .lg\\:-mb-16 {\n margin-bottom: -4rem;\n }\n\n .lg\\:-ml-16 {\n margin-left: -4rem;\n }\n\n .lg\\:-mt-20 {\n margin-top: -5rem;\n }\n\n .lg\\:-mr-20 {\n margin-right: -5rem;\n }\n\n .lg\\:-mb-20 {\n margin-bottom: -5rem;\n }\n\n .lg\\:-ml-20 {\n margin-left: -5rem;\n }\n\n .lg\\:-mt-24 {\n margin-top: -6rem;\n }\n\n .lg\\:-mr-24 {\n margin-right: -6rem;\n }\n\n .lg\\:-mb-24 {\n margin-bottom: -6rem;\n }\n\n .lg\\:-ml-24 {\n margin-left: -6rem;\n }\n\n .lg\\:-mt-32 {\n margin-top: -8rem;\n }\n\n .lg\\:-mr-32 {\n margin-right: -8rem;\n }\n\n .lg\\:-mb-32 {\n margin-bottom: -8rem;\n }\n\n .lg\\:-ml-32 {\n margin-left: -8rem;\n }\n\n .lg\\:-mt-px {\n margin-top: -1px;\n }\n\n .lg\\:-mr-px {\n margin-right: -1px;\n }\n\n .lg\\:-mb-px {\n margin-bottom: -1px;\n }\n\n .lg\\:-ml-px {\n margin-left: -1px;\n }\n\n .lg\\:opacity-0 {\n opacity: 0;\n }\n\n .lg\\:opacity-25 {\n opacity: .25;\n }\n\n .lg\\:opacity-50 {\n opacity: .5;\n }\n\n .lg\\:opacity-75 {\n opacity: .75;\n }\n\n .lg\\:opacity-100 {\n opacity: 1;\n }\n\n .lg\\:overflow-auto {\n overflow: auto;\n }\n\n .lg\\:overflow-hidden {\n overflow: hidden;\n }\n\n .lg\\:overflow-visible {\n overflow: visible;\n }\n\n .lg\\:overflow-scroll {\n overflow: scroll;\n }\n\n .lg\\:overflow-x-auto {\n overflow-x: auto;\n }\n\n .lg\\:overflow-y-auto {\n overflow-y: auto;\n }\n\n .lg\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n\n .lg\\:overflow-y-hidden {\n overflow-y: hidden;\n }\n\n .lg\\:overflow-x-visible {\n overflow-x: visible;\n }\n\n .lg\\:overflow-y-visible {\n overflow-y: visible;\n }\n\n .lg\\:overflow-x-scroll {\n overflow-x: scroll;\n }\n\n .lg\\:overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .lg\\:scrolling-touch {\n -webkit-overflow-scrolling: touch;\n }\n\n .lg\\:scrolling-auto {\n -webkit-overflow-scrolling: auto;\n }\n\n .lg\\:p-0 {\n padding: 0;\n }\n\n .lg\\:p-1 {\n padding: .25rem;\n }\n\n .lg\\:p-2 {\n padding: .5rem;\n }\n\n .lg\\:p-3 {\n padding: .75rem;\n }\n\n .lg\\:p-4 {\n padding: 1rem;\n }\n\n .lg\\:p-5 {\n padding: 1.25rem;\n }\n\n .lg\\:p-6 {\n padding: 1.5rem;\n }\n\n .lg\\:p-8 {\n padding: 2rem;\n }\n\n .lg\\:p-10 {\n padding: 2.5rem;\n }\n\n .lg\\:p-12 {\n padding: 3rem;\n }\n\n .lg\\:p-16 {\n padding: 4rem;\n }\n\n .lg\\:p-20 {\n padding: 5rem;\n }\n\n .lg\\:p-24 {\n padding: 6rem;\n }\n\n .lg\\:p-32 {\n padding: 8rem;\n }\n\n .lg\\:p-px {\n padding: 1px;\n }\n\n .lg\\:py-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n .lg\\:px-0 {\n padding-left: 0;\n padding-right: 0;\n }\n\n .lg\\:py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n }\n\n .lg\\:px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n }\n\n .lg\\:py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n }\n\n .lg\\:px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n }\n\n .lg\\:py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n }\n\n .lg\\:px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n }\n\n .lg\\:py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n\n .lg\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .lg\\:py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n }\n\n .lg\\:px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .lg\\:py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n\n .lg\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n\n .lg\\:py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n }\n\n .lg\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n\n .lg\\:py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n }\n\n .lg\\:px-10 {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n }\n\n .lg\\:py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n\n .lg\\:px-12 {\n padding-left: 3rem;\n padding-right: 3rem;\n }\n\n .lg\\:py-16 {\n padding-top: 4rem;\n padding-bottom: 4rem;\n }\n\n .lg\\:px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n }\n\n .lg\\:py-20 {\n padding-top: 5rem;\n padding-bottom: 5rem;\n }\n\n .lg\\:px-20 {\n padding-left: 5rem;\n padding-right: 5rem;\n }\n\n .lg\\:py-24 {\n padding-top: 6rem;\n padding-bottom: 6rem;\n }\n\n .lg\\:px-24 {\n padding-left: 6rem;\n padding-right: 6rem;\n }\n\n .lg\\:py-32 {\n padding-top: 8rem;\n padding-bottom: 8rem;\n }\n\n .lg\\:px-32 {\n padding-left: 8rem;\n padding-right: 8rem;\n }\n\n .lg\\:py-px {\n padding-top: 1px;\n padding-bottom: 1px;\n }\n\n .lg\\:px-px {\n padding-left: 1px;\n padding-right: 1px;\n }\n\n .lg\\:pt-0 {\n padding-top: 0;\n }\n\n .lg\\:pr-0 {\n padding-right: 0;\n }\n\n .lg\\:pb-0 {\n padding-bottom: 0;\n }\n\n .lg\\:pl-0 {\n padding-left: 0;\n }\n\n .lg\\:pt-1 {\n padding-top: .25rem;\n }\n\n .lg\\:pr-1 {\n padding-right: .25rem;\n }\n\n .lg\\:pb-1 {\n padding-bottom: .25rem;\n }\n\n .lg\\:pl-1 {\n padding-left: .25rem;\n }\n\n .lg\\:pt-2 {\n padding-top: .5rem;\n }\n\n .lg\\:pr-2 {\n padding-right: .5rem;\n }\n\n .lg\\:pb-2 {\n padding-bottom: .5rem;\n }\n\n .lg\\:pl-2 {\n padding-left: .5rem;\n }\n\n .lg\\:pt-3 {\n padding-top: .75rem;\n }\n\n .lg\\:pr-3 {\n padding-right: .75rem;\n }\n\n .lg\\:pb-3 {\n padding-bottom: .75rem;\n }\n\n .lg\\:pl-3 {\n padding-left: .75rem;\n }\n\n .lg\\:pt-4 {\n padding-top: 1rem;\n }\n\n .lg\\:pr-4 {\n padding-right: 1rem;\n }\n\n .lg\\:pb-4 {\n padding-bottom: 1rem;\n }\n\n .lg\\:pl-4 {\n padding-left: 1rem;\n }\n\n .lg\\:pt-5 {\n padding-top: 1.25rem;\n }\n\n .lg\\:pr-5 {\n padding-right: 1.25rem;\n }\n\n .lg\\:pb-5 {\n padding-bottom: 1.25rem;\n }\n\n .lg\\:pl-5 {\n padding-left: 1.25rem;\n }\n\n .lg\\:pt-6 {\n padding-top: 1.5rem;\n }\n\n .lg\\:pr-6 {\n padding-right: 1.5rem;\n }\n\n .lg\\:pb-6 {\n padding-bottom: 1.5rem;\n }\n\n .lg\\:pl-6 {\n padding-left: 1.5rem;\n }\n\n .lg\\:pt-8 {\n padding-top: 2rem;\n }\n\n .lg\\:pr-8 {\n padding-right: 2rem;\n }\n\n .lg\\:pb-8 {\n padding-bottom: 2rem;\n }\n\n .lg\\:pl-8 {\n padding-left: 2rem;\n }\n\n .lg\\:pt-10 {\n padding-top: 2.5rem;\n }\n\n .lg\\:pr-10 {\n padding-right: 2.5rem;\n }\n\n .lg\\:pb-10 {\n padding-bottom: 2.5rem;\n }\n\n .lg\\:pl-10 {\n padding-left: 2.5rem;\n }\n\n .lg\\:pt-12 {\n padding-top: 3rem;\n }\n\n .lg\\:pr-12 {\n padding-right: 3rem;\n }\n\n .lg\\:pb-12 {\n padding-bottom: 3rem;\n }\n\n .lg\\:pl-12 {\n padding-left: 3rem;\n }\n\n .lg\\:pt-16 {\n padding-top: 4rem;\n }\n\n .lg\\:pr-16 {\n padding-right: 4rem;\n }\n\n .lg\\:pb-16 {\n padding-bottom: 4rem;\n }\n\n .lg\\:pl-16 {\n padding-left: 4rem;\n }\n\n .lg\\:pt-20 {\n padding-top: 5rem;\n }\n\n .lg\\:pr-20 {\n padding-right: 5rem;\n }\n\n .lg\\:pb-20 {\n padding-bottom: 5rem;\n }\n\n .lg\\:pl-20 {\n padding-left: 5rem;\n }\n\n .lg\\:pt-24 {\n padding-top: 6rem;\n }\n\n .lg\\:pr-24 {\n padding-right: 6rem;\n }\n\n .lg\\:pb-24 {\n padding-bottom: 6rem;\n }\n\n .lg\\:pl-24 {\n padding-left: 6rem;\n }\n\n .lg\\:pt-32 {\n padding-top: 8rem;\n }\n\n .lg\\:pr-32 {\n padding-right: 8rem;\n }\n\n .lg\\:pb-32 {\n padding-bottom: 8rem;\n }\n\n .lg\\:pl-32 {\n padding-left: 8rem;\n }\n\n .lg\\:pt-px {\n padding-top: 1px;\n }\n\n .lg\\:pr-px {\n padding-right: 1px;\n }\n\n .lg\\:pb-px {\n padding-bottom: 1px;\n }\n\n .lg\\:pl-px {\n padding-left: 1px;\n }\n\n .lg\\:pointer-events-none {\n pointer-events: none;\n }\n\n .lg\\:pointer-events-auto {\n pointer-events: auto;\n }\n\n .lg\\:static {\n position: static;\n }\n\n .lg\\:fixed {\n position: fixed;\n }\n\n .lg\\:absolute {\n position: absolute;\n }\n\n .lg\\:relative {\n position: relative;\n }\n\n .lg\\:sticky {\n position: sticky;\n }\n\n .lg\\:pin-none {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n }\n\n .lg\\:pin {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n .lg\\:pin-y {\n top: 0;\n bottom: 0;\n }\n\n .lg\\:pin-x {\n right: 0;\n left: 0;\n }\n\n .lg\\:pin-t {\n top: 0;\n }\n\n .lg\\:pin-r {\n right: 0;\n }\n\n .lg\\:pin-b {\n bottom: 0;\n }\n\n .lg\\:pin-l {\n left: 0;\n }\n\n .lg\\:resize-none {\n resize: none;\n }\n\n .lg\\:resize-y {\n resize: vertical;\n }\n\n .lg\\:resize-x {\n resize: horizontal;\n }\n\n .lg\\:resize {\n resize: both;\n }\n\n .lg\\:shadow {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .lg\\:shadow-md {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .lg\\:shadow-lg {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .lg\\:shadow-inner {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .lg\\:shadow-outline {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .lg\\:shadow-none {\n box-shadow: none;\n }\n\n .lg\\:hover\\:shadow:hover {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .lg\\:hover\\:shadow-md:hover {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .lg\\:hover\\:shadow-lg:hover {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .lg\\:hover\\:shadow-inner:hover {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .lg\\:hover\\:shadow-outline:hover {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .lg\\:hover\\:shadow-none:hover {\n box-shadow: none;\n }\n\n .lg\\:focus\\:shadow:focus {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .lg\\:focus\\:shadow-md:focus {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .lg\\:focus\\:shadow-lg:focus {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .lg\\:focus\\:shadow-inner:focus {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .lg\\:focus\\:shadow-outline:focus {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .lg\\:focus\\:shadow-none:focus {\n box-shadow: none;\n }\n\n .lg\\:table-auto {\n table-layout: auto;\n }\n\n .lg\\:table-fixed {\n table-layout: fixed;\n }\n\n .lg\\:text-left {\n text-align: left;\n }\n\n .lg\\:text-center {\n text-align: center;\n }\n\n .lg\\:text-right {\n text-align: right;\n }\n\n .lg\\:text-justify {\n text-align: justify;\n }\n\n .lg\\:text-transparent {\n color: transparent;\n }\n\n .lg\\:text-black {\n color: #22292f;\n }\n\n .lg\\:text-grey-darkest {\n color: #3d4852;\n }\n\n .lg\\:text-grey-darker {\n color: #606f7b;\n }\n\n .lg\\:text-grey-dark {\n color: #8795a1;\n }\n\n .lg\\:text-grey {\n color: #b8c2cc;\n }\n\n .lg\\:text-grey-light {\n color: #dae1e7;\n }\n\n .lg\\:text-grey-lighter {\n color: #f1f5f8;\n }\n\n .lg\\:text-grey-lightest {\n color: #f8fafc;\n }\n\n .lg\\:text-white {\n color: #fff;\n }\n\n .lg\\:text-red-darkest {\n color: #3b0d0c;\n }\n\n .lg\\:text-red-darker {\n color: #621b18;\n }\n\n .lg\\:text-red-dark {\n color: #cc1f1a;\n }\n\n .lg\\:text-red {\n color: #e3342f;\n }\n\n .lg\\:text-red-light {\n color: #ef5753;\n }\n\n .lg\\:text-red-lighter {\n color: #f9acaa;\n }\n\n .lg\\:text-red-lightest {\n color: #fcebea;\n }\n\n .lg\\:text-orange-darkest {\n color: #462a16;\n }\n\n .lg\\:text-orange-darker {\n color: #613b1f;\n }\n\n .lg\\:text-orange-dark {\n color: #de751f;\n }\n\n .lg\\:text-orange {\n color: #f6993f;\n }\n\n .lg\\:text-orange-light {\n color: #faad63;\n }\n\n .lg\\:text-orange-lighter {\n color: #fcd9b6;\n }\n\n .lg\\:text-orange-lightest {\n color: #fff5eb;\n }\n\n .lg\\:text-yellow-darkest {\n color: #453411;\n }\n\n .lg\\:text-yellow-darker {\n color: #684f1d;\n }\n\n .lg\\:text-yellow-dark {\n color: #f2d024;\n }\n\n .lg\\:text-yellow {\n color: #ffed4a;\n }\n\n .lg\\:text-yellow-light {\n color: #fff382;\n }\n\n .lg\\:text-yellow-lighter {\n color: #fff9c2;\n }\n\n .lg\\:text-yellow-lightest {\n color: #fcfbeb;\n }\n\n .lg\\:text-green-darkest {\n color: #0f2f21;\n }\n\n .lg\\:text-green-darker {\n color: #1a4731;\n }\n\n .lg\\:text-green-dark {\n color: #1f9d55;\n }\n\n .lg\\:text-green {\n color: #38c172;\n }\n\n .lg\\:text-green-light {\n color: #51d88a;\n }\n\n .lg\\:text-green-lighter {\n color: #a2f5bf;\n }\n\n .lg\\:text-green-lightest {\n color: #e3fcec;\n }\n\n .lg\\:text-teal-darkest {\n color: #0d3331;\n }\n\n .lg\\:text-teal-darker {\n color: #20504f;\n }\n\n .lg\\:text-teal-dark {\n color: #38a89d;\n }\n\n .lg\\:text-teal {\n color: #4dc0b5;\n }\n\n .lg\\:text-teal-light {\n color: #64d5ca;\n }\n\n .lg\\:text-teal-lighter {\n color: #a0f0ed;\n }\n\n .lg\\:text-teal-lightest {\n color: #e8fffe;\n }\n\n .lg\\:text-blue-darkest {\n color: #12283a;\n }\n\n .lg\\:text-blue-darker {\n color: #1c3d5a;\n }\n\n .lg\\:text-blue-dark {\n color: #2779bd;\n }\n\n .lg\\:text-blue {\n color: #3490dc;\n }\n\n .lg\\:text-blue-light {\n color: #6cb2eb;\n }\n\n .lg\\:text-blue-lighter {\n color: #bcdefa;\n }\n\n .lg\\:text-blue-lightest {\n color: #eff8ff;\n }\n\n .lg\\:text-indigo-darkest {\n color: #191e38;\n }\n\n .lg\\:text-indigo-darker {\n color: #2f365f;\n }\n\n .lg\\:text-indigo-dark {\n color: #5661b3;\n }\n\n .lg\\:text-indigo {\n color: #6574cd;\n }\n\n .lg\\:text-indigo-light {\n color: #7886d7;\n }\n\n .lg\\:text-indigo-lighter {\n color: #b2b7ff;\n }\n\n .lg\\:text-indigo-lightest {\n color: #e6e8ff;\n }\n\n .lg\\:text-purple-darkest {\n color: #21183c;\n }\n\n .lg\\:text-purple-darker {\n color: #382b5f;\n }\n\n .lg\\:text-purple-dark {\n color: #794acf;\n }\n\n .lg\\:text-purple {\n color: #9561e2;\n }\n\n .lg\\:text-purple-light {\n color: #a779e9;\n }\n\n .lg\\:text-purple-lighter {\n color: #d6bbfc;\n }\n\n .lg\\:text-purple-lightest {\n color: #f3ebff;\n }\n\n .lg\\:text-pink-darkest {\n color: #451225;\n }\n\n .lg\\:text-pink-darker {\n color: #6f213f;\n }\n\n .lg\\:text-pink-dark {\n color: #eb5286;\n }\n\n .lg\\:text-pink {\n color: #f66d9b;\n }\n\n .lg\\:text-pink-light {\n color: #fa7ea8;\n }\n\n .lg\\:text-pink-lighter {\n color: #ffbbca;\n }\n\n .lg\\:text-pink-lightest {\n color: #ffebef;\n }\n\n .lg\\:hover\\:text-transparent:hover {\n color: transparent;\n }\n\n .lg\\:hover\\:text-black:hover {\n color: #22292f;\n }\n\n .lg\\:hover\\:text-grey-darkest:hover {\n color: #3d4852;\n }\n\n .lg\\:hover\\:text-grey-darker:hover {\n color: #606f7b;\n }\n\n .lg\\:hover\\:text-grey-dark:hover {\n color: #8795a1;\n }\n\n .lg\\:hover\\:text-grey:hover {\n color: #b8c2cc;\n }\n\n .lg\\:hover\\:text-grey-light:hover {\n color: #dae1e7;\n }\n\n .lg\\:hover\\:text-grey-lighter:hover {\n color: #f1f5f8;\n }\n\n .lg\\:hover\\:text-grey-lightest:hover {\n color: #f8fafc;\n }\n\n .lg\\:hover\\:text-white:hover {\n color: #fff;\n }\n\n .lg\\:hover\\:text-red-darkest:hover {\n color: #3b0d0c;\n }\n\n .lg\\:hover\\:text-red-darker:hover {\n color: #621b18;\n }\n\n .lg\\:hover\\:text-red-dark:hover {\n color: #cc1f1a;\n }\n\n .lg\\:hover\\:text-red:hover {\n color: #e3342f;\n }\n\n .lg\\:hover\\:text-red-light:hover {\n color: #ef5753;\n }\n\n .lg\\:hover\\:text-red-lighter:hover {\n color: #f9acaa;\n }\n\n .lg\\:hover\\:text-red-lightest:hover {\n color: #fcebea;\n }\n\n .lg\\:hover\\:text-orange-darkest:hover {\n color: #462a16;\n }\n\n .lg\\:hover\\:text-orange-darker:hover {\n color: #613b1f;\n }\n\n .lg\\:hover\\:text-orange-dark:hover {\n color: #de751f;\n }\n\n .lg\\:hover\\:text-orange:hover {\n color: #f6993f;\n }\n\n .lg\\:hover\\:text-orange-light:hover {\n color: #faad63;\n }\n\n .lg\\:hover\\:text-orange-lighter:hover {\n color: #fcd9b6;\n }\n\n .lg\\:hover\\:text-orange-lightest:hover {\n color: #fff5eb;\n }\n\n .lg\\:hover\\:text-yellow-darkest:hover {\n color: #453411;\n }\n\n .lg\\:hover\\:text-yellow-darker:hover {\n color: #684f1d;\n }\n\n .lg\\:hover\\:text-yellow-dark:hover {\n color: #f2d024;\n }\n\n .lg\\:hover\\:text-yellow:hover {\n color: #ffed4a;\n }\n\n .lg\\:hover\\:text-yellow-light:hover {\n color: #fff382;\n }\n\n .lg\\:hover\\:text-yellow-lighter:hover {\n color: #fff9c2;\n }\n\n .lg\\:hover\\:text-yellow-lightest:hover {\n color: #fcfbeb;\n }\n\n .lg\\:hover\\:text-green-darkest:hover {\n color: #0f2f21;\n }\n\n .lg\\:hover\\:text-green-darker:hover {\n color: #1a4731;\n }\n\n .lg\\:hover\\:text-green-dark:hover {\n color: #1f9d55;\n }\n\n .lg\\:hover\\:text-green:hover {\n color: #38c172;\n }\n\n .lg\\:hover\\:text-green-light:hover {\n color: #51d88a;\n }\n\n .lg\\:hover\\:text-green-lighter:hover {\n color: #a2f5bf;\n }\n\n .lg\\:hover\\:text-green-lightest:hover {\n color: #e3fcec;\n }\n\n .lg\\:hover\\:text-teal-darkest:hover {\n color: #0d3331;\n }\n\n .lg\\:hover\\:text-teal-darker:hover {\n color: #20504f;\n }\n\n .lg\\:hover\\:text-teal-dark:hover {\n color: #38a89d;\n }\n\n .lg\\:hover\\:text-teal:hover {\n color: #4dc0b5;\n }\n\n .lg\\:hover\\:text-teal-light:hover {\n color: #64d5ca;\n }\n\n .lg\\:hover\\:text-teal-lighter:hover {\n color: #a0f0ed;\n }\n\n .lg\\:hover\\:text-teal-lightest:hover {\n color: #e8fffe;\n }\n\n .lg\\:hover\\:text-blue-darkest:hover {\n color: #12283a;\n }\n\n .lg\\:hover\\:text-blue-darker:hover {\n color: #1c3d5a;\n }\n\n .lg\\:hover\\:text-blue-dark:hover {\n color: #2779bd;\n }\n\n .lg\\:hover\\:text-blue:hover {\n color: #3490dc;\n }\n\n .lg\\:hover\\:text-blue-light:hover {\n color: #6cb2eb;\n }\n\n .lg\\:hover\\:text-blue-lighter:hover {\n color: #bcdefa;\n }\n\n .lg\\:hover\\:text-blue-lightest:hover {\n color: #eff8ff;\n }\n\n .lg\\:hover\\:text-indigo-darkest:hover {\n color: #191e38;\n }\n\n .lg\\:hover\\:text-indigo-darker:hover {\n color: #2f365f;\n }\n\n .lg\\:hover\\:text-indigo-dark:hover {\n color: #5661b3;\n }\n\n .lg\\:hover\\:text-indigo:hover {\n color: #6574cd;\n }\n\n .lg\\:hover\\:text-indigo-light:hover {\n color: #7886d7;\n }\n\n .lg\\:hover\\:text-indigo-lighter:hover {\n color: #b2b7ff;\n }\n\n .lg\\:hover\\:text-indigo-lightest:hover {\n color: #e6e8ff;\n }\n\n .lg\\:hover\\:text-purple-darkest:hover {\n color: #21183c;\n }\n\n .lg\\:hover\\:text-purple-darker:hover {\n color: #382b5f;\n }\n\n .lg\\:hover\\:text-purple-dark:hover {\n color: #794acf;\n }\n\n .lg\\:hover\\:text-purple:hover {\n color: #9561e2;\n }\n\n .lg\\:hover\\:text-purple-light:hover {\n color: #a779e9;\n }\n\n .lg\\:hover\\:text-purple-lighter:hover {\n color: #d6bbfc;\n }\n\n .lg\\:hover\\:text-purple-lightest:hover {\n color: #f3ebff;\n }\n\n .lg\\:hover\\:text-pink-darkest:hover {\n color: #451225;\n }\n\n .lg\\:hover\\:text-pink-darker:hover {\n color: #6f213f;\n }\n\n .lg\\:hover\\:text-pink-dark:hover {\n color: #eb5286;\n }\n\n .lg\\:hover\\:text-pink:hover {\n color: #f66d9b;\n }\n\n .lg\\:hover\\:text-pink-light:hover {\n color: #fa7ea8;\n }\n\n .lg\\:hover\\:text-pink-lighter:hover {\n color: #ffbbca;\n }\n\n .lg\\:hover\\:text-pink-lightest:hover {\n color: #ffebef;\n }\n\n .lg\\:focus\\:text-transparent:focus {\n color: transparent;\n }\n\n .lg\\:focus\\:text-black:focus {\n color: #22292f;\n }\n\n .lg\\:focus\\:text-grey-darkest:focus {\n color: #3d4852;\n }\n\n .lg\\:focus\\:text-grey-darker:focus {\n color: #606f7b;\n }\n\n .lg\\:focus\\:text-grey-dark:focus {\n color: #8795a1;\n }\n\n .lg\\:focus\\:text-grey:focus {\n color: #b8c2cc;\n }\n\n .lg\\:focus\\:text-grey-light:focus {\n color: #dae1e7;\n }\n\n .lg\\:focus\\:text-grey-lighter:focus {\n color: #f1f5f8;\n }\n\n .lg\\:focus\\:text-grey-lightest:focus {\n color: #f8fafc;\n }\n\n .lg\\:focus\\:text-white:focus {\n color: #fff;\n }\n\n .lg\\:focus\\:text-red-darkest:focus {\n color: #3b0d0c;\n }\n\n .lg\\:focus\\:text-red-darker:focus {\n color: #621b18;\n }\n\n .lg\\:focus\\:text-red-dark:focus {\n color: #cc1f1a;\n }\n\n .lg\\:focus\\:text-red:focus {\n color: #e3342f;\n }\n\n .lg\\:focus\\:text-red-light:focus {\n color: #ef5753;\n }\n\n .lg\\:focus\\:text-red-lighter:focus {\n color: #f9acaa;\n }\n\n .lg\\:focus\\:text-red-lightest:focus {\n color: #fcebea;\n }\n\n .lg\\:focus\\:text-orange-darkest:focus {\n color: #462a16;\n }\n\n .lg\\:focus\\:text-orange-darker:focus {\n color: #613b1f;\n }\n\n .lg\\:focus\\:text-orange-dark:focus {\n color: #de751f;\n }\n\n .lg\\:focus\\:text-orange:focus {\n color: #f6993f;\n }\n\n .lg\\:focus\\:text-orange-light:focus {\n color: #faad63;\n }\n\n .lg\\:focus\\:text-orange-lighter:focus {\n color: #fcd9b6;\n }\n\n .lg\\:focus\\:text-orange-lightest:focus {\n color: #fff5eb;\n }\n\n .lg\\:focus\\:text-yellow-darkest:focus {\n color: #453411;\n }\n\n .lg\\:focus\\:text-yellow-darker:focus {\n color: #684f1d;\n }\n\n .lg\\:focus\\:text-yellow-dark:focus {\n color: #f2d024;\n }\n\n .lg\\:focus\\:text-yellow:focus {\n color: #ffed4a;\n }\n\n .lg\\:focus\\:text-yellow-light:focus {\n color: #fff382;\n }\n\n .lg\\:focus\\:text-yellow-lighter:focus {\n color: #fff9c2;\n }\n\n .lg\\:focus\\:text-yellow-lightest:focus {\n color: #fcfbeb;\n }\n\n .lg\\:focus\\:text-green-darkest:focus {\n color: #0f2f21;\n }\n\n .lg\\:focus\\:text-green-darker:focus {\n color: #1a4731;\n }\n\n .lg\\:focus\\:text-green-dark:focus {\n color: #1f9d55;\n }\n\n .lg\\:focus\\:text-green:focus {\n color: #38c172;\n }\n\n .lg\\:focus\\:text-green-light:focus {\n color: #51d88a;\n }\n\n .lg\\:focus\\:text-green-lighter:focus {\n color: #a2f5bf;\n }\n\n .lg\\:focus\\:text-green-lightest:focus {\n color: #e3fcec;\n }\n\n .lg\\:focus\\:text-teal-darkest:focus {\n color: #0d3331;\n }\n\n .lg\\:focus\\:text-teal-darker:focus {\n color: #20504f;\n }\n\n .lg\\:focus\\:text-teal-dark:focus {\n color: #38a89d;\n }\n\n .lg\\:focus\\:text-teal:focus {\n color: #4dc0b5;\n }\n\n .lg\\:focus\\:text-teal-light:focus {\n color: #64d5ca;\n }\n\n .lg\\:focus\\:text-teal-lighter:focus {\n color: #a0f0ed;\n }\n\n .lg\\:focus\\:text-teal-lightest:focus {\n color: #e8fffe;\n }\n\n .lg\\:focus\\:text-blue-darkest:focus {\n color: #12283a;\n }\n\n .lg\\:focus\\:text-blue-darker:focus {\n color: #1c3d5a;\n }\n\n .lg\\:focus\\:text-blue-dark:focus {\n color: #2779bd;\n }\n\n .lg\\:focus\\:text-blue:focus {\n color: #3490dc;\n }\n\n .lg\\:focus\\:text-blue-light:focus {\n color: #6cb2eb;\n }\n\n .lg\\:focus\\:text-blue-lighter:focus {\n color: #bcdefa;\n }\n\n .lg\\:focus\\:text-blue-lightest:focus {\n color: #eff8ff;\n }\n\n .lg\\:focus\\:text-indigo-darkest:focus {\n color: #191e38;\n }\n\n .lg\\:focus\\:text-indigo-darker:focus {\n color: #2f365f;\n }\n\n .lg\\:focus\\:text-indigo-dark:focus {\n color: #5661b3;\n }\n\n .lg\\:focus\\:text-indigo:focus {\n color: #6574cd;\n }\n\n .lg\\:focus\\:text-indigo-light:focus {\n color: #7886d7;\n }\n\n .lg\\:focus\\:text-indigo-lighter:focus {\n color: #b2b7ff;\n }\n\n .lg\\:focus\\:text-indigo-lightest:focus {\n color: #e6e8ff;\n }\n\n .lg\\:focus\\:text-purple-darkest:focus {\n color: #21183c;\n }\n\n .lg\\:focus\\:text-purple-darker:focus {\n color: #382b5f;\n }\n\n .lg\\:focus\\:text-purple-dark:focus {\n color: #794acf;\n }\n\n .lg\\:focus\\:text-purple:focus {\n color: #9561e2;\n }\n\n .lg\\:focus\\:text-purple-light:focus {\n color: #a779e9;\n }\n\n .lg\\:focus\\:text-purple-lighter:focus {\n color: #d6bbfc;\n }\n\n .lg\\:focus\\:text-purple-lightest:focus {\n color: #f3ebff;\n }\n\n .lg\\:focus\\:text-pink-darkest:focus {\n color: #451225;\n }\n\n .lg\\:focus\\:text-pink-darker:focus {\n color: #6f213f;\n }\n\n .lg\\:focus\\:text-pink-dark:focus {\n color: #eb5286;\n }\n\n .lg\\:focus\\:text-pink:focus {\n color: #f66d9b;\n }\n\n .lg\\:focus\\:text-pink-light:focus {\n color: #fa7ea8;\n }\n\n .lg\\:focus\\:text-pink-lighter:focus {\n color: #ffbbca;\n }\n\n .lg\\:focus\\:text-pink-lightest:focus {\n color: #ffebef;\n }\n\n .lg\\:text-xs {\n font-size: .75rem;\n }\n\n .lg\\:text-sm {\n font-size: .875rem;\n }\n\n .lg\\:text-base {\n font-size: 1rem;\n }\n\n .lg\\:text-lg {\n font-size: 1.125rem;\n }\n\n .lg\\:text-xl {\n font-size: 1.25rem;\n }\n\n .lg\\:text-2xl {\n font-size: 1.5rem;\n }\n\n .lg\\:text-3xl {\n font-size: 1.875rem;\n }\n\n .lg\\:text-4xl {\n font-size: 2.25rem;\n }\n\n .lg\\:text-5xl {\n font-size: 3rem;\n }\n\n .lg\\:italic {\n font-style: italic;\n }\n\n .lg\\:roman {\n font-style: normal;\n }\n\n .lg\\:uppercase {\n text-transform: uppercase;\n }\n\n .lg\\:lowercase {\n text-transform: lowercase;\n }\n\n .lg\\:capitalize {\n text-transform: capitalize;\n }\n\n .lg\\:normal-case {\n text-transform: none;\n }\n\n .lg\\:underline {\n text-decoration: underline;\n }\n\n .lg\\:line-through {\n text-decoration: line-through;\n }\n\n .lg\\:no-underline {\n text-decoration: none;\n }\n\n .lg\\:antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .lg\\:subpixel-antialiased {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .lg\\:hover\\:italic:hover {\n font-style: italic;\n }\n\n .lg\\:hover\\:roman:hover {\n font-style: normal;\n }\n\n .lg\\:hover\\:uppercase:hover {\n text-transform: uppercase;\n }\n\n .lg\\:hover\\:lowercase:hover {\n text-transform: lowercase;\n }\n\n .lg\\:hover\\:capitalize:hover {\n text-transform: capitalize;\n }\n\n .lg\\:hover\\:normal-case:hover {\n text-transform: none;\n }\n\n .lg\\:hover\\:underline:hover {\n text-decoration: underline;\n }\n\n .lg\\:hover\\:line-through:hover {\n text-decoration: line-through;\n }\n\n .lg\\:hover\\:no-underline:hover {\n text-decoration: none;\n }\n\n .lg\\:hover\\:antialiased:hover {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .lg\\:hover\\:subpixel-antialiased:hover {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .lg\\:focus\\:italic:focus {\n font-style: italic;\n }\n\n .lg\\:focus\\:roman:focus {\n font-style: normal;\n }\n\n .lg\\:focus\\:uppercase:focus {\n text-transform: uppercase;\n }\n\n .lg\\:focus\\:lowercase:focus {\n text-transform: lowercase;\n }\n\n .lg\\:focus\\:capitalize:focus {\n text-transform: capitalize;\n }\n\n .lg\\:focus\\:normal-case:focus {\n text-transform: none;\n }\n\n .lg\\:focus\\:underline:focus {\n text-decoration: underline;\n }\n\n .lg\\:focus\\:line-through:focus {\n text-decoration: line-through;\n }\n\n .lg\\:focus\\:no-underline:focus {\n text-decoration: none;\n }\n\n .lg\\:focus\\:antialiased:focus {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .lg\\:focus\\:subpixel-antialiased:focus {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .lg\\:tracking-tight {\n letter-spacing: -0.05em;\n }\n\n .lg\\:tracking-normal {\n letter-spacing: 0;\n }\n\n .lg\\:tracking-wide {\n letter-spacing: .05em;\n }\n\n .lg\\:select-none {\n user-select: none;\n }\n\n .lg\\:select-text {\n user-select: text;\n }\n\n .lg\\:align-baseline {\n vertical-align: baseline;\n }\n\n .lg\\:align-top {\n vertical-align: top;\n }\n\n .lg\\:align-middle {\n vertical-align: middle;\n }\n\n .lg\\:align-bottom {\n vertical-align: bottom;\n }\n\n .lg\\:align-text-top {\n vertical-align: text-top;\n }\n\n .lg\\:align-text-bottom {\n vertical-align: text-bottom;\n }\n\n .lg\\:visible {\n visibility: visible;\n }\n\n .lg\\:invisible {\n visibility: hidden;\n }\n\n .lg\\:whitespace-normal {\n white-space: normal;\n }\n\n .lg\\:whitespace-no-wrap {\n white-space: nowrap;\n }\n\n .lg\\:whitespace-pre {\n white-space: pre;\n }\n\n .lg\\:whitespace-pre-line {\n white-space: pre-line;\n }\n\n .lg\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n\n .lg\\:break-words {\n word-wrap: break-word;\n }\n\n .lg\\:break-normal {\n word-wrap: normal;\n }\n\n .lg\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .lg\\:w-1 {\n width: .25rem;\n }\n\n .lg\\:w-2 {\n width: .5rem;\n }\n\n .lg\\:w-3 {\n width: .75rem;\n }\n\n .lg\\:w-4 {\n width: 1rem;\n }\n\n .lg\\:w-5 {\n width: 1.25rem;\n }\n\n .lg\\:w-6 {\n width: 1.5rem;\n }\n\n .lg\\:w-8 {\n width: 2rem;\n }\n\n .lg\\:w-10 {\n width: 2.5rem;\n }\n\n .lg\\:w-12 {\n width: 3rem;\n }\n\n .lg\\:w-16 {\n width: 4rem;\n }\n\n .lg\\:w-24 {\n width: 6rem;\n }\n\n .lg\\:w-32 {\n width: 8rem;\n }\n\n .lg\\:w-48 {\n width: 12rem;\n }\n\n .lg\\:w-64 {\n width: 16rem;\n }\n\n .lg\\:w-auto {\n width: auto;\n }\n\n .lg\\:w-px {\n width: 1px;\n }\n\n .lg\\:w-1\\/2 {\n width: 50%;\n }\n\n .lg\\:w-1\\/3 {\n width: 33.33333%;\n }\n\n .lg\\:w-2\\/3 {\n width: 66.66667%;\n }\n\n .lg\\:w-1\\/4 {\n width: 25%;\n }\n\n .lg\\:w-3\\/4 {\n width: 75%;\n }\n\n .lg\\:w-1\\/5 {\n width: 20%;\n }\n\n .lg\\:w-2\\/5 {\n width: 40%;\n }\n\n .lg\\:w-3\\/5 {\n width: 60%;\n }\n\n .lg\\:w-4\\/5 {\n width: 80%;\n }\n\n .lg\\:w-1\\/6 {\n width: 16.66667%;\n }\n\n .lg\\:w-5\\/6 {\n width: 83.33333%;\n }\n\n .lg\\:w-full {\n width: 100%;\n }\n\n .lg\\:w-screen {\n width: 100vw;\n }\n\n .lg\\:z-0 {\n z-index: 0;\n }\n\n .lg\\:z-10 {\n z-index: 10;\n }\n\n .lg\\:z-20 {\n z-index: 20;\n }\n\n .lg\\:z-30 {\n z-index: 30;\n }\n\n .lg\\:z-40 {\n z-index: 40;\n }\n\n .lg\\:z-50 {\n z-index: 50;\n }\n\n .lg\\:z-auto {\n z-index: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .xl\\:list-reset {\n list-style: none;\n padding: 0;\n }\n\n .xl\\:appearance-none {\n appearance: none;\n }\n\n .xl\\:bg-fixed {\n background-attachment: fixed;\n }\n\n .xl\\:bg-local {\n background-attachment: local;\n }\n\n .xl\\:bg-scroll {\n background-attachment: scroll;\n }\n\n .xl\\:bg-transparent {\n background-color: transparent;\n }\n\n .xl\\:bg-black {\n background-color: #22292f;\n }\n\n .xl\\:bg-grey-darkest {\n background-color: #3d4852;\n }\n\n .xl\\:bg-grey-darker {\n background-color: #606f7b;\n }\n\n .xl\\:bg-grey-dark {\n background-color: #8795a1;\n }\n\n .xl\\:bg-grey {\n background-color: #b8c2cc;\n }\n\n .xl\\:bg-grey-light {\n background-color: #dae1e7;\n }\n\n .xl\\:bg-grey-lighter {\n background-color: #f1f5f8;\n }\n\n .xl\\:bg-grey-lightest {\n background-color: #f8fafc;\n }\n\n .xl\\:bg-white {\n background-color: #fff;\n }\n\n .xl\\:bg-red-darkest {\n background-color: #3b0d0c;\n }\n\n .xl\\:bg-red-darker {\n background-color: #621b18;\n }\n\n .xl\\:bg-red-dark {\n background-color: #cc1f1a;\n }\n\n .xl\\:bg-red {\n background-color: #e3342f;\n }\n\n .xl\\:bg-red-light {\n background-color: #ef5753;\n }\n\n .xl\\:bg-red-lighter {\n background-color: #f9acaa;\n }\n\n .xl\\:bg-red-lightest {\n background-color: #fcebea;\n }\n\n .xl\\:bg-orange-darkest {\n background-color: #462a16;\n }\n\n .xl\\:bg-orange-darker {\n background-color: #613b1f;\n }\n\n .xl\\:bg-orange-dark {\n background-color: #de751f;\n }\n\n .xl\\:bg-orange {\n background-color: #f6993f;\n }\n\n .xl\\:bg-orange-light {\n background-color: #faad63;\n }\n\n .xl\\:bg-orange-lighter {\n background-color: #fcd9b6;\n }\n\n .xl\\:bg-orange-lightest {\n background-color: #fff5eb;\n }\n\n .xl\\:bg-yellow-darkest {\n background-color: #453411;\n }\n\n .xl\\:bg-yellow-darker {\n background-color: #684f1d;\n }\n\n .xl\\:bg-yellow-dark {\n background-color: #f2d024;\n }\n\n .xl\\:bg-yellow {\n background-color: #ffed4a;\n }\n\n .xl\\:bg-yellow-light {\n background-color: #fff382;\n }\n\n .xl\\:bg-yellow-lighter {\n background-color: #fff9c2;\n }\n\n .xl\\:bg-yellow-lightest {\n background-color: #fcfbeb;\n }\n\n .xl\\:bg-green-darkest {\n background-color: #0f2f21;\n }\n\n .xl\\:bg-green-darker {\n background-color: #1a4731;\n }\n\n .xl\\:bg-green-dark {\n background-color: #1f9d55;\n }\n\n .xl\\:bg-green {\n background-color: #38c172;\n }\n\n .xl\\:bg-green-light {\n background-color: #51d88a;\n }\n\n .xl\\:bg-green-lighter {\n background-color: #a2f5bf;\n }\n\n .xl\\:bg-green-lightest {\n background-color: #e3fcec;\n }\n\n .xl\\:bg-teal-darkest {\n background-color: #0d3331;\n }\n\n .xl\\:bg-teal-darker {\n background-color: #20504f;\n }\n\n .xl\\:bg-teal-dark {\n background-color: #38a89d;\n }\n\n .xl\\:bg-teal {\n background-color: #4dc0b5;\n }\n\n .xl\\:bg-teal-light {\n background-color: #64d5ca;\n }\n\n .xl\\:bg-teal-lighter {\n background-color: #a0f0ed;\n }\n\n .xl\\:bg-teal-lightest {\n background-color: #e8fffe;\n }\n\n .xl\\:bg-blue-darkest {\n background-color: #12283a;\n }\n\n .xl\\:bg-blue-darker {\n background-color: #1c3d5a;\n }\n\n .xl\\:bg-blue-dark {\n background-color: #2779bd;\n }\n\n .xl\\:bg-blue {\n background-color: #3490dc;\n }\n\n .xl\\:bg-blue-light {\n background-color: #6cb2eb;\n }\n\n .xl\\:bg-blue-lighter {\n background-color: #bcdefa;\n }\n\n .xl\\:bg-blue-lightest {\n background-color: #eff8ff;\n }\n\n .xl\\:bg-indigo-darkest {\n background-color: #191e38;\n }\n\n .xl\\:bg-indigo-darker {\n background-color: #2f365f;\n }\n\n .xl\\:bg-indigo-dark {\n background-color: #5661b3;\n }\n\n .xl\\:bg-indigo {\n background-color: #6574cd;\n }\n\n .xl\\:bg-indigo-light {\n background-color: #7886d7;\n }\n\n .xl\\:bg-indigo-lighter {\n background-color: #b2b7ff;\n }\n\n .xl\\:bg-indigo-lightest {\n background-color: #e6e8ff;\n }\n\n .xl\\:bg-purple-darkest {\n background-color: #21183c;\n }\n\n .xl\\:bg-purple-darker {\n background-color: #382b5f;\n }\n\n .xl\\:bg-purple-dark {\n background-color: #794acf;\n }\n\n .xl\\:bg-purple {\n background-color: #9561e2;\n }\n\n .xl\\:bg-purple-light {\n background-color: #a779e9;\n }\n\n .xl\\:bg-purple-lighter {\n background-color: #d6bbfc;\n }\n\n .xl\\:bg-purple-lightest {\n background-color: #f3ebff;\n }\n\n .xl\\:bg-pink-darkest {\n background-color: #451225;\n }\n\n .xl\\:bg-pink-darker {\n background-color: #6f213f;\n }\n\n .xl\\:bg-pink-dark {\n background-color: #eb5286;\n }\n\n .xl\\:bg-pink {\n background-color: #f66d9b;\n }\n\n .xl\\:bg-pink-light {\n background-color: #fa7ea8;\n }\n\n .xl\\:bg-pink-lighter {\n background-color: #ffbbca;\n }\n\n .xl\\:bg-pink-lightest {\n background-color: #ffebef;\n }\n\n .xl\\:hover\\:bg-transparent:hover {\n background-color: transparent;\n }\n\n .xl\\:hover\\:bg-black:hover {\n background-color: #22292f;\n }\n\n .xl\\:hover\\:bg-grey-darkest:hover {\n background-color: #3d4852;\n }\n\n .xl\\:hover\\:bg-grey-darker:hover {\n background-color: #606f7b;\n }\n\n .xl\\:hover\\:bg-grey-dark:hover {\n background-color: #8795a1;\n }\n\n .xl\\:hover\\:bg-grey:hover {\n background-color: #b8c2cc;\n }\n\n .xl\\:hover\\:bg-grey-light:hover {\n background-color: #dae1e7;\n }\n\n .xl\\:hover\\:bg-grey-lighter:hover {\n background-color: #f1f5f8;\n }\n\n .xl\\:hover\\:bg-grey-lightest:hover {\n background-color: #f8fafc;\n }\n\n .xl\\:hover\\:bg-white:hover {\n background-color: #fff;\n }\n\n .xl\\:hover\\:bg-red-darkest:hover {\n background-color: #3b0d0c;\n }\n\n .xl\\:hover\\:bg-red-darker:hover {\n background-color: #621b18;\n }\n\n .xl\\:hover\\:bg-red-dark:hover {\n background-color: #cc1f1a;\n }\n\n .xl\\:hover\\:bg-red:hover {\n background-color: #e3342f;\n }\n\n .xl\\:hover\\:bg-red-light:hover {\n background-color: #ef5753;\n }\n\n .xl\\:hover\\:bg-red-lighter:hover {\n background-color: #f9acaa;\n }\n\n .xl\\:hover\\:bg-red-lightest:hover {\n background-color: #fcebea;\n }\n\n .xl\\:hover\\:bg-orange-darkest:hover {\n background-color: #462a16;\n }\n\n .xl\\:hover\\:bg-orange-darker:hover {\n background-color: #613b1f;\n }\n\n .xl\\:hover\\:bg-orange-dark:hover {\n background-color: #de751f;\n }\n\n .xl\\:hover\\:bg-orange:hover {\n background-color: #f6993f;\n }\n\n .xl\\:hover\\:bg-orange-light:hover {\n background-color: #faad63;\n }\n\n .xl\\:hover\\:bg-orange-lighter:hover {\n background-color: #fcd9b6;\n }\n\n .xl\\:hover\\:bg-orange-lightest:hover {\n background-color: #fff5eb;\n }\n\n .xl\\:hover\\:bg-yellow-darkest:hover {\n background-color: #453411;\n }\n\n .xl\\:hover\\:bg-yellow-darker:hover {\n background-color: #684f1d;\n }\n\n .xl\\:hover\\:bg-yellow-dark:hover {\n background-color: #f2d024;\n }\n\n .xl\\:hover\\:bg-yellow:hover {\n background-color: #ffed4a;\n }\n\n .xl\\:hover\\:bg-yellow-light:hover {\n background-color: #fff382;\n }\n\n .xl\\:hover\\:bg-yellow-lighter:hover {\n background-color: #fff9c2;\n }\n\n .xl\\:hover\\:bg-yellow-lightest:hover {\n background-color: #fcfbeb;\n }\n\n .xl\\:hover\\:bg-green-darkest:hover {\n background-color: #0f2f21;\n }\n\n .xl\\:hover\\:bg-green-darker:hover {\n background-color: #1a4731;\n }\n\n .xl\\:hover\\:bg-green-dark:hover {\n background-color: #1f9d55;\n }\n\n .xl\\:hover\\:bg-green:hover {\n background-color: #38c172;\n }\n\n .xl\\:hover\\:bg-green-light:hover {\n background-color: #51d88a;\n }\n\n .xl\\:hover\\:bg-green-lighter:hover {\n background-color: #a2f5bf;\n }\n\n .xl\\:hover\\:bg-green-lightest:hover {\n background-color: #e3fcec;\n }\n\n .xl\\:hover\\:bg-teal-darkest:hover {\n background-color: #0d3331;\n }\n\n .xl\\:hover\\:bg-teal-darker:hover {\n background-color: #20504f;\n }\n\n .xl\\:hover\\:bg-teal-dark:hover {\n background-color: #38a89d;\n }\n\n .xl\\:hover\\:bg-teal:hover {\n background-color: #4dc0b5;\n }\n\n .xl\\:hover\\:bg-teal-light:hover {\n background-color: #64d5ca;\n }\n\n .xl\\:hover\\:bg-teal-lighter:hover {\n background-color: #a0f0ed;\n }\n\n .xl\\:hover\\:bg-teal-lightest:hover {\n background-color: #e8fffe;\n }\n\n .xl\\:hover\\:bg-blue-darkest:hover {\n background-color: #12283a;\n }\n\n .xl\\:hover\\:bg-blue-darker:hover {\n background-color: #1c3d5a;\n }\n\n .xl\\:hover\\:bg-blue-dark:hover {\n background-color: #2779bd;\n }\n\n .xl\\:hover\\:bg-blue:hover {\n background-color: #3490dc;\n }\n\n .xl\\:hover\\:bg-blue-light:hover {\n background-color: #6cb2eb;\n }\n\n .xl\\:hover\\:bg-blue-lighter:hover {\n background-color: #bcdefa;\n }\n\n .xl\\:hover\\:bg-blue-lightest:hover {\n background-color: #eff8ff;\n }\n\n .xl\\:hover\\:bg-indigo-darkest:hover {\n background-color: #191e38;\n }\n\n .xl\\:hover\\:bg-indigo-darker:hover {\n background-color: #2f365f;\n }\n\n .xl\\:hover\\:bg-indigo-dark:hover {\n background-color: #5661b3;\n }\n\n .xl\\:hover\\:bg-indigo:hover {\n background-color: #6574cd;\n }\n\n .xl\\:hover\\:bg-indigo-light:hover {\n background-color: #7886d7;\n }\n\n .xl\\:hover\\:bg-indigo-lighter:hover {\n background-color: #b2b7ff;\n }\n\n .xl\\:hover\\:bg-indigo-lightest:hover {\n background-color: #e6e8ff;\n }\n\n .xl\\:hover\\:bg-purple-darkest:hover {\n background-color: #21183c;\n }\n\n .xl\\:hover\\:bg-purple-darker:hover {\n background-color: #382b5f;\n }\n\n .xl\\:hover\\:bg-purple-dark:hover {\n background-color: #794acf;\n }\n\n .xl\\:hover\\:bg-purple:hover {\n background-color: #9561e2;\n }\n\n .xl\\:hover\\:bg-purple-light:hover {\n background-color: #a779e9;\n }\n\n .xl\\:hover\\:bg-purple-lighter:hover {\n background-color: #d6bbfc;\n }\n\n .xl\\:hover\\:bg-purple-lightest:hover {\n background-color: #f3ebff;\n }\n\n .xl\\:hover\\:bg-pink-darkest:hover {\n background-color: #451225;\n }\n\n .xl\\:hover\\:bg-pink-darker:hover {\n background-color: #6f213f;\n }\n\n .xl\\:hover\\:bg-pink-dark:hover {\n background-color: #eb5286;\n }\n\n .xl\\:hover\\:bg-pink:hover {\n background-color: #f66d9b;\n }\n\n .xl\\:hover\\:bg-pink-light:hover {\n background-color: #fa7ea8;\n }\n\n .xl\\:hover\\:bg-pink-lighter:hover {\n background-color: #ffbbca;\n }\n\n .xl\\:hover\\:bg-pink-lightest:hover {\n background-color: #ffebef;\n }\n\n .xl\\:focus\\:bg-transparent:focus {\n background-color: transparent;\n }\n\n .xl\\:focus\\:bg-black:focus {\n background-color: #22292f;\n }\n\n .xl\\:focus\\:bg-grey-darkest:focus {\n background-color: #3d4852;\n }\n\n .xl\\:focus\\:bg-grey-darker:focus {\n background-color: #606f7b;\n }\n\n .xl\\:focus\\:bg-grey-dark:focus {\n background-color: #8795a1;\n }\n\n .xl\\:focus\\:bg-grey:focus {\n background-color: #b8c2cc;\n }\n\n .xl\\:focus\\:bg-grey-light:focus {\n background-color: #dae1e7;\n }\n\n .xl\\:focus\\:bg-grey-lighter:focus {\n background-color: #f1f5f8;\n }\n\n .xl\\:focus\\:bg-grey-lightest:focus {\n background-color: #f8fafc;\n }\n\n .xl\\:focus\\:bg-white:focus {\n background-color: #fff;\n }\n\n .xl\\:focus\\:bg-red-darkest:focus {\n background-color: #3b0d0c;\n }\n\n .xl\\:focus\\:bg-red-darker:focus {\n background-color: #621b18;\n }\n\n .xl\\:focus\\:bg-red-dark:focus {\n background-color: #cc1f1a;\n }\n\n .xl\\:focus\\:bg-red:focus {\n background-color: #e3342f;\n }\n\n .xl\\:focus\\:bg-red-light:focus {\n background-color: #ef5753;\n }\n\n .xl\\:focus\\:bg-red-lighter:focus {\n background-color: #f9acaa;\n }\n\n .xl\\:focus\\:bg-red-lightest:focus {\n background-color: #fcebea;\n }\n\n .xl\\:focus\\:bg-orange-darkest:focus {\n background-color: #462a16;\n }\n\n .xl\\:focus\\:bg-orange-darker:focus {\n background-color: #613b1f;\n }\n\n .xl\\:focus\\:bg-orange-dark:focus {\n background-color: #de751f;\n }\n\n .xl\\:focus\\:bg-orange:focus {\n background-color: #f6993f;\n }\n\n .xl\\:focus\\:bg-orange-light:focus {\n background-color: #faad63;\n }\n\n .xl\\:focus\\:bg-orange-lighter:focus {\n background-color: #fcd9b6;\n }\n\n .xl\\:focus\\:bg-orange-lightest:focus {\n background-color: #fff5eb;\n }\n\n .xl\\:focus\\:bg-yellow-darkest:focus {\n background-color: #453411;\n }\n\n .xl\\:focus\\:bg-yellow-darker:focus {\n background-color: #684f1d;\n }\n\n .xl\\:focus\\:bg-yellow-dark:focus {\n background-color: #f2d024;\n }\n\n .xl\\:focus\\:bg-yellow:focus {\n background-color: #ffed4a;\n }\n\n .xl\\:focus\\:bg-yellow-light:focus {\n background-color: #fff382;\n }\n\n .xl\\:focus\\:bg-yellow-lighter:focus {\n background-color: #fff9c2;\n }\n\n .xl\\:focus\\:bg-yellow-lightest:focus {\n background-color: #fcfbeb;\n }\n\n .xl\\:focus\\:bg-green-darkest:focus {\n background-color: #0f2f21;\n }\n\n .xl\\:focus\\:bg-green-darker:focus {\n background-color: #1a4731;\n }\n\n .xl\\:focus\\:bg-green-dark:focus {\n background-color: #1f9d55;\n }\n\n .xl\\:focus\\:bg-green:focus {\n background-color: #38c172;\n }\n\n .xl\\:focus\\:bg-green-light:focus {\n background-color: #51d88a;\n }\n\n .xl\\:focus\\:bg-green-lighter:focus {\n background-color: #a2f5bf;\n }\n\n .xl\\:focus\\:bg-green-lightest:focus {\n background-color: #e3fcec;\n }\n\n .xl\\:focus\\:bg-teal-darkest:focus {\n background-color: #0d3331;\n }\n\n .xl\\:focus\\:bg-teal-darker:focus {\n background-color: #20504f;\n }\n\n .xl\\:focus\\:bg-teal-dark:focus {\n background-color: #38a89d;\n }\n\n .xl\\:focus\\:bg-teal:focus {\n background-color: #4dc0b5;\n }\n\n .xl\\:focus\\:bg-teal-light:focus {\n background-color: #64d5ca;\n }\n\n .xl\\:focus\\:bg-teal-lighter:focus {\n background-color: #a0f0ed;\n }\n\n .xl\\:focus\\:bg-teal-lightest:focus {\n background-color: #e8fffe;\n }\n\n .xl\\:focus\\:bg-blue-darkest:focus {\n background-color: #12283a;\n }\n\n .xl\\:focus\\:bg-blue-darker:focus {\n background-color: #1c3d5a;\n }\n\n .xl\\:focus\\:bg-blue-dark:focus {\n background-color: #2779bd;\n }\n\n .xl\\:focus\\:bg-blue:focus {\n background-color: #3490dc;\n }\n\n .xl\\:focus\\:bg-blue-light:focus {\n background-color: #6cb2eb;\n }\n\n .xl\\:focus\\:bg-blue-lighter:focus {\n background-color: #bcdefa;\n }\n\n .xl\\:focus\\:bg-blue-lightest:focus {\n background-color: #eff8ff;\n }\n\n .xl\\:focus\\:bg-indigo-darkest:focus {\n background-color: #191e38;\n }\n\n .xl\\:focus\\:bg-indigo-darker:focus {\n background-color: #2f365f;\n }\n\n .xl\\:focus\\:bg-indigo-dark:focus {\n background-color: #5661b3;\n }\n\n .xl\\:focus\\:bg-indigo:focus {\n background-color: #6574cd;\n }\n\n .xl\\:focus\\:bg-indigo-light:focus {\n background-color: #7886d7;\n }\n\n .xl\\:focus\\:bg-indigo-lighter:focus {\n background-color: #b2b7ff;\n }\n\n .xl\\:focus\\:bg-indigo-lightest:focus {\n background-color: #e6e8ff;\n }\n\n .xl\\:focus\\:bg-purple-darkest:focus {\n background-color: #21183c;\n }\n\n .xl\\:focus\\:bg-purple-darker:focus {\n background-color: #382b5f;\n }\n\n .xl\\:focus\\:bg-purple-dark:focus {\n background-color: #794acf;\n }\n\n .xl\\:focus\\:bg-purple:focus {\n background-color: #9561e2;\n }\n\n .xl\\:focus\\:bg-purple-light:focus {\n background-color: #a779e9;\n }\n\n .xl\\:focus\\:bg-purple-lighter:focus {\n background-color: #d6bbfc;\n }\n\n .xl\\:focus\\:bg-purple-lightest:focus {\n background-color: #f3ebff;\n }\n\n .xl\\:focus\\:bg-pink-darkest:focus {\n background-color: #451225;\n }\n\n .xl\\:focus\\:bg-pink-darker:focus {\n background-color: #6f213f;\n }\n\n .xl\\:focus\\:bg-pink-dark:focus {\n background-color: #eb5286;\n }\n\n .xl\\:focus\\:bg-pink:focus {\n background-color: #f66d9b;\n }\n\n .xl\\:focus\\:bg-pink-light:focus {\n background-color: #fa7ea8;\n }\n\n .xl\\:focus\\:bg-pink-lighter:focus {\n background-color: #ffbbca;\n }\n\n .xl\\:focus\\:bg-pink-lightest:focus {\n background-color: #ffebef;\n }\n\n .xl\\:bg-bottom {\n background-position: bottom;\n }\n\n .xl\\:bg-center {\n background-position: center;\n }\n\n .xl\\:bg-left {\n background-position: left;\n }\n\n .xl\\:bg-left-bottom {\n background-position: left bottom;\n }\n\n .xl\\:bg-left-top {\n background-position: left top;\n }\n\n .xl\\:bg-right {\n background-position: right;\n }\n\n .xl\\:bg-right-bottom {\n background-position: right bottom;\n }\n\n .xl\\:bg-right-top {\n background-position: right top;\n }\n\n .xl\\:bg-top {\n background-position: top;\n }\n\n .xl\\:bg-repeat {\n background-repeat: repeat;\n }\n\n .xl\\:bg-no-repeat {\n background-repeat: no-repeat;\n }\n\n .xl\\:bg-repeat-x {\n background-repeat: repeat-x;\n }\n\n .xl\\:bg-repeat-y {\n background-repeat: repeat-y;\n }\n\n .xl\\:bg-auto {\n background-size: auto;\n }\n\n .xl\\:bg-cover {\n background-size: cover;\n }\n\n .xl\\:bg-contain {\n background-size: contain;\n }\n\n .xl\\:border-transparent {\n border-color: transparent;\n }\n\n .xl\\:border-black {\n border-color: #22292f;\n }\n\n .xl\\:border-grey-darkest {\n border-color: #3d4852;\n }\n\n .xl\\:border-grey-darker {\n border-color: #606f7b;\n }\n\n .xl\\:border-grey-dark {\n border-color: #8795a1;\n }\n\n .xl\\:border-grey {\n border-color: #b8c2cc;\n }\n\n .xl\\:border-grey-light {\n border-color: #dae1e7;\n }\n\n .xl\\:border-grey-lighter {\n border-color: #f1f5f8;\n }\n\n .xl\\:border-grey-lightest {\n border-color: #f8fafc;\n }\n\n .xl\\:border-white {\n border-color: #fff;\n }\n\n .xl\\:border-red-darkest {\n border-color: #3b0d0c;\n }\n\n .xl\\:border-red-darker {\n border-color: #621b18;\n }\n\n .xl\\:border-red-dark {\n border-color: #cc1f1a;\n }\n\n .xl\\:border-red {\n border-color: #e3342f;\n }\n\n .xl\\:border-red-light {\n border-color: #ef5753;\n }\n\n .xl\\:border-red-lighter {\n border-color: #f9acaa;\n }\n\n .xl\\:border-red-lightest {\n border-color: #fcebea;\n }\n\n .xl\\:border-orange-darkest {\n border-color: #462a16;\n }\n\n .xl\\:border-orange-darker {\n border-color: #613b1f;\n }\n\n .xl\\:border-orange-dark {\n border-color: #de751f;\n }\n\n .xl\\:border-orange {\n border-color: #f6993f;\n }\n\n .xl\\:border-orange-light {\n border-color: #faad63;\n }\n\n .xl\\:border-orange-lighter {\n border-color: #fcd9b6;\n }\n\n .xl\\:border-orange-lightest {\n border-color: #fff5eb;\n }\n\n .xl\\:border-yellow-darkest {\n border-color: #453411;\n }\n\n .xl\\:border-yellow-darker {\n border-color: #684f1d;\n }\n\n .xl\\:border-yellow-dark {\n border-color: #f2d024;\n }\n\n .xl\\:border-yellow {\n border-color: #ffed4a;\n }\n\n .xl\\:border-yellow-light {\n border-color: #fff382;\n }\n\n .xl\\:border-yellow-lighter {\n border-color: #fff9c2;\n }\n\n .xl\\:border-yellow-lightest {\n border-color: #fcfbeb;\n }\n\n .xl\\:border-green-darkest {\n border-color: #0f2f21;\n }\n\n .xl\\:border-green-darker {\n border-color: #1a4731;\n }\n\n .xl\\:border-green-dark {\n border-color: #1f9d55;\n }\n\n .xl\\:border-green {\n border-color: #38c172;\n }\n\n .xl\\:border-green-light {\n border-color: #51d88a;\n }\n\n .xl\\:border-green-lighter {\n border-color: #a2f5bf;\n }\n\n .xl\\:border-green-lightest {\n border-color: #e3fcec;\n }\n\n .xl\\:border-teal-darkest {\n border-color: #0d3331;\n }\n\n .xl\\:border-teal-darker {\n border-color: #20504f;\n }\n\n .xl\\:border-teal-dark {\n border-color: #38a89d;\n }\n\n .xl\\:border-teal {\n border-color: #4dc0b5;\n }\n\n .xl\\:border-teal-light {\n border-color: #64d5ca;\n }\n\n .xl\\:border-teal-lighter {\n border-color: #a0f0ed;\n }\n\n .xl\\:border-teal-lightest {\n border-color: #e8fffe;\n }\n\n .xl\\:border-blue-darkest {\n border-color: #12283a;\n }\n\n .xl\\:border-blue-darker {\n border-color: #1c3d5a;\n }\n\n .xl\\:border-blue-dark {\n border-color: #2779bd;\n }\n\n .xl\\:border-blue {\n border-color: #3490dc;\n }\n\n .xl\\:border-blue-light {\n border-color: #6cb2eb;\n }\n\n .xl\\:border-blue-lighter {\n border-color: #bcdefa;\n }\n\n .xl\\:border-blue-lightest {\n border-color: #eff8ff;\n }\n\n .xl\\:border-indigo-darkest {\n border-color: #191e38;\n }\n\n .xl\\:border-indigo-darker {\n border-color: #2f365f;\n }\n\n .xl\\:border-indigo-dark {\n border-color: #5661b3;\n }\n\n .xl\\:border-indigo {\n border-color: #6574cd;\n }\n\n .xl\\:border-indigo-light {\n border-color: #7886d7;\n }\n\n .xl\\:border-indigo-lighter {\n border-color: #b2b7ff;\n }\n\n .xl\\:border-indigo-lightest {\n border-color: #e6e8ff;\n }\n\n .xl\\:border-purple-darkest {\n border-color: #21183c;\n }\n\n .xl\\:border-purple-darker {\n border-color: #382b5f;\n }\n\n .xl\\:border-purple-dark {\n border-color: #794acf;\n }\n\n .xl\\:border-purple {\n border-color: #9561e2;\n }\n\n .xl\\:border-purple-light {\n border-color: #a779e9;\n }\n\n .xl\\:border-purple-lighter {\n border-color: #d6bbfc;\n }\n\n .xl\\:border-purple-lightest {\n border-color: #f3ebff;\n }\n\n .xl\\:border-pink-darkest {\n border-color: #451225;\n }\n\n .xl\\:border-pink-darker {\n border-color: #6f213f;\n }\n\n .xl\\:border-pink-dark {\n border-color: #eb5286;\n }\n\n .xl\\:border-pink {\n border-color: #f66d9b;\n }\n\n .xl\\:border-pink-light {\n border-color: #fa7ea8;\n }\n\n .xl\\:border-pink-lighter {\n border-color: #ffbbca;\n }\n\n .xl\\:border-pink-lightest {\n border-color: #ffebef;\n }\n\n .xl\\:hover\\:border-transparent:hover {\n border-color: transparent;\n }\n\n .xl\\:hover\\:border-black:hover {\n border-color: #22292f;\n }\n\n .xl\\:hover\\:border-grey-darkest:hover {\n border-color: #3d4852;\n }\n\n .xl\\:hover\\:border-grey-darker:hover {\n border-color: #606f7b;\n }\n\n .xl\\:hover\\:border-grey-dark:hover {\n border-color: #8795a1;\n }\n\n .xl\\:hover\\:border-grey:hover {\n border-color: #b8c2cc;\n }\n\n .xl\\:hover\\:border-grey-light:hover {\n border-color: #dae1e7;\n }\n\n .xl\\:hover\\:border-grey-lighter:hover {\n border-color: #f1f5f8;\n }\n\n .xl\\:hover\\:border-grey-lightest:hover {\n border-color: #f8fafc;\n }\n\n .xl\\:hover\\:border-white:hover {\n border-color: #fff;\n }\n\n .xl\\:hover\\:border-red-darkest:hover {\n border-color: #3b0d0c;\n }\n\n .xl\\:hover\\:border-red-darker:hover {\n border-color: #621b18;\n }\n\n .xl\\:hover\\:border-red-dark:hover {\n border-color: #cc1f1a;\n }\n\n .xl\\:hover\\:border-red:hover {\n border-color: #e3342f;\n }\n\n .xl\\:hover\\:border-red-light:hover {\n border-color: #ef5753;\n }\n\n .xl\\:hover\\:border-red-lighter:hover {\n border-color: #f9acaa;\n }\n\n .xl\\:hover\\:border-red-lightest:hover {\n border-color: #fcebea;\n }\n\n .xl\\:hover\\:border-orange-darkest:hover {\n border-color: #462a16;\n }\n\n .xl\\:hover\\:border-orange-darker:hover {\n border-color: #613b1f;\n }\n\n .xl\\:hover\\:border-orange-dark:hover {\n border-color: #de751f;\n }\n\n .xl\\:hover\\:border-orange:hover {\n border-color: #f6993f;\n }\n\n .xl\\:hover\\:border-orange-light:hover {\n border-color: #faad63;\n }\n\n .xl\\:hover\\:border-orange-lighter:hover {\n border-color: #fcd9b6;\n }\n\n .xl\\:hover\\:border-orange-lightest:hover {\n border-color: #fff5eb;\n }\n\n .xl\\:hover\\:border-yellow-darkest:hover {\n border-color: #453411;\n }\n\n .xl\\:hover\\:border-yellow-darker:hover {\n border-color: #684f1d;\n }\n\n .xl\\:hover\\:border-yellow-dark:hover {\n border-color: #f2d024;\n }\n\n .xl\\:hover\\:border-yellow:hover {\n border-color: #ffed4a;\n }\n\n .xl\\:hover\\:border-yellow-light:hover {\n border-color: #fff382;\n }\n\n .xl\\:hover\\:border-yellow-lighter:hover {\n border-color: #fff9c2;\n }\n\n .xl\\:hover\\:border-yellow-lightest:hover {\n border-color: #fcfbeb;\n }\n\n .xl\\:hover\\:border-green-darkest:hover {\n border-color: #0f2f21;\n }\n\n .xl\\:hover\\:border-green-darker:hover {\n border-color: #1a4731;\n }\n\n .xl\\:hover\\:border-green-dark:hover {\n border-color: #1f9d55;\n }\n\n .xl\\:hover\\:border-green:hover {\n border-color: #38c172;\n }\n\n .xl\\:hover\\:border-green-light:hover {\n border-color: #51d88a;\n }\n\n .xl\\:hover\\:border-green-lighter:hover {\n border-color: #a2f5bf;\n }\n\n .xl\\:hover\\:border-green-lightest:hover {\n border-color: #e3fcec;\n }\n\n .xl\\:hover\\:border-teal-darkest:hover {\n border-color: #0d3331;\n }\n\n .xl\\:hover\\:border-teal-darker:hover {\n border-color: #20504f;\n }\n\n .xl\\:hover\\:border-teal-dark:hover {\n border-color: #38a89d;\n }\n\n .xl\\:hover\\:border-teal:hover {\n border-color: #4dc0b5;\n }\n\n .xl\\:hover\\:border-teal-light:hover {\n border-color: #64d5ca;\n }\n\n .xl\\:hover\\:border-teal-lighter:hover {\n border-color: #a0f0ed;\n }\n\n .xl\\:hover\\:border-teal-lightest:hover {\n border-color: #e8fffe;\n }\n\n .xl\\:hover\\:border-blue-darkest:hover {\n border-color: #12283a;\n }\n\n .xl\\:hover\\:border-blue-darker:hover {\n border-color: #1c3d5a;\n }\n\n .xl\\:hover\\:border-blue-dark:hover {\n border-color: #2779bd;\n }\n\n .xl\\:hover\\:border-blue:hover {\n border-color: #3490dc;\n }\n\n .xl\\:hover\\:border-blue-light:hover {\n border-color: #6cb2eb;\n }\n\n .xl\\:hover\\:border-blue-lighter:hover {\n border-color: #bcdefa;\n }\n\n .xl\\:hover\\:border-blue-lightest:hover {\n border-color: #eff8ff;\n }\n\n .xl\\:hover\\:border-indigo-darkest:hover {\n border-color: #191e38;\n }\n\n .xl\\:hover\\:border-indigo-darker:hover {\n border-color: #2f365f;\n }\n\n .xl\\:hover\\:border-indigo-dark:hover {\n border-color: #5661b3;\n }\n\n .xl\\:hover\\:border-indigo:hover {\n border-color: #6574cd;\n }\n\n .xl\\:hover\\:border-indigo-light:hover {\n border-color: #7886d7;\n }\n\n .xl\\:hover\\:border-indigo-lighter:hover {\n border-color: #b2b7ff;\n }\n\n .xl\\:hover\\:border-indigo-lightest:hover {\n border-color: #e6e8ff;\n }\n\n .xl\\:hover\\:border-purple-darkest:hover {\n border-color: #21183c;\n }\n\n .xl\\:hover\\:border-purple-darker:hover {\n border-color: #382b5f;\n }\n\n .xl\\:hover\\:border-purple-dark:hover {\n border-color: #794acf;\n }\n\n .xl\\:hover\\:border-purple:hover {\n border-color: #9561e2;\n }\n\n .xl\\:hover\\:border-purple-light:hover {\n border-color: #a779e9;\n }\n\n .xl\\:hover\\:border-purple-lighter:hover {\n border-color: #d6bbfc;\n }\n\n .xl\\:hover\\:border-purple-lightest:hover {\n border-color: #f3ebff;\n }\n\n .xl\\:hover\\:border-pink-darkest:hover {\n border-color: #451225;\n }\n\n .xl\\:hover\\:border-pink-darker:hover {\n border-color: #6f213f;\n }\n\n .xl\\:hover\\:border-pink-dark:hover {\n border-color: #eb5286;\n }\n\n .xl\\:hover\\:border-pink:hover {\n border-color: #f66d9b;\n }\n\n .xl\\:hover\\:border-pink-light:hover {\n border-color: #fa7ea8;\n }\n\n .xl\\:hover\\:border-pink-lighter:hover {\n border-color: #ffbbca;\n }\n\n .xl\\:hover\\:border-pink-lightest:hover {\n border-color: #ffebef;\n }\n\n .xl\\:focus\\:border-transparent:focus {\n border-color: transparent;\n }\n\n .xl\\:focus\\:border-black:focus {\n border-color: #22292f;\n }\n\n .xl\\:focus\\:border-grey-darkest:focus {\n border-color: #3d4852;\n }\n\n .xl\\:focus\\:border-grey-darker:focus {\n border-color: #606f7b;\n }\n\n .xl\\:focus\\:border-grey-dark:focus {\n border-color: #8795a1;\n }\n\n .xl\\:focus\\:border-grey:focus {\n border-color: #b8c2cc;\n }\n\n .xl\\:focus\\:border-grey-light:focus {\n border-color: #dae1e7;\n }\n\n .xl\\:focus\\:border-grey-lighter:focus {\n border-color: #f1f5f8;\n }\n\n .xl\\:focus\\:border-grey-lightest:focus {\n border-color: #f8fafc;\n }\n\n .xl\\:focus\\:border-white:focus {\n border-color: #fff;\n }\n\n .xl\\:focus\\:border-red-darkest:focus {\n border-color: #3b0d0c;\n }\n\n .xl\\:focus\\:border-red-darker:focus {\n border-color: #621b18;\n }\n\n .xl\\:focus\\:border-red-dark:focus {\n border-color: #cc1f1a;\n }\n\n .xl\\:focus\\:border-red:focus {\n border-color: #e3342f;\n }\n\n .xl\\:focus\\:border-red-light:focus {\n border-color: #ef5753;\n }\n\n .xl\\:focus\\:border-red-lighter:focus {\n border-color: #f9acaa;\n }\n\n .xl\\:focus\\:border-red-lightest:focus {\n border-color: #fcebea;\n }\n\n .xl\\:focus\\:border-orange-darkest:focus {\n border-color: #462a16;\n }\n\n .xl\\:focus\\:border-orange-darker:focus {\n border-color: #613b1f;\n }\n\n .xl\\:focus\\:border-orange-dark:focus {\n border-color: #de751f;\n }\n\n .xl\\:focus\\:border-orange:focus {\n border-color: #f6993f;\n }\n\n .xl\\:focus\\:border-orange-light:focus {\n border-color: #faad63;\n }\n\n .xl\\:focus\\:border-orange-lighter:focus {\n border-color: #fcd9b6;\n }\n\n .xl\\:focus\\:border-orange-lightest:focus {\n border-color: #fff5eb;\n }\n\n .xl\\:focus\\:border-yellow-darkest:focus {\n border-color: #453411;\n }\n\n .xl\\:focus\\:border-yellow-darker:focus {\n border-color: #684f1d;\n }\n\n .xl\\:focus\\:border-yellow-dark:focus {\n border-color: #f2d024;\n }\n\n .xl\\:focus\\:border-yellow:focus {\n border-color: #ffed4a;\n }\n\n .xl\\:focus\\:border-yellow-light:focus {\n border-color: #fff382;\n }\n\n .xl\\:focus\\:border-yellow-lighter:focus {\n border-color: #fff9c2;\n }\n\n .xl\\:focus\\:border-yellow-lightest:focus {\n border-color: #fcfbeb;\n }\n\n .xl\\:focus\\:border-green-darkest:focus {\n border-color: #0f2f21;\n }\n\n .xl\\:focus\\:border-green-darker:focus {\n border-color: #1a4731;\n }\n\n .xl\\:focus\\:border-green-dark:focus {\n border-color: #1f9d55;\n }\n\n .xl\\:focus\\:border-green:focus {\n border-color: #38c172;\n }\n\n .xl\\:focus\\:border-green-light:focus {\n border-color: #51d88a;\n }\n\n .xl\\:focus\\:border-green-lighter:focus {\n border-color: #a2f5bf;\n }\n\n .xl\\:focus\\:border-green-lightest:focus {\n border-color: #e3fcec;\n }\n\n .xl\\:focus\\:border-teal-darkest:focus {\n border-color: #0d3331;\n }\n\n .xl\\:focus\\:border-teal-darker:focus {\n border-color: #20504f;\n }\n\n .xl\\:focus\\:border-teal-dark:focus {\n border-color: #38a89d;\n }\n\n .xl\\:focus\\:border-teal:focus {\n border-color: #4dc0b5;\n }\n\n .xl\\:focus\\:border-teal-light:focus {\n border-color: #64d5ca;\n }\n\n .xl\\:focus\\:border-teal-lighter:focus {\n border-color: #a0f0ed;\n }\n\n .xl\\:focus\\:border-teal-lightest:focus {\n border-color: #e8fffe;\n }\n\n .xl\\:focus\\:border-blue-darkest:focus {\n border-color: #12283a;\n }\n\n .xl\\:focus\\:border-blue-darker:focus {\n border-color: #1c3d5a;\n }\n\n .xl\\:focus\\:border-blue-dark:focus {\n border-color: #2779bd;\n }\n\n .xl\\:focus\\:border-blue:focus {\n border-color: #3490dc;\n }\n\n .xl\\:focus\\:border-blue-light:focus {\n border-color: #6cb2eb;\n }\n\n .xl\\:focus\\:border-blue-lighter:focus {\n border-color: #bcdefa;\n }\n\n .xl\\:focus\\:border-blue-lightest:focus {\n border-color: #eff8ff;\n }\n\n .xl\\:focus\\:border-indigo-darkest:focus {\n border-color: #191e38;\n }\n\n .xl\\:focus\\:border-indigo-darker:focus {\n border-color: #2f365f;\n }\n\n .xl\\:focus\\:border-indigo-dark:focus {\n border-color: #5661b3;\n }\n\n .xl\\:focus\\:border-indigo:focus {\n border-color: #6574cd;\n }\n\n .xl\\:focus\\:border-indigo-light:focus {\n border-color: #7886d7;\n }\n\n .xl\\:focus\\:border-indigo-lighter:focus {\n border-color: #b2b7ff;\n }\n\n .xl\\:focus\\:border-indigo-lightest:focus {\n border-color: #e6e8ff;\n }\n\n .xl\\:focus\\:border-purple-darkest:focus {\n border-color: #21183c;\n }\n\n .xl\\:focus\\:border-purple-darker:focus {\n border-color: #382b5f;\n }\n\n .xl\\:focus\\:border-purple-dark:focus {\n border-color: #794acf;\n }\n\n .xl\\:focus\\:border-purple:focus {\n border-color: #9561e2;\n }\n\n .xl\\:focus\\:border-purple-light:focus {\n border-color: #a779e9;\n }\n\n .xl\\:focus\\:border-purple-lighter:focus {\n border-color: #d6bbfc;\n }\n\n .xl\\:focus\\:border-purple-lightest:focus {\n border-color: #f3ebff;\n }\n\n .xl\\:focus\\:border-pink-darkest:focus {\n border-color: #451225;\n }\n\n .xl\\:focus\\:border-pink-darker:focus {\n border-color: #6f213f;\n }\n\n .xl\\:focus\\:border-pink-dark:focus {\n border-color: #eb5286;\n }\n\n .xl\\:focus\\:border-pink:focus {\n border-color: #f66d9b;\n }\n\n .xl\\:focus\\:border-pink-light:focus {\n border-color: #fa7ea8;\n }\n\n .xl\\:focus\\:border-pink-lighter:focus {\n border-color: #ffbbca;\n }\n\n .xl\\:focus\\:border-pink-lightest:focus {\n border-color: #ffebef;\n }\n\n .xl\\:rounded-none {\n border-radius: 0;\n }\n\n .xl\\:rounded-sm {\n border-radius: .125rem;\n }\n\n .xl\\:rounded {\n border-radius: .25rem;\n }\n\n .xl\\:rounded-lg {\n border-radius: .5rem;\n }\n\n .xl\\:rounded-full {\n border-radius: 9999px;\n }\n\n .xl\\:rounded-t-none {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n .xl\\:rounded-r-none {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .xl\\:rounded-b-none {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .xl\\:rounded-l-none {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .xl\\:rounded-t-sm {\n border-top-left-radius: .125rem;\n border-top-right-radius: .125rem;\n }\n\n .xl\\:rounded-r-sm {\n border-top-right-radius: .125rem;\n border-bottom-right-radius: .125rem;\n }\n\n .xl\\:rounded-b-sm {\n border-bottom-right-radius: .125rem;\n border-bottom-left-radius: .125rem;\n }\n\n .xl\\:rounded-l-sm {\n border-top-left-radius: .125rem;\n border-bottom-left-radius: .125rem;\n }\n\n .xl\\:rounded-t {\n border-top-left-radius: .25rem;\n border-top-right-radius: .25rem;\n }\n\n .xl\\:rounded-r {\n border-top-right-radius: .25rem;\n border-bottom-right-radius: .25rem;\n }\n\n .xl\\:rounded-b {\n border-bottom-right-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n\n .xl\\:rounded-l {\n border-top-left-radius: .25rem;\n border-bottom-left-radius: .25rem;\n }\n\n .xl\\:rounded-t-lg {\n border-top-left-radius: .5rem;\n border-top-right-radius: .5rem;\n }\n\n .xl\\:rounded-r-lg {\n border-top-right-radius: .5rem;\n border-bottom-right-radius: .5rem;\n }\n\n .xl\\:rounded-b-lg {\n border-bottom-right-radius: .5rem;\n border-bottom-left-radius: .5rem;\n }\n\n .xl\\:rounded-l-lg {\n border-top-left-radius: .5rem;\n border-bottom-left-radius: .5rem;\n }\n\n .xl\\:rounded-t-full {\n border-top-left-radius: 9999px;\n border-top-right-radius: 9999px;\n }\n\n .xl\\:rounded-r-full {\n border-top-right-radius: 9999px;\n border-bottom-right-radius: 9999px;\n }\n\n .xl\\:rounded-b-full {\n border-bottom-right-radius: 9999px;\n border-bottom-left-radius: 9999px;\n }\n\n .xl\\:rounded-l-full {\n border-top-left-radius: 9999px;\n border-bottom-left-radius: 9999px;\n }\n\n .xl\\:rounded-tl-none {\n border-top-left-radius: 0;\n }\n\n .xl\\:rounded-tr-none {\n border-top-right-radius: 0;\n }\n\n .xl\\:rounded-br-none {\n border-bottom-right-radius: 0;\n }\n\n .xl\\:rounded-bl-none {\n border-bottom-left-radius: 0;\n }\n\n .xl\\:rounded-tl-sm {\n border-top-left-radius: .125rem;\n }\n\n .xl\\:rounded-tr-sm {\n border-top-right-radius: .125rem;\n }\n\n .xl\\:rounded-br-sm {\n border-bottom-right-radius: .125rem;\n }\n\n .xl\\:rounded-bl-sm {\n border-bottom-left-radius: .125rem;\n }\n\n .xl\\:rounded-tl {\n border-top-left-radius: .25rem;\n }\n\n .xl\\:rounded-tr {\n border-top-right-radius: .25rem;\n }\n\n .xl\\:rounded-br {\n border-bottom-right-radius: .25rem;\n }\n\n .xl\\:rounded-bl {\n border-bottom-left-radius: .25rem;\n }\n\n .xl\\:rounded-tl-lg {\n border-top-left-radius: .5rem;\n }\n\n .xl\\:rounded-tr-lg {\n border-top-right-radius: .5rem;\n }\n\n .xl\\:rounded-br-lg {\n border-bottom-right-radius: .5rem;\n }\n\n .xl\\:rounded-bl-lg {\n border-bottom-left-radius: .5rem;\n }\n\n .xl\\:rounded-tl-full {\n border-top-left-radius: 9999px;\n }\n\n .xl\\:rounded-tr-full {\n border-top-right-radius: 9999px;\n }\n\n .xl\\:rounded-br-full {\n border-bottom-right-radius: 9999px;\n }\n\n .xl\\:rounded-bl-full {\n border-bottom-left-radius: 9999px;\n }\n\n .xl\\:border-solid {\n border-style: solid;\n }\n\n .xl\\:border-dashed {\n border-style: dashed;\n }\n\n .xl\\:border-dotted {\n border-style: dotted;\n }\n\n .xl\\:border-none {\n border-style: none;\n }\n\n .xl\\:border-0 {\n border-width: 0;\n }\n\n .xl\\:border-2 {\n border-width: 2px;\n }\n\n .xl\\:border-4 {\n border-width: 4px;\n }\n\n .xl\\:border-8 {\n border-width: 8px;\n }\n\n .xl\\:border {\n border-width: 1px;\n }\n\n .xl\\:border-t-0 {\n border-top-width: 0;\n }\n\n .xl\\:border-r-0 {\n border-right-width: 0;\n }\n\n .xl\\:border-b-0 {\n border-bottom-width: 0;\n }\n\n .xl\\:border-l-0 {\n border-left-width: 0;\n }\n\n .xl\\:border-t-2 {\n border-top-width: 2px;\n }\n\n .xl\\:border-r-2 {\n border-right-width: 2px;\n }\n\n .xl\\:border-b-2 {\n border-bottom-width: 2px;\n }\n\n .xl\\:border-l-2 {\n border-left-width: 2px;\n }\n\n .xl\\:border-t-4 {\n border-top-width: 4px;\n }\n\n .xl\\:border-r-4 {\n border-right-width: 4px;\n }\n\n .xl\\:border-b-4 {\n border-bottom-width: 4px;\n }\n\n .xl\\:border-l-4 {\n border-left-width: 4px;\n }\n\n .xl\\:border-t-8 {\n border-top-width: 8px;\n }\n\n .xl\\:border-r-8 {\n border-right-width: 8px;\n }\n\n .xl\\:border-b-8 {\n border-bottom-width: 8px;\n }\n\n .xl\\:border-l-8 {\n border-left-width: 8px;\n }\n\n .xl\\:border-t {\n border-top-width: 1px;\n }\n\n .xl\\:border-r {\n border-right-width: 1px;\n }\n\n .xl\\:border-b {\n border-bottom-width: 1px;\n }\n\n .xl\\:border-l {\n border-left-width: 1px;\n }\n\n .xl\\:cursor-auto {\n cursor: auto;\n }\n\n .xl\\:cursor-default {\n cursor: default;\n }\n\n .xl\\:cursor-pointer {\n cursor: pointer;\n }\n\n .xl\\:cursor-wait {\n cursor: wait;\n }\n\n .xl\\:cursor-move {\n cursor: move;\n }\n\n .xl\\:cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .xl\\:block {\n display: block;\n }\n\n .xl\\:inline-block {\n display: inline-block;\n }\n\n .xl\\:inline {\n display: inline;\n }\n\n .xl\\:table {\n display: table;\n }\n\n .xl\\:table-row {\n display: table-row;\n }\n\n .xl\\:table-cell {\n display: table-cell;\n }\n\n .xl\\:hidden {\n display: none;\n }\n\n .xl\\:flex {\n display: flex;\n }\n\n .xl\\:inline-flex {\n display: inline-flex;\n }\n\n .xl\\:flex-row {\n flex-direction: row;\n }\n\n .xl\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .xl\\:flex-col {\n flex-direction: column;\n }\n\n .xl\\:flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .xl\\:flex-wrap {\n flex-wrap: wrap;\n }\n\n .xl\\:flex-wrap-reverse {\n flex-wrap: wrap-reverse;\n }\n\n .xl\\:flex-no-wrap {\n flex-wrap: nowrap;\n }\n\n .xl\\:items-start {\n align-items: flex-start;\n }\n\n .xl\\:items-end {\n align-items: flex-end;\n }\n\n .xl\\:items-center {\n align-items: center;\n }\n\n .xl\\:items-baseline {\n align-items: baseline;\n }\n\n .xl\\:items-stretch {\n align-items: stretch;\n }\n\n .xl\\:self-auto {\n align-self: auto;\n }\n\n .xl\\:self-start {\n align-self: flex-start;\n }\n\n .xl\\:self-end {\n align-self: flex-end;\n }\n\n .xl\\:self-center {\n align-self: center;\n }\n\n .xl\\:self-stretch {\n align-self: stretch;\n }\n\n .xl\\:justify-start {\n justify-content: flex-start;\n }\n\n .xl\\:justify-end {\n justify-content: flex-end;\n }\n\n .xl\\:justify-center {\n justify-content: center;\n }\n\n .xl\\:justify-between {\n justify-content: space-between;\n }\n\n .xl\\:justify-around {\n justify-content: space-around;\n }\n\n .xl\\:content-center {\n align-content: center;\n }\n\n .xl\\:content-start {\n align-content: flex-start;\n }\n\n .xl\\:content-end {\n align-content: flex-end;\n }\n\n .xl\\:content-between {\n align-content: space-between;\n }\n\n .xl\\:content-around {\n align-content: space-around;\n }\n\n .xl\\:flex-1 {\n flex: 1 1 0%;\n }\n\n .xl\\:flex-auto {\n flex: 1 1 auto;\n }\n\n .xl\\:flex-initial {\n flex: 0 1 auto;\n }\n\n .xl\\:flex-none {\n flex: none;\n }\n\n .xl\\:flex-grow {\n flex-grow: 1;\n }\n\n .xl\\:flex-shrink {\n flex-shrink: 1;\n }\n\n .xl\\:flex-no-grow {\n flex-grow: 0;\n }\n\n .xl\\:flex-no-shrink {\n flex-shrink: 0;\n }\n\n .xl\\:float-right {\n float: right;\n }\n\n .xl\\:float-left {\n float: left;\n }\n\n .xl\\:float-none {\n float: none;\n }\n\n .xl\\:clearfix:after {\n content: "";\n display: table;\n clear: both;\n }\n\n .xl\\:font-sans {\n font-family: system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n }\n\n .xl\\:font-serif {\n font-family: Constantia, Lucida Bright, Lucidabright, Lucida Serif, Lucida, DejaVu Serif, Bitstream Vera Serif, Liberation Serif, Georgia, serif;\n }\n\n .xl\\:font-mono {\n font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n }\n\n .xl\\:font-hairline {\n font-weight: 100;\n }\n\n .xl\\:font-thin {\n font-weight: 200;\n }\n\n .xl\\:font-light {\n font-weight: 300;\n }\n\n .xl\\:font-normal {\n font-weight: 400;\n }\n\n .xl\\:font-medium {\n font-weight: 500;\n }\n\n .xl\\:font-semibold {\n font-weight: 600;\n }\n\n .xl\\:font-bold {\n font-weight: 700;\n }\n\n .xl\\:font-extrabold {\n font-weight: 800;\n }\n\n .xl\\:font-black {\n font-weight: 900;\n }\n\n .xl\\:hover\\:font-hairline:hover {\n font-weight: 100;\n }\n\n .xl\\:hover\\:font-thin:hover {\n font-weight: 200;\n }\n\n .xl\\:hover\\:font-light:hover {\n font-weight: 300;\n }\n\n .xl\\:hover\\:font-normal:hover {\n font-weight: 400;\n }\n\n .xl\\:hover\\:font-medium:hover {\n font-weight: 500;\n }\n\n .xl\\:hover\\:font-semibold:hover {\n font-weight: 600;\n }\n\n .xl\\:hover\\:font-bold:hover {\n font-weight: 700;\n }\n\n .xl\\:hover\\:font-extrabold:hover {\n font-weight: 800;\n }\n\n .xl\\:hover\\:font-black:hover {\n font-weight: 900;\n }\n\n .xl\\:focus\\:font-hairline:focus {\n font-weight: 100;\n }\n\n .xl\\:focus\\:font-thin:focus {\n font-weight: 200;\n }\n\n .xl\\:focus\\:font-light:focus {\n font-weight: 300;\n }\n\n .xl\\:focus\\:font-normal:focus {\n font-weight: 400;\n }\n\n .xl\\:focus\\:font-medium:focus {\n font-weight: 500;\n }\n\n .xl\\:focus\\:font-semibold:focus {\n font-weight: 600;\n }\n\n .xl\\:focus\\:font-bold:focus {\n font-weight: 700;\n }\n\n .xl\\:focus\\:font-extrabold:focus {\n font-weight: 800;\n }\n\n .xl\\:focus\\:font-black:focus {\n font-weight: 900;\n }\n\n .xl\\:h-1 {\n height: .25rem;\n }\n\n .xl\\:h-2 {\n height: .5rem;\n }\n\n .xl\\:h-3 {\n height: .75rem;\n }\n\n .xl\\:h-4 {\n height: 1rem;\n }\n\n .xl\\:h-5 {\n height: 1.25rem;\n }\n\n .xl\\:h-6 {\n height: 1.5rem;\n }\n\n .xl\\:h-8 {\n height: 2rem;\n }\n\n .xl\\:h-10 {\n height: 2.5rem;\n }\n\n .xl\\:h-12 {\n height: 3rem;\n }\n\n .xl\\:h-16 {\n height: 4rem;\n }\n\n .xl\\:h-24 {\n height: 6rem;\n }\n\n .xl\\:h-32 {\n height: 8rem;\n }\n\n .xl\\:h-48 {\n height: 12rem;\n }\n\n .xl\\:h-64 {\n height: 16rem;\n }\n\n .xl\\:h-auto {\n height: auto;\n }\n\n .xl\\:h-px {\n height: 1px;\n }\n\n .xl\\:h-full {\n height: 100%;\n }\n\n .xl\\:h-screen {\n height: 100vh;\n }\n\n .xl\\:leading-none {\n line-height: 1;\n }\n\n .xl\\:leading-tight {\n line-height: 1.25;\n }\n\n .xl\\:leading-normal {\n line-height: 1.5;\n }\n\n .xl\\:leading-loose {\n line-height: 2;\n }\n\n .xl\\:m-0 {\n margin: 0;\n }\n\n .xl\\:m-1 {\n margin: .25rem;\n }\n\n .xl\\:m-2 {\n margin: .5rem;\n }\n\n .xl\\:m-3 {\n margin: .75rem;\n }\n\n .xl\\:m-4 {\n margin: 1rem;\n }\n\n .xl\\:m-5 {\n margin: 1.25rem;\n }\n\n .xl\\:m-6 {\n margin: 1.5rem;\n }\n\n .xl\\:m-8 {\n margin: 2rem;\n }\n\n .xl\\:m-10 {\n margin: 2.5rem;\n }\n\n .xl\\:m-12 {\n margin: 3rem;\n }\n\n .xl\\:m-16 {\n margin: 4rem;\n }\n\n .xl\\:m-20 {\n margin: 5rem;\n }\n\n .xl\\:m-24 {\n margin: 6rem;\n }\n\n .xl\\:m-32 {\n margin: 8rem;\n }\n\n .xl\\:m-auto {\n margin: auto;\n }\n\n .xl\\:m-px {\n margin: 1px;\n }\n\n .xl\\:my-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n .xl\\:mx-0 {\n margin-left: 0;\n margin-right: 0;\n }\n\n .xl\\:my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n }\n\n .xl\\:mx-1 {\n margin-left: .25rem;\n margin-right: .25rem;\n }\n\n .xl\\:my-2 {\n margin-top: .5rem;\n margin-bottom: .5rem;\n }\n\n .xl\\:mx-2 {\n margin-left: .5rem;\n margin-right: .5rem;\n }\n\n .xl\\:my-3 {\n margin-top: .75rem;\n margin-bottom: .75rem;\n }\n\n .xl\\:mx-3 {\n margin-left: .75rem;\n margin-right: .75rem;\n }\n\n .xl\\:my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .xl\\:mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n }\n\n .xl\\:my-5 {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n\n .xl\\:mx-5 {\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n }\n\n .xl\\:my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n\n .xl\\:mx-6 {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n }\n\n .xl\\:my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n }\n\n .xl\\:mx-8 {\n margin-left: 2rem;\n margin-right: 2rem;\n }\n\n .xl\\:my-10 {\n margin-top: 2.5rem;\n margin-bottom: 2.5rem;\n }\n\n .xl\\:mx-10 {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n }\n\n .xl\\:my-12 {\n margin-top: 3rem;\n margin-bottom: 3rem;\n }\n\n .xl\\:mx-12 {\n margin-left: 3rem;\n margin-right: 3rem;\n }\n\n .xl\\:my-16 {\n margin-top: 4rem;\n margin-bottom: 4rem;\n }\n\n .xl\\:mx-16 {\n margin-left: 4rem;\n margin-right: 4rem;\n }\n\n .xl\\:my-20 {\n margin-top: 5rem;\n margin-bottom: 5rem;\n }\n\n .xl\\:mx-20 {\n margin-left: 5rem;\n margin-right: 5rem;\n }\n\n .xl\\:my-24 {\n margin-top: 6rem;\n margin-bottom: 6rem;\n }\n\n .xl\\:mx-24 {\n margin-left: 6rem;\n margin-right: 6rem;\n }\n\n .xl\\:my-32 {\n margin-top: 8rem;\n margin-bottom: 8rem;\n }\n\n .xl\\:mx-32 {\n margin-left: 8rem;\n margin-right: 8rem;\n }\n\n .xl\\:my-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .xl\\:mx-auto {\n margin-left: auto;\n margin-right: auto;\n }\n\n .xl\\:my-px {\n margin-top: 1px;\n margin-bottom: 1px;\n }\n\n .xl\\:mx-px {\n margin-left: 1px;\n margin-right: 1px;\n }\n\n .xl\\:mt-0 {\n margin-top: 0;\n }\n\n .xl\\:mr-0 {\n margin-right: 0;\n }\n\n .xl\\:mb-0 {\n margin-bottom: 0;\n }\n\n .xl\\:ml-0 {\n margin-left: 0;\n }\n\n .xl\\:mt-1 {\n margin-top: .25rem;\n }\n\n .xl\\:mr-1 {\n margin-right: .25rem;\n }\n\n .xl\\:mb-1 {\n margin-bottom: .25rem;\n }\n\n .xl\\:ml-1 {\n margin-left: .25rem;\n }\n\n .xl\\:mt-2 {\n margin-top: .5rem;\n }\n\n .xl\\:mr-2 {\n margin-right: .5rem;\n }\n\n .xl\\:mb-2 {\n margin-bottom: .5rem;\n }\n\n .xl\\:ml-2 {\n margin-left: .5rem;\n }\n\n .xl\\:mt-3 {\n margin-top: .75rem;\n }\n\n .xl\\:mr-3 {\n margin-right: .75rem;\n }\n\n .xl\\:mb-3 {\n margin-bottom: .75rem;\n }\n\n .xl\\:ml-3 {\n margin-left: .75rem;\n }\n\n .xl\\:mt-4 {\n margin-top: 1rem;\n }\n\n .xl\\:mr-4 {\n margin-right: 1rem;\n }\n\n .xl\\:mb-4 {\n margin-bottom: 1rem;\n }\n\n .xl\\:ml-4 {\n margin-left: 1rem;\n }\n\n .xl\\:mt-5 {\n margin-top: 1.25rem;\n }\n\n .xl\\:mr-5 {\n margin-right: 1.25rem;\n }\n\n .xl\\:mb-5 {\n margin-bottom: 1.25rem;\n }\n\n .xl\\:ml-5 {\n margin-left: 1.25rem;\n }\n\n .xl\\:mt-6 {\n margin-top: 1.5rem;\n }\n\n .xl\\:mr-6 {\n margin-right: 1.5rem;\n }\n\n .xl\\:mb-6 {\n margin-bottom: 1.5rem;\n }\n\n .xl\\:ml-6 {\n margin-left: 1.5rem;\n }\n\n .xl\\:mt-8 {\n margin-top: 2rem;\n }\n\n .xl\\:mr-8 {\n margin-right: 2rem;\n }\n\n .xl\\:mb-8 {\n margin-bottom: 2rem;\n }\n\n .xl\\:ml-8 {\n margin-left: 2rem;\n }\n\n .xl\\:mt-10 {\n margin-top: 2.5rem;\n }\n\n .xl\\:mr-10 {\n margin-right: 2.5rem;\n }\n\n .xl\\:mb-10 {\n margin-bottom: 2.5rem;\n }\n\n .xl\\:ml-10 {\n margin-left: 2.5rem;\n }\n\n .xl\\:mt-12 {\n margin-top: 3rem;\n }\n\n .xl\\:mr-12 {\n margin-right: 3rem;\n }\n\n .xl\\:mb-12 {\n margin-bottom: 3rem;\n }\n\n .xl\\:ml-12 {\n margin-left: 3rem;\n }\n\n .xl\\:mt-16 {\n margin-top: 4rem;\n }\n\n .xl\\:mr-16 {\n margin-right: 4rem;\n }\n\n .xl\\:mb-16 {\n margin-bottom: 4rem;\n }\n\n .xl\\:ml-16 {\n margin-left: 4rem;\n }\n\n .xl\\:mt-20 {\n margin-top: 5rem;\n }\n\n .xl\\:mr-20 {\n margin-right: 5rem;\n }\n\n .xl\\:mb-20 {\n margin-bottom: 5rem;\n }\n\n .xl\\:ml-20 {\n margin-left: 5rem;\n }\n\n .xl\\:mt-24 {\n margin-top: 6rem;\n }\n\n .xl\\:mr-24 {\n margin-right: 6rem;\n }\n\n .xl\\:mb-24 {\n margin-bottom: 6rem;\n }\n\n .xl\\:ml-24 {\n margin-left: 6rem;\n }\n\n .xl\\:mt-32 {\n margin-top: 8rem;\n }\n\n .xl\\:mr-32 {\n margin-right: 8rem;\n }\n\n .xl\\:mb-32 {\n margin-bottom: 8rem;\n }\n\n .xl\\:ml-32 {\n margin-left: 8rem;\n }\n\n .xl\\:mt-auto {\n margin-top: auto;\n }\n\n .xl\\:mr-auto {\n margin-right: auto;\n }\n\n .xl\\:mb-auto {\n margin-bottom: auto;\n }\n\n .xl\\:ml-auto {\n margin-left: auto;\n }\n\n .xl\\:mt-px {\n margin-top: 1px;\n }\n\n .xl\\:mr-px {\n margin-right: 1px;\n }\n\n .xl\\:mb-px {\n margin-bottom: 1px;\n }\n\n .xl\\:ml-px {\n margin-left: 1px;\n }\n\n .xl\\:max-h-full {\n max-height: 100%;\n }\n\n .xl\\:max-h-screen {\n max-height: 100vh;\n }\n\n .xl\\:max-w-xs {\n max-width: 20rem;\n }\n\n .xl\\:max-w-sm {\n max-width: 30rem;\n }\n\n .xl\\:max-w-md {\n max-width: 40rem;\n }\n\n .xl\\:max-w-lg {\n max-width: 50rem;\n }\n\n .xl\\:max-w-xl {\n max-width: 60rem;\n }\n\n .xl\\:max-w-2xl {\n max-width: 70rem;\n }\n\n .xl\\:max-w-3xl {\n max-width: 80rem;\n }\n\n .xl\\:max-w-4xl {\n max-width: 90rem;\n }\n\n .xl\\:max-w-5xl {\n max-width: 100rem;\n }\n\n .xl\\:max-w-full {\n max-width: 100%;\n }\n\n .xl\\:min-h-0 {\n min-height: 0;\n }\n\n .xl\\:min-h-full {\n min-height: 100%;\n }\n\n .xl\\:min-h-screen {\n min-height: 100vh;\n }\n\n .xl\\:min-w-0 {\n min-width: 0;\n }\n\n .xl\\:min-w-full {\n min-width: 100%;\n }\n\n .xl\\:-m-0 {\n margin: 0;\n }\n\n .xl\\:-m-1 {\n margin: -0.25rem;\n }\n\n .xl\\:-m-2 {\n margin: -0.5rem;\n }\n\n .xl\\:-m-3 {\n margin: -0.75rem;\n }\n\n .xl\\:-m-4 {\n margin: -1rem;\n }\n\n .xl\\:-m-5 {\n margin: -1.25rem;\n }\n\n .xl\\:-m-6 {\n margin: -1.5rem;\n }\n\n .xl\\:-m-8 {\n margin: -2rem;\n }\n\n .xl\\:-m-10 {\n margin: -2.5rem;\n }\n\n .xl\\:-m-12 {\n margin: -3rem;\n }\n\n .xl\\:-m-16 {\n margin: -4rem;\n }\n\n .xl\\:-m-20 {\n margin: -5rem;\n }\n\n .xl\\:-m-24 {\n margin: -6rem;\n }\n\n .xl\\:-m-32 {\n margin: -8rem;\n }\n\n .xl\\:-m-px {\n margin: -1px;\n }\n\n .xl\\:-my-0 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n .xl\\:-mx-0 {\n margin-left: 0;\n margin-right: 0;\n }\n\n .xl\\:-my-1 {\n margin-top: -0.25rem;\n margin-bottom: -0.25rem;\n }\n\n .xl\\:-mx-1 {\n margin-left: -0.25rem;\n margin-right: -0.25rem;\n }\n\n .xl\\:-my-2 {\n margin-top: -0.5rem;\n margin-bottom: -0.5rem;\n }\n\n .xl\\:-mx-2 {\n margin-left: -0.5rem;\n margin-right: -0.5rem;\n }\n\n .xl\\:-my-3 {\n margin-top: -0.75rem;\n margin-bottom: -0.75rem;\n }\n\n .xl\\:-mx-3 {\n margin-left: -0.75rem;\n margin-right: -0.75rem;\n }\n\n .xl\\:-my-4 {\n margin-top: -1rem;\n margin-bottom: -1rem;\n }\n\n .xl\\:-mx-4 {\n margin-left: -1rem;\n margin-right: -1rem;\n }\n\n .xl\\:-my-5 {\n margin-top: -1.25rem;\n margin-bottom: -1.25rem;\n }\n\n .xl\\:-mx-5 {\n margin-left: -1.25rem;\n margin-right: -1.25rem;\n }\n\n .xl\\:-my-6 {\n margin-top: -1.5rem;\n margin-bottom: -1.5rem;\n }\n\n .xl\\:-mx-6 {\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n }\n\n .xl\\:-my-8 {\n margin-top: -2rem;\n margin-bottom: -2rem;\n }\n\n .xl\\:-mx-8 {\n margin-left: -2rem;\n margin-right: -2rem;\n }\n\n .xl\\:-my-10 {\n margin-top: -2.5rem;\n margin-bottom: -2.5rem;\n }\n\n .xl\\:-mx-10 {\n margin-left: -2.5rem;\n margin-right: -2.5rem;\n }\n\n .xl\\:-my-12 {\n margin-top: -3rem;\n margin-bottom: -3rem;\n }\n\n .xl\\:-mx-12 {\n margin-left: -3rem;\n margin-right: -3rem;\n }\n\n .xl\\:-my-16 {\n margin-top: -4rem;\n margin-bottom: -4rem;\n }\n\n .xl\\:-mx-16 {\n margin-left: -4rem;\n margin-right: -4rem;\n }\n\n .xl\\:-my-20 {\n margin-top: -5rem;\n margin-bottom: -5rem;\n }\n\n .xl\\:-mx-20 {\n margin-left: -5rem;\n margin-right: -5rem;\n }\n\n .xl\\:-my-24 {\n margin-top: -6rem;\n margin-bottom: -6rem;\n }\n\n .xl\\:-mx-24 {\n margin-left: -6rem;\n margin-right: -6rem;\n }\n\n .xl\\:-my-32 {\n margin-top: -8rem;\n margin-bottom: -8rem;\n }\n\n .xl\\:-mx-32 {\n margin-left: -8rem;\n margin-right: -8rem;\n }\n\n .xl\\:-my-px {\n margin-top: -1px;\n margin-bottom: -1px;\n }\n\n .xl\\:-mx-px {\n margin-left: -1px;\n margin-right: -1px;\n }\n\n .xl\\:-mt-0 {\n margin-top: 0;\n }\n\n .xl\\:-mr-0 {\n margin-right: 0;\n }\n\n .xl\\:-mb-0 {\n margin-bottom: 0;\n }\n\n .xl\\:-ml-0 {\n margin-left: 0;\n }\n\n .xl\\:-mt-1 {\n margin-top: -0.25rem;\n }\n\n .xl\\:-mr-1 {\n margin-right: -0.25rem;\n }\n\n .xl\\:-mb-1 {\n margin-bottom: -0.25rem;\n }\n\n .xl\\:-ml-1 {\n margin-left: -0.25rem;\n }\n\n .xl\\:-mt-2 {\n margin-top: -0.5rem;\n }\n\n .xl\\:-mr-2 {\n margin-right: -0.5rem;\n }\n\n .xl\\:-mb-2 {\n margin-bottom: -0.5rem;\n }\n\n .xl\\:-ml-2 {\n margin-left: -0.5rem;\n }\n\n .xl\\:-mt-3 {\n margin-top: -0.75rem;\n }\n\n .xl\\:-mr-3 {\n margin-right: -0.75rem;\n }\n\n .xl\\:-mb-3 {\n margin-bottom: -0.75rem;\n }\n\n .xl\\:-ml-3 {\n margin-left: -0.75rem;\n }\n\n .xl\\:-mt-4 {\n margin-top: -1rem;\n }\n\n .xl\\:-mr-4 {\n margin-right: -1rem;\n }\n\n .xl\\:-mb-4 {\n margin-bottom: -1rem;\n }\n\n .xl\\:-ml-4 {\n margin-left: -1rem;\n }\n\n .xl\\:-mt-5 {\n margin-top: -1.25rem;\n }\n\n .xl\\:-mr-5 {\n margin-right: -1.25rem;\n }\n\n .xl\\:-mb-5 {\n margin-bottom: -1.25rem;\n }\n\n .xl\\:-ml-5 {\n margin-left: -1.25rem;\n }\n\n .xl\\:-mt-6 {\n margin-top: -1.5rem;\n }\n\n .xl\\:-mr-6 {\n margin-right: -1.5rem;\n }\n\n .xl\\:-mb-6 {\n margin-bottom: -1.5rem;\n }\n\n .xl\\:-ml-6 {\n margin-left: -1.5rem;\n }\n\n .xl\\:-mt-8 {\n margin-top: -2rem;\n }\n\n .xl\\:-mr-8 {\n margin-right: -2rem;\n }\n\n .xl\\:-mb-8 {\n margin-bottom: -2rem;\n }\n\n .xl\\:-ml-8 {\n margin-left: -2rem;\n }\n\n .xl\\:-mt-10 {\n margin-top: -2.5rem;\n }\n\n .xl\\:-mr-10 {\n margin-right: -2.5rem;\n }\n\n .xl\\:-mb-10 {\n margin-bottom: -2.5rem;\n }\n\n .xl\\:-ml-10 {\n margin-left: -2.5rem;\n }\n\n .xl\\:-mt-12 {\n margin-top: -3rem;\n }\n\n .xl\\:-mr-12 {\n margin-right: -3rem;\n }\n\n .xl\\:-mb-12 {\n margin-bottom: -3rem;\n }\n\n .xl\\:-ml-12 {\n margin-left: -3rem;\n }\n\n .xl\\:-mt-16 {\n margin-top: -4rem;\n }\n\n .xl\\:-mr-16 {\n margin-right: -4rem;\n }\n\n .xl\\:-mb-16 {\n margin-bottom: -4rem;\n }\n\n .xl\\:-ml-16 {\n margin-left: -4rem;\n }\n\n .xl\\:-mt-20 {\n margin-top: -5rem;\n }\n\n .xl\\:-mr-20 {\n margin-right: -5rem;\n }\n\n .xl\\:-mb-20 {\n margin-bottom: -5rem;\n }\n\n .xl\\:-ml-20 {\n margin-left: -5rem;\n }\n\n .xl\\:-mt-24 {\n margin-top: -6rem;\n }\n\n .xl\\:-mr-24 {\n margin-right: -6rem;\n }\n\n .xl\\:-mb-24 {\n margin-bottom: -6rem;\n }\n\n .xl\\:-ml-24 {\n margin-left: -6rem;\n }\n\n .xl\\:-mt-32 {\n margin-top: -8rem;\n }\n\n .xl\\:-mr-32 {\n margin-right: -8rem;\n }\n\n .xl\\:-mb-32 {\n margin-bottom: -8rem;\n }\n\n .xl\\:-ml-32 {\n margin-left: -8rem;\n }\n\n .xl\\:-mt-px {\n margin-top: -1px;\n }\n\n .xl\\:-mr-px {\n margin-right: -1px;\n }\n\n .xl\\:-mb-px {\n margin-bottom: -1px;\n }\n\n .xl\\:-ml-px {\n margin-left: -1px;\n }\n\n .xl\\:opacity-0 {\n opacity: 0;\n }\n\n .xl\\:opacity-25 {\n opacity: .25;\n }\n\n .xl\\:opacity-50 {\n opacity: .5;\n }\n\n .xl\\:opacity-75 {\n opacity: .75;\n }\n\n .xl\\:opacity-100 {\n opacity: 1;\n }\n\n .xl\\:overflow-auto {\n overflow: auto;\n }\n\n .xl\\:overflow-hidden {\n overflow: hidden;\n }\n\n .xl\\:overflow-visible {\n overflow: visible;\n }\n\n .xl\\:overflow-scroll {\n overflow: scroll;\n }\n\n .xl\\:overflow-x-auto {\n overflow-x: auto;\n }\n\n .xl\\:overflow-y-auto {\n overflow-y: auto;\n }\n\n .xl\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n\n .xl\\:overflow-y-hidden {\n overflow-y: hidden;\n }\n\n .xl\\:overflow-x-visible {\n overflow-x: visible;\n }\n\n .xl\\:overflow-y-visible {\n overflow-y: visible;\n }\n\n .xl\\:overflow-x-scroll {\n overflow-x: scroll;\n }\n\n .xl\\:overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .xl\\:scrolling-touch {\n -webkit-overflow-scrolling: touch;\n }\n\n .xl\\:scrolling-auto {\n -webkit-overflow-scrolling: auto;\n }\n\n .xl\\:p-0 {\n padding: 0;\n }\n\n .xl\\:p-1 {\n padding: .25rem;\n }\n\n .xl\\:p-2 {\n padding: .5rem;\n }\n\n .xl\\:p-3 {\n padding: .75rem;\n }\n\n .xl\\:p-4 {\n padding: 1rem;\n }\n\n .xl\\:p-5 {\n padding: 1.25rem;\n }\n\n .xl\\:p-6 {\n padding: 1.5rem;\n }\n\n .xl\\:p-8 {\n padding: 2rem;\n }\n\n .xl\\:p-10 {\n padding: 2.5rem;\n }\n\n .xl\\:p-12 {\n padding: 3rem;\n }\n\n .xl\\:p-16 {\n padding: 4rem;\n }\n\n .xl\\:p-20 {\n padding: 5rem;\n }\n\n .xl\\:p-24 {\n padding: 6rem;\n }\n\n .xl\\:p-32 {\n padding: 8rem;\n }\n\n .xl\\:p-px {\n padding: 1px;\n }\n\n .xl\\:py-0 {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n .xl\\:px-0 {\n padding-left: 0;\n padding-right: 0;\n }\n\n .xl\\:py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n }\n\n .xl\\:px-1 {\n padding-left: .25rem;\n padding-right: .25rem;\n }\n\n .xl\\:py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n }\n\n .xl\\:px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n }\n\n .xl\\:py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n }\n\n .xl\\:px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n }\n\n .xl\\:py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n\n .xl\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .xl\\:py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n }\n\n .xl\\:px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .xl\\:py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n\n .xl\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n\n .xl\\:py-8 {\n padding-top: 2rem;\n padding-bottom: 2rem;\n }\n\n .xl\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n\n .xl\\:py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n }\n\n .xl\\:px-10 {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n }\n\n .xl\\:py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n }\n\n .xl\\:px-12 {\n padding-left: 3rem;\n padding-right: 3rem;\n }\n\n .xl\\:py-16 {\n padding-top: 4rem;\n padding-bottom: 4rem;\n }\n\n .xl\\:px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n }\n\n .xl\\:py-20 {\n padding-top: 5rem;\n padding-bottom: 5rem;\n }\n\n .xl\\:px-20 {\n padding-left: 5rem;\n padding-right: 5rem;\n }\n\n .xl\\:py-24 {\n padding-top: 6rem;\n padding-bottom: 6rem;\n }\n\n .xl\\:px-24 {\n padding-left: 6rem;\n padding-right: 6rem;\n }\n\n .xl\\:py-32 {\n padding-top: 8rem;\n padding-bottom: 8rem;\n }\n\n .xl\\:px-32 {\n padding-left: 8rem;\n padding-right: 8rem;\n }\n\n .xl\\:py-px {\n padding-top: 1px;\n padding-bottom: 1px;\n }\n\n .xl\\:px-px {\n padding-left: 1px;\n padding-right: 1px;\n }\n\n .xl\\:pt-0 {\n padding-top: 0;\n }\n\n .xl\\:pr-0 {\n padding-right: 0;\n }\n\n .xl\\:pb-0 {\n padding-bottom: 0;\n }\n\n .xl\\:pl-0 {\n padding-left: 0;\n }\n\n .xl\\:pt-1 {\n padding-top: .25rem;\n }\n\n .xl\\:pr-1 {\n padding-right: .25rem;\n }\n\n .xl\\:pb-1 {\n padding-bottom: .25rem;\n }\n\n .xl\\:pl-1 {\n padding-left: .25rem;\n }\n\n .xl\\:pt-2 {\n padding-top: .5rem;\n }\n\n .xl\\:pr-2 {\n padding-right: .5rem;\n }\n\n .xl\\:pb-2 {\n padding-bottom: .5rem;\n }\n\n .xl\\:pl-2 {\n padding-left: .5rem;\n }\n\n .xl\\:pt-3 {\n padding-top: .75rem;\n }\n\n .xl\\:pr-3 {\n padding-right: .75rem;\n }\n\n .xl\\:pb-3 {\n padding-bottom: .75rem;\n }\n\n .xl\\:pl-3 {\n padding-left: .75rem;\n }\n\n .xl\\:pt-4 {\n padding-top: 1rem;\n }\n\n .xl\\:pr-4 {\n padding-right: 1rem;\n }\n\n .xl\\:pb-4 {\n padding-bottom: 1rem;\n }\n\n .xl\\:pl-4 {\n padding-left: 1rem;\n }\n\n .xl\\:pt-5 {\n padding-top: 1.25rem;\n }\n\n .xl\\:pr-5 {\n padding-right: 1.25rem;\n }\n\n .xl\\:pb-5 {\n padding-bottom: 1.25rem;\n }\n\n .xl\\:pl-5 {\n padding-left: 1.25rem;\n }\n\n .xl\\:pt-6 {\n padding-top: 1.5rem;\n }\n\n .xl\\:pr-6 {\n padding-right: 1.5rem;\n }\n\n .xl\\:pb-6 {\n padding-bottom: 1.5rem;\n }\n\n .xl\\:pl-6 {\n padding-left: 1.5rem;\n }\n\n .xl\\:pt-8 {\n padding-top: 2rem;\n }\n\n .xl\\:pr-8 {\n padding-right: 2rem;\n }\n\n .xl\\:pb-8 {\n padding-bottom: 2rem;\n }\n\n .xl\\:pl-8 {\n padding-left: 2rem;\n }\n\n .xl\\:pt-10 {\n padding-top: 2.5rem;\n }\n\n .xl\\:pr-10 {\n padding-right: 2.5rem;\n }\n\n .xl\\:pb-10 {\n padding-bottom: 2.5rem;\n }\n\n .xl\\:pl-10 {\n padding-left: 2.5rem;\n }\n\n .xl\\:pt-12 {\n padding-top: 3rem;\n }\n\n .xl\\:pr-12 {\n padding-right: 3rem;\n }\n\n .xl\\:pb-12 {\n padding-bottom: 3rem;\n }\n\n .xl\\:pl-12 {\n padding-left: 3rem;\n }\n\n .xl\\:pt-16 {\n padding-top: 4rem;\n }\n\n .xl\\:pr-16 {\n padding-right: 4rem;\n }\n\n .xl\\:pb-16 {\n padding-bottom: 4rem;\n }\n\n .xl\\:pl-16 {\n padding-left: 4rem;\n }\n\n .xl\\:pt-20 {\n padding-top: 5rem;\n }\n\n .xl\\:pr-20 {\n padding-right: 5rem;\n }\n\n .xl\\:pb-20 {\n padding-bottom: 5rem;\n }\n\n .xl\\:pl-20 {\n padding-left: 5rem;\n }\n\n .xl\\:pt-24 {\n padding-top: 6rem;\n }\n\n .xl\\:pr-24 {\n padding-right: 6rem;\n }\n\n .xl\\:pb-24 {\n padding-bottom: 6rem;\n }\n\n .xl\\:pl-24 {\n padding-left: 6rem;\n }\n\n .xl\\:pt-32 {\n padding-top: 8rem;\n }\n\n .xl\\:pr-32 {\n padding-right: 8rem;\n }\n\n .xl\\:pb-32 {\n padding-bottom: 8rem;\n }\n\n .xl\\:pl-32 {\n padding-left: 8rem;\n }\n\n .xl\\:pt-px {\n padding-top: 1px;\n }\n\n .xl\\:pr-px {\n padding-right: 1px;\n }\n\n .xl\\:pb-px {\n padding-bottom: 1px;\n }\n\n .xl\\:pl-px {\n padding-left: 1px;\n }\n\n .xl\\:pointer-events-none {\n pointer-events: none;\n }\n\n .xl\\:pointer-events-auto {\n pointer-events: auto;\n }\n\n .xl\\:static {\n position: static;\n }\n\n .xl\\:fixed {\n position: fixed;\n }\n\n .xl\\:absolute {\n position: absolute;\n }\n\n .xl\\:relative {\n position: relative;\n }\n\n .xl\\:sticky {\n position: sticky;\n }\n\n .xl\\:pin-none {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n }\n\n .xl\\:pin {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n .xl\\:pin-y {\n top: 0;\n bottom: 0;\n }\n\n .xl\\:pin-x {\n right: 0;\n left: 0;\n }\n\n .xl\\:pin-t {\n top: 0;\n }\n\n .xl\\:pin-r {\n right: 0;\n }\n\n .xl\\:pin-b {\n bottom: 0;\n }\n\n .xl\\:pin-l {\n left: 0;\n }\n\n .xl\\:resize-none {\n resize: none;\n }\n\n .xl\\:resize-y {\n resize: vertical;\n }\n\n .xl\\:resize-x {\n resize: horizontal;\n }\n\n .xl\\:resize {\n resize: both;\n }\n\n .xl\\:shadow {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .xl\\:shadow-md {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .xl\\:shadow-lg {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .xl\\:shadow-inner {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .xl\\:shadow-outline {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .xl\\:shadow-none {\n box-shadow: none;\n }\n\n .xl\\:hover\\:shadow:hover {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .xl\\:hover\\:shadow-md:hover {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .xl\\:hover\\:shadow-lg:hover {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .xl\\:hover\\:shadow-inner:hover {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .xl\\:hover\\:shadow-outline:hover {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .xl\\:hover\\:shadow-none:hover {\n box-shadow: none;\n }\n\n .xl\\:focus\\:shadow:focus {\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1);\n }\n\n .xl\\:focus\\:shadow-md:focus {\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08);\n }\n\n .xl\\:focus\\:shadow-lg:focus {\n box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .11), 0 5px 15px 0 rgba(0, 0, 0, .08);\n }\n\n .xl\\:focus\\:shadow-inner:focus {\n box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .06);\n }\n\n .xl\\:focus\\:shadow-outline:focus {\n box-shadow: 0 0 0 3px rgba(52, 144, 220, .5);\n }\n\n .xl\\:focus\\:shadow-none:focus {\n box-shadow: none;\n }\n\n .xl\\:table-auto {\n table-layout: auto;\n }\n\n .xl\\:table-fixed {\n table-layout: fixed;\n }\n\n .xl\\:text-left {\n text-align: left;\n }\n\n .xl\\:text-center {\n text-align: center;\n }\n\n .xl\\:text-right {\n text-align: right;\n }\n\n .xl\\:text-justify {\n text-align: justify;\n }\n\n .xl\\:text-transparent {\n color: transparent;\n }\n\n .xl\\:text-black {\n color: #22292f;\n }\n\n .xl\\:text-grey-darkest {\n color: #3d4852;\n }\n\n .xl\\:text-grey-darker {\n color: #606f7b;\n }\n\n .xl\\:text-grey-dark {\n color: #8795a1;\n }\n\n .xl\\:text-grey {\n color: #b8c2cc;\n }\n\n .xl\\:text-grey-light {\n color: #dae1e7;\n }\n\n .xl\\:text-grey-lighter {\n color: #f1f5f8;\n }\n\n .xl\\:text-grey-lightest {\n color: #f8fafc;\n }\n\n .xl\\:text-white {\n color: #fff;\n }\n\n .xl\\:text-red-darkest {\n color: #3b0d0c;\n }\n\n .xl\\:text-red-darker {\n color: #621b18;\n }\n\n .xl\\:text-red-dark {\n color: #cc1f1a;\n }\n\n .xl\\:text-red {\n color: #e3342f;\n }\n\n .xl\\:text-red-light {\n color: #ef5753;\n }\n\n .xl\\:text-red-lighter {\n color: #f9acaa;\n }\n\n .xl\\:text-red-lightest {\n color: #fcebea;\n }\n\n .xl\\:text-orange-darkest {\n color: #462a16;\n }\n\n .xl\\:text-orange-darker {\n color: #613b1f;\n }\n\n .xl\\:text-orange-dark {\n color: #de751f;\n }\n\n .xl\\:text-orange {\n color: #f6993f;\n }\n\n .xl\\:text-orange-light {\n color: #faad63;\n }\n\n .xl\\:text-orange-lighter {\n color: #fcd9b6;\n }\n\n .xl\\:text-orange-lightest {\n color: #fff5eb;\n }\n\n .xl\\:text-yellow-darkest {\n color: #453411;\n }\n\n .xl\\:text-yellow-darker {\n color: #684f1d;\n }\n\n .xl\\:text-yellow-dark {\n color: #f2d024;\n }\n\n .xl\\:text-yellow {\n color: #ffed4a;\n }\n\n .xl\\:text-yellow-light {\n color: #fff382;\n }\n\n .xl\\:text-yellow-lighter {\n color: #fff9c2;\n }\n\n .xl\\:text-yellow-lightest {\n color: #fcfbeb;\n }\n\n .xl\\:text-green-darkest {\n color: #0f2f21;\n }\n\n .xl\\:text-green-darker {\n color: #1a4731;\n }\n\n .xl\\:text-green-dark {\n color: #1f9d55;\n }\n\n .xl\\:text-green {\n color: #38c172;\n }\n\n .xl\\:text-green-light {\n color: #51d88a;\n }\n\n .xl\\:text-green-lighter {\n color: #a2f5bf;\n }\n\n .xl\\:text-green-lightest {\n color: #e3fcec;\n }\n\n .xl\\:text-teal-darkest {\n color: #0d3331;\n }\n\n .xl\\:text-teal-darker {\n color: #20504f;\n }\n\n .xl\\:text-teal-dark {\n color: #38a89d;\n }\n\n .xl\\:text-teal {\n color: #4dc0b5;\n }\n\n .xl\\:text-teal-light {\n color: #64d5ca;\n }\n\n .xl\\:text-teal-lighter {\n color: #a0f0ed;\n }\n\n .xl\\:text-teal-lightest {\n color: #e8fffe;\n }\n\n .xl\\:text-blue-darkest {\n color: #12283a;\n }\n\n .xl\\:text-blue-darker {\n color: #1c3d5a;\n }\n\n .xl\\:text-blue-dark {\n color: #2779bd;\n }\n\n .xl\\:text-blue {\n color: #3490dc;\n }\n\n .xl\\:text-blue-light {\n color: #6cb2eb;\n }\n\n .xl\\:text-blue-lighter {\n color: #bcdefa;\n }\n\n .xl\\:text-blue-lightest {\n color: #eff8ff;\n }\n\n .xl\\:text-indigo-darkest {\n color: #191e38;\n }\n\n .xl\\:text-indigo-darker {\n color: #2f365f;\n }\n\n .xl\\:text-indigo-dark {\n color: #5661b3;\n }\n\n .xl\\:text-indigo {\n color: #6574cd;\n }\n\n .xl\\:text-indigo-light {\n color: #7886d7;\n }\n\n .xl\\:text-indigo-lighter {\n color: #b2b7ff;\n }\n\n .xl\\:text-indigo-lightest {\n color: #e6e8ff;\n }\n\n .xl\\:text-purple-darkest {\n color: #21183c;\n }\n\n .xl\\:text-purple-darker {\n color: #382b5f;\n }\n\n .xl\\:text-purple-dark {\n color: #794acf;\n }\n\n .xl\\:text-purple {\n color: #9561e2;\n }\n\n .xl\\:text-purple-light {\n color: #a779e9;\n }\n\n .xl\\:text-purple-lighter {\n color: #d6bbfc;\n }\n\n .xl\\:text-purple-lightest {\n color: #f3ebff;\n }\n\n .xl\\:text-pink-darkest {\n color: #451225;\n }\n\n .xl\\:text-pink-darker {\n color: #6f213f;\n }\n\n .xl\\:text-pink-dark {\n color: #eb5286;\n }\n\n .xl\\:text-pink {\n color: #f66d9b;\n }\n\n .xl\\:text-pink-light {\n color: #fa7ea8;\n }\n\n .xl\\:text-pink-lighter {\n color: #ffbbca;\n }\n\n .xl\\:text-pink-lightest {\n color: #ffebef;\n }\n\n .xl\\:hover\\:text-transparent:hover {\n color: transparent;\n }\n\n .xl\\:hover\\:text-black:hover {\n color: #22292f;\n }\n\n .xl\\:hover\\:text-grey-darkest:hover {\n color: #3d4852;\n }\n\n .xl\\:hover\\:text-grey-darker:hover {\n color: #606f7b;\n }\n\n .xl\\:hover\\:text-grey-dark:hover {\n color: #8795a1;\n }\n\n .xl\\:hover\\:text-grey:hover {\n color: #b8c2cc;\n }\n\n .xl\\:hover\\:text-grey-light:hover {\n color: #dae1e7;\n }\n\n .xl\\:hover\\:text-grey-lighter:hover {\n color: #f1f5f8;\n }\n\n .xl\\:hover\\:text-grey-lightest:hover {\n color: #f8fafc;\n }\n\n .xl\\:hover\\:text-white:hover {\n color: #fff;\n }\n\n .xl\\:hover\\:text-red-darkest:hover {\n color: #3b0d0c;\n }\n\n .xl\\:hover\\:text-red-darker:hover {\n color: #621b18;\n }\n\n .xl\\:hover\\:text-red-dark:hover {\n color: #cc1f1a;\n }\n\n .xl\\:hover\\:text-red:hover {\n color: #e3342f;\n }\n\n .xl\\:hover\\:text-red-light:hover {\n color: #ef5753;\n }\n\n .xl\\:hover\\:text-red-lighter:hover {\n color: #f9acaa;\n }\n\n .xl\\:hover\\:text-red-lightest:hover {\n color: #fcebea;\n }\n\n .xl\\:hover\\:text-orange-darkest:hover {\n color: #462a16;\n }\n\n .xl\\:hover\\:text-orange-darker:hover {\n color: #613b1f;\n }\n\n .xl\\:hover\\:text-orange-dark:hover {\n color: #de751f;\n }\n\n .xl\\:hover\\:text-orange:hover {\n color: #f6993f;\n }\n\n .xl\\:hover\\:text-orange-light:hover {\n color: #faad63;\n }\n\n .xl\\:hover\\:text-orange-lighter:hover {\n color: #fcd9b6;\n }\n\n .xl\\:hover\\:text-orange-lightest:hover {\n color: #fff5eb;\n }\n\n .xl\\:hover\\:text-yellow-darkest:hover {\n color: #453411;\n }\n\n .xl\\:hover\\:text-yellow-darker:hover {\n color: #684f1d;\n }\n\n .xl\\:hover\\:text-yellow-dark:hover {\n color: #f2d024;\n }\n\n .xl\\:hover\\:text-yellow:hover {\n color: #ffed4a;\n }\n\n .xl\\:hover\\:text-yellow-light:hover {\n color: #fff382;\n }\n\n .xl\\:hover\\:text-yellow-lighter:hover {\n color: #fff9c2;\n }\n\n .xl\\:hover\\:text-yellow-lightest:hover {\n color: #fcfbeb;\n }\n\n .xl\\:hover\\:text-green-darkest:hover {\n color: #0f2f21;\n }\n\n .xl\\:hover\\:text-green-darker:hover {\n color: #1a4731;\n }\n\n .xl\\:hover\\:text-green-dark:hover {\n color: #1f9d55;\n }\n\n .xl\\:hover\\:text-green:hover {\n color: #38c172;\n }\n\n .xl\\:hover\\:text-green-light:hover {\n color: #51d88a;\n }\n\n .xl\\:hover\\:text-green-lighter:hover {\n color: #a2f5bf;\n }\n\n .xl\\:hover\\:text-green-lightest:hover {\n color: #e3fcec;\n }\n\n .xl\\:hover\\:text-teal-darkest:hover {\n color: #0d3331;\n }\n\n .xl\\:hover\\:text-teal-darker:hover {\n color: #20504f;\n }\n\n .xl\\:hover\\:text-teal-dark:hover {\n color: #38a89d;\n }\n\n .xl\\:hover\\:text-teal:hover {\n color: #4dc0b5;\n }\n\n .xl\\:hover\\:text-teal-light:hover {\n color: #64d5ca;\n }\n\n .xl\\:hover\\:text-teal-lighter:hover {\n color: #a0f0ed;\n }\n\n .xl\\:hover\\:text-teal-lightest:hover {\n color: #e8fffe;\n }\n\n .xl\\:hover\\:text-blue-darkest:hover {\n color: #12283a;\n }\n\n .xl\\:hover\\:text-blue-darker:hover {\n color: #1c3d5a;\n }\n\n .xl\\:hover\\:text-blue-dark:hover {\n color: #2779bd;\n }\n\n .xl\\:hover\\:text-blue:hover {\n color: #3490dc;\n }\n\n .xl\\:hover\\:text-blue-light:hover {\n color: #6cb2eb;\n }\n\n .xl\\:hover\\:text-blue-lighter:hover {\n color: #bcdefa;\n }\n\n .xl\\:hover\\:text-blue-lightest:hover {\n color: #eff8ff;\n }\n\n .xl\\:hover\\:text-indigo-darkest:hover {\n color: #191e38;\n }\n\n .xl\\:hover\\:text-indigo-darker:hover {\n color: #2f365f;\n }\n\n .xl\\:hover\\:text-indigo-dark:hover {\n color: #5661b3;\n }\n\n .xl\\:hover\\:text-indigo:hover {\n color: #6574cd;\n }\n\n .xl\\:hover\\:text-indigo-light:hover {\n color: #7886d7;\n }\n\n .xl\\:hover\\:text-indigo-lighter:hover {\n color: #b2b7ff;\n }\n\n .xl\\:hover\\:text-indigo-lightest:hover {\n color: #e6e8ff;\n }\n\n .xl\\:hover\\:text-purple-darkest:hover {\n color: #21183c;\n }\n\n .xl\\:hover\\:text-purple-darker:hover {\n color: #382b5f;\n }\n\n .xl\\:hover\\:text-purple-dark:hover {\n color: #794acf;\n }\n\n .xl\\:hover\\:text-purple:hover {\n color: #9561e2;\n }\n\n .xl\\:hover\\:text-purple-light:hover {\n color: #a779e9;\n }\n\n .xl\\:hover\\:text-purple-lighter:hover {\n color: #d6bbfc;\n }\n\n .xl\\:hover\\:text-purple-lightest:hover {\n color: #f3ebff;\n }\n\n .xl\\:hover\\:text-pink-darkest:hover {\n color: #451225;\n }\n\n .xl\\:hover\\:text-pink-darker:hover {\n color: #6f213f;\n }\n\n .xl\\:hover\\:text-pink-dark:hover {\n color: #eb5286;\n }\n\n .xl\\:hover\\:text-pink:hover {\n color: #f66d9b;\n }\n\n .xl\\:hover\\:text-pink-light:hover {\n color: #fa7ea8;\n }\n\n .xl\\:hover\\:text-pink-lighter:hover {\n color: #ffbbca;\n }\n\n .xl\\:hover\\:text-pink-lightest:hover {\n color: #ffebef;\n }\n\n .xl\\:focus\\:text-transparent:focus {\n color: transparent;\n }\n\n .xl\\:focus\\:text-black:focus {\n color: #22292f;\n }\n\n .xl\\:focus\\:text-grey-darkest:focus {\n color: #3d4852;\n }\n\n .xl\\:focus\\:text-grey-darker:focus {\n color: #606f7b;\n }\n\n .xl\\:focus\\:text-grey-dark:focus {\n color: #8795a1;\n }\n\n .xl\\:focus\\:text-grey:focus {\n color: #b8c2cc;\n }\n\n .xl\\:focus\\:text-grey-light:focus {\n color: #dae1e7;\n }\n\n .xl\\:focus\\:text-grey-lighter:focus {\n color: #f1f5f8;\n }\n\n .xl\\:focus\\:text-grey-lightest:focus {\n color: #f8fafc;\n }\n\n .xl\\:focus\\:text-white:focus {\n color: #fff;\n }\n\n .xl\\:focus\\:text-red-darkest:focus {\n color: #3b0d0c;\n }\n\n .xl\\:focus\\:text-red-darker:focus {\n color: #621b18;\n }\n\n .xl\\:focus\\:text-red-dark:focus {\n color: #cc1f1a;\n }\n\n .xl\\:focus\\:text-red:focus {\n color: #e3342f;\n }\n\n .xl\\:focus\\:text-red-light:focus {\n color: #ef5753;\n }\n\n .xl\\:focus\\:text-red-lighter:focus {\n color: #f9acaa;\n }\n\n .xl\\:focus\\:text-red-lightest:focus {\n color: #fcebea;\n }\n\n .xl\\:focus\\:text-orange-darkest:focus {\n color: #462a16;\n }\n\n .xl\\:focus\\:text-orange-darker:focus {\n color: #613b1f;\n }\n\n .xl\\:focus\\:text-orange-dark:focus {\n color: #de751f;\n }\n\n .xl\\:focus\\:text-orange:focus {\n color: #f6993f;\n }\n\n .xl\\:focus\\:text-orange-light:focus {\n color: #faad63;\n }\n\n .xl\\:focus\\:text-orange-lighter:focus {\n color: #fcd9b6;\n }\n\n .xl\\:focus\\:text-orange-lightest:focus {\n color: #fff5eb;\n }\n\n .xl\\:focus\\:text-yellow-darkest:focus {\n color: #453411;\n }\n\n .xl\\:focus\\:text-yellow-darker:focus {\n color: #684f1d;\n }\n\n .xl\\:focus\\:text-yellow-dark:focus {\n color: #f2d024;\n }\n\n .xl\\:focus\\:text-yellow:focus {\n color: #ffed4a;\n }\n\n .xl\\:focus\\:text-yellow-light:focus {\n color: #fff382;\n }\n\n .xl\\:focus\\:text-yellow-lighter:focus {\n color: #fff9c2;\n }\n\n .xl\\:focus\\:text-yellow-lightest:focus {\n color: #fcfbeb;\n }\n\n .xl\\:focus\\:text-green-darkest:focus {\n color: #0f2f21;\n }\n\n .xl\\:focus\\:text-green-darker:focus {\n color: #1a4731;\n }\n\n .xl\\:focus\\:text-green-dark:focus {\n color: #1f9d55;\n }\n\n .xl\\:focus\\:text-green:focus {\n color: #38c172;\n }\n\n .xl\\:focus\\:text-green-light:focus {\n color: #51d88a;\n }\n\n .xl\\:focus\\:text-green-lighter:focus {\n color: #a2f5bf;\n }\n\n .xl\\:focus\\:text-green-lightest:focus {\n color: #e3fcec;\n }\n\n .xl\\:focus\\:text-teal-darkest:focus {\n color: #0d3331;\n }\n\n .xl\\:focus\\:text-teal-darker:focus {\n color: #20504f;\n }\n\n .xl\\:focus\\:text-teal-dark:focus {\n color: #38a89d;\n }\n\n .xl\\:focus\\:text-teal:focus {\n color: #4dc0b5;\n }\n\n .xl\\:focus\\:text-teal-light:focus {\n color: #64d5ca;\n }\n\n .xl\\:focus\\:text-teal-lighter:focus {\n color: #a0f0ed;\n }\n\n .xl\\:focus\\:text-teal-lightest:focus {\n color: #e8fffe;\n }\n\n .xl\\:focus\\:text-blue-darkest:focus {\n color: #12283a;\n }\n\n .xl\\:focus\\:text-blue-darker:focus {\n color: #1c3d5a;\n }\n\n .xl\\:focus\\:text-blue-dark:focus {\n color: #2779bd;\n }\n\n .xl\\:focus\\:text-blue:focus {\n color: #3490dc;\n }\n\n .xl\\:focus\\:text-blue-light:focus {\n color: #6cb2eb;\n }\n\n .xl\\:focus\\:text-blue-lighter:focus {\n color: #bcdefa;\n }\n\n .xl\\:focus\\:text-blue-lightest:focus {\n color: #eff8ff;\n }\n\n .xl\\:focus\\:text-indigo-darkest:focus {\n color: #191e38;\n }\n\n .xl\\:focus\\:text-indigo-darker:focus {\n color: #2f365f;\n }\n\n .xl\\:focus\\:text-indigo-dark:focus {\n color: #5661b3;\n }\n\n .xl\\:focus\\:text-indigo:focus {\n color: #6574cd;\n }\n\n .xl\\:focus\\:text-indigo-light:focus {\n color: #7886d7;\n }\n\n .xl\\:focus\\:text-indigo-lighter:focus {\n color: #b2b7ff;\n }\n\n .xl\\:focus\\:text-indigo-lightest:focus {\n color: #e6e8ff;\n }\n\n .xl\\:focus\\:text-purple-darkest:focus {\n color: #21183c;\n }\n\n .xl\\:focus\\:text-purple-darker:focus {\n color: #382b5f;\n }\n\n .xl\\:focus\\:text-purple-dark:focus {\n color: #794acf;\n }\n\n .xl\\:focus\\:text-purple:focus {\n color: #9561e2;\n }\n\n .xl\\:focus\\:text-purple-light:focus {\n color: #a779e9;\n }\n\n .xl\\:focus\\:text-purple-lighter:focus {\n color: #d6bbfc;\n }\n\n .xl\\:focus\\:text-purple-lightest:focus {\n color: #f3ebff;\n }\n\n .xl\\:focus\\:text-pink-darkest:focus {\n color: #451225;\n }\n\n .xl\\:focus\\:text-pink-darker:focus {\n color: #6f213f;\n }\n\n .xl\\:focus\\:text-pink-dark:focus {\n color: #eb5286;\n }\n\n .xl\\:focus\\:text-pink:focus {\n color: #f66d9b;\n }\n\n .xl\\:focus\\:text-pink-light:focus {\n color: #fa7ea8;\n }\n\n .xl\\:focus\\:text-pink-lighter:focus {\n color: #ffbbca;\n }\n\n .xl\\:focus\\:text-pink-lightest:focus {\n color: #ffebef;\n }\n\n .xl\\:text-xs {\n font-size: .75rem;\n }\n\n .xl\\:text-sm {\n font-size: .875rem;\n }\n\n .xl\\:text-base {\n font-size: 1rem;\n }\n\n .xl\\:text-lg {\n font-size: 1.125rem;\n }\n\n .xl\\:text-xl {\n font-size: 1.25rem;\n }\n\n .xl\\:text-2xl {\n font-size: 1.5rem;\n }\n\n .xl\\:text-3xl {\n font-size: 1.875rem;\n }\n\n .xl\\:text-4xl {\n font-size: 2.25rem;\n }\n\n .xl\\:text-5xl {\n font-size: 3rem;\n }\n\n .xl\\:italic {\n font-style: italic;\n }\n\n .xl\\:roman {\n font-style: normal;\n }\n\n .xl\\:uppercase {\n text-transform: uppercase;\n }\n\n .xl\\:lowercase {\n text-transform: lowercase;\n }\n\n .xl\\:capitalize {\n text-transform: capitalize;\n }\n\n .xl\\:normal-case {\n text-transform: none;\n }\n\n .xl\\:underline {\n text-decoration: underline;\n }\n\n .xl\\:line-through {\n text-decoration: line-through;\n }\n\n .xl\\:no-underline {\n text-decoration: none;\n }\n\n .xl\\:antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .xl\\:subpixel-antialiased {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .xl\\:hover\\:italic:hover {\n font-style: italic;\n }\n\n .xl\\:hover\\:roman:hover {\n font-style: normal;\n }\n\n .xl\\:hover\\:uppercase:hover {\n text-transform: uppercase;\n }\n\n .xl\\:hover\\:lowercase:hover {\n text-transform: lowercase;\n }\n\n .xl\\:hover\\:capitalize:hover {\n text-transform: capitalize;\n }\n\n .xl\\:hover\\:normal-case:hover {\n text-transform: none;\n }\n\n .xl\\:hover\\:underline:hover {\n text-decoration: underline;\n }\n\n .xl\\:hover\\:line-through:hover {\n text-decoration: line-through;\n }\n\n .xl\\:hover\\:no-underline:hover {\n text-decoration: none;\n }\n\n .xl\\:hover\\:antialiased:hover {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .xl\\:hover\\:subpixel-antialiased:hover {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .xl\\:focus\\:italic:focus {\n font-style: italic;\n }\n\n .xl\\:focus\\:roman:focus {\n font-style: normal;\n }\n\n .xl\\:focus\\:uppercase:focus {\n text-transform: uppercase;\n }\n\n .xl\\:focus\\:lowercase:focus {\n text-transform: lowercase;\n }\n\n .xl\\:focus\\:capitalize:focus {\n text-transform: capitalize;\n }\n\n .xl\\:focus\\:normal-case:focus {\n text-transform: none;\n }\n\n .xl\\:focus\\:underline:focus {\n text-decoration: underline;\n }\n\n .xl\\:focus\\:line-through:focus {\n text-decoration: line-through;\n }\n\n .xl\\:focus\\:no-underline:focus {\n text-decoration: none;\n }\n\n .xl\\:focus\\:antialiased:focus {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .xl\\:focus\\:subpixel-antialiased:focus {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n }\n\n .xl\\:tracking-tight {\n letter-spacing: -0.05em;\n }\n\n .xl\\:tracking-normal {\n letter-spacing: 0;\n }\n\n .xl\\:tracking-wide {\n letter-spacing: .05em;\n }\n\n .xl\\:select-none {\n user-select: none;\n }\n\n .xl\\:select-text {\n user-select: text;\n }\n\n .xl\\:align-baseline {\n vertical-align: baseline;\n }\n\n .xl\\:align-top {\n vertical-align: top;\n }\n\n .xl\\:align-middle {\n vertical-align: middle;\n }\n\n .xl\\:align-bottom {\n vertical-align: bottom;\n }\n\n .xl\\:align-text-top {\n vertical-align: text-top;\n }\n\n .xl\\:align-text-bottom {\n vertical-align: text-bottom;\n }\n\n .xl\\:visible {\n visibility: visible;\n }\n\n .xl\\:invisible {\n visibility: hidden;\n }\n\n .xl\\:whitespace-normal {\n white-space: normal;\n }\n\n .xl\\:whitespace-no-wrap {\n white-space: nowrap;\n }\n\n .xl\\:whitespace-pre {\n white-space: pre;\n }\n\n .xl\\:whitespace-pre-line {\n white-space: pre-line;\n }\n\n .xl\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n\n .xl\\:break-words {\n word-wrap: break-word;\n }\n\n .xl\\:break-normal {\n word-wrap: normal;\n }\n\n .xl\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .xl\\:w-1 {\n width: .25rem;\n }\n\n .xl\\:w-2 {\n width: .5rem;\n }\n\n .xl\\:w-3 {\n width: .75rem;\n }\n\n .xl\\:w-4 {\n width: 1rem;\n }\n\n .xl\\:w-5 {\n width: 1.25rem;\n }\n\n .xl\\:w-6 {\n width: 1.5rem;\n }\n\n .xl\\:w-8 {\n width: 2rem;\n }\n\n .xl\\:w-10 {\n width: 2.5rem;\n }\n\n .xl\\:w-12 {\n width: 3rem;\n }\n\n .xl\\:w-16 {\n width: 4rem;\n }\n\n .xl\\:w-24 {\n width: 6rem;\n }\n\n .xl\\:w-32 {\n width: 8rem;\n }\n\n .xl\\:w-48 {\n width: 12rem;\n }\n\n .xl\\:w-64 {\n width: 16rem;\n }\n\n .xl\\:w-auto {\n width: auto;\n }\n\n .xl\\:w-px {\n width: 1px;\n }\n\n .xl\\:w-1\\/2 {\n width: 50%;\n }\n\n .xl\\:w-1\\/3 {\n width: 33.33333%;\n }\n\n .xl\\:w-2\\/3 {\n width: 66.66667%;\n }\n\n .xl\\:w-1\\/4 {\n width: 25%;\n }\n\n .xl\\:w-3\\/4 {\n width: 75%;\n }\n\n .xl\\:w-1\\/5 {\n width: 20%;\n }\n\n .xl\\:w-2\\/5 {\n width: 40%;\n }\n\n .xl\\:w-3\\/5 {\n width: 60%;\n }\n\n .xl\\:w-4\\/5 {\n width: 80%;\n }\n\n .xl\\:w-1\\/6 {\n width: 16.66667%;\n }\n\n .xl\\:w-5\\/6 {\n width: 83.33333%;\n }\n\n .xl\\:w-full {\n width: 100%;\n }\n\n .xl\\:w-screen {\n width: 100vw;\n }\n\n .xl\\:z-0 {\n z-index: 0;\n }\n\n .xl\\:z-10 {\n z-index: 10;\n }\n\n .xl\\:z-20 {\n z-index: 20;\n }\n\n .xl\\:z-30 {\n z-index: 30;\n }\n\n .xl\\:z-40 {\n z-index: 40;\n }\n\n .xl\\:z-50 {\n z-index: 50;\n }\n\n .xl\\:z-auto {\n z-index: auto;\n }\n}\n',""]),r.locals={},n.exports=r},function(n,e,t){var content=t(575);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("5c957db4",content,!0,{sourceMap:!1})},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,"/* \r\n\r\n.page-enter-active, .page-leave-active {\r\n transition: opacity .25s;\r\n}\r\n.page-enter, .page-leave-to {\r\n opacity: 0;\r\n} */\n\n.slide-left-enter,\n.slide-right-leave-active {\n opacity: 0;\n transform: translate(30px, 0);\n}\n\n.slide-right-enter,\n.slide-left-leave-active {\n opacity: 0;\n transform: translate(-30px, 0);\n}\n\n.container {\n transition: all .25s cubic-bezier(.55, 0, .1, 1);\n}\n\n.layout-enter-active,\n.layout-leave-to {\n transition: all .25s;\n}\n\n.layout-enter,\n.layout-leave-to {\n opacity: 0;\n}\n\n.btn-svg {\n font-weight: 700;\n border-radius: .25rem;\n color: #22292f;\n}\n\n/* .bounce-enter-active {\r\n animation: bounce-in .8s;\r\n}\r\n.bounce-leave-active {\r\n animation: bounce-out .5s;\r\n}\r\n\r\n@keyframes bounce-in {\r\n 0% { transform: scale(0) } \r\n 100% { transform: scale(1) }\r\n}\r\n@keyframes bounce-out {\r\n 0% { transform: scale(1) } \r\n 100% { transform: scale(0) } \r\n}*/\n",""]),r.locals={},n.exports=r},function(n,e,t){var content=t(577);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("2204d427",content,!0,{sourceMap:!1})},function(n,e,t){var r=t(16),o=t(72),l=t(144),c=t(161),d=t(507),f=t(578),m=t(579),h=t(580),v=t(581),x=r(function(i){return i[1]}),k=o(l),w=o(c),y=o(d),_=o(f),S=o(m),C=o(h),E=o(v);x.push([n.i,".online {\n color: #86bb71;\n}\n\n.offline {\n color: #e38968;\n}\n\n.me {\n font-size: 18px;\n}\n\n.offline,\n.online {\n margin-right: 3px;\n font-size: 10px;\n}\n\n.status-dot {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n min-width: 1rem;\n border-radius: 50%;\n margin-right: .35rem;\n vertical-align: middle;\n}\n\n.status-dot.online {\n background-color: #86bb71;\n color: #86bb71;\n}\n\n.status-dot.offline {\n background-color: #e38968;\n color: #e38968;\n}\n\n.scroll-bottom-button {\n width: 2.5rem;\n height: 2.5rem;\n border: 0;\n border-radius: 50%;\n background-color: rgba(18, 22, 30, .92);\n box-shadow: 0 2px 10px rgba(0, 0, 0, .45);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n transition: transform .12s ease, background-color .12s ease;\n}\n\n.scroll-bottom-button:hover {\n background-color: rgba(30, 36, 48, .96);\n}\n\n.scroll-bottom-button:active {\n transform: scale(.9);\n}\n\n.scroll-bottom-button:before {\n content: '';\n width: 1.25rem;\n height: 1.25rem;\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M6%209l6%206%206-6'/%3E%3C/svg%3E\");\n background-position: center center;\n background-repeat: no-repeat;\n background-size: contain;\n}\n\nbody {\n font-size: 14px;\n}\n\n.body_KsiTalk {\n background-image: url("+k+");\n background-position: center center;\n background-repeat: repeat;\n background-size: 50% auto;\n}\n\n.body_AnyTalk {\n background-color: #c6e9f3;\n background-position: center center;\n background-repeat: repeat;\n background-size: 50% auto;\n}\n\n.body_Integration {\n background-color: #fff;\n background-position: center center;\n background-repeat: repeat;\n background-size: 50% auto;\n}\n\n.body_dark {\n background-image: url("+w+");\n background-position: center center;\n background-repeat: repeat;\n background-size: 75% auto;\n}\n\nbutton,\n.btn,\n.btn-svg,\n.btn_circle {\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n touch-action: manipulation;\n}\n\nbutton:focus,\n.btn:focus,\n.btn-svg:focus,\n.btn_circle:focus {\n outline: none;\n}\n\nbutton:focus-visible,\n.btn:focus-visible,\n.btn-svg:focus-visible,\n.btn_circle:focus-visible {\n outline: none;\n filter: brightness(1.18) saturate(1.15);\n box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .18);\n}\n\nbutton:active,\n.btn:active,\n.btn-svg:active,\n.btn_circle:active,\n.button-pressed {\n outline: none;\n filter: brightness(1.28) saturate(1.25);\n transform: translateY(1px) scale(.99);\n}\n\n.btn,\n.btn-svg,\n.btn_circle {\n transition: filter 120ms ease, transform 120ms ease, box-shadow 120ms ease;\n}\n\n.menu-nav-button {\n display: flex !important;\n align-items: center;\n justify-content: center;\n width: 15.5rem;\n padding-left: .75rem !important;\n padding-right: .75rem !important;\n text-align: center;\n text-decoration: none !important;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.menu-nav-button:hover,\n.menu-nav-button:focus,\n.menu-nav-button:active {\n text-decoration: none !important;\n}\n\n.menu-nav-button__label {\n min-width: 0;\n overflow: visible;\n font-size: 1.12rem;\n line-height: 1.2;\n white-space: nowrap;\n pointer-events: none;\n text-decoration: none !important;\n}\n\n.menu-nav-row {\n display: flex;\n justify-content: center;\n width: 100%;\n}\n\nhtml {\n height: 100%;\n min-height: 100%;\n}\n\nbody,\n#__nuxt,\n#__layout,\n.chat-page {\n height: 100%;\n min-height: 100%;\n max-height: 100%;\n overflow: hidden;\n}\n\n#__layout .bg-teal-dark {\n border-color: #a0cd3e;\n background-color: #a7d841;\n color: #fff;\n text-transform: uppercase;\n}\n\n#logo_img {\n background-position: center center;\n background-repeat: no-repeat;\n background-size: cover;\n display: block;\n margin: auto;\n width: 105px;\n height: 113px;\n}\n\n.bg_logo_KsiTalk {\n background-image: url("+y+");\n}\n\n.logoAnyTalk {\n -webkit-text-fill-color: #43a9d7;\n font-size: 2rem;\n}\n\n#logo_img+form input:hover,\n#logo_img+form input:focus {\n border-color: #a9d743;\n}\n\n.btn_download {\n color: #fff;\n content: '';\n display: block;\n width: 139px;\n height: 139px;\n background-position: center center;\n background-repeat: no-repeat;\n background-size: cover;\n margin: auto;\n}\n\n#btn_download_apk_ksitalk {\n background-image: url("+_+");\n}\n\n#btn_download_apk_5sbackgammon {\n background-image: url("+S+");\n}\n\n#btn_open_web_talk {\n display: block;\n width: 139px;\n height: 139px;\n margin: auto;\n}\n\n#btn_open_web_talk svg {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.activator_handle {\n content: '';\n display: block;\n width: 222px;\n height: 221px;\n background-image: url("+C+");\n background-position: center center;\n background-repeat: no-repeat;\n background-size: cover;\n margin: auto;\n}\n\n#btn_b_video {\n padding: .25rem;\n}\n\n#btn_b_video:before {\n content: '';\n display: block;\n width: 32px;\n height: 32px;\n background-image: url("+E+");\n background-position: center center;\n background-repeat: no-repeat;\n background-size: contain;\n margin: auto;\n}\n\n#btn_b_send_message {\n padding: .25rem;\n border-radius: 11px;\n transition: transform .08s ease, filter .08s ease;\n}\n\n#btn_b_send_message:active {\n transform: scale(.92);\n filter: brightness(.82);\n}\n\n#btn_b_send_message:before {\n content: '';\n display: block;\n width: 32px;\n height: 32px;\n background-image: url(\"data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23ffffff'%20stroke-width='2.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2020V5'/%3E%3Cpath%20d='M5%2012L12%205L19%2012'/%3E%3C/svg%3E\");\n background-position: center center;\n background-repeat: no-repeat;\n background-size: contain;\n margin: auto;\n}\n\n.chat-page {\n overflow: hidden;\n}\n\n.app-top-menu {\n flex: 0 0 2.5rem;\n min-height: 2.5rem;\n max-height: 2.5rem;\n position: sticky;\n top: 0;\n z-index: 50;\n}\n\n.ksitalk-call-banner-on #menu_up {\n margin-top: 36px;\n transition: margin-top .12s ease;\n}\n\n#menu_up .btn,\n#menu_up .btn-svg {\n border-radius: 12px;\n height: 2.5rem;\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.chat-top-actions {\n background: #3490dc;\n border-radius: 12px;\n overflow: hidden;\n display: inline-flex;\n align-items: center;\n}\n\n.chat-top-actions__btn {\n border: 0;\n background: transparent;\n padding: .4rem .65rem;\n height: 2.5rem;\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n transition: filter .1s ease;\n}\n\n.chat-top-actions__btn:active {\n filter: brightness(.85);\n}\n\n.chat-top-actions__btn + .chat-top-actions__btn {\n border-left: 1px solid rgba(255, 255, 255, .3);\n}\n\n.file-action-menu {\n background: rgba(22, 26, 34, .98);\n border-radius: 12px;\n box-shadow: 0 8px 28px rgba(0, 0, 0, .45);\n padding: 6px;\n display: flex;\n flex-direction: column;\n min-width: 11rem;\n}\n\n.file-action-menu button {\n border: 0;\n background: transparent;\n color: #fff;\n text-align: left;\n font-size: 1rem;\n padding: .7rem .9rem;\n border-radius: 8px;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n\n.file-action-menu button:active {\n background: rgba(255, 255, 255, .12);\n}\n\n.file-action-menu button.file-action-menu__danger {\n color: #ff8a8a;\n}\n\n.chat {\n box-sizing: border-box;\n}\n\n.chat .text-message {\n word-wrap: break-word;\n hyphens: auto;\n word-break: break-word;\n white-space: pre-wrap;\n font-size: var(--chat-font-size, 1rem);\n}\n\n.chat .reply-quote {\n display: block;\n font-size: var(--chat-font-size, 1rem);\n margin: -0.15rem -0.5rem .3rem;\n padding: .18em .5rem;\n background: rgba(255, 255, 255, .14);\n border-radius: 5px;\n}\n\n.chat .reply-quote__title,\n.chat .reply-quote__text {\n display: block;\n font-size: .75em;\n line-height: 1.25;\n color: #fff;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.chat .reply-quote__title {\n font-weight: 700;\n}\n\n.chat .chat-bubble {\n position: relative;\n overflow: visible;\n border-radius: 18px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, .24);\n}\n\n.chat .chat-bubble--mine {\n border-bottom-right-radius: 7px;\n}\n\n.chat .chat-bubble--other {\n border-bottom-left-radius: 7px;\n}\n\n.chat .chat-bubble:after {\n content: '';\n position: absolute;\n bottom: 0;\n width: 16px;\n height: 16px;\n background-color: inherit;\n border-bottom: inherit;\n z-index: 0;\n}\n\n.chat .chat-bubble--mine:after {\n right: -7px;\n border-right: inherit;\n border-bottom-left-radius: 16px 14px;\n transform: rotate(18deg) skewX(-10deg);\n transform-origin: 0 100%;\n}\n\n.chat .chat-bubble--other:after {\n left: -7px;\n border-left: inherit;\n border-bottom-right-radius: 16px 14px;\n transform: rotate(-18deg) skewX(10deg);\n transform-origin: 100% 100%;\n}\n\n.chat .chat-bubble > * {\n position: relative;\n z-index: 1;\n}\n\n.chat .chat-history {\n width: 100% !important;\n box-sizing: border-box;\n height: 100%;\n overflow: hidden;\n overflow-y: auto;\n outline-color: #00f;\n -webkit-overflow-scrolling: touch;\n overscroll-behavior: contain;\n}\n\n.user_nickname {\n word-wrap: anywhere;\n -webkit-hyphens: auto;\n -ms-hyphens: auto;\n -moz-hyphens: auto;\n hyphens: auto;\n word-break: break-all;\n white-space: pre-wrap;\n}\n\n.users .user-list-class {\n width: 100% !important;\n box-sizing: border-box;\n height: 100%;\n overflow: hidden;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n scroll-behavior: smooth;\n}\n\n.scrolling_smooth {\n scroll-behavior: smooth;\n}\n\n/* Отключение возможности выделения в теге DIV */\n\n.noselect {\n -moz-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n}\n\n.btn_circle {\n width: 56px;\n height: 56px;\n border-radius: 28px;\n}\n\n.btn_circle_red {\n background-color: #e3342f;\n}\n\n.btn_circle_green {\n background-color: #3da11e;\n}\n\n.btn_circle_gray {\n background-color: #5e707f;\n}\n\n@media (min-width: 992px) {\n #__layout:before {\n content: '';\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n background: radial-gradient(2px 2px at 15% 22%, rgba(255, 255, 255, .85), transparent 60%), radial-gradient(1.5px 1.5px at 32% 11%, rgba(255, 255, 255, .6), transparent 60%), radial-gradient(1.5px 1.5px at 68% 17%, rgba(255, 255, 255, .55), transparent 60%), radial-gradient(2px 2px at 83% 28%, rgba(255, 255, 255, .8), transparent 60%), radial-gradient(1.5px 1.5px at 50% 7%, rgba(255, 255, 255, .5), transparent 60%), radial-gradient(2px 2px at 91% 13%, rgba(255, 255, 255, .7), transparent 60%), radial-gradient(1.5px 1.5px at 7% 44%, rgba(255, 255, 255, .5), transparent 60%), radial-gradient(1.5px 1.5px at 25% 55%, rgba(255, 255, 255, .45), transparent 60%), radial-gradient(2px 2px at 78% 50%, rgba(255, 255, 255, .6), transparent 60%), radial-gradient(120% 80% at 50% -10%, rgba(60, 80, 140, .35) 0%, rgba(0, 0, 0, 0) 55%), linear-gradient(to bottom, #05080f 0%, #0a1126 50%, #0d1730 100%);\n }\n\n .chat-page {\n max-width: 34rem;\n margin-left: auto;\n margin-right: auto;\n }\n\n body[theme_name=\"dark\"] .chat-page {\n background-image: url("+w+');\n background-position: center center;\n background-repeat: repeat;\n background-size: 75% auto;\n }\n\n body[theme_name="default"] .chat-page {\n background-image: url('+k+");\n background-position: center center;\n background-repeat: repeat;\n background-size: 50% auto;\n }\n\n .call .container {\n max-width: 26rem;\n margin-left: auto;\n margin-right: auto;\n }\n\n .call .pin-b {\n left: 50% !important;\n right: auto !important;\n transform: translateX(-50%);\n width: 26rem !important;\n max-width: 92vw;\n }\n\n .message-action-menu,\n .chat-forward-select,\n .pinned-overlay {\n left: 50% !important;\n right: auto !important;\n width: 34rem !important;\n transform: translateX(-50%);\n }\n}\n",""]),x.locals={},n.exports=x},function(n,e,t){n.exports=t.p+"img/btn_ksitalk.414aea1.png"},function(n,e,t){n.exports=t.p+"img/btn_5sbackgammon.e27cffd.png"},function(n,e,t){n.exports=t.p+"img/activate.e15a07d.png"},function(n,e){n.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAMAAAC7m5rvAAAAhFBMVEX39/cAAAD////6+vrl5eXU1NSlpaWUlJR/f396enr19fXHx8f29vbs7OzPz8+ysrJzc3O6uro+Pj6amponJydmZmY2NjaNjY1ubm7b29taWlpQUFBJSUkvLy/Z2dmHh4eqqqoVFRUdHR0LCwtVVVXJyclfX1++vr4sLCwZGRkRERE8PDwkyv3CAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfkBQgQBReu14ZZAAAAmUlEQVRIx+3WMQ7CMBBE0fn3vzQFQgKz4MlXFBqmi+JXOPHuOpnCU9KFIQrtIF/j1CcHwlHFqdWBcWAcKOcYGAfKHf8xRZU8XqyrKNiwbM/GrezYtMl1z20t/tmvWQxrDpdk9ii/f4O63k6rbtmCLLPtVTZzy+TEsfPNTlM7uwt23fXC3GWqmn99Lq9oORKnolAUurNEsFySG4yiBmBgmhkLAAAAAElFTkSuQmCC"},function(n,e,t){var content=t(583);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("cc854712",content,!0,{sourceMap:!1})},function(n,e,t){var r=t(16),o=t(72),l=t(144),c=r(function(i){return i[1]}),d=o(l);c.push([n.i,'body[theme_name="default"] {\n background-color: #f7fbfd !important;\n background-image: url('+d+') !important;\n background-position: center center;\n background-repeat: repeat;\n background-size: 50% auto;\n --divider: rgba(0, 0, 0, .18);\n --row-divider: rgba(0, 0, 0, .18);\n}\n\nbody[theme_name="default"].body_KsiTalk,\nbody[theme_name="default"] .chat-page,\nbody[theme_name="default"] .container {\n background-color: transparent !important;\n}\n\nbody[theme_name="default"] .user_list_container {\n background-color: #f7fbfd !important;\n background-image: url('+d+') !important;\n background-position: center center;\n background-repeat: repeat;\n background-size: 50% auto;\n border-color: var(--divider) !important;\n}\n\nbody[theme_name="default"] .users,\nbody[theme_name="default"] .user-list-class {\n background-color: transparent !important;\n}\n\nbody[theme_name="default"] .btn_call_from_list {\n background-color: rgba(255, 255, 255, .565);\n}\n\nbody[theme_name="default"] .audio_device_selected {\n background-color: #dae1e7;\n}\n\nbody[theme_name="default"] .panel_class {\n background-color: #fff;\n}\n\nbody[theme_name="default"] .chat_message_main {\n background-color: #dae1e7;\n}\n\nbody[theme_name="default"] .chat_message_other {\n background-color: #eff8ff;\n}\n\nbody[theme_name="default"] .chat_message_danger {\n background-color: #fcebea;\n}\n\nbody[theme_name="default"] .chat_message_main.chat-bubble--media {\n border-color: #dae1e7;\n}\n\nbody[theme_name="default"] .chat_message_other.chat-bubble--media {\n border-color: #eff8ff;\n}\n\nbody[theme_name="default"] .btn_send_class {\n background-color: #3490dc;\n}\n\nbody[theme_name="default"] .scroll-bottom-button {\n background-color: rgba(17, 21, 28, .1);\n border-color: rgba(0, 0, 0, .16);\n}\n\nbody[theme_name="default"] .scroll-bottom-button:hover {\n background-color: rgba(17, 21, 28, .16);\n}\n\nbody[theme_name="default"] .scroll-bottom-button:before {\n background-image: url("data:image/svg+xml,%3Csvg%20xmlns=\'http://www.w3.org/2000/svg\'%20viewBox=\'0%200%2024%2024\'%20fill=\'none\'%20stroke=\'%231f2937\'%20stroke-width=\'2.6\'%20stroke-linecap=\'round\'%20stroke-linejoin=\'round\'%3E%3Cpath%20d=\'M6%209l6%206%206-6\'/%3E%3C/svg%3E");\n}\n\nbody[theme_name="default"] textarea {\n caret-color: #000;\n}\n\nbody[theme_name="default"] .chat_new_message_secure {\n background-color: transparent;\n}\n\nbody[theme_name="default"] .chat_new_message_danger {\n background-color: transparent;\n}\n\nbody[theme_name="default"] .user_row {\n background-position: center center;\n background-repeat: no-repeat;\n background-size: 100% auto;\n}\n\nbody[theme_name="default"] .user_top_row {\n background-position: center center;\n background-repeat: no-repeat;\n background-size: 80% auto;\n}\n\nbody[theme_name="default"] .user_row_bg_0 {\n background-color: rgba(255, 255, 255, .78) !important;\n}\n\nbody[theme_name="default"] .chat,\nbody[theme_name="default"] .chat-loading {\n background-color: #f7fbfd !important;\n background-image: url('+d+') !important;\n background-position: center center;\n background-repeat: repeat;\n background-size: 50% auto;\n border-color: var(--divider) !important;\n}\n\nbody[theme_name="default"] .chat .app-height,\nbody[theme_name="default"] .chat .chat-history {\n background-color: transparent !important;\n}\n\nbody[theme_name="default"] .modal_slose {\n color: #000;\n}\n',""]),c.locals={},n.exports=c},function(n,e,t){var content=t(585);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("07969d87",content,!0,{sourceMap:!1})},function(n,e,t){var r=t(16),o=t(72),l=t(161),c=r(function(i){return i[1]}),d=o(l);c.push([n.i,'body[theme_name="dark"] {\n background-color: #050607 !important;\n background-image: url('+d+') !important;\n background-position: center center;\n background-repeat: repeat;\n background-size: 75% auto;\n color: #f4f4f4;\n --divider: rgba(255, 255, 255, .18);\n --row-divider: rgba(0, 0, 0, .82);\n}\n\nbody[theme_name="dark"].body_KsiTalk,\nbody[theme_name="dark"] .chat-page,\nbody[theme_name="dark"] .container {\n background-color: transparent !important;\n border-color: var(--divider) !important;\n}\n\nbody[theme_name="dark"] h1,\nbody[theme_name="dark"] h2,\nbody[theme_name="dark"] h3,\nbody[theme_name="dark"] h4,\nbody[theme_name="dark"] p,\nbody[theme_name="dark"] label,\nbody[theme_name="dark"] .container,\nbody[theme_name="dark"] .font-hairline,\nbody[theme_name="dark"] .text-black,\nbody[theme_name="dark"] .text-grey-darker,\nbody[theme_name="dark"] .text-grey-dark {\n color: #f4f4f4 !important;\n}\n\nbody[theme_name="dark"] .text-grey-light,\nbody[theme_name="dark"] .text-grey-lighter {\n color: #d8d8d8 !important;\n}\n\nbody[theme_name="dark"] .btn,\nbody[theme_name="dark"] button.btn,\nbody[theme_name="dark"] a.btn {\n color: #111 !important;\n}\n\nbody[theme_name="dark"] input {\n background-color: #000;\n color: #f4f4f4;\n}\n\nbody[theme_name="dark"] .panel_class {\n background-color: #000;\n}\n\nbody[theme_name="dark"] .messsage_common>div {\n border-color: var(--divider);\n}\n\nbody[theme_name="dark"] .user_list_container {\n background-color: #050607 !important;\n background-image: url('+d+') !important;\n background-position: center center;\n background-repeat: repeat;\n background-size: 75% auto;\n border-color: var(--divider) !important;\n}\n\nbody[theme_name="dark"] .users,\nbody[theme_name="dark"] .user-list-class {\n background-color: transparent !important;\n}\n\nbody[theme_name="dark"] .user_row_bg_0 {\n background-color: rgba(0, 0, 0, .73) !important;\n}\n\nbody[theme_name="dark"] .user_row_bg {\n background-position: center center;\n background-repeat: no-repeat;\n background-size: 100% auto;\n border-color: var(--row-divider) !important;\n border-bottom-width: 2px !important;\n box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .08);\n}\n\nbody[theme_name="dark"] .chat,\nbody[theme_name="dark"] .chat-loading {\n background-color: #050607 !important;\n background-image: url('+d+') !important;\n background-position: center center;\n background-repeat: repeat;\n background-size: 75% auto;\n border-color: var(--divider) !important;\n}\n\nbody[theme_name="dark"] .chat .app-height,\nbody[theme_name="dark"] .chat .chat-history {\n background-color: transparent !important;\n}\n\nbody[theme_name="dark"] .chat_message_main {\n background-color: #3d4852;\n}\n\nbody[theme_name="dark"] .chat_message_other {\n background-color: #12283a;\n}\n\nbody[theme_name="dark"] .chat_message_danger {\n background-color: #3b0d0c;\n}\n\nbody[theme_name="dark"] .chat_message_main.chat-bubble--media {\n border-color: #3d4852;\n}\n\nbody[theme_name="dark"] .chat_message_other.chat-bubble--media {\n border-color: #12283a;\n}\n\nbody[theme_name="dark"] .chat_new_message_secure {\n background-color: transparent;\n border-color: var(--divider);\n}\n\nbody[theme_name="dark"] .chat_new_message_danger {\n background-color: transparent;\n border-color: var(--divider);\n}\n\nbody[theme_name="dark"] textarea {\n background-color: #191c24;\n color: #fff;\n caret-color: #36a3ff;\n}\n\nbody[theme_name="dark"] .btn_send_class {\n background-color: #3490dc;\n}\n\nbody[theme_name="dark"] .audio_device_selected {\n background-color: #606f7b;\n}\n\nbody[theme_name="dark"] .btn_call_from_list {\n background-color: rgba(0, 0, 0, .565);\n}\n\nbody[theme_name="dark"] .modal_slose {\n color: #fff;\n}\n',""]),c.locals={},n.exports=c},function(n,e,t){var content=t(587);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("74ff7ae9",content,!0,{sourceMap:!1})},function(n,e,t){var r=t(16),o=t(72),l=t(588),c=t(589),d=t(590),f=t(591),m=t(592),h=t(593),v=t(594),x=t(595),k=t(596),w=t(597),y=t(598),_=t(599),S=t(600),C=t(601),E=t(602),I=t(603),A=t(604),T=t(605),O=t(161),M=t(144),N=r(function(i){return i[1]}),D=o(l),R=o(c),P=o(d),L=o(f),j=o(m),U=o(h),F=o(v),z=o(x),$=o(k),B=o(w),G=o(y),V=o(_),H=o(S),K=o(C),W=o(E),Y=o(I),J=o(A),X=o(T),Q=o(O),Z=o(M);N.push([n.i,".user_row_bg_0 {\n background-color: rgba(255, 255, 255, .86);\n}\n\n.user_row_bg_1 {\n background-image: url("+D+");\n}\n\n.user_row_bg_2 {\n background-image: url("+R+");\n}\n\n.user_row_bg_3 {\n background-image: url("+P+");\n}\n\n.user_row_bg_4 {\n background-image: url("+L+");\n}\n\n.user_row_bg_5 {\n background-image: url("+j+");\n}\n\n.user_row_bg_6 {\n background-image: url("+U+");\n}\n\n.user_row_bg_7 {\n background-image: url("+F+");\n}\n\n.user_row_bg_8 {\n background-image: url("+z+");\n}\n\n.user_row_bg_9 {\n background-image: url("+$+");\n}\n\n.user_row_bg_10 {\n background-image: url("+B+");\n}\n\n.user_row_bg_11 {\n background-image: url("+G+");\n}\n\n.user_row_bg_12 {\n background-image: url("+V+");\n}\n\n.user_row_bg_13 {\n background-image: url("+H+");\n}\n\n.user_row_bg_14 {\n background-image: url("+K+");\n}\n\n.user_row_bg_15 {\n background-image: url("+W+");\n}\n\n.user_row_bg_16 {\n background-image: url("+Y+");\n}\n\n.user_row_bg_17 {\n background-image: url("+J+");\n}\n\n.user_row_bg_18 {\n background-image: url("+X+');\n}\n\nbody[theme_name="dark"],\nbody[theme_name="dark"].body_KsiTalk,\nbody[theme_name="dark"] #__nuxt,\nbody[theme_name="dark"] #__layout,\nbody[theme_name="dark"] .chat-page {\n background-color: #050607 !important;\n background-image: url('+Q+') !important;\n background-position: center center !important;\n background-repeat: repeat !important;\n background-size: 75% auto !important;\n}\n\nbody[theme_name="dark"] .container,\nbody[theme_name="dark"] .users,\nbody[theme_name="dark"] .user-list-class,\nbody[theme_name="dark"] .chat .app-height,\nbody[theme_name="dark"] .chat .chat-history {\n background-color: #050607 !important;\n background-image: url('+Q+') !important;\n background-position: center center !important;\n background-repeat: repeat !important;\n background-size: 75% auto !important;\n}\n\nbody[theme_name="dark"] .user_list_container,\nbody[theme_name="dark"] .chat,\nbody[theme_name="dark"] .chat-loading {\n background-color: #050607 !important;\n background-image: url('+Q+') !important;\n background-position: center center !important;\n background-repeat: repeat !important;\n background-size: 75% auto !important;\n}\n\nbody[theme_name="default"],\nbody[theme_name="default"].body_KsiTalk,\nbody[theme_name="default"] #__nuxt,\nbody[theme_name="default"] #__layout,\nbody[theme_name="default"] .chat-page {\n background-color: #f7fbfd !important;\n background-image: url('+Z+') !important;\n background-position: center center !important;\n background-repeat: repeat !important;\n background-size: 50% auto !important;\n}\n\nbody[theme_name="default"] .container,\nbody[theme_name="default"] .users,\nbody[theme_name="default"] .user-list-class,\nbody[theme_name="default"] .chat .app-height,\nbody[theme_name="default"] .chat .chat-history {\n background-color: #f7fbfd !important;\n background-image: url('+Z+') !important;\n background-position: center center !important;\n background-repeat: repeat !important;\n background-size: 50% auto !important;\n}\n\nbody[theme_name="default"] .user_list_container,\nbody[theme_name="default"] .chat,\nbody[theme_name="default"] .chat-loading {\n background-color: #f7fbfd !important;\n background-image: url('+Z+") !important;\n background-position: center center !important;\n background-repeat: repeat !important;\n background-size: 50% auto !important;\n}\n",""]),N.locals={},n.exports=N},function(n,e,t){n.exports=t.p+"img/autohobby.e5d7419.png"},function(n,e,t){n.exports=t.p+"img/celebrate.79d4489.png"},function(n,e,t){n.exports=t.p+"img/chill_bar.903b563.png"},function(n,e,t){n.exports=t.p+"img/fishinghobby.161e4ff.png"},function(n,e,t){n.exports=t.p+"img/fitness.d9e8fe9.png"},function(n,e,t){n.exports=t.p+"img/job.52f77af.png"},function(n,e,t){n.exports=t.p+"img/job2.d5cdfdb.png"},function(n,e,t){n.exports=t.p+"img/motohobby.85c0ea9.png"},function(n,e,t){n.exports=t.p+"img/musichobby.a3bbf96.png"},function(n,e,t){n.exports=t.p+"img/painterhobby.e0f64aa.png"},function(n,e,t){n.exports=t.p+"img/travel.d350f72.png"},function(n,e,t){n.exports=t.p+"img/vacation.38b3b7a.png"},function(n,e,t){n.exports=t.p+"img/winterhobby.09a9c0f.png"},function(n,e,t){n.exports=t.p+"img/motohobby2.85bc8ab.png"},function(n,e,t){n.exports=t.p+"img/motohobby3.fa959c1.png"},function(n,e,t){n.exports=t.p+"img/motohobby4.8d9c344.png"},function(n,e,t){n.exports=t.p+"img/motohobby5.17a3d06.png"},function(n,e,t){n.exports=t.p+"img/motohobby6.f349b90.png"},function(n,e,t){var content=t(607);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[n.i,content,""]]),content.locals&&(n.exports=content.locals);(0,t(17).default)("713fa339",content,!0,{sourceMap:!1})},function(n,e,t){var r=t(16),o=t(72),l=t(608),c=t(609),d=t(610),f=t(611),m=t(612),h=t(613),v=r(function(i){return i[1]}),x=o(l),k=o(c,{hash:"?#iefix&v=4.4.0"}),w=o(d),y=o(f),_=o(m),S=o(h,{hash:"#fontawesomeregular"});v.push([n.i,"/*!\r\n * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome\r\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\r\n */\n\n@font-face {\n font-family: 'FontAwesome';\n src: url("+x+");\n src: url("+k+") format('embedded-opentype'), url("+w+") format('woff2'), url("+y+") format('woff'), url("+_+") format('truetype'), url("+S+') format(\'svg\');\n font-weight: normal;\n font-style: normal;\n}\n\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.fa-lg {\n font-size: 1.33333333em;\n line-height: .75em;\n vertical-align: -15%;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-fw {\n width: 1.28571429em;\n text-align: center;\n}\n\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14285714em;\n list-style-type: none;\n}\n\n.fa-ul>li {\n position: relative;\n}\n\n.fa-li {\n position: absolute;\n left: -2.14285714em;\n width: 2.14285714em;\n top: .14285714em;\n text-align: center;\n}\n\n.fa-li.fa-lg {\n left: -1.85714286em;\n}\n\n.fa-border {\n padding: .2em .25em .15em;\n border: solid .08em #eee;\n border-radius: .1em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left {\n margin-right: .3em;\n}\n\n.fa.fa-pull-right {\n margin-left: .3em;\n}\n\n.pull-right {\n float: right;\n}\n\n.pull-left {\n float: left;\n}\n\n.fa.pull-left {\n margin-right: .3em;\n}\n\n.fa.pull-right {\n margin-left: .3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n.fa-rotate-90 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n\n.fa-stack-1x {\n line-height: inherit;\n}\n\n.fa-stack-2x {\n font-size: 2em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.fa-glass:before {\n content: "\\f000";\n}\n\n.fa-music:before {\n content: "\\f001";\n}\n\n.fa-search:before {\n content: "\\f002";\n}\n\n.fa-envelope-o:before {\n content: "\\f003";\n}\n\n.fa-heart:before {\n content: "\\f004";\n}\n\n.fa-star:before {\n content: "\\f005";\n}\n\n.fa-star-o:before {\n content: "\\f006";\n}\n\n.fa-user:before {\n content: "\\f007";\n}\n\n.fa-film:before {\n content: "\\f008";\n}\n\n.fa-th-large:before {\n content: "\\f009";\n}\n\n.fa-th:before {\n content: "\\f00a";\n}\n\n.fa-th-list:before {\n content: "\\f00b";\n}\n\n.fa-check:before {\n content: "\\f00c";\n}\n\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: "\\f00d";\n}\n\n.fa-search-plus:before {\n content: "\\f00e";\n}\n\n.fa-search-minus:before {\n content: "\\f010";\n}\n\n.fa-power-off:before {\n content: "\\f011";\n}\n\n.fa-signal:before {\n content: "\\f012";\n}\n\n.fa-gear:before,\n.fa-cog:before {\n content: "\\f013";\n}\n\n.fa-trash-o:before {\n content: "\\f014";\n}\n\n.fa-home:before {\n content: "\\f015";\n}\n\n.fa-file-o:before {\n content: "\\f016";\n}\n\n.fa-clock-o:before {\n content: "\\f017";\n}\n\n.fa-road:before {\n content: "\\f018";\n}\n\n.fa-download:before {\n content: "\\f019";\n}\n\n.fa-arrow-circle-o-down:before {\n content: "\\f01a";\n}\n\n.fa-arrow-circle-o-up:before {\n content: "\\f01b";\n}\n\n.fa-inbox:before {\n content: "\\f01c";\n}\n\n.fa-play-circle-o:before {\n content: "\\f01d";\n}\n\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: "\\f01e";\n}\n\n.fa-refresh:before {\n content: "\\f021";\n}\n\n.fa-list-alt:before {\n content: "\\f022";\n}\n\n.fa-lock:before {\n content: "\\f023";\n}\n\n.fa-flag:before {\n content: "\\f024";\n}\n\n.fa-headphones:before {\n content: "\\f025";\n}\n\n.fa-volume-off:before {\n content: "\\f026";\n}\n\n.fa-volume-down:before {\n content: "\\f027";\n}\n\n.fa-volume-up:before {\n content: "\\f028";\n}\n\n.fa-qrcode:before {\n content: "\\f029";\n}\n\n.fa-barcode:before {\n content: "\\f02a";\n}\n\n.fa-tag:before {\n content: "\\f02b";\n}\n\n.fa-tags:before {\n content: "\\f02c";\n}\n\n.fa-book:before {\n content: "\\f02d";\n}\n\n.fa-bookmark:before {\n content: "\\f02e";\n}\n\n.fa-print:before {\n content: "\\f02f";\n}\n\n.fa-camera:before {\n content: "\\f030";\n}\n\n.fa-font:before {\n content: "\\f031";\n}\n\n.fa-bold:before {\n content: "\\f032";\n}\n\n.fa-italic:before {\n content: "\\f033";\n}\n\n.fa-text-height:before {\n content: "\\f034";\n}\n\n.fa-text-width:before {\n content: "\\f035";\n}\n\n.fa-align-left:before {\n content: "\\f036";\n}\n\n.fa-align-center:before {\n content: "\\f037";\n}\n\n.fa-align-right:before {\n content: "\\f038";\n}\n\n.fa-align-justify:before {\n content: "\\f039";\n}\n\n.fa-list:before {\n content: "\\f03a";\n}\n\n.fa-dedent:before,\n.fa-outdent:before {\n content: "\\f03b";\n}\n\n.fa-indent:before {\n content: "\\f03c";\n}\n\n.fa-video-camera:before {\n content: "\\f03d";\n}\n\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: "\\f03e";\n}\n\n.fa-pencil:before {\n content: "\\f040";\n}\n\n.fa-map-marker:before {\n content: "\\f041";\n}\n\n.fa-adjust:before {\n content: "\\f042";\n}\n\n.fa-tint:before {\n content: "\\f043";\n}\n\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: "\\f044";\n}\n\n.fa-share-square-o:before {\n content: "\\f045";\n}\n\n.fa-check-square-o:before {\n content: "\\f046";\n}\n\n.fa-arrows:before {\n content: "\\f047";\n}\n\n.fa-step-backward:before {\n content: "\\f048";\n}\n\n.fa-fast-backward:before {\n content: "\\f049";\n}\n\n.fa-backward:before {\n content: "\\f04a";\n}\n\n.fa-play:before {\n content: "\\f04b";\n}\n\n.fa-pause:before {\n content: "\\f04c";\n}\n\n.fa-stop:before {\n content: "\\f04d";\n}\n\n.fa-forward:before {\n content: "\\f04e";\n}\n\n.fa-fast-forward:before {\n content: "\\f050";\n}\n\n.fa-step-forward:before {\n content: "\\f051";\n}\n\n.fa-eject:before {\n content: "\\f052";\n}\n\n.fa-chevron-left:before {\n content: "\\f053";\n}\n\n.fa-chevron-right:before {\n content: "\\f054";\n}\n\n.fa-plus-circle:before {\n content: "\\f055";\n}\n\n.fa-minus-circle:before {\n content: "\\f056";\n}\n\n.fa-times-circle:before {\n content: "\\f057";\n}\n\n.fa-check-circle:before {\n content: "\\f058";\n}\n\n.fa-question-circle:before {\n content: "\\f059";\n}\n\n.fa-info-circle:before {\n content: "\\f05a";\n}\n\n.fa-crosshairs:before {\n content: "\\f05b";\n}\n\n.fa-times-circle-o:before {\n content: "\\f05c";\n}\n\n.fa-check-circle-o:before {\n content: "\\f05d";\n}\n\n.fa-ban:before {\n content: "\\f05e";\n}\n\n.fa-arrow-left:before {\n content: "\\f060";\n}\n\n.fa-arrow-right:before {\n content: "\\f061";\n}\n\n.fa-arrow-up:before {\n content: "\\f062";\n}\n\n.fa-arrow-down:before {\n content: "\\f063";\n}\n\n.fa-mail-forward:before,\n.fa-share:before {\n content: "\\f064";\n}\n\n.fa-expand:before {\n content: "\\f065";\n}\n\n.fa-compress:before {\n content: "\\f066";\n}\n\n.fa-plus:before {\n content: "\\f067";\n}\n\n.fa-minus:before {\n content: "\\f068";\n}\n\n.fa-asterisk:before {\n content: "\\f069";\n}\n\n.fa-exclamation-circle:before {\n content: "\\f06a";\n}\n\n.fa-gift:before {\n content: "\\f06b";\n}\n\n.fa-leaf:before {\n content: "\\f06c";\n}\n\n.fa-fire:before {\n content: "\\f06d";\n}\n\n.fa-eye:before {\n content: "\\f06e";\n}\n\n.fa-eye-slash:before {\n content: "\\f070";\n}\n\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: "\\f071";\n}\n\n.fa-plane:before {\n content: "\\f072";\n}\n\n.fa-calendar:before {\n content: "\\f073";\n}\n\n.fa-random:before {\n content: "\\f074";\n}\n\n.fa-comment:before {\n content: "\\f075";\n}\n\n.fa-magnet:before {\n content: "\\f076";\n}\n\n.fa-chevron-up:before {\n content: "\\f077";\n}\n\n.fa-chevron-down:before {\n content: "\\f078";\n}\n\n.fa-retweet:before {\n content: "\\f079";\n}\n\n.fa-shopping-cart:before {\n content: "\\f07a";\n}\n\n.fa-folder:before {\n content: "\\f07b";\n}\n\n.fa-folder-open:before {\n content: "\\f07c";\n}\n\n.fa-arrows-v:before {\n content: "\\f07d";\n}\n\n.fa-arrows-h:before {\n content: "\\f07e";\n}\n\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: "\\f080";\n}\n\n.fa-twitter-square:before {\n content: "\\f081";\n}\n\n.fa-facebook-square:before {\n content: "\\f082";\n}\n\n.fa-camera-retro:before {\n content: "\\f083";\n}\n\n.fa-key:before {\n content: "\\f084";\n}\n\n.fa-gears:before,\n.fa-cogs:before {\n content: "\\f085";\n}\n\n.fa-comments:before {\n content: "\\f086";\n}\n\n.fa-thumbs-o-up:before {\n content: "\\f087";\n}\n\n.fa-thumbs-o-down:before {\n content: "\\f088";\n}\n\n.fa-star-half:before {\n content: "\\f089";\n}\n\n.fa-heart-o:before {\n content: "\\f08a";\n}\n\n.fa-sign-out:before {\n content: "\\f08b";\n}\n\n.fa-linkedin-square:before {\n content: "\\f08c";\n}\n\n.fa-thumb-tack:before {\n content: "\\f08d";\n}\n\n.fa-external-link:before {\n content: "\\f08e";\n}\n\n.fa-sign-in:before {\n content: "\\f090";\n}\n\n.fa-trophy:before {\n content: "\\f091";\n}\n\n.fa-github-square:before {\n content: "\\f092";\n}\n\n.fa-upload:before {\n content: "\\f093";\n}\n\n.fa-lemon-o:before {\n content: "\\f094";\n}\n\n.fa-phone:before {\n content: "\\f095";\n}\n\n.fa-square-o:before {\n content: "\\f096";\n}\n\n.fa-bookmark-o:before {\n content: "\\f097";\n}\n\n.fa-phone-square:before {\n content: "\\f098";\n}\n\n.fa-twitter:before {\n content: "\\f099";\n}\n\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: "\\f09a";\n}\n\n.fa-github:before {\n content: "\\f09b";\n}\n\n.fa-unlock:before {\n content: "\\f09c";\n}\n\n.fa-credit-card:before {\n content: "\\f09d";\n}\n\n.fa-feed:before,\n.fa-rss:before {\n content: "\\f09e";\n}\n\n.fa-hdd-o:before {\n content: "\\f0a0";\n}\n\n.fa-bullhorn:before {\n content: "\\f0a1";\n}\n\n.fa-bell:before {\n content: "\\f0f3";\n}\n\n.fa-certificate:before {\n content: "\\f0a3";\n}\n\n.fa-hand-o-right:before {\n content: "\\f0a4";\n}\n\n.fa-hand-o-left:before {\n content: "\\f0a5";\n}\n\n.fa-hand-o-up:before {\n content: "\\f0a6";\n}\n\n.fa-hand-o-down:before {\n content: "\\f0a7";\n}\n\n.fa-arrow-circle-left:before {\n content: "\\f0a8";\n}\n\n.fa-arrow-circle-right:before {\n content: "\\f0a9";\n}\n\n.fa-arrow-circle-up:before {\n content: "\\f0aa";\n}\n\n.fa-arrow-circle-down:before {\n content: "\\f0ab";\n}\n\n.fa-globe:before {\n content: "\\f0ac";\n}\n\n.fa-wrench:before {\n content: "\\f0ad";\n}\n\n.fa-tasks:before {\n content: "\\f0ae";\n}\n\n.fa-filter:before {\n content: "\\f0b0";\n}\n\n.fa-briefcase:before {\n content: "\\f0b1";\n}\n\n.fa-arrows-alt:before {\n content: "\\f0b2";\n}\n\n.fa-group:before,\n.fa-users:before {\n content: "\\f0c0";\n}\n\n.fa-chain:before,\n.fa-link:before {\n content: "\\f0c1";\n}\n\n.fa-cloud:before {\n content: "\\f0c2";\n}\n\n.fa-flask:before {\n content: "\\f0c3";\n}\n\n.fa-cut:before,\n.fa-scissors:before {\n content: "\\f0c4";\n}\n\n.fa-copy:before,\n.fa-files-o:before {\n content: "\\f0c5";\n}\n\n.fa-paperclip:before {\n content: "\\f0c6";\n}\n\n.fa-save:before,\n.fa-floppy-o:before {\n content: "\\f0c7";\n}\n\n.fa-square:before {\n content: "\\f0c8";\n}\n\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: "\\f0c9";\n}\n\n.fa-list-ul:before {\n content: "\\f0ca";\n}\n\n.fa-list-ol:before {\n content: "\\f0cb";\n}\n\n.fa-strikethrough:before {\n content: "\\f0cc";\n}\n\n.fa-underline:before {\n content: "\\f0cd";\n}\n\n.fa-table:before {\n content: "\\f0ce";\n}\n\n.fa-magic:before {\n content: "\\f0d0";\n}\n\n.fa-truck:before {\n content: "\\f0d1";\n}\n\n.fa-pinterest:before {\n content: "\\f0d2";\n}\n\n.fa-pinterest-square:before {\n content: "\\f0d3";\n}\n\n.fa-google-plus-square:before {\n content: "\\f0d4";\n}\n\n.fa-google-plus:before {\n content: "\\f0d5";\n}\n\n.fa-money:before {\n content: "\\f0d6";\n}\n\n.fa-caret-down:before {\n content: "\\f0d7";\n}\n\n.fa-caret-up:before {\n content: "\\f0d8";\n}\n\n.fa-caret-left:before {\n content: "\\f0d9";\n}\n\n.fa-caret-right:before {\n content: "\\f0da";\n}\n\n.fa-columns:before {\n content: "\\f0db";\n}\n\n.fa-unsorted:before,\n.fa-sort:before {\n content: "\\f0dc";\n}\n\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: "\\f0dd";\n}\n\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: "\\f0de";\n}\n\n.fa-envelope:before {\n content: "\\f0e0";\n}\n\n.fa-linkedin:before {\n content: "\\f0e1";\n}\n\n.fa-rotate-left:before,\n.fa-undo:before {\n content: "\\f0e2";\n}\n\n.fa-legal:before,\n.fa-gavel:before {\n content: "\\f0e3";\n}\n\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: "\\f0e4";\n}\n\n.fa-comment-o:before {\n content: "\\f0e5";\n}\n\n.fa-comments-o:before {\n content: "\\f0e6";\n}\n\n.fa-flash:before,\n.fa-bolt:before {\n content: "\\f0e7";\n}\n\n.fa-sitemap:before {\n content: "\\f0e8";\n}\n\n.fa-umbrella:before {\n content: "\\f0e9";\n}\n\n.fa-paste:before,\n.fa-clipboard:before {\n content: "\\f0ea";\n}\n\n.fa-lightbulb-o:before {\n content: "\\f0eb";\n}\n\n.fa-exchange:before {\n content: "\\f0ec";\n}\n\n.fa-cloud-download:before {\n content: "\\f0ed";\n}\n\n.fa-cloud-upload:before {\n content: "\\f0ee";\n}\n\n.fa-user-md:before {\n content: "\\f0f0";\n}\n\n.fa-stethoscope:before {\n content: "\\f0f1";\n}\n\n.fa-suitcase:before {\n content: "\\f0f2";\n}\n\n.fa-bell-o:before {\n content: "\\f0a2";\n}\n\n.fa-coffee:before {\n content: "\\f0f4";\n}\n\n.fa-cutlery:before {\n content: "\\f0f5";\n}\n\n.fa-file-text-o:before {\n content: "\\f0f6";\n}\n\n.fa-building-o:before {\n content: "\\f0f7";\n}\n\n.fa-hospital-o:before {\n content: "\\f0f8";\n}\n\n.fa-ambulance:before {\n content: "\\f0f9";\n}\n\n.fa-medkit:before {\n content: "\\f0fa";\n}\n\n.fa-fighter-jet:before {\n content: "\\f0fb";\n}\n\n.fa-beer:before {\n content: "\\f0fc";\n}\n\n.fa-h-square:before {\n content: "\\f0fd";\n}\n\n.fa-plus-square:before {\n content: "\\f0fe";\n}\n\n.fa-angle-double-left:before {\n content: "\\f100";\n}\n\n.fa-angle-double-right:before {\n content: "\\f101";\n}\n\n.fa-angle-double-up:before {\n content: "\\f102";\n}\n\n.fa-angle-double-down:before {\n content: "\\f103";\n}\n\n.fa-angle-left:before {\n content: "\\f104";\n}\n\n.fa-angle-right:before {\n content: "\\f105";\n}\n\n.fa-angle-up:before {\n content: "\\f106";\n}\n\n.fa-angle-down:before {\n content: "\\f107";\n}\n\n.fa-desktop:before {\n content: "\\f108";\n}\n\n.fa-laptop:before {\n content: "\\f109";\n}\n\n.fa-tablet:before {\n content: "\\f10a";\n}\n\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: "\\f10b";\n}\n\n.fa-circle-o:before {\n content: "\\f10c";\n}\n\n.fa-quote-left:before {\n content: "\\f10d";\n}\n\n.fa-quote-right:before {\n content: "\\f10e";\n}\n\n.fa-spinner:before {\n content: "\\f110";\n}\n\n.fa-circle:before {\n content: "\\f111";\n}\n\n.fa-mail-reply:before,\n.fa-reply:before {\n content: "\\f112";\n}\n\n.fa-github-alt:before {\n content: "\\f113";\n}\n\n.fa-folder-o:before {\n content: "\\f114";\n}\n\n.fa-folder-open-o:before {\n content: "\\f115";\n}\n\n.fa-smile-o:before {\n content: "\\f118";\n}\n\n.fa-frown-o:before {\n content: "\\f119";\n}\n\n.fa-meh-o:before {\n content: "\\f11a";\n}\n\n.fa-gamepad:before {\n content: "\\f11b";\n}\n\n.fa-keyboard-o:before {\n content: "\\f11c";\n}\n\n.fa-flag-o:before {\n content: "\\f11d";\n}\n\n.fa-flag-checkered:before {\n content: "\\f11e";\n}\n\n.fa-terminal:before {\n content: "\\f120";\n}\n\n.fa-code:before {\n content: "\\f121";\n}\n\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: "\\f122";\n}\n\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: "\\f123";\n}\n\n.fa-location-arrow:before {\n content: "\\f124";\n}\n\n.fa-crop:before {\n content: "\\f125";\n}\n\n.fa-code-fork:before {\n content: "\\f126";\n}\n\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: "\\f127";\n}\n\n.fa-question:before {\n content: "\\f128";\n}\n\n.fa-info:before {\n content: "\\f129";\n}\n\n.fa-exclamation:before {\n content: "\\f12a";\n}\n\n.fa-superscript:before {\n content: "\\f12b";\n}\n\n.fa-subscript:before {\n content: "\\f12c";\n}\n\n.fa-eraser:before {\n content: "\\f12d";\n}\n\n.fa-puzzle-piece:before {\n content: "\\f12e";\n}\n\n.fa-microphone:before {\n content: "\\f130";\n}\n\n.fa-microphone-slash:before {\n content: "\\f131";\n}\n\n.fa-shield:before {\n content: "\\f132";\n}\n\n.fa-calendar-o:before {\n content: "\\f133";\n}\n\n.fa-fire-extinguisher:before {\n content: "\\f134";\n}\n\n.fa-rocket:before {\n content: "\\f135";\n}\n\n.fa-maxcdn:before {\n content: "\\f136";\n}\n\n.fa-chevron-circle-left:before {\n content: "\\f137";\n}\n\n.fa-chevron-circle-right:before {\n content: "\\f138";\n}\n\n.fa-chevron-circle-up:before {\n content: "\\f139";\n}\n\n.fa-chevron-circle-down:before {\n content: "\\f13a";\n}\n\n.fa-html5:before {\n content: "\\f13b";\n}\n\n.fa-css3:before {\n content: "\\f13c";\n}\n\n.fa-anchor:before {\n content: "\\f13d";\n}\n\n.fa-unlock-alt:before {\n content: "\\f13e";\n}\n\n.fa-bullseye:before {\n content: "\\f140";\n}\n\n.fa-ellipsis-h:before {\n content: "\\f141";\n}\n\n.fa-ellipsis-v:before {\n content: "\\f142";\n}\n\n.fa-rss-square:before {\n content: "\\f143";\n}\n\n.fa-play-circle:before {\n content: "\\f144";\n}\n\n.fa-ticket:before {\n content: "\\f145";\n}\n\n.fa-minus-square:before {\n content: "\\f146";\n}\n\n.fa-minus-square-o:before {\n content: "\\f147";\n}\n\n.fa-level-up:before {\n content: "\\f148";\n}\n\n.fa-level-down:before {\n content: "\\f149";\n}\n\n.fa-check-square:before {\n content: "\\f14a";\n}\n\n.fa-pencil-square:before {\n content: "\\f14b";\n}\n\n.fa-external-link-square:before {\n content: "\\f14c";\n}\n\n.fa-share-square:before {\n content: "\\f14d";\n}\n\n.fa-compass:before {\n content: "\\f14e";\n}\n\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: "\\f150";\n}\n\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: "\\f151";\n}\n\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: "\\f152";\n}\n\n.fa-euro:before,\n.fa-eur:before {\n content: "\\f153";\n}\n\n.fa-gbp:before {\n content: "\\f154";\n}\n\n.fa-dollar:before,\n.fa-usd:before {\n content: "\\f155";\n}\n\n.fa-rupee:before,\n.fa-inr:before {\n content: "\\f156";\n}\n\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: "\\f157";\n}\n\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: "\\f158";\n}\n\n.fa-won:before,\n.fa-krw:before {\n content: "\\f159";\n}\n\n.fa-bitcoin:before,\n.fa-btc:before {\n content: "\\f15a";\n}\n\n.fa-file:before {\n content: "\\f15b";\n}\n\n.fa-file-text:before {\n content: "\\f15c";\n}\n\n.fa-sort-alpha-asc:before {\n content: "\\f15d";\n}\n\n.fa-sort-alpha-desc:before {\n content: "\\f15e";\n}\n\n.fa-sort-amount-asc:before {\n content: "\\f160";\n}\n\n.fa-sort-amount-desc:before {\n content: "\\f161";\n}\n\n.fa-sort-numeric-asc:before {\n content: "\\f162";\n}\n\n.fa-sort-numeric-desc:before {\n content: "\\f163";\n}\n\n.fa-thumbs-up:before {\n content: "\\f164";\n}\n\n.fa-thumbs-down:before {\n content: "\\f165";\n}\n\n.fa-youtube-square:before {\n content: "\\f166";\n}\n\n.fa-youtube:before {\n content: "\\f167";\n}\n\n.fa-xing:before {\n content: "\\f168";\n}\n\n.fa-xing-square:before {\n content: "\\f169";\n}\n\n.fa-youtube-play:before {\n content: "\\f16a";\n}\n\n.fa-dropbox:before {\n content: "\\f16b";\n}\n\n.fa-stack-overflow:before {\n content: "\\f16c";\n}\n\n.fa-instagram:before {\n content: "\\f16d";\n}\n\n.fa-flickr:before {\n content: "\\f16e";\n}\n\n.fa-adn:before {\n content: "\\f170";\n}\n\n.fa-bitbucket:before {\n content: "\\f171";\n}\n\n.fa-bitbucket-square:before {\n content: "\\f172";\n}\n\n.fa-tumblr:before {\n content: "\\f173";\n}\n\n.fa-tumblr-square:before {\n content: "\\f174";\n}\n\n.fa-long-arrow-down:before {\n content: "\\f175";\n}\n\n.fa-long-arrow-up:before {\n content: "\\f176";\n}\n\n.fa-long-arrow-left:before {\n content: "\\f177";\n}\n\n.fa-long-arrow-right:before {\n content: "\\f178";\n}\n\n.fa-apple:before {\n content: "\\f179";\n}\n\n.fa-windows:before {\n content: "\\f17a";\n}\n\n.fa-android:before {\n content: "\\f17b";\n}\n\n.fa-linux:before {\n content: "\\f17c";\n}\n\n.fa-dribbble:before {\n content: "\\f17d";\n}\n\n.fa-skype:before {\n content: "\\f17e";\n}\n\n.fa-foursquare:before {\n content: "\\f180";\n}\n\n.fa-trello:before {\n content: "\\f181";\n}\n\n.fa-female:before {\n content: "\\f182";\n}\n\n.fa-male:before {\n content: "\\f183";\n}\n\n.fa-gittip:before,\n.fa-gratipay:before {\n content: "\\f184";\n}\n\n.fa-sun-o:before {\n content: "\\f185";\n}\n\n.fa-moon-o:before {\n content: "\\f186";\n}\n\n.fa-archive:before {\n content: "\\f187";\n}\n\n.fa-bug:before {\n content: "\\f188";\n}\n\n.fa-vk:before {\n content: "\\f189";\n}\n\n.fa-weibo:before {\n content: "\\f18a";\n}\n\n.fa-renren:before {\n content: "\\f18b";\n}\n\n.fa-pagelines:before {\n content: "\\f18c";\n}\n\n.fa-stack-exchange:before {\n content: "\\f18d";\n}\n\n.fa-arrow-circle-o-right:before {\n content: "\\f18e";\n}\n\n.fa-arrow-circle-o-left:before {\n content: "\\f190";\n}\n\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: "\\f191";\n}\n\n.fa-dot-circle-o:before {\n content: "\\f192";\n}\n\n.fa-wheelchair:before {\n content: "\\f193";\n}\n\n.fa-vimeo-square:before {\n content: "\\f194";\n}\n\n.fa-turkish-lira:before,\n.fa-try:before {\n content: "\\f195";\n}\n\n.fa-plus-square-o:before {\n content: "\\f196";\n}\n\n.fa-space-shuttle:before {\n content: "\\f197";\n}\n\n.fa-slack:before {\n content: "\\f198";\n}\n\n.fa-envelope-square:before {\n content: "\\f199";\n}\n\n.fa-wordpress:before {\n content: "\\f19a";\n}\n\n.fa-openid:before {\n content: "\\f19b";\n}\n\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: "\\f19c";\n}\n\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: "\\f19d";\n}\n\n.fa-yahoo:before {\n content: "\\f19e";\n}\n\n.fa-google:before {\n content: "\\f1a0";\n}\n\n.fa-reddit:before {\n content: "\\f1a1";\n}\n\n.fa-reddit-square:before {\n content: "\\f1a2";\n}\n\n.fa-stumbleupon-circle:before {\n content: "\\f1a3";\n}\n\n.fa-stumbleupon:before {\n content: "\\f1a4";\n}\n\n.fa-delicious:before {\n content: "\\f1a5";\n}\n\n.fa-digg:before {\n content: "\\f1a6";\n}\n\n.fa-pied-piper:before {\n content: "\\f1a7";\n}\n\n.fa-pied-piper-alt:before {\n content: "\\f1a8";\n}\n\n.fa-drupal:before {\n content: "\\f1a9";\n}\n\n.fa-joomla:before {\n content: "\\f1aa";\n}\n\n.fa-language:before {\n content: "\\f1ab";\n}\n\n.fa-fax:before {\n content: "\\f1ac";\n}\n\n.fa-building:before {\n content: "\\f1ad";\n}\n\n.fa-child:before {\n content: "\\f1ae";\n}\n\n.fa-paw:before {\n content: "\\f1b0";\n}\n\n.fa-spoon:before {\n content: "\\f1b1";\n}\n\n.fa-cube:before {\n content: "\\f1b2";\n}\n\n.fa-cubes:before {\n content: "\\f1b3";\n}\n\n.fa-behance:before {\n content: "\\f1b4";\n}\n\n.fa-behance-square:before {\n content: "\\f1b5";\n}\n\n.fa-steam:before {\n content: "\\f1b6";\n}\n\n.fa-steam-square:before {\n content: "\\f1b7";\n}\n\n.fa-recycle:before {\n content: "\\f1b8";\n}\n\n.fa-automobile:before,\n.fa-car:before {\n content: "\\f1b9";\n}\n\n.fa-cab:before,\n.fa-taxi:before {\n content: "\\f1ba";\n}\n\n.fa-tree:before {\n content: "\\f1bb";\n}\n\n.fa-spotify:before {\n content: "\\f1bc";\n}\n\n.fa-deviantart:before {\n content: "\\f1bd";\n}\n\n.fa-soundcloud:before {\n content: "\\f1be";\n}\n\n.fa-database:before {\n content: "\\f1c0";\n}\n\n.fa-file-pdf-o:before {\n content: "\\f1c1";\n}\n\n.fa-file-word-o:before {\n content: "\\f1c2";\n}\n\n.fa-file-excel-o:before {\n content: "\\f1c3";\n}\n\n.fa-file-powerpoint-o:before {\n content: "\\f1c4";\n}\n\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: "\\f1c5";\n}\n\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: "\\f1c6";\n}\n\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: "\\f1c7";\n}\n\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: "\\f1c8";\n}\n\n.fa-file-code-o:before {\n content: "\\f1c9";\n}\n\n.fa-vine:before {\n content: "\\f1ca";\n}\n\n.fa-codepen:before {\n content: "\\f1cb";\n}\n\n.fa-jsfiddle:before {\n content: "\\f1cc";\n}\n\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: "\\f1cd";\n}\n\n.fa-circle-o-notch:before {\n content: "\\f1ce";\n}\n\n.fa-ra:before,\n.fa-rebel:before {\n content: "\\f1d0";\n}\n\n.fa-ge:before,\n.fa-empire:before {\n content: "\\f1d1";\n}\n\n.fa-git-square:before {\n content: "\\f1d2";\n}\n\n.fa-git:before {\n content: "\\f1d3";\n}\n\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: "\\f1d4";\n}\n\n.fa-tencent-weibo:before {\n content: "\\f1d5";\n}\n\n.fa-qq:before {\n content: "\\f1d6";\n}\n\n.fa-wechat:before,\n.fa-weixin:before {\n content: "\\f1d7";\n}\n\n.fa-send:before,\n.fa-paper-plane:before {\n content: "\\f1d8";\n}\n\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: "\\f1d9";\n}\n\n.fa-history:before {\n content: "\\f1da";\n}\n\n.fa-circle-thin:before {\n content: "\\f1db";\n}\n\n.fa-header:before {\n content: "\\f1dc";\n}\n\n.fa-paragraph:before {\n content: "\\f1dd";\n}\n\n.fa-sliders:before {\n content: "\\f1de";\n}\n\n.fa-share-alt:before {\n content: "\\f1e0";\n}\n\n.fa-share-alt-square:before {\n content: "\\f1e1";\n}\n\n.fa-bomb:before {\n content: "\\f1e2";\n}\n\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: "\\f1e3";\n}\n\n.fa-tty:before {\n content: "\\f1e4";\n}\n\n.fa-binoculars:before {\n content: "\\f1e5";\n}\n\n.fa-plug:before {\n content: "\\f1e6";\n}\n\n.fa-slideshare:before {\n content: "\\f1e7";\n}\n\n.fa-twitch:before {\n content: "\\f1e8";\n}\n\n.fa-yelp:before {\n content: "\\f1e9";\n}\n\n.fa-newspaper-o:before {\n content: "\\f1ea";\n}\n\n.fa-wifi:before {\n content: "\\f1eb";\n}\n\n.fa-calculator:before {\n content: "\\f1ec";\n}\n\n.fa-paypal:before {\n content: "\\f1ed";\n}\n\n.fa-google-wallet:before {\n content: "\\f1ee";\n}\n\n.fa-cc-visa:before {\n content: "\\f1f0";\n}\n\n.fa-cc-mastercard:before {\n content: "\\f1f1";\n}\n\n.fa-cc-discover:before {\n content: "\\f1f2";\n}\n\n.fa-cc-amex:before {\n content: "\\f1f3";\n}\n\n.fa-cc-paypal:before {\n content: "\\f1f4";\n}\n\n.fa-cc-stripe:before {\n content: "\\f1f5";\n}\n\n.fa-bell-slash:before {\n content: "\\f1f6";\n}\n\n.fa-bell-slash-o:before {\n content: "\\f1f7";\n}\n\n.fa-trash:before {\n content: "\\f1f8";\n}\n\n.fa-copyright:before {\n content: "\\f1f9";\n}\n\n.fa-at:before {\n content: "\\f1fa";\n}\n\n.fa-eyedropper:before {\n content: "\\f1fb";\n}\n\n.fa-paint-brush:before {\n content: "\\f1fc";\n}\n\n.fa-birthday-cake:before {\n content: "\\f1fd";\n}\n\n.fa-area-chart:before {\n content: "\\f1fe";\n}\n\n.fa-pie-chart:before {\n content: "\\f200";\n}\n\n.fa-line-chart:before {\n content: "\\f201";\n}\n\n.fa-lastfm:before {\n content: "\\f202";\n}\n\n.fa-lastfm-square:before {\n content: "\\f203";\n}\n\n.fa-toggle-off:before {\n content: "\\f204";\n}\n\n.fa-toggle-on:before {\n content: "\\f205";\n}\n\n.fa-bicycle:before {\n content: "\\f206";\n}\n\n.fa-bus:before {\n content: "\\f207";\n}\n\n.fa-ioxhost:before {\n content: "\\f208";\n}\n\n.fa-angellist:before {\n content: "\\f209";\n}\n\n.fa-cc:before {\n content: "\\f20a";\n}\n\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: "\\f20b";\n}\n\n.fa-meanpath:before {\n content: "\\f20c";\n}\n\n.fa-buysellads:before {\n content: "\\f20d";\n}\n\n.fa-connectdevelop:before {\n content: "\\f20e";\n}\n\n.fa-dashcube:before {\n content: "\\f210";\n}\n\n.fa-forumbee:before {\n content: "\\f211";\n}\n\n.fa-leanpub:before {\n content: "\\f212";\n}\n\n.fa-sellsy:before {\n content: "\\f213";\n}\n\n.fa-shirtsinbulk:before {\n content: "\\f214";\n}\n\n.fa-simplybuilt:before {\n content: "\\f215";\n}\n\n.fa-skyatlas:before {\n content: "\\f216";\n}\n\n.fa-cart-plus:before {\n content: "\\f217";\n}\n\n.fa-cart-arrow-down:before {\n content: "\\f218";\n}\n\n.fa-diamond:before {\n content: "\\f219";\n}\n\n.fa-ship:before {\n content: "\\f21a";\n}\n\n.fa-user-secret:before {\n content: "\\f21b";\n}\n\n.fa-motorcycle:before {\n content: "\\f21c";\n}\n\n.fa-street-view:before {\n content: "\\f21d";\n}\n\n.fa-heartbeat:before {\n content: "\\f21e";\n}\n\n.fa-venus:before {\n content: "\\f221";\n}\n\n.fa-mars:before {\n content: "\\f222";\n}\n\n.fa-mercury:before {\n content: "\\f223";\n}\n\n.fa-intersex:before,\n.fa-transgender:before {\n content: "\\f224";\n}\n\n.fa-transgender-alt:before {\n content: "\\f225";\n}\n\n.fa-venus-double:before {\n content: "\\f226";\n}\n\n.fa-mars-double:before {\n content: "\\f227";\n}\n\n.fa-venus-mars:before {\n content: "\\f228";\n}\n\n.fa-mars-stroke:before {\n content: "\\f229";\n}\n\n.fa-mars-stroke-v:before {\n content: "\\f22a";\n}\n\n.fa-mars-stroke-h:before {\n content: "\\f22b";\n}\n\n.fa-neuter:before {\n content: "\\f22c";\n}\n\n.fa-genderless:before {\n content: "\\f22d";\n}\n\n.fa-facebook-official:before {\n content: "\\f230";\n}\n\n.fa-pinterest-p:before {\n content: "\\f231";\n}\n\n.fa-whatsapp:before {\n content: "\\f232";\n}\n\n.fa-server:before {\n content: "\\f233";\n}\n\n.fa-user-plus:before {\n content: "\\f234";\n}\n\n.fa-user-times:before {\n content: "\\f235";\n}\n\n.fa-hotel:before,\n.fa-bed:before {\n content: "\\f236";\n}\n\n.fa-viacoin:before {\n content: "\\f237";\n}\n\n.fa-train:before {\n content: "\\f238";\n}\n\n.fa-subway:before {\n content: "\\f239";\n}\n\n.fa-medium:before {\n content: "\\f23a";\n}\n\n.fa-yc:before,\n.fa-y-combinator:before {\n content: "\\f23b";\n}\n\n.fa-optin-monster:before {\n content: "\\f23c";\n}\n\n.fa-opencart:before {\n content: "\\f23d";\n}\n\n.fa-expeditedssl:before {\n content: "\\f23e";\n}\n\n.fa-battery-4:before,\n.fa-battery-full:before {\n content: "\\f240";\n}\n\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: "\\f241";\n}\n\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: "\\f242";\n}\n\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: "\\f243";\n}\n\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: "\\f244";\n}\n\n.fa-mouse-pointer:before {\n content: "\\f245";\n}\n\n.fa-i-cursor:before {\n content: "\\f246";\n}\n\n.fa-object-group:before {\n content: "\\f247";\n}\n\n.fa-object-ungroup:before {\n content: "\\f248";\n}\n\n.fa-sticky-note:before {\n content: "\\f249";\n}\n\n.fa-sticky-note-o:before {\n content: "\\f24a";\n}\n\n.fa-cc-jcb:before {\n content: "\\f24b";\n}\n\n.fa-cc-diners-club:before {\n content: "\\f24c";\n}\n\n.fa-clone:before {\n content: "\\f24d";\n}\n\n.fa-balance-scale:before {\n content: "\\f24e";\n}\n\n.fa-hourglass-o:before {\n content: "\\f250";\n}\n\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: "\\f251";\n}\n\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: "\\f252";\n}\n\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: "\\f253";\n}\n\n.fa-hourglass:before {\n content: "\\f254";\n}\n\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: "\\f255";\n}\n\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: "\\f256";\n}\n\n.fa-hand-scissors-o:before {\n content: "\\f257";\n}\n\n.fa-hand-lizard-o:before {\n content: "\\f258";\n}\n\n.fa-hand-spock-o:before {\n content: "\\f259";\n}\n\n.fa-hand-pointer-o:before {\n content: "\\f25a";\n}\n\n.fa-hand-peace-o:before {\n content: "\\f25b";\n}\n\n.fa-trademark:before {\n content: "\\f25c";\n}\n\n.fa-registered:before {\n content: "\\f25d";\n}\n\n.fa-creative-commons:before {\n content: "\\f25e";\n}\n\n.fa-gg:before {\n content: "\\f260";\n}\n\n.fa-gg-circle:before {\n content: "\\f261";\n}\n\n.fa-tripadvisor:before {\n content: "\\f262";\n}\n\n.fa-odnoklassniki:before {\n content: "\\f263";\n}\n\n.fa-odnoklassniki-square:before {\n content: "\\f264";\n}\n\n.fa-get-pocket:before {\n content: "\\f265";\n}\n\n.fa-wikipedia-w:before {\n content: "\\f266";\n}\n\n.fa-safari:before {\n content: "\\f267";\n}\n\n.fa-chrome:before {\n content: "\\f268";\n}\n\n.fa-firefox:before {\n content: "\\f269";\n}\n\n.fa-opera:before {\n content: "\\f26a";\n}\n\n.fa-internet-explorer:before {\n content: "\\f26b";\n}\n\n.fa-tv:before,\n.fa-television:before {\n content: "\\f26c";\n}\n\n.fa-contao:before {\n content: "\\f26d";\n}\n\n.fa-500px:before {\n content: "\\f26e";\n}\n\n.fa-amazon:before {\n content: "\\f270";\n}\n\n.fa-calendar-plus-o:before {\n content: "\\f271";\n}\n\n.fa-calendar-minus-o:before {\n content: "\\f272";\n}\n\n.fa-calendar-times-o:before {\n content: "\\f273";\n}\n\n.fa-calendar-check-o:before {\n content: "\\f274";\n}\n\n.fa-industry:before {\n content: "\\f275";\n}\n\n.fa-map-pin:before {\n content: "\\f276";\n}\n\n.fa-map-signs:before {\n content: "\\f277";\n}\n\n.fa-map-o:before {\n content: "\\f278";\n}\n\n.fa-map:before {\n content: "\\f279";\n}\n\n.fa-commenting:before {\n content: "\\f27a";\n}\n\n.fa-commenting-o:before {\n content: "\\f27b";\n}\n\n.fa-houzz:before {\n content: "\\f27c";\n}\n\n.fa-vimeo:before {\n content: "\\f27d";\n}\n\n.fa-black-tie:before {\n content: "\\f27e";\n}\n\n.fa-fonticons:before {\n content: "\\f280";\n}\n',""]),v.locals={},n.exports=v},function(n,e,t){n.exports=t.p+"fonts/fontawesome-webfont.45c7372.eot"},function(n,e,t){n.exports=t.p+"fonts/fontawesome-webfont.45c7372.eot"},function(n,e,t){n.exports=t.p+"fonts/fontawesome-webfont.4b5a84a.woff2"},function(n,e,t){n.exports=t.p+"fonts/fontawesome-webfont.dfb02f8.woff"},function(n,e,t){n.exports=t.p+"fonts/fontawesome-webfont.7c87870.ttf"},function(n,e,t){n.exports=t.p+"img/fontawesome-webfont.f8c0645.svg"},function(n,e,t){"use strict";t(239)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,'.modal {\n transition: opacity .25s ease;\n left: 0;\n top: 0;\n}\nbody.modal-active {\n overflow-x: hidden;\n overflow-y: visible !important;\n}\n.bg-gray-900 {\n background-color: #1a202c;\n}\n.opacity-50 {\n opacity: .5;\n}\n.alert-modal__box {\n border-radius: 14px;\n background-color: #fff;\n color: #1a202c;\n border: 1px solid rgba(0, 0, 0, .1);\n position: relative;\n}\n.alert-modal__close {\n position: absolute;\n top: 10px;\n right: 12px;\n z-index: 60;\n}\nbody[theme_name="dark"] .alert-modal__box {\n background-color: #1c2230;\n color: #f4f4f4;\n border: 1px solid rgba(255, 255, 255, .12);\n}\n.alert-modal__title {\n line-height: 1.2;\n padding-right: 24px;\n}\n',""]),r.locals={},n.exports=r},,,function(n,e,t){"use strict";t(241)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".avatar-no-select[data-v-a243a8d2] {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.avatar-no-select[data-v-a243a8d2] * {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.avatar-image[data-v-a243a8d2] {\n display: inline-block;\n border-radius: 50%;\n object-fit: cover;\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){n.exports=t.p+"img/file_icon.ceb50eb.svg"},function(n,e,t){"use strict";t(242)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".previewDefault[data-v-80e6176c] {\n max-width: 10rem;\n}\n.imageOrientation[data-v-80e6176c] {\n image-orientation: from-image;\n}\n.preview[data-v-80e6176c] {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n user-select: none;\n -webkit-user-drag: none;\n}\n",""]),r.locals={},n.exports=r},,,,function(n,e){},,function(n,e){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,e){},,function(n,e){},function(n,e){},,,,,,function(n,e){},,,function(n,e){},,,,,,,,,,,,,,,,,,,,function(n,e){},,,,,,,,,,,,,,,,function(n,e){},,,function(n,e){},,,,function(n,e,t){"use strict";t(291)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,"/* KT-0174: все шрифты в списке чатов = размеру шрифта чата (--chat-font-size); цвет/форму не меняем.\r\n Базовый размер строки перебиваем text-sm через более специфичный селектор — тогда и «N new!»,\r\n и наследуемый текст подтянутся. */\n.user_row.text-sm {\n font-size: var(--chat-font-size, 1rem);\n}\n\n/* KT-0133: статус подтверждения контакта в списке + модалка */\n.contact-status {\n display: inline-block;\n /* KT-0174: размер как в чате (было 0.72rem); это и текст запроса, и кнопка «Подтвердить» */\n font-size: var(--chat-font-size, 1rem);\n padding: 2px 8px;\n border-radius: 9999px;\n line-height: 1.4;\n}\n.contact-status--confirm {\n background: #3490dc;\n color: #fff;\n}\n.contact-status--awaiting {\n /* KT-0177: в 2 раза менее прозрачным (альфа фона 0.18 → 0.36) */\n background: rgba(127, 127, 127, .36);\n color: #888;\n}\n.contact-status--declined {\n background: rgba(220, 80, 80, .16);\n color: #c0392b;\n}\n.contact-confirm-overlay {\n position: fixed;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 10000;\n background: rgba(0, 0, 0, .5);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 1rem;\n}\n.contact-confirm-box {\n width: 100%;\n max-width: 22rem;\n padding: 1.2rem;\n border-radius: 14px;\n}\n\n/* KT-0133: вторичная кнопка модалки (Отклонить/Отменить) — видна на тёмном фоне (цвет от темы) */\n.contact-modal-cancel {\n background: rgba(127, 127, 127, .22);\n color: inherit;\n border: 1px solid rgba(127, 127, 127, .45);\n}\n\n/* .btn_call {\r\n width: 32px;\r\n height: 32px;\r\n background-image: url('~assets/gfx/phone.svg');\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n} */\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(292)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".name[data-v-34f07768],\n.user_nickname[data-v-34f07768] {\n color: #fff;\n /* KT-0174: размер шрифта в списке = размеру шрифта чата (--chat-font-size). Цвет/тень-контраст\n и начертание не меняем — только размер. */\n font-size: var(--chat-font-size, 1rem);\n text-shadow: 0 1px 2px rgba(0, 0, 0, .95), 0 -1px 2px rgba(0, 0, 0, .85), 1px 0 2px rgba(0, 0, 0, .85), -1px 0 2px rgba(0, 0, 0, .85);\n}\n.name[data-v-34f07768] {\n font-weight: 500;\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(293)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,"/* KT-0076: шрифт строки ввода ВЫРОВНЕН со шрифтом сообщений (text-lg = 1.125rem/18px).\n Размер вынесен в одну переменную --cnm-font-size (на будущее — под настройку размера шрифта).\n Высоту в покое (1 строка + зазоры) считает autoGrow() от шрифта и паддингов input-control.\n Радиус поля = радиусу шарика отправки (оба в em от шрифта) — левый край совпадает с шариком.\n Фон/цвета не трогаем (BACKGROUND_RULES). */\n.cnm-text[data-v-604dabac] {\n font-size: 1em;\n line-height: 1.35;\n /* KT-0082b: вертикальный паддинг в em (а не фикс px от input-control .py-2) — вся строка\n масштабируется со шрифтом, поэтому «шарик» (тоже em) всегда вписан в высоту и при мелком\n шрифте. Высоту по строкам считает autoGrow() от scrollHeight. */\n padding-top: .42em;\n padding-bottom: .42em;\n border-radius: calc(var(--cnm-ball, 1.7em) / 2);\n overflow-y: hidden;\n}\n\n/* Меню источника файла на скрепке (Галерея/Камера/Видео/Файл) — открывается ВВЕРХ */\n\n/* KT-0076b: скрепка слева вне поля — только иконка (без синей плашки), цвет — акцент #3490dc\n (виден и на тёмной, и на светлой теме). Ряд прижат по низу (items-end). */\n.cnm-attach-wrap[data-v-604dabac] {\n position: relative;\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n}\n.cnm-attach-icon[data-v-604dabac] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 .4rem;\n /* KT-0082b: скрепка масштабируется со шрифтом чата (как и строка) — иначе при мелком\n шрифте фикс-высота делала её выше строки. */\n font-size: var(--chat-font-size, 1.125rem);\n height: 2.2em;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n.cnm-attach-icon svg[data-v-604dabac] {\n width: 1.5em;\n height: 1.5em;\n}\n\n/* KT-0076b: обёртка поля ввода — относительная, чтобы кнопка отправки легла внутрь справа.\n font-size здесь задаёт --cnm-font-size → и текст, и шарик (em) считаются от одного размера. */\n.cnm-input-wrap[data-v-604dabac] {\n position: relative;\n display: flex;\n flex-direction: column;\n /* KT-0167: min-width:0 — длинная цитата ответа (nowrap) не должна раздувать обёртку по ширине\n контента, иначе абсолютный «шарик» справа уезжает за границу и пропадает. */\n min-width: 0;\n font-size: var(--chat-font-size, 1.125rem);\n --cnm-ball: 1.7em;\n}\n\n/* KT-0166: шапка режима редактирования — над полем, добавляет высоту строки.\n Заголовок цвета скрепки (#3490dc), на 25% меньше шрифта сообщения; крестик белый. */\n.cnm-edit-header[data-v-604dabac] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: .15em .6em .2em .2em;\n}\n.cnm-edit-title[data-v-604dabac] {\n color: #3490dc;\n font-size: .75em;\n font-weight: 600;\n line-height: 1.2;\n}\n.cnm-edit-cancel[data-v-604dabac] {\n color: #fff;\n background: transparent;\n border: 0;\n padding: 0 .2em;\n font-size: 1.1em;\n line-height: 1;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n\n/* KT-0200: полоса миниатюр вложений — заголовок строки ввода (над textarea, ниже шапки ответа).\n На каждой миниатюре контрастный «×» (тёмный кружок, белый крестик) для удаления файла. */\n.cnm-thumbs[data-v-604dabac] {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n padding: 6px 2px 4px;\n}\n.cnm-thumb[data-v-604dabac] {\n position: relative;\n width: 3.2em;\n height: 3.2em;\n border-radius: 8px;\n overflow: hidden;\n background: rgba(127, 127, 127, .18);\n flex: 0 0 auto;\n}\n.cnm-thumb__img[data-v-604dabac] {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n.cnm-thumb__file[data-v-604dabac] {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 2px;\n box-sizing: border-box;\n}\n.cnm-thumb__name[data-v-604dabac] {\n font-size: .55em;\n color: inherit;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.cnm-thumb__x[data-v-604dabac] {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 1.15em;\n height: 1.15em;\n border: 0;\n border-radius: 50%;\n background: rgba(0, 0, 0, .72);\n color: #fff;\n font-size: .8em;\n line-height: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n.cnm-thumb__x[data-v-604dabac]:active {\n background: rgba(0, 0, 0, .9);\n}\n\n/* KT-0167: 2 строки шапки ответа. Вторая строка (цитата) — серая, тоже 25% меньше шрифта. */\n.cnm-reply-header[data-v-604dabac] {\n align-items: flex-start;\n}\n.cnm-reply-lines[data-v-604dabac] {\n display: flex;\n flex-direction: column;\n min-width: 0;\n flex: 1;\n}\n.cnm-reply-quote[data-v-604dabac] {\n color: #9aa3ad;\n font-size: .75em;\n line-height: 1.2;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* KT-0076: «шарик» отправки вписан в высоту строки (2em ≈ высота одной строки шрифта),\n радиус = 1em — совпадает со скруглением левого края поля (.cnm-text border-radius:1em). */\n.cnm-send-btn[data-v-604dabac] {\n position: absolute;\n right: .35em;\n bottom: .25em;\n width: var(--cnm-ball, 1.7em);\n height: var(--cnm-ball, 1.7em);\n border-radius: 50%;\n background-color: #3490dc;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n z-index: 2;\n box-shadow: 0 1px 4px rgba(0, 0, 0, .25);\n -webkit-tap-highlight-color: transparent;\n}\n.cnm-send-btn[data-v-604dabac]:active {\n transform: scale(.92);\n}\n\n/* KT-0210: микрофон в покое — тот же круг, что и стрелка (белая иконка внутри). */\n.cnm-mic-btn--rec[data-v-604dabac] {\n background-color: #e3342f /* во время записи — красный */;\n transform: scale(1.05);\n}\n\n/* KT-0210: счётчик записи ПОВЕРХ поля (textarea остаётся в фокусе — клавиатура не закрывается).\n pointer-events:none — тапы уходят кнопке-микрофону; фон прозрачный (поле под ним пустое). */\n.cnm-rec-inline[data-v-604dabac] {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n gap: .5em;\n padding-top: .42em;\n padding-bottom: .42em;\n padding-left: .7em;\n padding-right: 2.6em;\n min-height: 1.35em;\n line-height: 1.35;\n color: #e3342f;\n font-weight: 600;\n pointer-events: none;\n z-index: 1;\n -webkit-user-select: none;\n user-select: none;\n}\n.cnm-rec-dot[data-v-604dabac] {\n width: .6em;\n height: .6em;\n border-radius: 50%;\n background: #e3342f;\n flex: 0 0 auto;\n animation: cnmRecPulse-604dabac 1s ease-in-out infinite;\n}\n.cnm-attach-backdrop[data-v-604dabac] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1400;\n}\n.cnm-attach-menu[data-v-604dabac] {\n position: absolute;\n left: 0;\n bottom: calc(100% + 8px);\n z-index: 1401;\n}\n@-moz-keyframes cnmRecPulse-604dabac {\n0%,\n 100% {\n opacity: 1;\n}\n50% {\n opacity: .25;\n}\n}\n@-webkit-keyframes cnmRecPulse-604dabac {\n0%,\n 100% {\n opacity: 1;\n}\n50% {\n opacity: .25;\n}\n}\n@-o-keyframes cnmRecPulse-604dabac {\n0%,\n 100% {\n opacity: 1;\n}\n50% {\n opacity: .25;\n}\n}\n@keyframes cnmRecPulse-604dabac {\n0%,\n 100% {\n opacity: 1;\n}\n50% {\n opacity: .25;\n}\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(294)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".chat-message-bottom[data-v-0d00c582] {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n user-select: none;\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(295)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".message-action-menu[data-v-01981017] {\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 5000;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n background: rgba(0, 0, 0, .35);\n -webkit-user-select: none;\n user-select: none;\n}\n.message-action-menu__panel[data-v-01981017] {\n position: relative;\n width: 92vw;\n padding: 18px 16px 14px;\n border-radius: 10px;\n background: rgba(20, 24, 28, .96);\n color: #fff;\n box-shadow: 0 12px 30px rgba(0, 0, 0, .42);\n}\n.message-action-menu__close[data-v-01981017] {\n position: absolute;\n top: 8px;\n right: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 30px;\n height: 30px;\n border: 0;\n border-radius: 50%;\n background: rgba(255, 255, 255, .16);\n color: #fff;\n font-size: 18px;\n line-height: 1;\n padding: 0;\n}\n.message-action-menu__title[data-v-01981017] {\n padding-right: 32px;\n font-size: 20px;\n font-weight: 700;\n}\n.message-action-menu__subtitle[data-v-01981017] {\n margin-top: 6px;\n color: rgba(255, 255, 255, .72);\n font-size: 14px;\n}\n.message-action-menu__reactions[data-v-01981017] {\n margin-top: 14px;\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n justify-content: space-between;\n}\n.message-action-menu__reaction[data-v-01981017] {\n flex: 1 1 auto;\n min-width: 44px;\n min-height: 44px;\n border: 0;\n border-radius: 8px;\n background: rgba(255, 255, 255, .1);\n font-size: 24px;\n line-height: 1;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n.message-action-menu__reaction--active[data-v-01981017] {\n background: #3490dc;\n}\n.message-action-menu__reaction[data-v-01981017]:active {\n filter: brightness(1.18);\n}\n.message-action-menu__actions[data-v-01981017] {\n margin-top: 14px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.message-action-menu__button[data-v-01981017] {\n width: 100%;\n min-height: 44px;\n border: 0;\n border-radius: 7px;\n background: #3498db;\n color: #07131d;\n font-size: 18px;\n font-weight: 700;\n}\n.message-action-menu__button[data-v-01981017]:active {\n filter: brightness(1.18);\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(296)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".msg-reactions[data-v-dc8c683c] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin: 2px 2px 0;\n}\n.msg-reactions--mine[data-v-dc8c683c] {\n justify-content: flex-end;\n}\n.msg-reactions__badge[data-v-dc8c683c] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 1px 7px;\n border: 0;\n border-radius: 999px;\n background: rgba(18, 22, 30, .55);\n color: #fff;\n font-size: .85rem;\n line-height: 1.5;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n.msg-reactions__badge--active[data-v-dc8c683c] {\n background: #3490dc;\n}\n.msg-reactions__emoji[data-v-dc8c683c] {\n font-size: .95rem;\n}\n.msg-reactions__count[data-v-dc8c683c] {\n font-weight: 600;\n min-width: .6em;\n text-align: center;\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(297)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".call-message__icon[data-v-150678ea] {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 8px 0 2px;\n}\n.call-message__icon svg[data-v-150678ea] {\n width: 30px;\n height: 30px;\n display: block;\n}\n.call-message__col[data-v-150678ea] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n min-width: 0;\n}\n.call-message__word[data-v-150678ea] {\n margin: 0;\n}\n.call-message__duration[data-v-150678ea] {\n margin-left: 6px;\n font-size: .8rem;\n opacity: .85;\n}\n.call-message__col[data-v-150678ea] .chat-message-bottom {\n margin: 0;\n}\n.call-message__col[data-v-150678ea] .chat-message-bottom > div {\n margin-left: 0;\n font-size: .6rem;\n}\n.chat-bubble[data-v-150678ea] {\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n.call-message-bubble[data-v-150678ea] {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n user-select: none;\n}\n.call-message__icon svg[data-v-150678ea] {\n transition: transform .1s ease, fill .1s ease;\n}\n.call-message__icon--pressed svg[data-v-150678ea] {\n transform: scale(1.18);\n filter: drop-shadow(0 0 3px rgba(37, 211, 102, .85));\n}\n",""]),r.locals={},n.exports=r},,function(n,e){},,function(n,e){},,,,,,,function(n,e,t){"use strict";t(304)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".image-viewer[data-v-3e7cb01c] {\n position: fixed;\n z-index: 9999;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(0, 0, 0, .94);\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n touch-action: none;\n user-select: none;\n}\n.image-viewer__image[data-v-3e7cb01c] {\n max-width: 96vw;\n max-height: 92vh;\n object-fit: contain;\n will-change: transform;\n transform-origin: center center;\n user-select: none;\n}\n.image-viewer__bar[data-v-3e7cb01c] {\n position: fixed;\n top: 12px;\n top: calc(env(safe-area-inset-top, 0px) + 12px);\n left: 12px;\n right: 12px;\n z-index: 10000;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n pointer-events: none;\n}\n.image-viewer__bar .chat-top-actions[data-v-3e7cb01c] {\n pointer-events: auto;\n background: rgba(18, 22, 30, .92);\n box-shadow: 0 2px 10px rgba(0, 0, 0, .45);\n}\n.image-viewer__menu-backdrop[data-v-3e7cb01c] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 10001;\n}\n.image-viewer__menu[data-v-3e7cb01c] {\n position: fixed;\n top: 3.6rem;\n top: calc(env(safe-area-inset-top, 0px) + 3.6rem);\n right: 12px;\n z-index: 10002;\n}\n\n/* KT-0196: палитра реакций в меню просмотрщика фото */\n.image-viewer__reactions[data-v-3e7cb01c] {\n display: flex;\n gap: 4px;\n padding: 4px 4px 6px;\n margin-bottom: 4px;\n border-bottom: 1px solid rgba(255, 255, 255, .12);\n}\n.image-viewer__reaction[data-v-3e7cb01c] {\n flex: 1 1 auto;\n min-width: 2.1rem;\n height: 2.1rem;\n border: 0;\n border-radius: 7px;\n background: rgba(255, 255, 255, .1);\n font-size: 1.25rem;\n line-height: 1;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n.image-viewer__reaction--active[data-v-3e7cb01c] {\n background: #3490dc;\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(305)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".file-viewer[data-v-bbd43018] {\n position: fixed;\n z-index: 9999;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(0, 0, 0, .94);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.file-viewer__bar[data-v-bbd43018] {\n position: fixed;\n top: calc(env(safe-area-inset-top, 0px) + 12px);\n left: 12px;\n right: 12px;\n z-index: 10000;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n pointer-events: none;\n}\n.file-viewer__bar .chat-top-actions[data-v-bbd43018] {\n flex: none;\n order: 2;\n pointer-events: auto;\n background: #12161e;\n border-radius: 9999px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, .55);\n}\n.file-viewer__title[data-v-bbd43018] {\n order: 1;\n flex: 1 1 auto;\n min-width: 0;\n color: rgba(255, 255, 255, .9);\n font-size: .85rem;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n pointer-events: none;\n text-shadow: 0 1px 3px rgba(0, 0, 0, .7);\n background: rgba(18, 22, 30, .7);\n padding: 2px 10px;\n border-radius: 8px;\n}\n.file-viewer__menu-backdrop[data-v-bbd43018] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 10001;\n}\n.file-viewer__menu[data-v-bbd43018] {\n position: fixed;\n top: calc(env(safe-area-inset-top, 0px) + 3.6rem);\n right: 12px;\n z-index: 10002;\n}\n.file-viewer__body[data-v-bbd43018] {\n position: absolute;\n left: 0;\n right: 0;\n top: calc(env(safe-area-inset-top, 0px) + 3.6rem);\n bottom: 0;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.file-viewer__center[data-v-bbd43018] {\n margin: auto;\n text-align: center;\n}\n.file-viewer__hint[data-v-bbd43018] {\n color: rgba(255, 255, 255, .85);\n padding: 1.5rem;\n}\n.file-viewer__fallback-btn[data-v-bbd43018] {\n margin-top: 1rem;\n background: #3490dc;\n color: #fff;\n border-radius: 8px;\n padding: .5rem 1.4rem;\n}\n.file-viewer__pdf-wrap[data-v-bbd43018] {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n touch-action: none;\n}\n.file-viewer__pdf[data-v-bbd43018] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n transform-origin: top center;\n will-change: transform;\n padding: 6px 0 24px 0;\n}\n.file-viewer__pdf-page[data-v-bbd43018] {\n background: #fff;\n margin: 6px auto;\n box-shadow: 0 2px 8px rgba(0, 0, 0, .5);\n max-width: 100%;\n}\n.file-viewer__media[data-v-bbd43018] {\n max-width: 96vw;\n max-height: 100%;\n margin: auto;\n object-fit: contain;\n}\n.file-viewer__audio[data-v-bbd43018] {\n margin: auto;\n width: 86vw;\n}\n.file-viewer__text[data-v-bbd43018] {\n color: #eee;\n background: rgba(255, 255, 255, .04);\n width: 96vw;\n margin: 8px auto;\n padding: 12px;\n border-radius: 8px;\n white-space: pre-wrap;\n word-break: break-word;\n font-size: .8rem;\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(306)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".chatmsg-feed-photo .preview {\n max-height: 320px;\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(307)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".chat-file-download-btn[data-v-3669b4ff] {\n width: 2.75rem;\n height: 2.75rem;\n margin: .5rem auto;\n border: 0;\n border-radius: 50%;\n background-color: #3490dc;\n box-shadow: 0 2px 8px rgba(0, 0, 0, .28);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n transition: transform .12s ease, filter .12s ease;\n}\n.chat-file-download-btn[data-v-3669b4ff]:active {\n transform: scale(.9);\n filter: brightness(.9);\n}\n.chat-file-clock-btn[data-v-3669b4ff] {\n width: 2.75rem;\n height: 2.75rem;\n margin: .5rem auto;\n border: 0;\n border-radius: 50%;\n background-color: #d97706;\n box-shadow: 0 2px 8px rgba(0, 0, 0, .28);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n transition: transform .12s ease, filter .12s ease;\n}\n.chat-file-clock-btn[data-v-3669b4ff]:active {\n transform: scale(.9);\n filter: brightness(.9);\n}\n.chat-file-expire-text[data-v-3669b4ff] {\n font-size: .8rem;\n line-height: 1.2;\n opacity: .92;\n}\n.chat-file-deleted-btn[data-v-3669b4ff] {\n width: 2.75rem;\n height: 2.75rem;\n margin: .5rem auto;\n border: 1px solid rgba(160, 174, 192, .5);\n border-radius: 50%;\n background-color: transparent;\n color: #a0aec0;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: default;\n -webkit-tap-highlight-color: transparent;\n}\n\n/* KT-0112/0113/0114: двойной контрол под карточкой не-фото файла */\n.file-action-row[data-v-3669b4ff] {\n position: relative;\n margin-top: 6px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n.cmf-audio-seek[data-v-3669b4ff] {\n position: relative;\n width: 7rem;\n height: 1.6rem;\n margin-right: .5rem;\n flex: 0 0 auto;\n cursor: pointer;\n touch-action: none;\n}\n.cmf-audio-seek[data-v-3669b4ff]:before {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n top: 50%;\n transform: translateY(-50%);\n height: 3px;\n border-radius: 2px;\n background: rgba(255, 255, 255, .28);\n}\n.cmf-audio-seek__fill[data-v-3669b4ff] {\n position: absolute;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n height: 3px;\n border-radius: 2px;\n background: #3490dc;\n}\n.cmf-audio-seek__ball[data-v-3669b4ff] {\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: .85rem;\n height: .85rem;\n border-radius: 50%;\n background: #3490dc;\n box-shadow: 0 1px 4px rgba(0, 0, 0, .4);\n}\n.chatfile-elevated[data-v-3669b4ff] {\n z-index: 5000;\n}\n.chatfile-menu[data-v-3669b4ff] {\n position: absolute;\n top: calc(2.5rem + 6px);\n right: 0;\n z-index: 3000;\n}\n\n/* KT-0196: палитра реакций в меню файла */\n.chatfile-menu__reactions[data-v-3669b4ff] {\n display: flex;\n gap: 4px;\n padding: 4px 4px 6px;\n margin-bottom: 4px;\n border-bottom: 1px solid rgba(255, 255, 255, .12);\n}\n.chatfile-menu__reaction[data-v-3669b4ff] {\n flex: 1 1 auto;\n min-width: 2.1rem;\n height: 2.1rem;\n border: 0;\n border-radius: 7px;\n background: rgba(255, 255, 255, .1);\n font-size: 1.25rem;\n line-height: 1;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n.chatfile-menu__reaction--active[data-v-3669b4ff] {\n background: #3490dc;\n}\n.chatfile-menu--up[data-v-3669b4ff] {\n top: auto;\n bottom: calc(2.5rem + 6px);\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(308)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".chat-message-row[data-v-13a6987e] {\n display: flex;\n align-items: flex-end;\n width: 100%;\n padding: 4px 8px;\n box-sizing: border-box;\n transition: transform .18s ease;\n}\n.chat-message-row--mine[data-v-13a6987e] {\n justify-content: flex-end;\n}\n.chat-message-row--other[data-v-13a6987e] {\n justify-content: flex-start;\n}\n.chat-message-avatar[data-v-13a6987e] {\n display: none !important;\n flex: 0 0 0;\n width: 0;\n height: 0;\n margin-right: 0;\n overflow: hidden;\n}\n.chat-message-row[data-v-13a6987e] .avatar-image,\n.chat-message-row[data-v-13a6987e] .vue-avatar--wrapper {\n display: none !important;\n}\n.chat-message-content[data-v-13a6987e] {\n display: flex;\n max-width: 78%;\n min-width: 0;\n}\n.messsage_common[data-v-13a6987e] {\n max-width: 100%;\n}\n@media (max-width: 420px) {\n.chat-message-content[data-v-13a6987e] {\n max-width: 82%;\n}\n}\n\n/* KT-0107: подсветка сообщения при переходе из результатов поиска / закреплённых.\n KT-0161: яркая вспышка, затем стойкий тон — держится до скролла или касания. */\n.chat-message--highlight[data-v-13a6987e] {\n animation: chat-msg-flash-13a6987e 1s ease;\n background-color: rgba(52, 144, 220, .24);\n border-radius: 8px;\n}\n\n/* KT-0061: режим мультивыбора — узкая левая полоса с кружком, контент сдвинут вправо */\n.chatmsg-root[data-v-13a6987e] {\n position: relative;\n}\n\n/* KT-0184: сдвиг в режиме выбора — ТРАНСФОРМОМ (GPU-move), НЕ padding-left. padding сужал строку →\n фото ужималось по ширине (меняло размер) и дрожало. transform двигает без переразметки — размер\n фото не меняется. Сдвигаем ТОЛЬКО левые (чужие) строки; правые (свои) не трогаем. */\n.chatmsg-root--select .chat-message-row--other[data-v-13a6987e] {\n transform: translateX(2.4rem);\n}\n.chatmsg-root--selected[data-v-13a6987e] {\n background-color: rgba(52, 144, 220, .14);\n border-radius: 8px;\n}\n.chatmsg-select-circle[data-v-13a6987e] {\n position: absolute;\n left: .6rem;\n top: 50%;\n transform: translateY(-50%);\n width: 1.4rem;\n height: 1.4rem;\n border-radius: 50%;\n border: 2px solid #8a97a8;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n}\n.chatmsg-select-circle.is-checked[data-v-13a6987e] {\n background: #3490dc;\n border-color: #3490dc;\n}\n@-moz-keyframes chat-msg-flash-13a6987e {\n0% {\n background-color: rgba(52, 144, 220, .6);\n}\n100% {\n background-color: rgba(52, 144, 220, .24);\n}\n}\n@-webkit-keyframes chat-msg-flash-13a6987e {\n0% {\n background-color: rgba(52, 144, 220, .6);\n}\n100% {\n background-color: rgba(52, 144, 220, .24);\n}\n}\n@-o-keyframes chat-msg-flash-13a6987e {\n0% {\n background-color: rgba(52, 144, 220, .6);\n}\n100% {\n background-color: rgba(52, 144, 220, .24);\n}\n}\n@keyframes chat-msg-flash-13a6987e {\n0% {\n background-color: rgba(52, 144, 220, .6);\n}\n100% {\n background-color: rgba(52, 144, 220, .24);\n}\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(309)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".chat-search[data-v-29c7e42b] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 1500;\n background: rgba(22, 26, 34, .98);\n box-shadow: 0 6px 20px rgba(0, 0, 0, .4);\n display: flex;\n flex-direction: column;\n max-height: 72%;\n}\n.chat-search__bar[data-v-29c7e42b] {\n display: flex;\n align-items: center;\n padding: 8px 10px;\n}\n.chat-search__input[data-v-29c7e42b] {\n flex: 1;\n min-width: 0;\n background: rgba(255, 255, 255, .1);\n border: 1px solid rgba(255, 255, 255, .18);\n border-radius: 10px;\n color: #fff;\n font-size: 1rem;\n padding: .5rem .75rem;\n outline: none;\n}\n.chat-search__input[data-v-29c7e42b]::placeholder {\n color: rgba(255, 255, 255, .5);\n}\n.chat-search__close[data-v-29c7e42b] {\n flex: 0 0 auto;\n width: 2.25rem;\n height: 2.25rem;\n margin-left: 6px;\n border: 0;\n border-radius: 50%;\n background: transparent;\n color: #cbd5e0;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.chat-search__results[data-v-29c7e42b] {\n overflow-y: auto;\n padding: 0 6px 8px;\n}\n.chat-search__item[data-v-29c7e42b] {\n width: 100%;\n text-align: left;\n background: transparent;\n border: 0;\n border-top: 1px solid rgba(255, 255, 255, .07);\n color: #e6eaf0;\n padding: .6rem .5rem;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n}\n.chat-search__item[data-v-29c7e42b]:hover {\n background: rgba(255, 255, 255, .05);\n}\n.chat-search__snippet[data-v-29c7e42b] {\n font-size: .92rem;\n line-height: 1.3;\n word-break: break-word;\n}\n.chat-search__snippet mark[data-v-29c7e42b] {\n background: #d97706;\n color: #fff;\n border-radius: 3px;\n padding: 0 2px;\n}\n.chat-search__date[data-v-29c7e42b] {\n font-size: .72rem;\n color: rgba(255, 255, 255, .45);\n margin-top: 2px;\n}\n.chat-search__empty[data-v-29c7e42b] {\n color: rgba(255, 255, 255, .6);\n text-align: center;\n padding: 1rem;\n}\n.chat-search__deeper[data-v-29c7e42b] {\n width: 100%;\n margin: 6px 0 2px;\n padding: .55rem;\n border: 0;\n border-radius: 10px;\n background: #3490dc;\n color: #fff;\n font-size: .9rem;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.chat-search__deeper--loading[data-v-29c7e42b] {\n background: rgba(52, 144, 220, .25);\n}\n.chat-search__spinner[data-v-29c7e42b] {\n width: 1rem;\n height: 1rem;\n margin-right: 8px;\n border-radius: 50%;\n border: 2px solid rgba(255, 255, 255, .4);\n border-top-color: #fff;\n display: inline-block;\n animation: chat-search-spin-29c7e42b .8s linear infinite;\n}\n.channel-readonly-note[data-v-29c7e42b] {\n text-align: center;\n padding: .7rem 1rem;\n color: rgba(255, 255, 255, .6);\n font-size: .9rem;\n}\n.chat-forward-select[data-v-29c7e42b] {\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 5100;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 12px;\n background: rgba(0, 0, 0, .36);\n}\n.chat-forward-select__panel[data-v-29c7e42b] {\n position: relative;\n width: 94vw;\n height: 88vh;\n display: flex;\n flex-direction: column;\n padding: 14px;\n border-radius: 10px;\n background: rgba(20, 24, 28, .96);\n color: #fff;\n box-shadow: 0 14px 32px rgba(0, 0, 0, .45);\n}\n.chat-forward-select__panel--compact[data-v-29c7e42b] {\n height: auto;\n max-height: 88vh;\n}\n.chat-forward-select__close[data-v-29c7e42b] {\n position: absolute;\n top: 8px;\n right: 8px;\n width: 30px;\n height: 30px;\n border: 0;\n border-radius: 50%;\n background: rgba(255, 255, 255, .16);\n color: #fff;\n font-size: 18px;\n line-height: 30px;\n text-align: center;\n}\n.chat-forward-select__title[data-v-29c7e42b] {\n margin: 0 34px 10px 0;\n font-size: 22px;\n font-weight: 700;\n}\n.chat-scroll-bottom-layer[data-v-29c7e42b] {\n z-index: 1200;\n pointer-events: auto;\n}\n.chat-file-sending[data-v-29c7e42b] {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 5200;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(0, 0, 0, .28);\n}\n.chat-file-sending__box[data-v-29c7e42b] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n padding: 18px 22px;\n border-radius: 14px;\n background: rgba(18, 22, 30, .92);\n color: #fff;\n box-shadow: 0 10px 28px rgba(0, 0, 0, .45);\n}\n.chat-file-sending__spinner[data-v-29c7e42b] {\n width: 2.4rem;\n height: 2.4rem;\n border: 3px solid rgba(255, 255, 255, .25);\n border-top-color: #fff;\n border-radius: 50%;\n animation: chat-file-sending-spin-29c7e42b .8s linear infinite;\n}\n.chat-file-sending__text[data-v-29c7e42b] {\n font-size: 1rem;\n}\n.chat-messages-loading[data-v-29c7e42b] {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 12px;\n pointer-events: none;\n}\n.chat-messages-loading__text[data-v-29c7e42b] {\n color: rgba(255, 255, 255, .85);\n font-size: .95rem;\n}\n\n/* KT-0161: режим «Закреплённые» + строка модалки закрепления */\n.pin-dialog__row[data-v-29c7e42b] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 6px 0 14px;\n opacity: .65;\n font-size: 14px;\n}\n.pinned-overlay[data-v-29c7e42b] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 4000;\n background: #0b0e12;\n display: flex;\n flex-direction: column;\n padding: 56px 12px 12px;\n}\n.pinned-overlay__close[data-v-29c7e42b] {\n position: fixed;\n top: 10px;\n left: 50%;\n transform: translateX(-50%);\n width: 40px;\n height: 40px;\n border: 1px solid rgba(255, 255, 255, .3);\n border-radius: 50%;\n background: rgba(0, 0, 0, .6);\n color: #fff;\n line-height: 1;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 4001;\n}\n.pinned-overlay__title[data-v-29c7e42b] {\n text-align: center;\n color: #fff;\n font-size: 18px;\n margin-bottom: 10px;\n}\n.pinned-overlay__list[data-v-29c7e42b] {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n touch-action: pan-y;\n overscroll-behavior: contain;\n}\n.pinned-overlay__empty[data-v-29c7e42b] {\n color: rgba(255, 255, 255, .6);\n text-align: center;\n margin-top: 30px;\n}\n.pinned-msg[data-v-29c7e42b] {\n cursor: pointer;\n margin-bottom: 6px;\n max-width: 100%;\n box-sizing: border-box;\n}\n.pinned-msg__inner[data-v-29c7e42b] {\n pointer-events: none;\n max-width: 100%;\n box-sizing: border-box;\n}\n@-moz-keyframes chat-search-spin-29c7e42b {\nfrom {\n transform: rotate(0deg);\n}\nto {\n transform: rotate(360deg);\n}\n}\n@-webkit-keyframes chat-search-spin-29c7e42b {\nfrom {\n transform: rotate(0deg);\n}\nto {\n transform: rotate(360deg);\n}\n}\n@-o-keyframes chat-search-spin-29c7e42b {\nfrom {\n transform: rotate(0deg);\n}\nto {\n transform: rotate(360deg);\n}\n}\n@keyframes chat-search-spin-29c7e42b {\nfrom {\n transform: rotate(0deg);\n}\nto {\n transform: rotate(360deg);\n}\n}\n@-moz-keyframes chat-file-sending-spin-29c7e42b {\nto {\n transform: rotate(360deg);\n}\n}\n@-webkit-keyframes chat-file-sending-spin-29c7e42b {\nto {\n transform: rotate(360deg);\n}\n}\n@-o-keyframes chat-file-sending-spin-29c7e42b {\nto {\n transform: rotate(360deg);\n}\n}\n@keyframes chat-file-sending-spin-29c7e42b {\nto {\n transform: rotate(360deg);\n}\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(310)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,"/* KT-0106: меню-иконки от центра топ-бара чата */\n.chat-top-menu-backdrop[data-v-ae68bc5c] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1400;\n}\n.chat-top-menu[data-v-ae68bc5c] {\n position: absolute;\n top: 3rem;\n left: 50%;\n transform: translateX(-50%);\n z-index: 1401;\n display: flex;\n gap: 8px;\n padding: 8px;\n border-radius: 14px;\n background: rgba(22, 26, 34, .97);\n box-shadow: 0 8px 28px rgba(0, 0, 0, .4);\n}\n.chat-top-menu__item[data-v-ae68bc5c] {\n width: 46px;\n height: 46px;\n border: 0;\n border-radius: 12px;\n background: #3490dc;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n transition: transform .1s ease, filter .1s ease;\n}\n.chat-top-menu__item[data-v-ae68bc5c]:active {\n transform: scale(.9);\n filter: brightness(.9);\n}\n\n/* KT-0109: двойной контрол в правом верхнем углу чата (трубка + 3 точки) */\n\n/* KT-0111: .chat-top-actions перенесён в common.styl (глобально, переиспользуется в просмотрщике фото). */\n\n/* KT-0190: режим выбора — «Выбрано N» слева + меню действий под ⋮ */\n.chat-sel-label[data-v-ae68bc5c] {\n color: #fff;\n font-weight: 700;\n font-size: 1.05rem;\n padding-left: .4rem;\n white-space: nowrap;\n}\n\n/* KT-0190: правая двойная кнопка селекта — тёмная, как в просмотрщике фото (не синяя) */\n.chat-sel-actions[data-v-ae68bc5c] {\n background: rgba(18, 22, 30, .92);\n}\n.chat-sel-menu[data-v-ae68bc5c] {\n position: absolute;\n top: 3rem;\n right: .6rem;\n z-index: 1401;\n}\n",""]),r.locals={},n.exports=r},,,function(n,e,t){"use strict";t(312)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".loading-page[data-v-4a010ff0] {\n background: rgba(0, 0, 0, .8);\n color: #fff;\n}\n.animation_appear[data-v-4a010ff0] {\n animation: .5s appear-4a010ff0;\n}\n@-moz-keyframes appear-4a010ff0 {\n0% {\n opacity: 0;\n}\n}\n@-webkit-keyframes appear-4a010ff0 {\n0% {\n opacity: 0;\n}\n}\n@-o-keyframes appear-4a010ff0 {\n0% {\n opacity: 0;\n}\n}\n@keyframes appear-4a010ff0 {\n0% {\n opacity: 0;\n}\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(313)},function(n,e,t){var r=t(16),o=t(72),l=t(802),c=r(function(i){return i[1]}),d=o(l);c.push([n.i,".call-open-cover[data-v-c6acfbda] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 2147483000;\n background-color: #050607;\n background-image: url("+d+");\n background-position: center center;\n background-repeat: repeat;\n background-size: 75% auto;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.call-open-cover__inner[data-v-c6acfbda] {\n text-align: center;\n color: #fff;\n}\n.call-open-cover__spinner[data-v-c6acfbda] {\n width: 48px;\n height: 48px;\n border: 4px solid rgba(255, 255, 255, .25);\n border-top-color: #fff;\n border-radius: 50%;\n margin: 0 auto 16px;\n animation: cocspin-c6acfbda .9s linear infinite;\n}\n.call-open-cover__text[data-v-c6acfbda] {\n font-size: 16px;\n opacity: .85;\n}\n@keyframes cocspin-c6acfbda {\nto {\n transform: rotate(360deg);\n}\n}\n",""]),c.locals={},n.exports=c},function(n,e,t){n.exports=t.p+"img/bgCall.0b08045.jpg"},function(n,e,t){"use strict";t(314)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".call-return-banner[data-v-3b95600c] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: 2147483400;\n height: 36px;\n background: #1d9e75;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 700;\n cursor: pointer;\n box-shadow: 0 1px 4px rgba(0, 0, 0, .2);\n}\n.call-return-banner__dot[data-v-3b95600c] {\n width: 9px;\n height: 9px;\n border-radius: 50%;\n background: #fff;\n animation: crbpulse-3b95600c 1s ease-in-out infinite;\n}\n@keyframes crbpulse-3b95600c {\n0%,\n 100% {\n opacity: 1;\n}\n50% {\n opacity: .3;\n}\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t(315)},function(n,e,t){var r=t(16)(function(i){return i[1]});r.push([n.i,".page-enter-active,\n.page-leave-active {\n transition: opacity .25s;\n}\n.page-enter,\n.page-leave-to {\n opacity: 0;\n}\n.update-badge-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 2.5rem;\n height: 2.5rem;\n padding: 0;\n outline: none;\n}\n.update-badge-button:focus {\n outline: none;\n}\n.update-badge-button:focus-visible {\n box-shadow: 0 0 0 2px rgba(255, 255, 255, .72);\n}\n.update-badge-icon {\n display: inline-block;\n width: 1.75rem;\n height: 1.75rem;\n color: #fff;\n fill: none;\n stroke: currentColor;\n stroke-width: 2.35;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n/* KT-0194: чёрная строка поиска по списку чатов (лупа + ввод имени/номера + ×) */\n.chats-search-bar {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n width: 100%;\n height: 2.5rem;\n padding: 0 .5rem 0 .75rem;\n border-radius: 12px;\n background: rgba(18, 22, 30, .96);\n box-shadow: 0 2px 10px rgba(0, 0, 0, .35);\n}\n.chats-search-bar__icon {\n flex: 0 0 auto;\n margin-right: .5rem;\n}\n.chats-search-bar__input {\n flex: 1 1 auto;\n min-width: 0;\n border: 0;\n outline: none;\n background: transparent;\n color: #fff;\n font-size: 1rem;\n}\n.chats-search-bar__input::placeholder {\n color: rgba(255, 255, 255, .55);\n}\n.chats-search-bar__close {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n border: 0;\n background: transparent;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n}\n",""]),r.locals={},n.exports=r},function(n,e,t){"use strict";t.r(e),function(n){t.d(e,"state",function(){return x}),t.d(e,"getters",function(){return k}),t.d(e,"mutations",function(){return y}),t.d(e,"actions",function(){return E});t(21);var r=t(4),o=t(8),l=t(0),c=t(201),d=t(13),f=t(9),m=t(139),h=t(138);t(2).get("interchat:index.ts");let v=new h.a;const x=()=>({conversations:{},userConversations:{},userConversationsOpponents:{},userOpponents:{},currentConversationId:null,recipientUserID:null,fetched:!1,fetcheInProgress:!1,online:!1,activated:!1,ignoreMessageCallMissed:!1,themeName:Object(d.v)(),appUpdateAvailable:!1,appUpdateVersion:null,loading:!1,socketInProgress:!1}),k={currentConversation:n=>n.currentConversationId?n.conversations[n.currentConversationId]:null,currentUserConversationOpponent:n=>n.currentConversationId?n.userConversationsOpponents[n.currentConversationId]:null,currentUserConversationOpponentUnreadCount(n,e){let t=e.currentUserConversationOpponent;return t?t.msgUnreadCount:0},currentUserConversation:n=>n.currentConversationId?n.userConversations[n.currentConversationId]:null,currentUserConversationUnreadCount(n,e){let t=e.currentUserConversation;return t?t.msgUnreadCount:0},unreadedMessagesCount(n){let e=0,t=n.userConversations;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){e+=t[n].msgUnreadCount}return e},appActivated:n=>n.activated,online:n=>n.online,showLoading:n=>n.loading||n.fetcheInProgress||n.socketInProgress};function w(n,e){let t=n.userOpponents[e];if(!t)throw new Error("Can not find conversation for "+e);return t.conversationId}const y={RESET(n){n.fetched=!1},RESET_CONVERSATIONS(n){l.a.log("RESET_CONVERSATIONS");for(let e in n.conversations){if(!n.conversations.hasOwnProperty(e))continue;let t=n.conversations[e];r.default.set(t,"fetched",!1)}},RESET_ENCRYPTED_CONVERSATIONS(n){l.a.log("RESET_ENCRYPTED_CONVERSATIONS");for(let e in n.conversations){if(!n.conversations.hasOwnProperty(e))continue;let t=n.conversations[e];t.fetched&&(t.messages.find(n=>!n.isSecure&&n.type==c.a.TEXT)&&r.default.set(t,"fetched",!1))}},SET_ONLINE(n,e){l.a.log(`SET_ONLINE online = ${e}`),n.online=e},SET_FETCHED(n){l.a.log("SET_FETCHED"),n.fetched=!0},SET_FETCHE_IN_PROGRESS(n,e){n.fetcheInProgress=e},SET_CONVERSATIONS(n,e){l.a.log("SET_CONVERSATIONS"),e&&(n.conversations={},e.forEach(e=>{I(n,e)}))},SET_USER_CONVERSATIONS(n,e){l.a.log("SET_USER_CONVERSATIONS"),e&&(n.userConversations={},e.forEach(e=>{A(n,e)}))},SET_USER_CONVERSATION(n,e){l.a.log("SET_USER_CONVERSATION"),A(n,e)},SET_USER_CONVERSATIONS_OPPONENTS(n,e){l.a.log("SET_USER_CONVERSATIONS_OPPONENTS"),e&&(n.userConversationsOpponents={},e.forEach(e=>{T(n,e)}))},SET_USER_CONVERSATION_OPPONENT(n,e){l.a.log("SET_USER_CONVERSATION_OPPONENT"),T(n,e)},ADD_CONVERSATION(n,e){l.a.log("ADD_CONVERSATION"),I(n,e)},SWITCH_CONVERSATION(n,e){l.a.log("SWITCH_CONVERSATION ",e),n.currentConversationId=e},SET_RECIPIENT_USER_ID(n,e){l.a.log("SET_RECIPIENT_USER_ID ",e),n.recipientUserID=e},ADD_MESSAGES(n,{messages:e,conversationId:t,messagesTotal:o,offset:c}){l.a.log(`ADD_MESSAGES conversationId = ${t}`);const d=n.conversations[t];if(d.fetched||(d.messages=[]),c!=d.messages.length)return l.a.warn(`Massages already fetched! conversationId = ${t} offset = `,c,"messages = ",e);let f=d.messages;r.default.set(d,"messagesTotal",o),e.forEach(n=>{f.push(n)}),r.default.set(d,"fetched",!0)},SET_IGNORE_MESSAGE_CALL_MISSED(n,e){n.ignoreMessageCallMissed=e},PUSH_MESSAGE(n,e){if(!n.conversations[e.conversationId])throw new Error("push message ignore - conversation not found "+e.conversationId);let t=n.conversations[e.conversationId],r=t.messages[0];if(r&&r._id==e._id)return void l.a.warn("Detect duplicated message. Ignore it message._id = "+e._id);t.messages.unshift(e),t.messagesTotal++;let o=n.userConversationsOpponents[e.conversationId];!o||0==o.msgUnreadCount&&e.type==c.a.CALL||o.msgUnreadCount++},REMOVE_MESSAGE(n,e){let t=n.conversations[e.conversationId];if(!t)return l.a.warn("remove message ignore - conversation not found ",e.conversationId);let o=t.messages.filter(n=>n._id!=e._id),c=t.messagesTotal-1;r.default.set(t,"messages",o),r.default.set(t,"messagesTotal",c)},UPDATE_MESSAGE(n,e){let t=n.conversations[e.conversationId];if(!t)return;let o=t.messages;for(let i=0;i{l.a.debug(`switch conversation opponentId='${r}'`);let n=await t("fetchConversationDataForOpponent",r);e("SWITCH_CONVERSATION",n),e("SET_RECIPIENT_USER_ID",r)})},async fetchConversationDataForOpponent({state:n,dispatch:e},t){l.a.debug(`fetchConversationDataForOpponent opponentId='${t}'`);let r=Object.keys(n.conversations).find(e=>{let r=n.conversations[e];return r.participants&&r.participants.includes(t)});if(!r)throw new Error("Not found conversation with user ");return n.conversations[r].fetched?l.a.debug("Conversation already fetched!"):await e("fetchConversationMessages",{opponentId:t,limit:20}),r},async pushMessage({state:n,commit:e,dispatch:t,getters:r},o){try{let r=await t("Users/getUser",o.author);(o=await t("crypt/decryptMessage",{message:o,opponent:r})).authorUser=r,e("PUSH_MESSAGE",o),"call-missed"==o.type&&n.ignoreMessageCallMissed?e("SET_IGNORE_MESSAGE_CALL_MISSED",!1):o.author==this.$auth.user.id||o.silent||await t("platformDevice/messageReceived",{message:o})}catch(n){return void l.a.warn(n)}},async onMessageUpdated({dispatch:n,commit:e},t){try{let r=await n("Users/getUser",t.author);e("UPDATE_MESSAGE",t=await n("crypt/decryptMessage",{message:t,opponent:r}))}catch(n){l.a.warn("onMessageUpdated failed",n)}},async onMessageReactions({commit:n},data){data&&data._id&&n("UPDATE_MESSAGE_REACTIONS",data)},async sendReaction({},{conversationId:n,messageId:e,emoji:t}){await o.a.setReaction({id:e,conversationId:n,emoji:t})},async sendChannelBroadcast({},{text:text}){await o.a.channelBroadcast({text:text})},async sendMessageEdit({dispatch:n},{conversationId:e,messageId:t,text:text,opponent:r}){let l={conversationId:e,body:text,author:this.$auth.user.id,_id:t};l=await n("crypt/encryptMessage",{message:l,opponent:r}),await o.a.editMessage({id:t,conversationId:e,body:l.body,cryptoData:l.cryptoData})},async doIgnoreMessageCallMissed({commit:n},{}){n("SET_IGNORE_MESSAGE_CALL_MISSED",!0)},async onRemoveMessage({state:n,commit:e,dispatch:t,getters:r},o){e("REMOVE_MESSAGE",o)},conversationClean({commit:n},e){n("CONVERSATION_CLEAN",e.conversationId)},async reloadAll({dispatch:n}){await n("reset"),await n("fetchAll")},async conversationDelete({dispatch:n}){await n("reloadAll")},async sendMessage({state:n,dispatch:e,getters:t},{message:r,opponent:c}){if(l.a.debug("send message"),!n.online&&!o.a.connected)throw new Error("offline");if(await e("Users/fetchUsers"),!(c=await e("Users/getUser",c.id)))throw new Error("User not found");let d={conversationId:await e("checkCurrentConversationWithUser",{opponentId:c.id}),body:r,author:this.$auth.user.id};d=await e("crypt/encryptMessage",{message:d,opponent:c});let f=await o.a.sendMessage(d);return f&&await e("pushMessage",f),f},async checkCurrentConversationWithUser({state:n,dispatch:e},{opponentId:t}){let r=await e("getConversationIdByOpponentId",{opponentId:t});return n.currentConversationId!=r&&(l.a.error(`sending conversation missmatch!!! state.currentConversationId = ${n.currentConversationId} conversationId = ${r} opponentId = ${t}`),await e("switchConversation",{opponentId:t})),n.currentConversationId!=r&&l.a.error(`sending conversation missmatch AFTER switchConversation state.currentConversationId = ${n.currentConversationId} conversationId = ${r}`),r},async sendMessageToOpponent({state:n,commit:e,dispatch:t},{opponentId:r,body:body,type:l,silent:c=!1,crypt:d=!1}){let f={conversationId:await t("getConversationIdByOpponentId",{opponentId:r}),body:body,author:this.$auth.user.id,type:l,silent:c};if(d){let n=await t("Users/getUser",r,{root:!0});f=await t("crypt/encryptMessage",{message:f,opponent:n})}await o.a.sendMessage(f)},getConversationIdByOpponentId:async({state:n},{opponentId:e})=>n.recipientUserID==e?n.currentConversationId:w(n,e),async removeMessage({state:n,dispatch:e,getters:t},{id:r}){if(l.a.debug("remove message id = ",r),!n.online)throw new Error("offline");await o.a.removeMessage({id:r})},async sendPasswordUpdate({},{passwordOld:n,passwordNew:e}){return this.$axios.post("user/passwordUpdate",{passwordOld:n,passwordNew:e})},async doUpdateDeviceToken({},{token:n}){await o.a.doUpdateDeviceToken({token:n})},async sendLogoutAll(){return this.$axios.post("auth/logoutAll",{})},async sendConversationClean({state:n,dispatch:e},t){l.a.debug("send ConversationClean conversationId =",t);let r={conversationId:t,author:this.$auth.user.id};await o.a.sendConversationClean(r)},async sendConversationDeleteWith({state:n,dispatch:e},t){l.a.debug("send ConversationDeleteWith");let r={opponentId:t,author:this.$auth.user.id};await o.a.sendConversationDeleteWith(r)},async update({state:n,dispatch:e}){await e("updateFetch")},async updateFetch({state:n,dispatch:e}){n.online!=n.fetched&&n.online&&await e("startFetchUserData")},async onCryptStoreChanged({commit:n,state:e,dispatch:t}){n("RESET_CONVERSATIONS"),e.recipientUserID&&await t("fetchConversationDataForOpponent",e.recipientUserID)},async restoreContactNamesFromCloud({dispatch:n}){if(!C&&Object(d.f)()){C=!0;try{let e=await n("crypt/contactNamesCloudGet",{},{root:!0}),t=e&&e.names&&"object"==typeof e.names?e.names:{};if(0===Object.keys(t).length){let e=null;try{e=await n("crypt/storeItemGet",{name:m.CRYPT_STORE_KEY_NAME_CONTACT_LIST})}catch(n){}let r=await n("Users/generateContactList"),o=Object.assign({},e&&"object"==typeof e?e:{},r);Object.keys(o).length>0&&(await n("contactNamesPushMerged",{names:o}),t=o)}await n("Users/syncWithContactList",t),await n("Users/fetchUsers")}catch(n){l.a.warn("restoreContactNamesFromCloud failed",n)}}},async contactNamesPushMerged({dispatch:n},{names:e}){for(let t=0;t<3;t++){let t=await n("crypt/contactNamesCloudGet",{},{root:!0}),r=t&&t.names&&"object"==typeof t.names?t.names:{},o=t&&"number"==typeof t.version?t.version:0,l=Object.assign({},r,e),c=await n("crypt/contactNamesCloudSet",{names:l,baseVersion:o},{root:!0});if(c&&c.ok)return l;if(!c||!c.conflict)return l}return e},async setCloudNamesEnabled({dispatch:n},{enabled:e}){let t=!!e;Object(d.g)(t);try{if(t){let e=await n("crypt/contactNamesCloudGet",{},{root:!0});await n("Users/syncWithContactList",e&&e.names?e.names:{}),await n("pushContactNames")}else{let e=await n("crypt/contactNamesCloudGet",{},{root:!0});await n("crypt/contactNamesCloudSet",{names:{},baseVersion:e&&"number"==typeof e.version?e.version:0},{root:!0})}}catch(n){l.a.warn("setCloudNamesEnabled sync failed (crypt store not ready?)",n)}},async pushContactNames({dispatch:n}){if(Object(d.f)())try{let e=await n("Users/generateContactList");await n("contactNamesPushMerged",{names:e})}catch(n){l.a.warn("pushContactNames failed",n)}},async syncContactListWithStore({commit:n,dispatch:e},t){let r=await e("Users/generateContactList"),o=!1;t&&"object"==typeof t||(t={});for(const n in r)Object.prototype.hasOwnProperty.call(r,n)&&(Object.prototype.hasOwnProperty.call(t,n)||(t[n]=r[n],o=!0,l.a.log("Set user name ",n,r[n])));o&&await e("crypt/storeItemSet",{name:m.CRYPT_STORE_KEY_NAME_CONTACT_LIST,value:t,commit:!0})},reset({commit:n}){n("RESET"),n("RESET_CONVERSATIONS")},logout({commit:n,dispatch:e}){n("crypt/RESET",!0),e("platformDevice/doPageReload",{})},cleanup({commit:n,dispatch:e}){localStorage.clear()},async updateSelfOnline({state:n,commit:e,dispatch:t},r){!function(n){if(S)return;S=!0;let e=async function(){try{await n("update")}catch(n){l.a.error(n)}finally{_=setTimeout(e,5e3)}};e()}(t),n.online!=r&&(e("SET_ONLINE",r),await t("Users/setOnlineSelf",n.online),r?await t("startFetchUserData"):e("Users/SET_ALL_OFFLINE"))},async startFetchUserData({state:n,commit:e,dispatch:t}){n.fetcheInProgress||n.online&&(await t("reset"),await t("fetchAll"))},async fetchAll({state:n,dispatch:e,commit:t}){if(!0!==n.fetched)try{t("SET_FETCHE_IN_PROGRESS",!0),await Promise.all([e("Users/fetchUsers"),e("Users/fetchMySelf"),e("fetchConversations"),e("fetchUserConversations"),e("fetchUserConversationsOpponents")]),await e("Users/setOnlineSelf",n.online),t("SET_FETCHED")}finally{t("SET_FETCHE_IN_PROGRESS",!1)}},async fetchAllFromCache({state:n,commit:e,dispatch:t}){if(!0!==n.fetched)try{await t("Users/fetchAllFromCache"),e("SET_CONVERSATIONS",Object(f.d)(f.b.CONVERSATIONS)),e("SET_USER_CONVERSATIONS",Object(f.d)(f.b.USER_CONVERSATIONS)),e("SET_USER_CONVERSATIONS_OPPONENTS",Object(f.d)(f.b.USER_CONVERSATIONS_OPPONENTS))}catch(n){l.a.error("Error fetchAllFromCache ",n)}},async doActivate({state:n,commit:e}){n.activated||(l.a.debug("app activate in store"),e("ACTIVATE"))}};function I(n,e){e.fetched=!1,e.messages=[],e.messagesTotal=0,r.default.set(n.conversations,e._id,e)}function A(n,e){r.default.set(n.userConversations,e.conversationId,e),r.default.set(n.userOpponents,e.opponentId,e)}function T(n,e){r.default.set(n.userConversationsOpponents,e.conversationId,e)}}.call(this,t(20))},,,,,,,,,,,,,,,,,,,,,,,,function(n,e,t){"use strict";t.r(e),t.d(e,"state",function(){return m}),t.d(e,"getters",function(){return h}),t.d(e,"mutations",function(){return v}),t.d(e,"actions",function(){return x});var r=t(4),o=t(8),l=t(0),c=t(44),d=t(9),f=t(18);t(2).get("interchat:Users:index.ts");const m=()=>({users:{},mySelf:{}}),h={users:n=>n.users,sortedUsers(n,e,t){let r=Object.values(t.userOpponents);r.sort((a,b)=>a.msgUnreadCount==b.msgUnreadCount?b.lastUseTimestamp-a.lastUseTimestamp:b.msgUnreadCount-a.msgUnreadCount);let o=n.users,l=Object(d.c)();return r.reduce((e,t)=>{let r=t.opponentId;return r&&l&&String(r)===String(l)||1===t.status||o[r]&&(e[r]=n.users[r]),e},{})}},v={SET_USERS(n,e){if(e)if(n.users={},e.forEach)e.forEach(e=>{w(n,e)});else for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t];w(n,r)}},UPDATE_USER(n,e){l.a.log("update user ",e),w(n,e)},UPDATE_USER_PROFILE(n,{userId:e,profileFieldName:t,value:o}){let l=n.users[e];l&&(l.profile||(l.profile={}),r.default.set(l.profile,t,o),w(n,l))},SET_USER_LOCAL_DATA(n,{userId:e,localData:t}){if(!n.users)return;let o=n.users[e];o&&r.default.set(o,"local",t)},SET_ONLINE_USERS(n,{usersId:e}){k(n),e.forEach(e=>{e&&n.users[e]&&r.default.set(n.users[e],"online",!0)})},SET_USER_ONLINE(n,{id:e,value:t}){n.users[e]&&r.default.set(n.users[e],"online",t),n.mySelf&&e==n.mySelf.id&&r.default.set(n.mySelf,"online",t)},SET_MY_SELF(n,e){if(!e)return;let t=n.mySelf&&n.mySelf.online;n.mySelf=w(n,e,t)},SET_ALL_OFFLINE(n){k(n)}},x={async fetchUsers({state:n,commit:e,dispatch:t},r="/users"){e("SET_USERS",await o.a.runActionGet(r)),Object(d.e)(d.b.USER_LIST,n.users),await t("fetchUsersOnline")},async fetchMySelf({state:n,commit:e,dispatch:t},r="/users/meFresh"){const{user:l}=await o.a.runActionGet(r);e("SET_MY_SELF",l),Object(d.e)(d.b.USER_SELF,l),await t("crypt/userDataSet",{user:l},{root:!0})},async userLocalDataSetName({dispatch:n},{userId:e,name:t}){Object(c.b)(e,t);let r=Object(c.a)(e);await n("updateUserLocalData",{userId:e,localData:r});try{await n("pushContactNames",{},{root:!0})}catch(n){}},async updateUserLocalData({state:n,commit:e},{userId:t,localData:r}){e("SET_USER_LOCAL_DATA",{userId:t,localData:r})},async userUpdate({state:n,commit:e,dispatch:t},r){e("UPDATE_USER",r),r.id==n.mySelf.id&&(e("SET_MY_SELF",r),Object(d.e)(d.b.USER_SELF,r)),Object(d.e)(d.b.USER_LIST,n.users)},async generateContactList({state:n}){let e=Object(c.c)();for(const t in n.users){if(!Object.prototype.hasOwnProperty.call(n.users,t))continue;const r=n.users[t];!r.local||!r.local.name||r.local.name.length<=0||(e[r.id]=r.local.name)}return e},async syncWithContactList({state:n,dispatch:e},t){let r=!1;for(const n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let e=Object(c.a)(n);e&&e.name==t[n]||(Object(c.b)(n,t[n]),r=!0)}r&&await e("fetchUsers")},async setUserPublicKey({state:n,commit:e,dispatch:t},{userId:r,key:o}){await t("fetchUsers")},async fetchUsersOnline({state:n,commit:e}){try{e("SET_ONLINE_USERS",{usersId:await o.a.getUsersOnlineIds()})}catch(n){console.error(n)}},setOnlineSelf({state:n,commit:e},t){n.mySelf&&e("SET_USER_ONLINE",{id:n.mySelf.id,value:t})},setOnline({commit:n},e){n("SET_USER_ONLINE",{id:e,value:!0})},setOffline({commit:n},e){n("SET_USER_ONLINE",{id:e,value:!1})},async doSetProfile({dispatch:n},e){const t=await o.a.runActionPost("/user/profile",{profile:e});return await n("userUpdate",t),t},doSetAvatarIdLocal({state:n,commit:e,dispatch:t},r){e("UPDATE_USER_PROFILE",{userId:n.mySelf.id,profileFieldName:"avatarUrl",value:r})},getUser:({state:n,commit:e},t)=>n.users[t],async fetchAllFromCache({state:n,commit:e,dispatch:t}){e("SET_USERS",Object(d.d)(d.b.USER_LIST));let r=Object(d.d)(d.b.USER_SELF);r&&(e("SET_MY_SELF",r),await t("crypt/importAllFromCache",{user:r},{root:!0}))}};function k(n){Object.keys(n.users).forEach(e=>{r.default.set(n.users[e],"online",!1)})}function w(n,e,t=!1){e.online=t,e.local=Object(c.a)(e.id);let o=e.profile?parseInt(e.profile.avatarUrl):0;isNaN(o)&&(o=0);let d=e.profile&&e.profile.avatarName?String(e.profile.avatarName):"",m=Object(f.a)(d||Object(f.c)(e));l.a.warn("USER_DISPLAY_TRACE createUser",{id:e&&e.id,username:e&&e.username,name:e&&e.name,localName:e&&e.local&&e.local.name,profile:e&&e.profile,rawSubscriberNumber:Object(f.c)(e),avatarId:o,avatarName:d,avatarDefaultName:m,hasProfile:!(!e||!e.profile),online:t});let h=e.profile&&e.profile.themeUrl?parseInt(e.profile.themeUrl):void 0;return void 0!==h&&(isNaN(h)||h<=0)&&(h=void 0),r.default.set(e,"avatarId",o),r.default.set(e,"avatarName",d),r.default.set(e,"avatarDefaultName",m),r.default.set(e,"themeId",h),e.fullName=function(){return this.name+(this.local.name&&this.local.name.length>0?" ("+this.local.name+")":"")},r.default.set(n.users,e.id,e),e}},function(n,e,t){"use strict";t.r(e),function(n){t.d(e,"state",function(){return G}),t.d(e,"getters",function(){return V}),t.d(e,"mutations",function(){return H}),t.d(e,"actions",function(){return W});var r=t(4),o=t(142),l=t(8),c=t(0),d=t(89),f=t(31),m=t(19),h=t(203),v=t(45),x=t(41),k=t(52),w=t(48),y=t(134),_=t(322),S=t(138),C=t(190),E=t(63),I=t(1);t(2).get("interchat:Call:index.ts");let A=new x.b,T={},O=new S.a,M=null;class N{constructor(n,e){this.key=n,this.streamRemote=null,this.isInitiator=e}setLocalStream(n){c.a.debug("Set connection local stream",this.key);let e=T[this.key];if(!e)throw new Error("Not found connection for "+this.key);e.doAddLocalStream(n)}keepAlive(){return this.isDead()}isDead(){return this.status==m.STATUS.BUSY||this.status==m.STATUS.FINISHED}}const D="ask",R="answer",P="caller_pulse";async function L({videoMode:n=!1}={}){try{return c.a.debug("Getting Local Media stream videoMode = ",n),await Object(C.a)(n)}catch(n){throw c.a.error("error get stream ",n),Object(I.c)("No access to microphone"),n}}const j="CALL_TIMER";function U(n,e,t){let r=0,o=new x.a(()=>{c.a.debug("Tick"),n.connected?(e("CALL_TIME_SET",n.time+1),r=0):r++,r>60&&t&&(c.a.log("disconnectTimeout fires"),t())},1e3).repeat();A.addTimer(j,o)}function F(n){let e=!1;for(let t in n.connectionsInfo)n.connectionsInfo.hasOwnProperty(t)&&"connected"==n.connectionsInfo[t].status&&(e=!0);n.connected=e}let z=new y.a;function $(n){if(!z)return;let e=function(n){let e=[];for(let t in n){if(!n.hasOwnProperty(t))continue;let r=n[t];r.streamRemote&&e.push(r.streamRemote)}return e}(n);return z.getMixedAudioStream(e,{})}const B=n.env.DISABLE_HOOK_PLAYERS_CREATE;const G=()=>({active:!1,status:m.STATUS.NONE,callMessageSended:!1,ignoreCallId:null,currentCall:new d.default(null,[],!1),connectionsInfo:{},connectionsStatus:{},time:0,ascended:!1,connected:!1,streamRemote:null,streamLocal:null,streamRemoteByUserId:{}}),V={isActive:n=>n.active,isAscended:n=>n.ascended,needFullScreen:n=>Object(m.isStatusNeedFullScreen)(n.status)&&k.isMobile,streamRemote:n=>n.streamRemote,streamRemoteByUserId:n=>n.streamRemoteByUserId,streamLocal:n=>n.streamLocal,connectionStatuses:n=>n.connectionsStatus,status:n=>n.status,usersId:n=>n.currentCall.userIds,isIncoming:n=>n.status==m.STATUS.INCOMING,isOutgoing:n=>n.status==m.STATUS.OUTGOING,isConnected:n=>n.connected,currentCallTime:n=>n.time,videoMode:n=>n.currentCall.video},H={START_CALL_MULTI(n,{callInfo:e}){c.a.log("Mutation START_CALL_MULTI videoMode = ",e.video),n.active=!0,n.callMessageSended=!1,n.status=m.STATUS.OUTGOING,r.default.set(n,"currentCall",e),n.connected=!1,n.time=0,n.ascended=!1},STREAM_LOCAL_SET(n,{streamLocal:e}){c.a.log("Mutation STREAM_LOCAL_SET"),n.streamLocal=e,c.a.debug("Set local stream",e);for(let t in n.connectionsInfo){n.connectionsInfo[t].setLocalStream(e)}},CONNECTION_ADD(n,{connection:e,opponentId:t,isInitiator:o}){c.a.log(`Mutation CONNECTION_ADD ${t}`),T[t]=e;let l=new N(t,o);l.status=m.STATUS.NONE,r.default.set(n.connectionsInfo,t,l),l.status=e.connection?e.connection.connectionState:void 0,F(n)},CALL_ASCENDED(n,e){c.a.log("Mutation CALL_ASCENDED",e),n.ascended=e},START_INCOMING(n,{callInfo:e}){c.a.log("Mutation START_INCOMING videoMode = ",e.video),n.active=!0,n.status=m.STATUS.INCOMING,r.default.set(n,"currentCall",e),n.connected=!1,n.time=0,n.ascended=!1},DO_ACCEPTED(n,{}){c.a.log("Mutation DO_ACCEPTED"),n.status=m.STATUS.ACCEPTED},CONNECTION_SET_FILTER_APP_INSTANCE_ID(n,{opponentId:e,opponentAppInstanceId:t}){c.a.log("CONNECTION_SET_FILTER_APP_INSTANCE_ID opponentId = ",e,"opponentAppInstanceId = ",t);let r=n.connectionsInfo[e];if(!r)return c.a.warn("not found connectionInfo");r.filterInstanceID=t},CONNECTION_INIT(n,{opponentId:e}){c.a.log("Mutation CONNECTION_INIT",e);let t=T[e];if(!t)return c.a.warn(`There is not that connection. opponentId = ${e}`,T);if(!t.isInited()){c.a.log("First init connection ",e,"stream local = ",n.streamLocal),t.init();try{n.streamLocal&&t.doAddLocalStream(n.streamLocal)}catch(n){c.a.error("Error add track ",n)}}},CONNECTION_CLOSE(n,{opponentId:e}){let t=T[e],o=n.connectionsInfo[e];if(t||o){if(c.a.log("Mutation CONNECTION_CLOSE",e),o.keepAlive()||r.default.delete(n.connectionsInfo,e),r.default.delete(n.streamRemoteByUserId,e),r.default.delete(n.connectionsStatus,e),!t)return c.a.warn("There is not that connection. opponentId = ",e,T);delete T[e],t.doClose(),function(n){if(!n)return n;let e=n.hack_player;e&&e.parentNode.removeChild(e),Object(w.f)(n)}(o.streamRemote),z&&!n.currentCall.video&&(n.streamRemote=$(n.connectionsInfo)),F(n)}},CONNECTION_INFO_UPDATE(n,{status:e,opponentId:t}){c.a.debug("Set connection status ",t," = ",e);let o=n.connectionsInfo[t];if(!o)return c.a.warn("Connection info not found");o.status=e,r.default.set(n.connectionsInfo,t,o),r.default.set(n.connectionsStatus,t,e),F(n)},CONNECTION_STREAM_REMOTE_SET(n,{opponentId:e,streamRemote:t}){c.a.log("Mutation CONNECTION_STREAM_REMOTE_SET"),c.a.debug("Set remote stream = ",t," opponentId = ",e);let o=n.connectionsInfo[e];return o?t?(t=function(n){if(B)return n;let e=document.createElement("audio");return e.setAttribute("class","hidden"),e.srcObject=n,e.muted=!0,document.body.appendChild(e),n.hack_player=e,n}(t),o.streamRemote=t,r.default.set(n.connectionsInfo[e],"streamRemote",t),r.default.set(n.streamRemoteByUserId,e,t),void(z&&!n.currentCall.video&&(n.streamRemote=$(n.connectionsInfo)))):c.a.warn("Bad stream !!!"):c.a.warn(`There is not that connection. opponentId = ${e}`,T)},CLEANUP(n,{}){A.clearAll(),c.a.log("Mutation CLEANUP");for(let n in T){if(!T.hasOwnProperty(n))continue;T[n].doClose(),c.a.debug("connections = ",T),c.a.error("CLEANUP but not all connection closed!!")}n.status=function(n){let e=!1;for(let t in n.connectionsInfo)if(n.connectionsInfo.hasOwnProperty(t)){if(n.connectionsInfo[t].status!=m.STATUS.BUSY)return!1;e=!0}return e}(n)?m.STATUS.BUSY:m.STATUS.FINISHED,n.ignoreCallId=n.currentCall.callId,r.default.set(n,"currentCall",new d.default),n.active=!1,M=null,n.callMessageSended=!1,n.time=0,n.ascended=!1,n.connectionsInfo={},T={},A.clearTimer(j),n.streamLocal&&(n.streamLocal=null),z&&z.release()},IGNORE_CALL(n,e){c.a.log("Mutation IGNORE_CALL"),n.ignoreCallId=e,n.status=m.STATUS.IGNORE},CALL_TIME_SET(n,e){c.a.log("Mutation CALL_TIME_SET",e),n.time=e},SET_CALL_MESSAGE_SENDED(n,e){n.callMessageSended=e}};var K;!function(n){n.ERROR="error",n.EXTERNAL="external",n.IGNORE="ignore",n.MANUAL="manual",n.TIMEOUT="timeout",n.CALLER_LOST="caller_lost",n.CLOSE="close"}(K||(K={}));const W={start:async({state:n,commit:e,dispatch:t,rootState:r},{callUserID:o,videoMode:l=!1})=>await t("startMany",{usersId:[o],videoMode:l}),async startMany({state:n,commit:e,dispatch:t,rootState:r,rootGetters:l},{usersId:f,videoMode:m=!1}){if(!f)throw new Error("Internal error! User not set");if(f[0]!=this.$auth.user.id&&f.unshift(this.$auth.user.id),f.length<=1)throw new Error("Internal error! Can not call nobody");if(c.a.debug("start calling to users",f),n.active)throw new Error("Call already active!");if(!l["platformDevice/isDeviceReady"])throw new Error("Internal error! Device not ready");try{let r=await L({videoMode:m});await t("screen/goFullScreenLockNoSleep",{},{root:!0}),e("START_CALL_MULTI",{callInfo:new d.default(Object(o.a)(),f,m)}),U(n,e,()=>{t("hungAll",{reason:K.TIMEOUT})}),e("STREAM_LOCAL_SET",{streamLocal:r}),Object(E.h)(r),await t("callUsersAfterMe",{master:!0})}catch(n){if(c.a.error("Call start failed",n),await t("hungAll",{reason:K.ERROR,error:n}),n&&n.message)throw n;throw new Error("Call start failed")}},async beforeClose(){Object(E.i)(),Object(C.c)()},async callUsersAfterMe({state:n,commit:e,dispatch:t},{master:r}){let o=!1;c.a.debug("callUsersAfterMe call = ",n.currentCall);let l=n.currentCall.userIds;for(let d=0;d{v.default.sendMessageRequest(f,{master:r,callInfo:n.currentCall}).then(()=>{r=!1,e("SET_CALL_MESSAGE_SENDED",!0),c.a.log("sendMessageRequest responce ok, master = false")})},5e3).repeat();d.fired(),A.addTimer(D+f,d);let m=new x.a(()=>{c.a.debug("hung due call timeout"),t("hung",{opponentId:f,reason:K.TIMEOUT})},6e4);A.addTimer(R+f,m)}catch(n){await t("hung",{opponentId:f,reason:K.ERROR,error:n})}}},async doAnswer({state:n,commit:e,dispatch:t,rootGetters:r}){if(!l.a.connected)throw new Error("Not possible due offline");if(!r["platformDevice/isDeviceReady"])throw new Error("device not ready");try{e("DO_ACCEPTED",{});for(let e in n.connectionsInfo)n.connectionsInfo.hasOwnProperty(e)&&(A.clearTimer(R+e),A.clearTimer(P+e));await t("screen/goFullScreenLockNoSleep",{},{root:!0});let r=n.currentCall,o=n.currentCall.video;e("STREAM_LOCAL_SET",{streamLocal:await L({videoMode:o})}),v.default.sendMessageAnswerSelf(this.$auth.user.id,{callInfo:r});for(let e in n.connectionsInfo)n.connectionsInfo.hasOwnProperty(e)&&await t("answerChannel",{opponentId:e});await t("callUsersAfterMe",{master:!1})}catch(n){throw await t("hungAll",{reason:K.ERROR,error:n}),n}},async answerChannel({state:n,commit:e,dispatch:t},{opponentId:r}){try{v.default.sendMessageAnswer(r),e("CONNECTION_INIT",{opponentId:r})}catch(n){await t("hung",{opponentId:r,reason:K.ERROR,error:n})}},async doReject({state:n,commit:e,dispatch:t},{}){await t("hungAll",{reason:K.MANUAL})},doConfigureWebRTCConnection:async({state:n,commit:e,dispatch:t},{connection:r,opponentId:o})=>(r.config=JSON.parse('{"iceServers":[{"urls":["stun:ksitalk.com:3478","stun:stun.l.google.com:19302","stun:stun1.l.google.com:19302"]},{"urls":["turn:ksitalk.com:3478?transport=udp","turn:ksitalk.com:3478?transport=tcp"],"username":"ctalk","credential":"ctalk-turn-2026"}]}'),r.onSignalSend=async data=>v.default.signalDirectSend(o,data),r.setReinitAttempts(0),r.onClosed=async()=>{n.status!=m.STATUS.IGNORE&&await t("hung",{opponentId:o,reason:K.CLOSE})},r.onRemoteStream=function(n){e("CONNECTION_STREAM_REMOTE_SET",{opponentId:o,streamRemote:n})},r.onConnectionStateChangeEvent=()=>{if(!n.connectionsInfo[o])return c.a.warn(`There is not that connectionsInfo. opponentId = ${o}`,n.connectionsInfo);let t=r.connection?r.connection.connectionState:"";t||c.a.warn("connection status undefined !! connection =",JSON.stringify(r)),c.a.debug(`connectionInfo[${o}].status = ${t}`),e("CONNECTION_INFO_UPDATE",{opponentId:o,status:t})},setTimeout(()=>{e("CONNECTION_INFO_UPDATE",{opponentId:o,status:n.status})},0),r),async firebaseCall({state:n,commit:e,dispatch:t},r){c.a.warn("CALL_PUSH_TRACE Call/firebaseCall start",{messageType:typeof r,type:r&&r.type,authorID:r&&r.authorID,openReason:r&&r.ksitalkOpenReason,nativeSource:r&&r.ksitalkNativeSource,hasPayload:!(!r||!r.payload),hasCallInfo:!!(r&&r.payload&&r.payload.callInfo),stateActive:n.active,stateStatus:n.status});let o=r.authorID;if(r.type!=f.MessageType.REQUEST)return c.a.warn("CALL_PUSH_TRACE Call/firebaseCall ignored bad type",{expected:f.MessageType.REQUEST,actual:r&&r.type}),c.a.log("unknown message type for call firebase",r.type);let l=r.payload&&r.payload.callInfo&&r.payload.callInfo.callId;if(l&&n.active&&n.currentCall&&n.currentCall.callId==l)return c.a.warn("CALL_PUSH_TRACE Call/firebaseCall skip duplicate push for active call",{callId:l,stateStatus:n.status});await t("onMessageRequest",{message:r,opponentId:o}),c.a.warn("CALL_PUSH_TRACE Call/firebaseCall emit CALL_START",{stateActive:n.active,stateStatus:n.status,opponentId:o}),I.b.$emit(I.a.CALL_START,{})},async onMessage({state:n,commit:e,dispatch:t},r){c.a.debug("Receive call-message ",r),await O.runExclusive(async()=>{c.a.debug("Execute call-message ",r);let e=r.authorID,o=r.appInstanceId,l=n.connectionsInfo[e];if(o&&l&&l.filterInstanceID&&l.filterInstanceID!=o)return c.a.warn("Ignore message bcz filterInstanceID ",l.filterInstanceID,"!=",o);if(r.type==f.MessageType.REQUEST)return await t("onMessageRequest",{message:r,opponentId:e});if(!n.active)return c.a.debug("ignore message, call not active");if(r.type==f.MessageType.ANSWER_SELF)return await t("onMessageAnswerSelf",{message:r,opponentId:e});let d=T[e];return d?r.type==f.MessageType.ASC?await t("onMessageAsk",{message:r,opponentId:e}):r.type==f.MessageType.ANSWER?await t("onMessageAnswer",{message:r,opponentId:e}):r.type==f.MessageType.HUNG?await t("onMessageHung",{message:r,opponentId:e}):r.type==f.MessageType.SIGNAL&&d.isInited()?d.onSignalReceive(r.signal):void 0:c.a.warn("Wrong authorID",r.authorID)})},async onMessageRequest({state:n,commit:e,dispatch:t,rootGetters:r},{message:o,opponentId:f}){if(c.a.warn("CALL_PUSH_TRACE onMessageRequest start",{opponentId:f,hasPayload:!!o.payload,hasCallInfo:!(!o.payload||!o.payload.callInfo),stateActive:n.active,stateStatus:n.status,deviceReady:r["platformDevice/isDeviceReady"]}),!o.payload)return c.a.warn("CALL_PUSH_TRACE onMessageRequest bad message no payload",o),c.a.warn("Bad message",o);let k=new d.default;if(o.payload.callInfo&&Object.assign(k,o.payload.callInfo),!o.payload.callInfo||!k.callId)return c.a.warn("CALL_PUSH_TRACE onMessageRequest bad callInfo",{hasCallInfo:!!o.payload.callInfo,callId:k.callId,payloadKeys:Object.keys(o.payload||{})}),c.a.warn("Bad message",o);if(!n.active){if(M==k.callId)return c.a.warn("CALL_PUSH_TRACE onMessageRequest skip duplicate initial raise (socket+push race)",{callId:k.callId});M=k.callId}if(!r["platformDevice/isDeviceReady"]){c.a.warn("CALL_PUSH_TRACE onMessageRequest device not ready, waiting");const n=await async function(n){const e=Math.ceil(32);for(let i=0;i{if(l.a.connected){if(w.name&&A.clearTimer(w.name),n.status!=m.STATUS.INCOMING)return c.a.warn("hung due call answer timeout but call is not in incoming state!");c.a.debug("hung due call lost timeout"),t("hung",{opponentId:f,reason:K.CALLER_LOST})}},7e3).repeat();if(A.addTimer(P+f,w),c.a.debug("onMessageRequest for ",k),n.active){if(!n.currentCall.isCompatible(k))return c.a.debug("Ignore call ",k.callId,"current call is ",n.currentCall.callId),v.default.sendMessageHung(f,v.default.REASON_BUSY)}else{c.a.warn("CALL_PUSH_TRACE onMessageRequest START_INCOMING",{callId:k.callId,video:k.video}),e("START_INCOMING",{callInfo:k}),U(n,e,()=>{t("hungAll",{reason:K.TIMEOUT})});try{await t("screen/goFullScreenLockNoSleep",{},{root:!0})}catch(n){}let r=new x.a(()=>{if(n.status!=m.STATUS.INCOMING)return c.a.warn("hung due call answer timeout but call is not in incoming state! status = ",n.status);c.a.debug("hung due call answer timeout "),t("hung",{opponentId:f,reason:K.TIMEOUT})},6e4);A.addTimer(R+f,r)}let y=T[f];if(!y){if(y=new h.a,y.setMaster(!1),await t("doConfigureWebRTCConnection",{connection:y,opponentId:f}),!n.active||n.currentCall.callId!=k.callId)return y.doClose(),void c.a.warn("State active chagned or changed active call_id!! active = ",n.active," state.currentCall.callId = ",n.currentCall.callId," callInfo.callId = ",k.callId);e("CONNECTION_ADD",{connection:y,isInitiator:!1,opponentId:f})}v.default.sendMessageAscend(f),n.status==m.STATUS.ACCEPTED&&await t("answerChannel",{opponentId:f})},async onMessageAsk({state:n,commit:e,dispatch:t},{message:r,opponentId:o}){n.status==m.STATUS.OUTGOING&&e("CALL_ASCENDED",!0)},async onMessageAnswer({state:n,commit:e,dispatch:t},{message:r,opponentId:o}){A.clearTimer(D+o),A.clearTimer(R+o);let l=r.appInstanceId;e("DO_ACCEPTED",{}),e("CONNECTION_INIT",{opponentId:o}),e("CONNECTION_SET_FILTER_APP_INSTANCE_ID",{opponentId:o,opponentAppInstanceId:l})},async onMessageHung({state:n,commit:e,dispatch:t},{message:r,opponentId:o}){let l=r.error,d=r.reason,f=r.connectionStatus;if(c.a.debug("Hung message, reason",d," status ",f),f==m.STATUS.INCOMING&&(d==K.TIMEOUT||d==K.MANUAL)){let e=n.connectionsInfo[o];if(e&&e.status!=m.STATUS.OUTGOING)return void c.a.debug("Ignore remote hung connection status is ",e.status)}await t("hung",{opponentId:o,reason:K.EXTERNAL,extError:l,extReason:d})},async onMessageAnswerSelf({state:n,commit:e,dispatch:t},{message:r,opponentId:o}){if(o!=this.$auth.user.id)return c.a.warn("Bad opponentId");n.status!=m.STATUS.ACCEPTED&&(c.a.debug("onMessageAnswerSelf ignore this call"),await t("hungAll",{reason:K.IGNORE}))},async sendMessageMissedCall({state:n,commit:e,dispatch:t},{opponentId:r,silent:o,missed:l,time:time}){c.a.debug("send sendMessageMissedCall silent = ",o);let body="Missed call",d="call-missed";l||(body=JSON.stringify({time:time}),d="call",o=!0),await t("sendMessageToOpponent",{opponentId:r,body:body,type:d,silent:o},{root:!0})},async hung({state:n,getters:e,commit:t,dispatch:r},data){let{opponentId:o,reason:l}=data,d=n.connectionsInfo[o];if(!d||d.isDead())return;data.mute||(c.a.debug("hung reason",l,o),data.extReason&&c.a.debug("hung external reason",data.extReason),data.error&&c.a.error("error:",data.error),data.extError&&c.a.error("external error:",data.extError)),A.clearTimer(D+o),A.clearTimer(R+o),A.clearTimer(P+o);let f=!0;if(l==K.CLOSE&&n.status==m.STATUS.IGNORE&&(f=!1),l!=K.IGNORE&&l!=K.EXTERNAL||(f=!1),l==K.CALLER_LOST&&(f=!1),f&&v.default.sendMessageHung(o,l,void 0,d.status),c.a.debug("status = ",d.status),n.currentCall.userIds[0]==this.$auth.user.id){let time=n.time,e=data.extError==K.MANUAL,t=d.status==m.STATUS.OUTGOING;setTimeout(async()=>{try{await r("sendMessageMissedCall",{opponentId:o,silent:e,missed:t,time:time})}catch(n){c.a.error("sendMessageMissedCall err",n)}},0)}l==K.EXTERNAL&&(data.extReason==K.MANUAL&&t("CONNECTION_INFO_UPDATE",{opponentId:o,status:m.STATUS.FINISHED}),data.extReason==v.default.REASON_BUSY&&t("CONNECTION_INFO_UPDATE",{opponentId:o,status:m.STATUS.BUSY})),t("CONNECTION_CLOSE",{opponentId:o});let h=function(n,e){for(let t in n.connectionsInfo)if(n.connectionsInfo.hasOwnProperty(t)&&t!=e&&!n.connectionsInfo[t].isDead())return!0;return!1}(n,this.$auth.user.id);h||n.status==m.STATUS.FINISHED||t("CLEANUP",{})},async hungAll({state:n,commit:e,dispatch:t},data){if(!n.active)return;A.clearAll();let{reason:r}=data;c.a.debug("Hung all reason",r),data.error&&c.a.error(data.error),r==K.IGNORE&&e("IGNORE_CALL",n.currentCall.callId);let o=!0;for(let e in n.connectionsInfo){if(!n.connectionsInfo.hasOwnProperty(e))continue;n.connectionsInfo[e];await t("hung",{opponentId:e,reason:r,mute:!0}),o=!1}o&&e("CLEANUP",{})}}}.call(this,t(20))},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:FileShare:authModuleFix.ts")},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:FileShare:types:FileInfo.ts")},,function(n,e,t){var map={"./de":[508,1],"./de.json":[508,1],"./en":[509,2],"./en.json":[509,2],"./es":[510,3],"./es.json":[510,3],"./fr":[511,4],"./fr.json":[511,4],"./ru":[512,5],"./ru.json":[512,5]};function r(n){if(!t.o(map,n))return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+n+"'");throw e.code="MODULE_NOT_FOUND",e});var e=map[n],r=e[0];return t.e(e[1]).then(function(){return t.t(r,3)})}r.keys=function(){return Object.keys(map)},r.id=836,n.exports=r},,,,,,,,,,,,,,,,,function(n,e,t){var map={"./af":331,"./af.js":331,"./ar":332,"./ar-dz":333,"./ar-dz.js":333,"./ar-kw":334,"./ar-kw.js":334,"./ar-ly":335,"./ar-ly.js":335,"./ar-ma":336,"./ar-ma.js":336,"./ar-sa":337,"./ar-sa.js":337,"./ar-tn":338,"./ar-tn.js":338,"./ar.js":332,"./az":339,"./az.js":339,"./be":340,"./be.js":340,"./bg":341,"./bg.js":341,"./bm":342,"./bm.js":342,"./bn":343,"./bn.js":343,"./bo":344,"./bo.js":344,"./br":345,"./br.js":345,"./bs":346,"./bs.js":346,"./ca":347,"./ca.js":347,"./cs":348,"./cs.js":348,"./cv":349,"./cv.js":349,"./cy":350,"./cy.js":350,"./da":351,"./da.js":351,"./de":352,"./de-at":353,"./de-at.js":353,"./de-ch":354,"./de-ch.js":354,"./de.js":352,"./dv":355,"./dv.js":355,"./el":356,"./el.js":356,"./en-au":357,"./en-au.js":357,"./en-ca":358,"./en-ca.js":358,"./en-gb":359,"./en-gb.js":359,"./en-ie":360,"./en-ie.js":360,"./en-il":361,"./en-il.js":361,"./en-in":362,"./en-in.js":362,"./en-nz":363,"./en-nz.js":363,"./en-sg":364,"./en-sg.js":364,"./eo":365,"./eo.js":365,"./es":366,"./es-do":367,"./es-do.js":367,"./es-us":368,"./es-us.js":368,"./es.js":366,"./et":369,"./et.js":369,"./eu":370,"./eu.js":370,"./fa":371,"./fa.js":371,"./fi":372,"./fi.js":372,"./fil":373,"./fil.js":373,"./fo":374,"./fo.js":374,"./fr":375,"./fr-ca":376,"./fr-ca.js":376,"./fr-ch":377,"./fr-ch.js":377,"./fr.js":375,"./fy":378,"./fy.js":378,"./ga":379,"./ga.js":379,"./gd":380,"./gd.js":380,"./gl":381,"./gl.js":381,"./gom-deva":382,"./gom-deva.js":382,"./gom-latn":383,"./gom-latn.js":383,"./gu":384,"./gu.js":384,"./he":385,"./he.js":385,"./hi":386,"./hi.js":386,"./hr":387,"./hr.js":387,"./hu":388,"./hu.js":388,"./hy-am":389,"./hy-am.js":389,"./id":390,"./id.js":390,"./is":391,"./is.js":391,"./it":392,"./it-ch":393,"./it-ch.js":393,"./it.js":392,"./ja":394,"./ja.js":394,"./jv":395,"./jv.js":395,"./ka":396,"./ka.js":396,"./kk":397,"./kk.js":397,"./km":398,"./km.js":398,"./kn":399,"./kn.js":399,"./ko":400,"./ko.js":400,"./ku":401,"./ku.js":401,"./ky":402,"./ky.js":402,"./lb":403,"./lb.js":403,"./lo":404,"./lo.js":404,"./lt":405,"./lt.js":405,"./lv":406,"./lv.js":406,"./me":407,"./me.js":407,"./mi":408,"./mi.js":408,"./mk":409,"./mk.js":409,"./ml":410,"./ml.js":410,"./mn":411,"./mn.js":411,"./mr":412,"./mr.js":412,"./ms":413,"./ms-my":414,"./ms-my.js":414,"./ms.js":413,"./mt":415,"./mt.js":415,"./my":416,"./my.js":416,"./nb":417,"./nb.js":417,"./ne":418,"./ne.js":418,"./nl":419,"./nl-be":420,"./nl-be.js":420,"./nl.js":419,"./nn":421,"./nn.js":421,"./oc-lnc":422,"./oc-lnc.js":422,"./pa-in":423,"./pa-in.js":423,"./pl":424,"./pl.js":424,"./pt":425,"./pt-br":426,"./pt-br.js":426,"./pt.js":425,"./ro":427,"./ro.js":427,"./ru":428,"./ru.js":428,"./sd":429,"./sd.js":429,"./se":430,"./se.js":430,"./si":431,"./si.js":431,"./sk":432,"./sk.js":432,"./sl":433,"./sl.js":433,"./sq":434,"./sq.js":434,"./sr":435,"./sr-cyrl":436,"./sr-cyrl.js":436,"./sr.js":435,"./ss":437,"./ss.js":437,"./sv":438,"./sv.js":438,"./sw":439,"./sw.js":439,"./ta":440,"./ta.js":440,"./te":441,"./te.js":441,"./tet":442,"./tet.js":442,"./tg":443,"./tg.js":443,"./th":444,"./th.js":444,"./tk":445,"./tk.js":445,"./tl-ph":446,"./tl-ph.js":446,"./tlh":447,"./tlh.js":447,"./tr":448,"./tr.js":448,"./tzl":449,"./tzl.js":449,"./tzm":450,"./tzm-latn":451,"./tzm-latn.js":451,"./tzm.js":450,"./ug-cn":452,"./ug-cn.js":452,"./uk":453,"./uk.js":453,"./ur":454,"./ur.js":454,"./uz":455,"./uz-latn":456,"./uz-latn.js":456,"./uz.js":455,"./vi":457,"./vi.js":457,"./x-pseudo":458,"./x-pseudo.js":458,"./yo":459,"./yo.js":459,"./zh-cn":460,"./zh-cn.js":460,"./zh-hk":461,"./zh-hk.js":461,"./zh-mo":462,"./zh-mo.js":462,"./zh-tw":463,"./zh-tw.js":463};function r(n){var e=o(n);return t(e)}function o(n){if(!t.o(map,n)){var e=new Error("Cannot find module '"+n+"'");throw e.code="MODULE_NOT_FOUND",e}return map[n]}r.keys=function(){return Object.keys(map)},r.resolve=o,n.exports=r,r.id=853},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:fileTransfer:FileSelect.vue");var r=t(10);t(2).get("interchat:fileTransfer:FileSelect.vue");var o=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};let l=class extends r.d{get firstFile(){return this.fileList?this.fileList[0]:null}handleDrop(data,n){n.preventDefault(),n.dataTransfer&&(this.fileList=n.dataTransfer.files)}mounted(){}doClickFileInput(){let n=this.$refs.fileInput;n&&(n.focus(),n.click())}get fileName(){return this.firstFile?this.firstFile.name:""}fileSelected(){this.fileList=this.$refs.fileInput.files}doBack(){this.$emit("back")}doSend(){this.$emit("send",this.fileList)}doClear(){this.fileList=null}};o([Object(r.c)("file_list")],l.prototype,"fileList",void 0),l=o([Object(r.a)({})],l);var c=l,d=t(5),component=Object(d.a)(c,function(){var n=this,e=n._self._c;n._self._setupProxy;return e("div",{staticClass:"flex flex-col items-center"},[e("form",{attrs:{id:"fileInfo"}},[e("label",{staticClass:"btn bg-green-light my-3 w-1/2",attrs:{for:"file_uploads"}},[n._v(n._s(n.$t("Choose file")))]),n._v(" "),e("input",{ref:"fileInput",staticStyle:{opacity:"0",width:"0",hieght:"0"},attrs:{type:"file",id:"file_uploads",name:"files"},on:{change:n.fileSelected}})]),n._v(" "),n._l(n.fileList,function(n,t){return e("FilePreview",{key:t,staticClass:"my-3 w-1/2",attrs:{file:n}})}),n._v(" "),e("button",{staticClass:"btn bg-blue-light my-6 w-1/2",attrs:{disabled:!n.fileList},on:{click:n.doSend}},[n._v(n._s(n.$t("Send")))]),n._v(" "),e("button",{staticClass:"btn bg-yellow-dark my-6 w-1/2",attrs:{disabled:!n.fileList},on:{click:n.doClear}},[n._v(n._s(n.$t("Clear")))])],2)},[],!1,null,null,null);e.default=component.exports;installComponents(component,{FilePreview:t(130).default})},function(n,e,t){"use strict";t.r(e),t.d(e,"state",function(){return U}),t.d(e,"getters",function(){return F}),t.d(e,"mutations",function(){return z}),t.d(e,"actions",function(){return W});var r=t(4),o=t(142),l=t(8),c=t(0),d=t(29),f=t(25),m=t(133);t(2).get("interchat:webrtc:WebRtcConnectionData.ts");class h extends m.a{initConnection(){let n=super.initConnection();return n.ondatachannel=this.onDataChannel.bind(this),n}onDataChannel(n){return this.receiveChannel=n.channel,this.receiveChannel}doClose(){this.sendChannel&&(this.sendChannel.close(),this.sendChannel=void 0),this.receiveChannel&&(this.receiveChannel.close(),this.receiveChannel=void 0),super.doClose()}onProgress(n,e){}createDataChannel(n={ordered:!0}){if(!this.connection)throw new Error("Connection not inited!");let e=this.connection.createDataChannel("sendDataChannel",n);return this.sendChannel=e,e.onopen=this.onSendChannelOpen.bind(this),e.onclose=this.onSendChannelClosed.bind(this),e}onSendChannelOpen(){}onSendChannelClosed(){this.connection&&this.connection.sctp&&this.sendChannel&&this.doClose()}}h.BINARY_TYPE_ARRAY_BUFFER="arraybuffer";var v=t(321),x=t.n(v);t(2).get("interchat:webrtc:WebRtcConnectionFileSend.ts");class k extends h{constructor(n){super(n,!0),this.offset=0,this.chunkSize=16384,this.emiter=new x.a}doSendFile(n){if(this.isInited()||this.init(),this.offset=0,this.file=n,0==this.file.size)throw new Error("Can not send zero length files");this.createDataChannel().binaryType=h.BINARY_TYPE_ARRAY_BUFFER}onSendChannelOpen(){if(!this.connection||!this.connection.sctp||!this.sendChannel)return;if(!this.file)return;super.onSendChannelOpen(),console.log("Send channel is open");let n=this.file,e=new FileReader;e.addEventListener("error",n=>{this.emiter.emit(k.EEvent.ERROR,n),c.a.error("Error reading file:",n)}),e.addEventListener("abort",n=>{this.emiter.emit(k.EEvent.ABORT,n),c.a.log("File reading aborted:",n)}),e.addEventListener("load",n=>{if(c.a.log("FileRead.onload ",n),!this.sendChannel||!this.file)return;let data=e.result,r=data.byteLength;this.sendChannel.send(data),this.offset+=r,this.onProgress(this.offset,this.file.size),this.offset{let r=this.offset,o=t+this.chunkSize;const l=n.slice(r,o);e.readAsArrayBuffer(l)};t(this.offset)}onFinish(){this.doClose()}}!function(n){let e;!function(n){n.FINISH="finish",n.ABORT="abort",n.ERROR="error"}(e=n.EEvent||(n.EEvent={}))}(k||(k={}));var w=k;t(2).get("interchat:webrtc:WebRtcConnectionFileReceive.ts");class y extends h{constructor(n){super(n,!1),this.offset=0,this.fileSize=0,this.chunkSize=16384,this.receivedSize=0,this.bitrateMax=0,this.receiveBuffer=[]}doSetFileInfo(n){this.fileName=n.name,this.fileSize=n.size}init(){if(!this.fileSize||!this.fileName)throw new Error("You need set file info before init!");super.init()}onDataChannel(n){let e=super.onDataChannel(n);return e.onopen=()=>{e.binaryType=h.BINARY_TYPE_ARRAY_BUFFER,e.onmessage=this.onMessage.bind(this),e.onopen=this.onChannelOpen.bind(this),e.onclose=this.onChannelClose.bind(this),this.receivedSize=0,this.bitrateMax=0},e}onChannelOpen(){}onChannelClose(){this.offset=0,this.fileSize=0,this.fileName=void 0}onMessage(n){this.receiveBuffer.push(n.data),this.receivedSize+=n.data.byteLength,this.onProgress(this.receivedSize,this.fileSize),this.receivedSize>=this.fileSize&&(this.onFinish(this.receiveBuffer),this.receiveBuffer=[])}onFinish(n){}}var _=t(38),S=t(13),C=t(41);t(2).get("interchat:FileShare:index.ts");let E,I=new C.b,A={};function T(n){let e=A[n];return e||c.a.warn(`There is not that connection. opponentAppInstanceId = ${n}`,A)}function O(n,e){let t=n.connectionsInfo[e];return t||c.a.warn(`There is not that connection Info. opponentAppInstanceId = ${e}`,n.connectionsInfo)}function M(n,e){return n+"_"+e}const N="send",D="wait_answer",R="wait_transfer",P=parseInt("15728640"),L=parseInt("157286400");class j{}const U=()=>({active:!1,status:f.STATUS.NONE,fileSend:null,fileReceivedInfo:null,fileReceivedUrl:null,progress:0,progressMax:0,currentTransferId:null,ignoreTransferId:null,connectionsInfo:{},userId:null,senderAppInstanceId:null,connectionStatus:void 0}),F={isMaster:n=>null!=n.fileSend,isActive:n=>n.active,opponentId:n=>n.userId},z={CLEAR_RESULT(n){n.active=!1,n.status=f.STATUS.NONE,n.userId=null,n.senderAppInstanceId=null,n.fileSend=null,n.fileReceivedUrl&&URL.revokeObjectURL(n.fileReceivedUrl),E=null,n.fileReceivedInfo=null,n.fileReceivedUrl=null,n.progress=0,n.progressMax=0,I.clearAll()},START_TRANSFER(n,{userId:e,transferId:t,file:r}){c.a.log("Mutation Transfer START_TRANSFER"),n.status=f.STATUS.OUTGOING,n.fileSend=r,n.active=!0,n.userId=e,n.senderAppInstanceId=null,n.currentTransferId=t},START_INCOMING(n,{userId:e,transferId:t,fileInfo:r,opponentAppInstanceId:o}){c.a.log("Mutation Transfer START_INCOMING"),n.status=f.STATUS.INCOMING,n.active=!0,n.userId=e,n.senderAppInstanceId=o,n.currentTransferId=t,n.fileReceivedInfo=r},DO_ACCEPTED(n,{opponentId:e}){c.a.log("Mutation DO_ACCEPTED"),n.status=f.STATUS.ACCEPTED,I.clearTimer(M(e,D)),I.clearTimer(M(e,N))},CONNECTION_ADD(n,{connection:e,opponentId:t,opponentAppInstanceId:o}){c.a.log(`Mutation CONNECTION_ADD ${t} ${o}`),A[o]=e;let l=new j;l.opponentId=t,l.status=e.connection?e.connection.connectionState:void 0,r.default.set(n.connectionsInfo,o,l),n.connectionStatus=l.status},CONNECTION_INFO_UPDATE(n,{connection:e,opponentId:t,opponentAppInstanceId:r}){c.a.log("Mutation CONNECTION_INFO_UPDATE");let o=O(n,r);o&&(o.status=e.connection?e.connection.connectionState:void 0,c.a.debug(`connectionInfo[${r}].status = ${o.status}`),n.connectionStatus=o.status,c.a.debug("connectionStatus = ",n.connectionStatus))},CONNECTION_INIT(n,{opponentId:e,opponentAppInstanceId:t}){c.a.log("Mutation CONNECTION_INIT");let r=T(t);r&&r.init()},CONNECTION_FILE_SEND(n,{opponentId:e,opponentAppInstanceId:t}){c.a.log("Mutation CONNECTION_FILE_SEND");let r=T(t);r&&n.fileSend&&r.doSendFile(n.fileSend)},CONNECTION_CLOSE(n,{opponentId:e,opponentAppInstanceId:t}){I.clearTimer(M(e,N)),I.clearTimer(M(e,D)),c.a.log("Mutation CONNECTION_CLOSE ",t),r.default.delete(n.connectionsInfo,t),n.connectionStatus=void 0;let o=T(t);o&&(delete A[t],o.doClose())},CLEANUP(n){I.clearAll(),c.a.log("Mutation CLEANUP");for(let e in n.connectionsInfo)if(n.connectionsInfo.hasOwnProperty(e))throw c.a.debug("connectionsInfo = ",n.connectionsInfo,"opponentAppInstanceId",e),new Error("CLEANUP but not all connectionsInfo closed!!");for(let n in A)if(A.hasOwnProperty(n))throw c.a.debug("connections = ",A),new Error("CLEANUP but not all connection closed!!");n.status!=f.STATUS.FINISHED&&(n.status=f.STATUS.NONE,n.userId=null,n.senderAppInstanceId=null,n.active=!1),n.connectionsInfo={},A={},n.ignoreTransferId=n.currentTransferId,n.currentTransferId=null},IGNORE_TRANSFER(n,e){c.a.log("Mutation IGNORE_TRANSFER"),n.ignoreTransferId=n.currentTransferId,n.status=f.STATUS.IGNORE},FILE_FINISHED(n,{blob:e,fileInfo:t}){c.a.log("FILE_FINISHED "),E=e,n.fileReceivedUrl=URL.createObjectURL(e),n.fileReceivedInfo=t,n.status=f.STATUS.FINISHED},FILE_SEND_FINISHED(n,{opponentId:e,opponentAppInstanceId:t}){c.a.log("FILE_SEND_FINISHED ",e,t);let r=O(n,t);r&&(r.status=f.STATUS.FINISHED,n.status=f.STATUS.FINISHED)},PROGRESS(n,{value:e,total:t,opponentAppInstanceId:r}){n.progress=e,n.progressMax=t}},$="error",B="external",G="ignore",V="manual",H="close",K="timeout",W={async start({state:n,commit:e,dispatch:t},{userId:r,file:d}){if(r){if(!l.a.connected)throw new Error("Not possible due offline");if(c.a.debug("start transfer to user",r),n.active)return c.a.warn("Transfer already active!");if(d.size>L)throw new Error("File too large");try{let n=Object(o.a)();e("CLEAR_RESULT"),e("START_TRANSFER",{userId:r,transferId:n,file:d});let l={name:d.name,size:d.size,type:d.type},f=r;_.default.sendMessageRequest(f,{userId:r,transferId:n,fileInfo:l,master:!0}),I.addTimer(M(f,N),new C.a(()=>{_.default.sendMessageRequest(f,{userId:r,transferId:n,fileInfo:l})},5e3).repeat()),I.addTimer(M(f,D),new C.a(()=>{c.a.debug("hung due call timeout"),t("hungAll",{reason:K})},6e4))}catch(n){await t("hungAll",{reason:$,error:n})}}},async doAnswer({state:n,commit:e,dispatch:t}){if(!l.a.connected)throw new Error("Not possible due offline");let r=n.userId,o=n.currentTransferId;if(!o||!r||n.status!=f.STATUS.INCOMING&&n.status!=f.STATUS.ACCEPTED)throw new Error("Not possible answer due state");try{e("DO_ACCEPTED",{}),_.default.sendMessageAnswerSelf(this.$auth.user.id,{userId:r,transferId:o});let l=n.senderAppInstanceId,d=r;I.addTimer(M(d,R),new C.a(()=>{c.a.debug("hung due call timeout"),t("hungAll",{reason:K})},6e4));try{_.default.sendMessageAnswer(r),e("CONNECTION_INIT",{opponentId:d,opponentAppInstanceId:l})}catch(n){await t("hung",{opponentId:d,opponentAppInstanceId:l,reason:$,error:n})}}catch(n){throw await t("hungAll",{reason:$,error:n}),n}},async doReject({state:n,commit:e,dispatch:t}){await t("hungAll",{reason:V})},async doFinish({state:n,commit:e,dispatch:t}){await t("hungAll",{reason:V}),n.status==f.STATUS.FINISHED&&e("CLEAR_RESULT")},async createConnectionSend({commit:n,dispatch:e},{opponentId:t,opponentAppInstanceId:r}){let o=new w;return o.onFinish=()=>{n("FILE_SEND_FINISHED",{opponentId:t,opponentAppInstanceId:r})},o.emiter.on(w.EEvent.FINISH,()=>{}),o.emiter.on(w.EEvent.ERROR,n=>{c.a.error("WebRtcConnectionFileSend error event",n),alert("File read error"),e("hungAll",{reason:$})}),o.emiter.on(w.EEvent.ABORT,n=>{c.a.error("WebRtcConnectionFileSend abort event",n),alert("File read abort"),e("hungAll",{reason:$,error:"abort"})}),await e("doConfigureWebRTCConnection",{connection:o,opponentId:t,opponentAppInstanceId:r}),n("CONNECTION_ADD",{connection:o,opponentId:t,opponentAppInstanceId:r}),o},doConfigureWebRTCConnection:async({state:n,commit:e,dispatch:t},{connection:r,opponentId:o,opponentAppInstanceId:l})=>(r.config=JSON.parse('{"iceServers":[{"urls":["stun:ksitalk.com:3478","stun:stun.l.google.com:19302","stun:stun1.l.google.com:19302"]},{"urls":["turn:ksitalk.com:3478?transport=udp","turn:ksitalk.com:3478?transport=tcp"],"username":"ctalk","credential":"ctalk-turn-2026"}]}'),r.onSignalSend=async data=>_.default.signalDirectSend(o,data),r.setReinitAttempts(0),r.onClosed=async()=>{n.status!=f.STATUS.IGNORE&&await t("hung",{opponentId:o,opponentAppInstanceId:l,reason:H})},r.onProgress=(n,t)=>{e("PROGRESS",{value:n,total:t,opponentAppInstanceId:l}),I.clearTimer(M(o,R))},r.onConnectionStateChangeEvent=()=>{e("CONNECTION_INFO_UPDATE",{connection:r,opponentId:o,opponentAppInstanceId:l})},r),async firebaseCall({state:n,commit:e,dispatch:t},r){c.a.debug("firebaseTransfer payload = ",r),c.a.debug("message type = ",typeof r);let o=r.authorID,l=r.appInstanceId;if(r.type!=d.MessageType.REQUEST)return c.a.log("unknown message type for transfer firebase",r.type);await t("onMessageRequest",{message:r,opponentId:o,opponentAppInstanceId:l})},async onMessage({state:n,commit:e,dispatch:t},r){c.a.debug("Receive transfer-message ",r);let o=r.authorID,l=r.appInstanceId;if(!l)return c.a.debug("ignore message, appInstanceId not set");if(r.type==d.MessageType.REQUEST)return await t("onMessageRequest",{message:r,opponentId:o,opponentAppInstanceId:l});if(!n.active)return c.a.debug("ignore message, transfer not active");if(r.type==d.MessageType.ANSWER_SELF)return await t("onMessageAnswerSelf",{message:r,opponentId:o,opponentAppInstanceId:l});if(o!=n.userId)return c.a.warn("Wrong authorID",r.authorID);if(r.type==d.MessageType.ASC)return await t("onMessageAsk",{message:r,opponentId:o,opponentAppInstanceId:l});if(r.type==d.MessageType.ANSWER)return await t("onMessageAnswer",{message:r,opponentId:o,opponentAppInstanceId:l});if(r.type==d.MessageType.HUNG)return await t("onMessageHung",{message:r,opponentId:o,opponentAppInstanceId:l});if(r.type,d.MessageType.DONE,r.type==d.MessageType.SIGNAL){let n=A[l];return n&&n.isInited()?n.onSignalReceive(r.signal):c.a.warn("Ignore signal for appInstanceId",l)}},async onMessageRequest({state:n,commit:e,dispatch:t,rootState:r},{message:o,opponentId:l,opponentAppInstanceId:d}){if(!o.payload)return c.a.warn("Bad message",o);let m=o.payload.userId,h=o.payload.transferId,v=o.payload.fileInfo;if(!m||!h||!v)return c.a.warn("Bad message",o);if(v.size>L)return c.a.warn("Transfer file too large",v.size,L);if(m!=this.$auth.user.id)return c.a.warn("Wrong userId",m);if(h==n.ignoreTransferId)return c.a.debug("Ignore transfer ",h);if(n.status==f.STATUS.FINISHED&&e("CLEAR_RESULT"),n.active){if(h!=n.currentTransferId)return c.a.debug("Ignore transfer ",h,"current transfer is ",n.currentTransferId),_.default.sendMessageHung(l,_.default.REASON_BUSY)}else c.a.debug("onMessageRequest start incoming"),e("START_INCOMING",{userId:l,transferId:h,fileInfo:v,opponentAppInstanceId:d});if(JSON.stringify(l)!=JSON.stringify(n.userId))return c.a.warn("Transfer already active! incoming: ",JSON.stringify(l)," active transfer:",JSON.stringify(n.userId)),_.default.sendMessageHung(l,_.default.REASON_BUSY);await t("platformDevice/onFileStart",{},{root:!0});let x=T(d);x||(x=new y,x.doSetFileInfo(v),x.onFinish=async n=>{let r=new Blob(n);e("FILE_FINISHED",{blob:r,fileInfo:v}),await t("platformDevice/onFileDownload",{fileName:v.name,fileSize:v.size,fileContent:r},{root:!0})},await t("doConfigureWebRTCConnection",{connection:x,opponentId:l,opponentAppInstanceId:d}),e("CONNECTION_ADD",{connection:x,opponentId:l,opponentAppInstanceId:d})),_.default.sendMessageAscend(l);try{(n.status==f.STATUS.ACCEPTED||n.status==f.STATUS.INCOMING&&Object(S.k)()&&n.fileReceivedInfo&&n.fileReceivedInfo.size(n&&n.lock&&await n.lock(e),!1),unlock:async()=>(n&&n.unlock&&await n.unlock(),!1)}}(),d=t(476),f=t.n(d),m=t(52);t(2).get("interchat:screen.ts");let h=new f.a;function v(n={}){if("undefined"==typeof window||"undefined"==typeof document)return;const e=!1!==n.resetScrollableContainers,t=element=>{try{if(!element)return;if(element===window)return void window.scrollTo(0,0);element.scrollTop=0,element.scrollLeft=0}catch(n){r.a.warn("Error restore scroll",n)}},o=()=>{t(window),t(document.scrollingElement),t(document.documentElement),t(document.body),document.querySelectorAll(".chat-page").forEach(t),e&&document.querySelectorAll(".user-list-class").forEach(t),window.dispatchEvent(new Event("resize"))};o(),window.requestAnimationFrame(o),setTimeout(o,120),setTimeout(o,450)}let x=null;l.a.isEnabled&&l.a.on("change",()=>{r.a.debug("screen full change"),x&&l.a.isEnabled&&x("SET_FULL_SCREEN",l.a.isFullscreen)});const k=()=>({isFullScreen:!1}),w={isFullScreen:n=>n.isFullScreen,isFullScreenAllow:n=>l.a.isEnabled},y={SET_FULL_SCREEN(n,e){n.isFullScreen=e}},_={async restoreAppViewport({},n={}){v(n)},async goFullScreenLockNoSleep({commit:n,dispatch:e}){await e("goFullScreen"),await e("lock"),await e("noSleep")},async exitFullscreenEnableSleep({dispatch:n}){try{l.a.isEnabled&&await l.a.exit()}catch(n){r.a.warn("Error exit fullscreen",n)}try{h&&h.disable()}catch(n){r.a.warn("Error noSleep disable",n)}try{await c.unlock()}catch(n){r.a.warn("Error screenlock unlock",n)}try{await n("platformDevice/orientationLock",{orientation:"any"},{root:!0})}catch(n){r.a.warn("Error screenlock unlock",n)}v()},async goFullScreen({commit:n}){try{if(r.a.debug("try go full screen"),!l.a.isEnabled)return void r.a.warn("fullscreen not supported");if(!m.isMobile)return void r.a.debug("prevent fullscreen on desktop");x=n,await l.a.request()}catch(n){r.a.error("error fullscreen",n)}try{r.a.debug("no sleep enable"),h&&h.enable()}catch(n){r.a.warn("error nosleep",n)}},async lock({dispatch:n},e="portrait-primary"){try{r.a.debug("Try lock screen "+e),await n("platformDevice/orientationLock",{orientation:e},{root:!0}),await c.lock(e)}catch(n){r.a.warn("error screen lock ",n)}},async noSleep(){try{h&&h.enable()}catch(n){r.a.warn("error nosleep",n)}}}}],[[514,61,7,62]]]);