diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ea71fa..9d15488 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ ## Unreleased +- Added type-to-focus on the chat composer: pressing a printable key while + focus is outside any text field (and no modal/menu is open) now jumps the + caret to the active composer — the thread reply textarea when a thread pane + is open, otherwise the channel/DM composer — so the keystroke lands as the + next character of your draft. The composer also auto-grows as the draft + spans multiple lines (Discord-style), capped at half the viewport before a + scrollbar appears, and shrinks back to a single row after sending. IME + composition, modifier shortcuts, text fields, menus, media controls, and + active text selections inside messages or threads are preserved untouched. + Thanks @shakkernerd. - Added inline quote-replies in channels, DMs, and threads. Every message-create endpoint now accepts an optional `quoted_message_id`; the server captures a 280-rune trimmed snapshot of the quoted body plus the diff --git a/apps/api/internal/webassets/dist/assets/index-BFDV1AHN.js b/apps/api/internal/webassets/dist/assets/index-BFDV1AHN.js deleted file mode 100644 index 65250c7..0000000 --- a/apps/api/internal/webassets/dist/assets/index-BFDV1AHN.js +++ /dev/null @@ -1,72 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const s of a)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).observe(document,{childList:!0,subtree:!0});function n(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(a){if(a.ep)return;a.ep=!0;const s=n(a);fetch(a.href,s)}})();const Lc=!1;var Dl=Array.isArray,Oc=Array.prototype.indexOf,qr=Array.prototype.includes,si=Array.from,Mc=Object.defineProperty,Sa=Object.getOwnPropertyDescriptor,Il=Object.getOwnPropertyDescriptors,Nc=Object.prototype,Pc=Array.prototype,Vi=Object.getPrototypeOf,el=Object.isExtensible;const zc=()=>{};function Fc(e){return e()}function Li(e){for(var t=0;t{e=i,t=a});return{promise:n,resolve:e,reject:t}}const it=2,Gr=4,Ia=8,Ol=1<<24,wn=16,sn=32,ir=64,Oi=128,zt=512,Be=1024,rt=2048,ln=4096,ft=8192,Ft=16384,Er=32768,Mi=1<<25,Wr=65536,Ni=1<<17,Ml=1<<18,Sr=1<<19,Nl=1<<20,kn=1<<25,wr=65536,ti=1<<21,Ca=1<<22,rr=1<<23,Hr=Symbol("$state"),$c=Symbol(""),Un=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function Pl(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Uc(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Bc(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Hc(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function qc(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Gc(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Wc(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function jc(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Zc(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Yc(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Xc(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Vc=1,Jc=2,zl=4,Qc=8,Kc=16,eu=1,tu=2,Ye=Symbol(),Fl="http://www.w3.org/1999/xhtml",nu="http://www.w3.org/2000/svg",ru="http://www.w3.org/1998/Math/MathML";function au(){console.warn("https://svelte.dev/e/derived_inert")}function iu(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function $l(e){return e===this.v}function su(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Ul(e){return!su(e,this.v)}let La=!1,lu=!1;function ou(){La=!0}let Re=null;function jr(e){Re=e}function Ji(e,t=!1,n){Re={p:Re,i:!1,c:null,e:null,s:e,x:null,r:te,l:La&&!t?{s:null,u:null,$:[]}:null}}function Qi(e){var t=Re,n=t.e;if(n!==null){t.e=null;for(var i of n)lo(i)}return t.i=!0,Re=t.p,{}}function Oa(){return!La||Re!==null&&Re.l===null}let _r=[];function Bl(){var e=_r;_r=[],Li(e)}function ar(e){if(_r.length===0&&!Aa){var t=_r;queueMicrotask(()=>{t===_r&&Bl()})}_r.push(e)}function cu(){for(;_r.length>0;)Bl()}function Hl(e){var t=te;if(t===null)return ce.f|=rr,e;if((t.f&Er)===0&&(t.f&Gr)===0)throw e;tr(e,t)}function tr(e,t){for(;t!==null;){if((t.f&Oi)!==0){if((t.f&Er)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const uu=-7169;function Ne(e,t){e.f=e.f&uu|t}function Ki(e){(e.f&zt)!==0||e.deps===null?Ne(e,Be):Ne(e,ln)}function ql(e){if(e!==null)for(const t of e)(t.f&it)===0||(t.f&wr)===0||(t.f^=wr,ql(t.deps))}function Gl(e,t,n){(e.f&rt)!==0?t.add(e):(e.f&ln)!==0&&n.add(e),ql(e.deps),Ne(e,Be)}const hr=new Set;let ee=null,rn=null,Pi=null,Aa=!1,xi=!1,Br=null,Ka=null;var tl=0;let fu=1;class sr{id=fu++;current=new Map;previous=new Map;#n=new Set;#o=new Set;#e=new Set;#a=new Map;#r=new Map;#i=null;#t=[];#s=[];#c=new Set;#u=new Set;#l=new Map;#d=new Set;is_fork=!1;#h=!1;#p=new Set;#f(){return this.is_fork||this.#r.size>0}#g(){for(const i of this.#p)for(const a of i.#r.keys()){for(var t=!1,n=a;n.parent!==null;){if(this.#l.has(n)){t=!0;break}n=n.parent}if(!t)return!0}return!1}skip_effect(t){this.#l.has(t)||this.#l.set(t,{d:[],m:[]}),this.#d.delete(t)}unskip_effect(t,n=i=>this.schedule(i)){var i=this.#l.get(t);if(i){this.#l.delete(t);for(var a of i.d)Ne(a,rt),n(a);for(a of i.m)Ne(a,ln),n(a)}this.#d.add(t)}#v(){if(tl++>1e3&&(hr.delete(this),pu()),!this.#f()){for(const u of this.#c)this.#u.delete(u),Ne(u,rt),this.schedule(u);for(const u of this.#u)Ne(u,ln),this.schedule(u)}const t=this.#t;this.#t=[],this.apply();var n=Br=[],i=[],a=Ka=[];for(const u of t)try{this.#m(u,n,i)}catch(c){throw Zl(u),c}if(ee=null,a.length>0){var s=sr.ensure();for(const u of a)s.schedule(u)}if(Br=null,Ka=null,this.#f()||this.#g()){this.#_(i),this.#_(n);for(const[u,c]of this.#l)jl(u,c)}else{this.#a.size===0&&hr.delete(this),this.#c.clear(),this.#u.clear();for(const u of this.#n)u(this);this.#n.clear(),nl(i),nl(n),this.#i?.resolve()}var l=ee;if(this.#t.length>0){const u=l??=this;u.#t.push(...this.#t.filter(c=>!u.#t.includes(c)))}l!==null&&(hr.add(l),l.#v())}#m(t,n,i){t.f^=Be;for(var a=t.first;a!==null;){var s=a.f,l=(s&(sn|ir))!==0,u=l&&(s&Be)!==0,c=u||(s&ft)!==0||this.#l.has(a);if(!c&&a.fn!==null){l?a.f^=Be:(s&Gr)!==0?n.push(a):Xr(a)&&((s&wn)!==0&&this.#u.add(a),xr(a));var f=a.first;if(f!==null){a=f;continue}}for(;a!==null;){var h=a.next;if(h!==null){a=h;break}a=a.parent}}}#_(t){for(var n=0;n!this.current.has(w));if(a.length===0)t&&h.discard();else if(n.length>0){if(t)for(const w of this.#d)h.unskip_effect(w,b=>{(b.f&(wn|Ca))!==0?h.schedule(b):h.#_([b])});h.activate();var s=new Set,l=new Map;for(var u of n)Wl(u,a,s,l);l=new Map;var c=[...h.current.keys()].filter(w=>this.current.has(w)?this.current.get(w)[0]!==w:!0);for(const w of this.#s)(w.f&(Ft|ft|Ni))===0&&es(w,c,l)&&((w.f&(Ca|wn))!==0?(Ne(w,rt),h.schedule(w)):h.#c.add(w));if(h.#t.length>0){h.apply();for(var f of h.#t)h.#m(f,[],[]);h.#t=[]}h.deactivate()}}for(const h of hr)h.#p.has(this)&&(h.#p.delete(this),h.#p.size===0&&!h.#f()&&(h.activate(),h.#v()))}increment(t,n){let i=this.#a.get(n)??0;if(this.#a.set(n,i+1),t){let a=this.#r.get(n)??0;this.#r.set(n,a+1)}}decrement(t,n,i){let a=this.#a.get(n)??0;if(a===1?this.#a.delete(n):this.#a.set(n,a-1),t){let s=this.#r.get(n)??0;s===1?this.#r.delete(n):this.#r.set(n,s-1)}this.#h||i||(this.#h=!0,ar(()=>{this.#h=!1,this.flush()}))}transfer_effects(t,n){for(const i of t)this.#c.add(i);for(const i of n)this.#u.add(i);t.clear(),n.clear()}oncommit(t){this.#n.add(t)}ondiscard(t){this.#o.add(t)}on_fork_commit(t){this.#e.add(t)}run_fork_commit_callbacks(){for(const t of this.#e)t(this);this.#e.clear()}settled(){return(this.#i??=Ll()).promise}static ensure(){if(ee===null){const t=ee=new sr;xi||(hr.add(ee),Aa||ar(()=>{ee===t&&t.flush()}))}return ee}apply(){{rn=null;return}}schedule(t){if(Pi=t,t.b?.is_pending&&(t.f&(Gr|Ia|Ol))!==0&&(t.f&Er)===0){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var i=n.f;if(Br!==null&&n===te&&(ce===null||(ce.f&it)===0))return;if((i&(ir|sn))!==0){if((i&Be)===0)return;n.f^=Be}}this.#t.push(n)}}function du(e){var t=Aa;Aa=!0;try{for(var n;;){if(cu(),ee===null)return n;ee.flush()}}finally{Aa=t}}function pu(){try{Wc()}catch(e){tr(e,Pi)}}let $n=null;function nl(e){var t=e.length;if(t!==0){for(var n=0;n0)){mr.clear();for(const a of $n){if((a.f&(Ft|ft))!==0)continue;const s=[a];let l=a.parent;for(;l!==null;)$n.has(l)&&($n.delete(l),s.push(l)),l=l.parent;for(let u=s.length-1;u>=0;u--){const c=s[u];(c.f&(Ft|ft))===0&&xr(c)}}$n.clear()}}$n=null}}function Wl(e,t,n,i){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const a of e.reactions){const s=a.f;(s&it)!==0?Wl(a,t,n,i):(s&(Ca|wn))!==0&&(s&rt)===0&&es(a,t,i)&&(Ne(a,rt),ts(a))}}function es(e,t,n){const i=n.get(e);if(i!==void 0)return i;if(e.deps!==null)for(const a of e.deps){if(qr.call(t,a))return!0;if((a.f&it)!==0&&es(a,t,n))return n.set(a,!0),!0}return n.set(e,!1),!1}function ts(e){ee.schedule(e)}function jl(e,t){if(!((e.f&sn)!==0&&(e.f&Be)!==0)){(e.f&rt)!==0?t.d.push(e):(e.f&ln)!==0&&t.m.push(e),Ne(e,Be);for(var n=e.first;n!==null;)jl(n,t),n=n.next}}function Zl(e){Ne(e,Be);for(var t=e.first;t!==null;)Zl(t),t=t.next}function hu(e){let t=0,n=yr(0),i;return()=>{as()&&(r(n),Na(()=>(t===0&&(i=v(()=>e(()=>Ra(n)))),t+=1,()=>{ar(()=>{t-=1,t===0&&(i?.(),i=void 0,Ra(n))})})))}}var vu=Wr|Sr;function _u(e,t,n,i){new gu(e,t,n,i)}class gu{parent;is_pending=!1;transform_error;#n;#o=null;#e;#a;#r;#i=null;#t=null;#s=null;#c=null;#u=0;#l=0;#d=!1;#h=new Set;#p=new Set;#f=null;#g=hu(()=>(this.#f=yr(this.#u),()=>{this.#f=null}));constructor(t,n,i,a){this.#n=t,this.#e=n,this.#a=s=>{var l=te;l.b=this,l.f|=Oi,i(s)},this.parent=te.b,this.transform_error=a??this.parent?.transform_error??(s=>s),this.#r=ci(()=>{this.#b()},vu)}#v(){try{this.#i=Pt(()=>this.#a(this.#n))}catch(t){this.error(t)}}#m(t){const n=this.#e.failed;n&&(this.#s=Pt(()=>{n(this.#n,()=>t,()=>()=>{})}))}#_(){const t=this.#e.pending;t&&(this.is_pending=!0,this.#t=Pt(()=>t(this.#n)),ar(()=>{var n=this.#c=document.createDocumentFragment(),i=yn();n.append(i),this.#i=this.#w(()=>Pt(()=>this.#a(i))),this.#l===0&&(this.#n.before(n),this.#c=null,br(this.#t,()=>{this.#t=null}),this.#k(ee))}))}#b(){try{if(this.is_pending=this.has_pending_snippet(),this.#l=0,this.#u=0,this.#i=Pt(()=>{this.#a(this.#n)}),this.#l>0){var t=this.#c=document.createDocumentFragment();ls(this.#i,t);const n=this.#e.pending;this.#t=Pt(()=>n(this.#n))}else this.#k(ee)}catch(n){this.error(n)}}#k(t){this.is_pending=!1,t.transfer_effects(this.#h,this.#p)}defer_effect(t){Gl(t,this.#h,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#e.pending}#w(t){var n=te,i=ce,a=Re;Bt(this.#r),Ut(this.#r),jr(this.#r.ctx);try{return sr.ensure(),t()}catch(s){return Hl(s),null}finally{Bt(n),Ut(i),jr(a)}}#y(t,n){if(!this.has_pending_snippet()){this.parent&&this.parent.#y(t,n);return}this.#l+=t,this.#l===0&&(this.#k(n),this.#t&&br(this.#t,()=>{this.#t=null}),this.#c&&(this.#n.before(this.#c),this.#c=null))}update_pending_count(t,n){this.#y(t,n),this.#u+=t,!(!this.#f||this.#d)&&(this.#d=!0,ar(()=>{this.#d=!1,this.#f&&Zr(this.#f,this.#u)}))}get_effect_pending(){return this.#g(),r(this.#f)}error(t){if(!this.#e.onerror&&!this.#e.failed)throw t;ee?.is_fork?(this.#i&&ee.skip_effect(this.#i),this.#t&&ee.skip_effect(this.#t),this.#s&&ee.skip_effect(this.#s),ee.on_fork_commit(()=>{this.#x(t)})):this.#x(t)}#x(t){this.#i&&(bt(this.#i),this.#i=null),this.#t&&(bt(this.#t),this.#t=null),this.#s&&(bt(this.#s),this.#s=null);var n=this.#e.onerror;let i=this.#e.failed;var a=!1,s=!1;const l=()=>{if(a){iu();return}a=!0,s&&Xc(),this.#s!==null&&br(this.#s,()=>{this.#s=null}),this.#w(()=>{this.#b()})},u=c=>{try{s=!0,n?.(c,l),s=!1}catch(f){tr(f,this.#r&&this.#r.parent)}i&&(this.#s=this.#w(()=>{try{return Pt(()=>{var f=te;f.b=this,f.f|=Oi,i(this.#n,()=>c,()=>l)})}catch(f){return tr(f,this.#r.parent),null}}))};ar(()=>{var c;try{c=this.transform_error(t)}catch(f){tr(f,this.#r&&this.#r.parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(u,f=>tr(f,this.#r&&this.#r.parent)):u(c)})}}function mu(e,t,n,i){const a=Oa()?li:ns;var s=e.filter(b=>!b.settled);if(n.length===0&&s.length===0){i(t.map(a));return}var l=te,u=bu(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(b=>b.promise)):null;function f(b){u();try{i(b)}catch(E){(l.f&Ft)===0&&tr(E,l)}ni()}if(n.length===0){c.then(()=>f(t.map(a)));return}var h=Yl();function w(){Promise.all(n.map(b=>ku(b))).then(b=>f([...t.map(a),...b])).catch(b=>tr(b,l)).finally(()=>h())}c?c.then(()=>{u(),w(),ni()}):w()}function bu(){var e=te,t=ce,n=Re,i=ee;return function(s=!0){Bt(e),Ut(t),jr(n),s&&(e.f&Ft)===0&&(i?.activate(),i?.apply())}}function ni(e=!0){Bt(null),Ut(null),jr(null),e&&ee?.deactivate()}function Yl(){var e=te,t=e.b,n=ee,i=t.is_rendered();return t.update_pending_count(1,n),n.increment(i,e),(a=!1)=>{t.update_pending_count(-1,n),n.decrement(i,e,a)}}function li(e){var t=it|rt;return te!==null&&(te.f|=Sr),{ctx:Re,deps:null,effects:null,equals:$l,f:t,fn:e,reactions:null,rv:0,v:Ye,wv:0,parent:te,ac:null}}function ku(e,t,n){let i=te;i===null&&Uc();var a=void 0,s=yr(Ye),l=!ce,u=new Map;return Ou(()=>{var c=te,f=Ll();a=f.promise;try{Promise.resolve(e()).then(f.resolve,f.reject).finally(ni)}catch(E){f.reject(E),ni()}var h=ee;if(l){if((c.f&Er)!==0)var w=Yl();if(i.b.is_rendered())u.get(h)?.reject(Un),u.delete(h);else{for(const E of u.values())E.reject(Un);u.clear()}u.set(h,f)}const b=(E,x=void 0)=>{if(w){var L=x===Un;w(L)}if(!(x===Un||(c.f&Ft)!==0)){if(h.activate(),x)s.f|=rr,Zr(s,x);else{(s.f&rr)!==0&&(s.f^=rr),Zr(s,E);for(const[S,P]of u){if(u.delete(S),S===h)break;P.reject(Un)}}h.deactivate()}};f.promise.then(b,E=>b(null,E||"unknown"))}),so(()=>{for(const c of u.values())c.reject(Un)}),new Promise(c=>{function f(h){function w(){h===a?c(s):f(a)}h.then(w,w)}f(a)})}function Jn(e){const t=li(e);return vo(t),t}function ns(e){const t=li(e);return t.equals=Ul,t}function wu(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;nr(e))),t}function m(e,t,n=!1){ce!==null&&(!an||(ce.f&Ni)!==0)&&Oa()&&(ce.f&(it|wn|Ca|Ni))!==0&&($t===null||!qr.call($t,e))&&Yc();let i=n?ka(t):t;return Zr(e,i,Ka)}function Zr(e,t,n=null){if(!e.equals(t)){mr.set(e,lr?t:e.v);var i=sr.ensure();if(i.capture(e,t),(e.f&it)!==0){const a=e;(e.f&rt)!==0&&rs(a),rn===null&&Ki(a)}e.wv=go(),Ql(e,rt,n),Oa()&&te!==null&&(te.f&Be)!==0&&(te.f&(sn|ir))===0&&(Nt===null?Nu([e]):Nt.push(e)),!i.is_fork&&zi.size>0&&!Jl&&Tu()}return t}function Tu(){Jl=!1;for(const e of zi)(e.f&Be)!==0&&Ne(e,ln),Xr(e)&&xr(e);zi.clear()}function Ra(e){m(e,e.v+1)}function Ql(e,t,n){var i=e.reactions;if(i!==null)for(var a=Oa(),s=i.length,l=0;l{if(kr===s)return u();var c=ce,f=kr;Ut(null),il(s);var h=u();return Ut(c),il(f),h};return i&&n.set("length",Qn(e.length)),new Proxy(e,{defineProperty(u,c,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&jc();var h=n.get(c);return h===void 0?l(()=>{var w=Qn(f.value);return n.set(c,w),w}):m(h,f.value,!0),!0},deleteProperty(u,c){var f=n.get(c);if(f===void 0){if(c in u){const h=l(()=>Qn(Ye));n.set(c,h),Ra(a)}}else m(f,Ye),Ra(a);return!0},get(u,c,f){if(c===Hr)return e;var h=n.get(c),w=c in u;if(h===void 0&&(!w||Sa(u,c)?.writable)&&(h=l(()=>{var E=ka(w?u[c]:Ye),x=Qn(E);return x}),n.set(c,h)),h!==void 0){var b=r(h);return b===Ye?void 0:b}return Reflect.get(u,c,f)},getOwnPropertyDescriptor(u,c){var f=Reflect.getOwnPropertyDescriptor(u,c);if(f&&"value"in f){var h=n.get(c);h&&(f.value=r(h))}else if(f===void 0){var w=n.get(c),b=w?.v;if(w!==void 0&&b!==Ye)return{enumerable:!0,configurable:!0,value:b,writable:!0}}return f},has(u,c){if(c===Hr)return!0;var f=n.get(c),h=f!==void 0&&f.v!==Ye||Reflect.has(u,c);if(f!==void 0||te!==null&&(!h||Sa(u,c)?.writable)){f===void 0&&(f=l(()=>{var b=h?ka(u[c]):Ye,E=Qn(b);return E}),n.set(c,f));var w=r(f);if(w===Ye)return!1}return h},set(u,c,f,h){var w=n.get(c),b=c in u;if(i&&c==="length")for(var E=f;EQn(Ye)),n.set(E+"",x))}if(w===void 0)(!b||Sa(u,c)?.writable)&&(w=l(()=>Qn(void 0)),m(w,ka(f)),n.set(c,w));else{b=w.v!==Ye;var L=l(()=>ka(f));m(w,L)}var S=Reflect.getOwnPropertyDescriptor(u,c);if(S?.set&&S.set.call(h,f),!b){if(i&&typeof c=="string"){var P=n.get("length"),R=Number(c);Number.isInteger(R)&&R>=P.v&&m(P,R+1)}Ra(a)}return!0},ownKeys(u){r(a);var c=Reflect.ownKeys(u).filter(w=>{var b=n.get(w);return b===void 0||b.v!==Ye});for(var[f,h]of n)h.v!==Ye&&!(f in u)&&c.push(f);return c},setPrototypeOf(){Zc()}})}var Fi,Kl,eo,to,no;function Eu(){if(Fi===void 0){Fi=window,Kl=document,eo=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;to=Sa(t,"firstChild").get,no=Sa(t,"nextSibling").get,el(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),el(n)&&(n.__t=void 0)}}function yn(e=""){return document.createTextNode(e)}function nr(e){return to.call(e)}function Ma(e){return no.call(e)}function p(e,t){return nr(e)}function Fn(e,t=!1){{var n=nr(e);return n instanceof Comment&&n.data===""?Ma(n):n}}function _(e,t=1,n=!1){let i=e;for(;t--;)i=Ma(i);return i}function Su(e){e.textContent=""}function ro(){return!1}function ao(e,t,n){return document.createElementNS(t??Fl,e,void 0)}let rl=!1;function Au(){rl||(rl=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function oi(e){var t=ce,n=te;Ut(null),Bt(null);try{return e()}finally{Ut(t),Bt(n)}}function Ru(e,t,n,i=n){e.addEventListener(t,()=>oi(n));const a=e.__on_r;a?e.__on_r=()=>{a(),i(!0)}:e.__on_r=()=>i(!0),Au()}function io(e){te===null&&(ce===null&&Gc(),qc()),lr&&Hc()}function Cu(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function xn(e,t){var n=te;n!==null&&(n.f&ft)!==0&&(e|=ft);var i={ctx:Re,deps:null,nodes:null,f:e|rt|zt,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};ee?.register_created_effect(i);var a=i;if((e&Gr)!==0)Br!==null?Br.push(i):sr.ensure().schedule(i);else if(t!==null){try{xr(i)}catch(l){throw bt(i),l}a.deps===null&&a.teardown===null&&a.nodes===null&&a.first===a.last&&(a.f&Sr)===0&&(a=a.first,(e&wn)!==0&&(e&Wr)!==0&&a!==null&&(a.f|=Wr))}if(a!==null&&(a.parent=n,n!==null&&Cu(a,n),ce!==null&&(ce.f&it)!==0&&(e&ir)===0)){var s=ce;(s.effects??=[]).push(a)}return i}function as(){return ce!==null&&!an}function so(e){const t=xn(Ia,null);return Ne(t,Be),t.teardown=e,t}function $i(e){io();var t=te.f,n=!ce&&(t&sn)!==0&&(t&Er)===0;if(n){var i=Re;(i.e??=[]).push(e)}else return lo(e)}function lo(e){return xn(Gr|Nl,e)}function Du(e){return io(),xn(Ia|Nl,e)}function Iu(e){sr.ensure();const t=xn(ir|Sr,e);return(n={})=>new Promise(i=>{n.outro?br(t,()=>{bt(t),i(void 0)}):(bt(t),i(void 0))})}function oo(e){return xn(Gr,e)}function vn(e,t){var n=Re,i={effect:null,ran:!1,deps:e};n.l.$.push(i),i.effect=Na(()=>{if(e(),!i.ran){i.ran=!0;var a=te;try{Bt(a.parent),v(t)}finally{Bt(a)}}})}function Lu(){var e=Re;Na(()=>{for(var t of e.l.$){t.deps();var n=t.effect;(n.f&Be)!==0&&n.deps!==null&&Ne(n,ln),Xr(n)&&xr(n),t.ran=!1}})}function Ou(e){return xn(Ca|Sr,e)}function Na(e,t=0){return xn(Ia|t,e)}function N(e,t=[],n=[],i=[]){mu(i,t,n,a=>{xn(Ia,()=>e(...a.map(r)))})}function ci(e,t=0){var n=xn(wn|t,e);return n}function Pt(e){return xn(sn|Sr,e)}function co(e){var t=e.teardown;if(t!==null){const n=lr,i=ce;al(!0),Ut(null);try{t.call(null)}finally{al(n),Ut(i)}}}function is(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const a=n.ac;a!==null&&oi(()=>{a.abort(Un)});var i=n.next;(n.f&ir)!==0?n.parent=null:bt(n,t),n=i}}function Mu(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&sn)===0&&bt(t),t=n}}function bt(e,t=!0){var n=!1;(t||(e.f&Ml)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(uo(e.nodes.start,e.nodes.end),n=!0),Ne(e,Mi),is(e,t&&!n),Da(e,0);var i=e.nodes&&e.nodes.t;if(i!==null)for(const s of i)s.stop();co(e),e.f^=Mi,e.f|=Ft;var a=e.parent;a!==null&&a.first!==null&&fo(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function uo(e,t){for(;e!==null;){var n=e===t?null:Ma(e);e.remove(),e=n}}function fo(e){var t=e.parent,n=e.prev,i=e.next;n!==null&&(n.next=i),i!==null&&(i.prev=n),t!==null&&(t.first===e&&(t.first=i),t.last===e&&(t.last=n))}function br(e,t,n=!0){var i=[];po(e,i,!0);var a=()=>{n&&bt(e),t&&t()},s=i.length;if(s>0){var l=()=>--s||a();for(var u of i)u.out(l)}else a()}function po(e,t,n){if((e.f&ft)===0){e.f^=ft;var i=e.nodes&&e.nodes.t;if(i!==null)for(const u of i)(u.is_global||n)&&t.push(u);for(var a=e.first;a!==null;){var s=a.next;if((a.f&ir)===0){var l=(a.f&Wr)!==0||(a.f&sn)!==0&&(e.f&wn)!==0;po(a,t,l?n:!1)}a=s}}}function ss(e){ho(e,!0)}function ho(e,t){if((e.f&ft)!==0){e.f^=ft,(e.f&Be)===0&&(Ne(e,rt),sr.ensure().schedule(e));for(var n=e.first;n!==null;){var i=n.next,a=(n.f&Wr)!==0||(n.f&sn)!==0;ho(n,a?t:!1),n=i}var s=e.nodes&&e.nodes.t;if(s!==null)for(const l of s)(l.is_global||t)&&l.in()}}function ls(e,t){if(e.nodes)for(var n=e.nodes.start,i=e.nodes.end;n!==null;){var a=n===i?null:Ma(n);t.append(n),n=a}}let ei=!1,lr=!1;function al(e){lr=e}let ce=null,an=!1;function Ut(e){ce=e}let te=null;function Bt(e){te=e}let $t=null;function vo(e){ce!==null&&($t===null?$t=[e]:$t.push(e))}let mt=null,St=0,Nt=null;function Nu(e){Nt=e}let _o=1,gr=0,kr=gr;function il(e){kr=e}function go(){return++_o}function Xr(e){var t=e.f;if((t&rt)!==0)return!0;if(t&it&&(e.f&=~wr),(t&ln)!==0){for(var n=e.deps,i=n.length,a=0;ae.wv)return!0}(t&zt)!==0&&rn===null&&Ne(e,Be)}return!1}function mo(e,t,n=!0){var i=e.reactions;if(i!==null&&!($t!==null&&qr.call($t,e)))for(var a=0;a{e.ac.abort(Un)}),e.ac=null);try{e.f|=ti;var h=e.fn,w=h();e.f|=Er;var b=e.deps,E=ee?.is_fork;if(mt!==null){var x;if(E||Da(e,St),b!==null&&St>0)for(b.length=St+mt.length,x=0;xn?.call(this,s))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?ar(()=>{t.addEventListener(e,a,i)}):t.addEventListener(e,a,i),a}function Kn(e,t,n,i,a){var s={capture:i,passive:a},l=$u(e,t,n,s);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&so(()=>{t.removeEventListener(e,l,s)})}function G(e,t,n){(t[wa]??={})[e]=n}function Uu(e){for(var t=0;t{throw S});throw b}}finally{e[wa]=t,delete e.currentTarget,Ut(h),Bt(w)}}}const Bu=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function Hu(e){return Bu?.createHTML(e)??e}function qu(e){var t=ao("template");return t.innerHTML=Hu(e.replaceAll("","")),t.content}function Yr(e,t){var n=te;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function M(e,t){var n=(t&eu)!==0,i=(t&tu)!==0,a,s=!e.startsWith("");return()=>{a===void 0&&(a=qu(s?e:""+e),n||(a=nr(a)));var l=i||eo?document.importNode(a,!0):a.cloneNode(!0);if(n){var u=nr(l),c=l.lastChild;Yr(u,c)}else Yr(l,l);return l}}function ot(e=""){{var t=yn(e+"");return Yr(t,t),t}}function ya(){var e=document.createDocumentFragment(),t=document.createComment(""),n=yn();return e.append(t,n),Yr(t,n),e}function A(e,t){e!==null&&e.before(t)}function D(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function Gu(e,t){return Wu(e,t)}const Xa=new Map;function Wu(e,{target:t,anchor:n,props:i={},events:a,context:s,intro:l=!0,transformError:u}){Eu();var c=void 0,f=Iu(()=>{var h=n??t.appendChild(yn());_u(h,{pending:()=>{}},E=>{Ji({});var x=Re;s&&(x.c=s),a&&(i.$$events=a),c=e(E,i)||{},Qi()},u);var w=new Set,b=E=>{for(var x=0;x{for(var E of w)for(const S of[t,document]){var x=Xa.get(S),L=x.get(E);--L==0?(S.removeEventListener(E,qi),x.delete(E),x.size===0&&Xa.delete(S)):x.set(E,L)}Hi.delete(b),h!==n&&h.parentNode?.removeChild(h)}});return ju.set(c,f),c}let ju=new WeakMap;class Zu{anchor;#n=new Map;#o=new Map;#e=new Map;#a=new Set;#r=!0;constructor(t,n=!0){this.anchor=t,this.#r=n}#i=t=>{if(this.#n.has(t)){var n=this.#n.get(t),i=this.#o.get(n);if(i)ss(i),this.#a.delete(n);else{var a=this.#e.get(n);a&&(this.#o.set(n,a.effect),this.#e.delete(n),a.fragment.lastChild.remove(),this.anchor.before(a.fragment),i=a.effect)}for(const[s,l]of this.#n){if(this.#n.delete(s),s===t)break;const u=this.#e.get(l);u&&(bt(u.effect),this.#e.delete(l))}for(const[s,l]of this.#o){if(s===n||this.#a.has(s))continue;const u=()=>{if(Array.from(this.#n.values()).includes(s)){var f=document.createDocumentFragment();ls(l,f),f.append(yn()),this.#e.set(s,{effect:l,fragment:f})}else bt(l);this.#a.delete(s),this.#o.delete(s)};this.#r||!i?(this.#a.add(s),br(l,u,!1)):u()}}};#t=t=>{this.#n.delete(t);const n=Array.from(this.#n.values());for(const[i,a]of this.#e)n.includes(i)||(bt(a.effect),this.#e.delete(i))};ensure(t,n){var i=ee,a=ro();if(n&&!this.#o.has(t)&&!this.#e.has(t))if(a){var s=document.createDocumentFragment(),l=yn();s.append(l),this.#e.set(t,{effect:Pt(()=>n(l)),fragment:s})}else this.#o.set(t,Pt(()=>n(this.anchor)));if(this.#n.set(i,t),a){for(const[u,c]of this.#o)u===t?i.unskip_effect(c):i.skip_effect(c);for(const[u,c]of this.#e)u===t?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(this.#i),i.ondiscard(this.#t)}else this.#i(i)}}function W(e,t,n=!1){var i=new Zu(e),a=n?Wr:0;function s(l,u){i.ensure(l,u)}ci(()=>{var l=!1;t((u,c=0)=>{l=!0,s(c,u)}),l||s(-1,null)},a)}function Yu(e,t){return t}function Xu(e,t,n){for(var i=[],a=t.length,s,l=t.length,u=0;u{if(s){if(s.pending.delete(w),s.done.add(w),s.pending.size===0){var b=e.outrogroups;Gi(e,si(s.done)),b.delete(s),b.size===0&&(e.outrogroups=null)}}else l-=1},!1)}if(l===0){var c=i.length===0&&n!==null;if(c){var f=n,h=f.parentNode;Su(h),h.append(f),e.items.clear()}Gi(e,t,!c)}else s={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(s)}function Gi(e,t,n=!0){var i;if(e.pending.size>0){i=new Set;for(const l of e.pending.values())for(const u of l)i.add(e.items.get(u).e)}for(var a=0;a{var Q=n();return Dl(Q)?Q:Q==null?[]:si(Q)}),b,E=new Map,x=!0;function L(Q){(R.effect.f&Ft)===0&&(R.pending.delete(Q),R.fallback=h,Vu(R,b,l,t,i),h!==null&&(b.length===0?(h.f&kn)===0?ss(h):(h.f^=kn,xa(h,null,l)):br(h,()=>{h=null})))}function S(Q){R.pending.delete(Q)}var P=ci(()=>{b=r(w);for(var Q=b.length,C=new Set,oe=ee,he=ro(),Ce=0;Ces(l)):(h=Pt(()=>s(ll??=yn())),h.f|=kn)),Q>C.size&&Bc(),!x)if(E.set(oe,C),he){for(const[we,Te]of u)C.has(we)||oe.skip_effect(Te.e);oe.oncommit(L),oe.ondiscard(S)}else L(oe);r(w)}),R={effect:P,items:u,pending:E,outrogroups:null,fallback:h};x=!1}function pa(e){for(;e!==null&&(e.f&sn)===0;)e=e.next;return e}function Vu(e,t,n,i,a){var s=(i&Qc)!==0,l=t.length,u=e.items,c=pa(e.effect.first),f,h=null,w,b=[],E=[],x,L,S,P;if(s)for(P=0;P0){var Ve=(i&zl)!==0&&l===0?n:null;if(s){for(P=0;P{if(w!==void 0)for(S of w)S.nodes?.a?.apply()})}function Ju(e,t,n,i,a,s,l,u){var c=(l&Vc)!==0?(l&Kc)===0?Z(n,!1,!1):yr(n):null,f=(l&Jc)!==0?yr(a):null;return{v:c,i:f,e:Pt(()=>(s(t,c??n,f??a,u),()=>{e.delete(i)}))}}function xa(e,t,n){if(e.nodes)for(var i=e.nodes.start,a=e.nodes.end,s=t&&(t.f&kn)===0?t.nodes.start:n;i!==null;){var l=Ma(i);if(s.before(i),i===a)return;i=l}}function er(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Ti(e,t,n=!1,i=!1,a=!1,s=!1){var l=e,u="";if(n)var c=e;N(()=>{var f=te;if(u!==(u=t()??"")){if(n){f.nodes=null,c.innerHTML=u,u!==""&&Yr(nr(c),c.lastChild);return}if(f.nodes!==null&&(uo(f.nodes.start,f.nodes.end),f.nodes=null),u!==""){var h=i?nu:a?ru:void 0,w=ao(i?"svg":a?"math":"template",h);w.innerHTML=u;var b=i||a?w:w.content;if(Yr(nr(b),b.lastChild),i||a)for(;nr(b);)l.before(nr(b));else l.before(b)}}})}function xo(e,t){var n;n=document.head.appendChild(yn()),ci(()=>t(n),Ml|Sr)}const ol=[...` -\r\f \v\uFEFF`];function Qu(e,t,n){var i=e==null?"":""+e;if(n){for(var a of Object.keys(n))if(n[a])i=i?i+" "+a:a;else if(i.length)for(var s=a.length,l=0;(l=i.indexOf(a,l))>=0;){var u=l+s;(l===0||ol.includes(i[l-1]))&&(u===i.length||ol.includes(i[u]))?i=(l===0?"":i.substring(0,l))+i.substring(u+1):l=u}}return i===""?null:i}function Ku(e,t){return e==null?null:String(e)}function Tt(e,t,n,i,a,s){var l=e.__className;if(l!==n||l===void 0){var u=Qu(n,i,s);u==null?e.removeAttribute("class"):e.className=u,e.__className=n}else if(s&&a!==s)for(var c in s){var f=!!s[c];(a==null||f!==!!a[c])&&e.classList.toggle(c,f)}return s}function zn(e,t,n,i){var a=e.__style;if(a!==t){var s=Ku(t);s==null?e.removeAttribute("style"):e.style.cssText=s,e.__style=t}return i}const ef=Symbol("is custom element"),tf=Symbol("is html");function z(e,t,n,i){var a=nf(e);a[t]!==(a[t]=n)&&(t==="loading"&&(e[$c]=n),n==null?e.removeAttribute(t):typeof n!="string"&&rf(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function nf(e){return e.__attributes??={[ef]:e.nodeName.includes("-"),[tf]:e.namespaceURI===Fl}}var cl=new Map;function rf(e){var t=e.getAttribute("is")||e.nodeName,n=cl.get(t);if(n)return n;cl.set(t,n=[]);for(var i,a=e,s=Element.prototype;s!==a;){i=Il(a);for(var l in i)i[l].set&&n.push(l);a=Vi(a)}return n}function _n(e,t,n=t){var i=new WeakSet;Ru(e,"input",async a=>{var s=a?e.defaultValue:e.value;if(s=Ei(e)?Si(s):s,n(s),ee!==null&&i.add(ee),await Ui(),s!==(s=t())){var l=e.selectionStart,u=e.selectionEnd,c=e.value.length;if(e.value=s??"",u!==null){var f=e.value.length;l===u&&u===c&&f>c?(e.selectionStart=f,e.selectionEnd=f):(e.selectionStart=l,e.selectionEnd=Math.min(u,f))}}}),v(t)==null&&e.value&&(n(Ei(e)?Si(e.value):e.value),ee!==null&&i.add(ee)),Na(()=>{var a=t();if(e===document.activeElement){var s=ee;if(i.has(s))return}Ei(e)&&a===Si(e.value)||e.type==="date"&&!a&&!e.value||a!==e.value&&(e.value=a??"")})}function Ei(e){var t=e.type;return t==="number"||t==="range"}function Si(e){return e===""?null:+e}function ul(e,t){return e===t||e?.[Hr]===t}function af(e={},t,n,i){var a=Re.r,s=te;return oo(()=>{var l,u;return Na(()=>{l=u,u=[],v(()=>{e!==n(...u)&&(t(e,...u),l&&ul(n(...l),e)&&t(null,...l))})}),()=>{let c=s;for(;c!==a&&c.parent!==null&&c.parent.f&Mi;)c=c.parent;const f=()=>{u&&ul(n(...u),e)&&t(null,...u)},h=c.teardown;c.teardown=()=>{f(),h?.()}}}),e}function To(e=!1){const t=Re,n=t.l.u;if(!n)return;let i=()=>mn(t.s);if(e){let a=0,s={};const l=li(()=>{let u=!1;const c=t.s;for(const f in c)c[f]!==s[f]&&(s[f]=c[f],u=!0);return u&&a++,a});i=()=>r(l)}n.b.length&&Du(()=>{fl(t,i),Li(n.b)}),$i(()=>{const a=v(()=>n.m.map(Fc));return()=>{for(const s of a)typeof s=="function"&&s()}}),n.a.length&&$i(()=>{fl(t,i),Li(n.a)})}function fl(e,t){if(e.l.s)for(const n of e.l.s)r(n);t()}function Eo(e){Re===null&&Pl(),La&&Re.l!==null?lf(Re).m.push(e):$i(()=>{const t=v(e);if(typeof t=="function")return t})}function sf(e){Re===null&&Pl(),Eo(()=>()=>v(e))}function lf(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const of="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(of);ou();class So extends Error{constructor(t,n){super(n),this.status=t}status}async function tt(e,t={}){const n=new Headers(t.headers);n.set("Accept","application/json"),t.body&&!(t.body instanceof FormData)&&n.set("Content-Type","application/json");const i=await fetch(e,{...t,headers:n});if(!i.ok)throw new So(i.status,await i.text());return i.json()}const{entries:Ao,setPrototypeOf:dl,isFrozen:cf,getPrototypeOf:uf,getOwnPropertyDescriptor:ff}=Object;let{freeze:dt,seal:Ht,create:$r}=Object,{apply:Wi,construct:ji}=typeof Reflect<"u"&&Reflect;dt||(dt=function(t){return t});Ht||(Ht=function(t){return t});Wi||(Wi=function(t,n){for(var i=arguments.length,a=new Array(i>2?i-2:0),s=2;s1?n-1:0),a=1;a"u"?null:He(BigInt.prototype.toString),gl=typeof Symbol>"u"?null:He(Symbol.prototype.toString),Me=He(Object.prototype.hasOwnProperty),_a=He(Object.prototype.toString),nt=He(RegExp.prototype.test),Va=gf(TypeError);function He(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,i=new Array(n>1?n-1:0),a=1;a2&&arguments[2]!==void 0?arguments[2]:Ta;if(dl&&dl(e,null),!ct(t))return e;let i=t.length;for(;i--;){let a=t[i];if(typeof a=="string"){const s=n(a);s!==a&&(cf(t)||(t[i]=s),a=s)}e[a]=!0}return e}function mf(e){for(let t=0;t/gm),Ef=Ht(/\$\{[\w\W]*/gm),Sf=Ht(/^data-[\-\w.\u00B7-\uFFFF]+$/),Af=Ht(/^aria-[\-\w]+$/),Ro=Ht(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Rf=Ht(/^(?:\w+script|data):/i),Cf=Ht(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Co=Ht(/^html$/i),Df=Ht(/^[a-z][.\w]*(-[.\w]+)+$/i);var yl=Object.freeze({__proto__:null,ARIA_ATTR:Af,ATTR_WHITESPACE:Cf,CUSTOM_ELEMENT:Df,DATA_ATTR:Sf,DOCTYPE_NAME:Co,ERB_EXPR:Tf,IS_ALLOWED_URI:Ro,IS_SCRIPT_OR_DATA:Rf,MUSTACHE_EXPR:xf,TMPLIT_EXPR:Ef});const ga={element:1,text:3,progressingInstruction:7,comment:8,document:9},If=function(){return typeof window>"u"?null:window},Lf=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null;const a="data-tt-policy-suffix";n&&n.hasAttribute(a)&&(i=n.getAttribute(a));const s="dompurify"+(i?"#"+i:"");try{return t.createPolicy(s,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},xl=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Do(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:If();const t=d=>Do(d);if(t.version="3.4.2",t.removed=[],!e||!e.document||e.document.nodeType!==ga.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e;const i=n,a=i.currentScript,{DocumentFragment:s,HTMLTemplateElement:l,Node:u,Element:c,NodeFilter:f,NamedNodeMap:h=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:w,DOMParser:b,trustedTypes:E}=e,x=c.prototype,L=Ur(x,"cloneNode"),S=Ur(x,"remove"),P=Ur(x,"nextSibling"),R=Ur(x,"childNodes"),Q=Ur(x,"parentNode");if(typeof l=="function"){const d=n.createElement("template");d.content&&d.content.ownerDocument&&(n=d.content.ownerDocument)}let C,oe="";const{implementation:he,createNodeIterator:Ce,createDocumentFragment:Xe,getElementsByTagName:Ve}=n,{importNode:be}=i;let we=xl();t.isSupported=typeof Ao=="function"&&typeof Q=="function"&&he&&he.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Te,ERB_EXPR:ye,TMPLIT_EXPR:kt,DATA_ATTR:Tn,ARIA_ATTR:En,IS_SCRIPT_OR_DATA:At,ATTR_WHITESPACE:qt,CUSTOM_ELEMENT:Bn}=yl;let{IS_ALLOWED_URI:Sn}=yl,De=null;const Rt=X({},[...ml,...Ri,...Ci,...Di,...bl]);let Fe=null;const on=X({},[...kl,...Ii,...wl,...Ja]);let de=Object.seal($r(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Gt=null,Wt=null;const wt=Object.seal($r(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let An=!0,jt=!0,ue=!1,je=!0,Rn=!1,or=!0,Ct=!1,Jr=!1,Qr=!1,Hn=!1,Cn=!1,Rr=!1,pt=!0,Cr=!1;const Kr="user-content-";let Dr=!0,qn=!1,cn={},Pe=null;const un=X({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let cr=null;const ea=X({},["audio","video","img","source","image","track"]);let ta=null;const za=X({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Gn="http://www.w3.org/1998/Math/MathML",Ir="http://www.w3.org/2000/svg",Dt="http://www.w3.org/1999/xhtml";let Zt=Dt,na=!1,ra=null;const Yt=X({},[Gn,Ir,Dt],Ai);let It=X({},["mi","mo","mn","ms","mtext"]),Wn=X({},["annotation-xml"]);const di=X({},["title","style","font","a","script"]);let ur=null;const aa=["application/xhtml+xml","text/html"],Xt="text/html";let ze=null,jn=null;const Lr=n.createElement("form"),Fa=function(o){return o instanceof RegExp||o instanceof Function},ia=function(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(jn&&jn===o)return;(!o||typeof o!="object")&&(o={}),o=gt(o),ur=aa.indexOf(o.PARSER_MEDIA_TYPE)===-1?Xt:o.PARSER_MEDIA_TYPE,ze=ur==="application/xhtml+xml"?Ai:Ta,De=Me(o,"ALLOWED_TAGS")&&ct(o.ALLOWED_TAGS)?X({},o.ALLOWED_TAGS,ze):Rt,Fe=Me(o,"ALLOWED_ATTR")&&ct(o.ALLOWED_ATTR)?X({},o.ALLOWED_ATTR,ze):on,ra=Me(o,"ALLOWED_NAMESPACES")&&ct(o.ALLOWED_NAMESPACES)?X({},o.ALLOWED_NAMESPACES,Ai):Yt,ta=Me(o,"ADD_URI_SAFE_ATTR")&&ct(o.ADD_URI_SAFE_ATTR)?X(gt(za),o.ADD_URI_SAFE_ATTR,ze):za,cr=Me(o,"ADD_DATA_URI_TAGS")&&ct(o.ADD_DATA_URI_TAGS)?X(gt(ea),o.ADD_DATA_URI_TAGS,ze):ea,Pe=Me(o,"FORBID_CONTENTS")&&ct(o.FORBID_CONTENTS)?X({},o.FORBID_CONTENTS,ze):un,Gt=Me(o,"FORBID_TAGS")&&ct(o.FORBID_TAGS)?X({},o.FORBID_TAGS,ze):gt({}),Wt=Me(o,"FORBID_ATTR")&&ct(o.FORBID_ATTR)?X({},o.FORBID_ATTR,ze):gt({}),cn=Me(o,"USE_PROFILES")?o.USE_PROFILES&&typeof o.USE_PROFILES=="object"?gt(o.USE_PROFILES):o.USE_PROFILES:!1,An=o.ALLOW_ARIA_ATTR!==!1,jt=o.ALLOW_DATA_ATTR!==!1,ue=o.ALLOW_UNKNOWN_PROTOCOLS||!1,je=o.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Rn=o.SAFE_FOR_TEMPLATES||!1,or=o.SAFE_FOR_XML!==!1,Ct=o.WHOLE_DOCUMENT||!1,Hn=o.RETURN_DOM||!1,Cn=o.RETURN_DOM_FRAGMENT||!1,Rr=o.RETURN_TRUSTED_TYPE||!1,Qr=o.FORCE_BODY||!1,pt=o.SANITIZE_DOM!==!1,Cr=o.SANITIZE_NAMED_PROPS||!1,Dr=o.KEEP_CONTENT!==!1,qn=o.IN_PLACE||!1,Sn=kf(o.ALLOWED_URI_REGEXP)?o.ALLOWED_URI_REGEXP:Ro,Zt=typeof o.NAMESPACE=="string"?o.NAMESPACE:Dt,It=Me(o,"MATHML_TEXT_INTEGRATION_POINTS")&&o.MATHML_TEXT_INTEGRATION_POINTS&&typeof o.MATHML_TEXT_INTEGRATION_POINTS=="object"?gt(o.MATHML_TEXT_INTEGRATION_POINTS):X({},["mi","mo","mn","ms","mtext"]),Wn=Me(o,"HTML_INTEGRATION_POINTS")&&o.HTML_INTEGRATION_POINTS&&typeof o.HTML_INTEGRATION_POINTS=="object"?gt(o.HTML_INTEGRATION_POINTS):X({},["annotation-xml"]);const g=Me(o,"CUSTOM_ELEMENT_HANDLING")&&o.CUSTOM_ELEMENT_HANDLING&&typeof o.CUSTOM_ELEMENT_HANDLING=="object"?gt(o.CUSTOM_ELEMENT_HANDLING):$r(null);if(de=$r(null),Me(g,"tagNameCheck")&&Fa(g.tagNameCheck)&&(de.tagNameCheck=g.tagNameCheck),Me(g,"attributeNameCheck")&&Fa(g.attributeNameCheck)&&(de.attributeNameCheck=g.attributeNameCheck),Me(g,"allowCustomizedBuiltInElements")&&typeof g.allowCustomizedBuiltInElements=="boolean"&&(de.allowCustomizedBuiltInElements=g.allowCustomizedBuiltInElements),Rn&&(jt=!1),Cn&&(Hn=!0),cn&&(De=X({},bl),Fe=$r(null),cn.html===!0&&(X(De,ml),X(Fe,kl)),cn.svg===!0&&(X(De,Ri),X(Fe,Ii),X(Fe,Ja)),cn.svgFilters===!0&&(X(De,Ci),X(Fe,Ii),X(Fe,Ja)),cn.mathMl===!0&&(X(De,Di),X(Fe,wl),X(Fe,Ja))),wt.tagCheck=null,wt.attributeCheck=null,Me(o,"ADD_TAGS")&&(typeof o.ADD_TAGS=="function"?wt.tagCheck=o.ADD_TAGS:ct(o.ADD_TAGS)&&(De===Rt&&(De=gt(De)),X(De,o.ADD_TAGS,ze))),Me(o,"ADD_ATTR")&&(typeof o.ADD_ATTR=="function"?wt.attributeCheck=o.ADD_ATTR:ct(o.ADD_ATTR)&&(Fe===on&&(Fe=gt(Fe)),X(Fe,o.ADD_ATTR,ze))),Me(o,"ADD_URI_SAFE_ATTR")&&ct(o.ADD_URI_SAFE_ATTR)&&X(ta,o.ADD_URI_SAFE_ATTR,ze),Me(o,"FORBID_CONTENTS")&&ct(o.FORBID_CONTENTS)&&(Pe===un&&(Pe=gt(Pe)),X(Pe,o.FORBID_CONTENTS,ze)),Me(o,"ADD_FORBID_CONTENTS")&&ct(o.ADD_FORBID_CONTENTS)&&(Pe===un&&(Pe=gt(Pe)),X(Pe,o.ADD_FORBID_CONTENTS,ze)),Dr&&(De["#text"]=!0),Ct&&X(De,["html","head","body"]),De.table&&(X(De,["tbody"]),delete Gt.tbody),o.TRUSTED_TYPES_POLICY){if(typeof o.TRUSTED_TYPES_POLICY.createHTML!="function")throw Va('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof o.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Va('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=o.TRUSTED_TYPES_POLICY,oe=C.createHTML("")}else C===void 0&&(C=Lf(E,a)),C!==null&&typeof oe=="string"&&(oe=C.createHTML(""));dt&&dt(o),jn=o},qe=X({},[...Ri,...Ci,...wf]),fr=X({},[...Di,...yf]),$a=function(o){let g=Q(o);(!g||!g.tagName)&&(g={namespaceURI:Zt,tagName:"template"});const T=Ta(o.tagName),H=Ta(g.tagName);return ra[o.namespaceURI]?o.namespaceURI===Ir?g.namespaceURI===Dt?T==="svg":g.namespaceURI===Gn?T==="svg"&&(H==="annotation-xml"||It[H]):!!qe[T]:o.namespaceURI===Gn?g.namespaceURI===Dt?T==="math":g.namespaceURI===Ir?T==="math"&&Wn[H]:!!fr[T]:o.namespaceURI===Dt?g.namespaceURI===Ir&&!Wn[H]||g.namespaceURI===Gn&&!It[H]?!1:!fr[T]&&(di[T]||!qe[T]):!!(ur==="application/xhtml+xml"&&ra[o.namespaceURI]):!1},at=function(o){va(t.removed,{element:o});try{Q(o).removeChild(o)}catch{S(o)}},Vt=function(o,g){try{va(t.removed,{attribute:g.getAttributeNode(o),from:g})}catch{va(t.removed,{attribute:null,from:g})}if(g.removeAttribute(o),o==="is")if(Hn||Cn)try{at(g)}catch{}else try{g.setAttribute(o,"")}catch{}},dr=function(o){let g=null,T=null;if(Qr)o=""+o;else{const K=hl(o,/^[\r\n\t ]+/);T=K&&K[0]}ur==="application/xhtml+xml"&&Zt===Dt&&(o=''+o+"");const H=C?C.createHTML(o):o;if(Zt===Dt)try{g=new b().parseFromString(H,ur)}catch{}if(!g||!g.documentElement){g=he.createDocument(Zt,"template",null);try{g.documentElement.innerHTML=na?oe:H}catch{}}const q=g.body||g.documentElement;return o&&T&&q.insertBefore(n.createTextNode(T),q.childNodes[0]||null),Zt===Dt?Ve.call(g,Ct?"html":"body")[0]:Ct?g.documentElement:q},Or=function(o){return Ce.call(o.ownerDocument||o,o,f.SHOW_ELEMENT|f.SHOW_COMMENT|f.SHOW_TEXT|f.SHOW_PROCESSING_INSTRUCTION|f.SHOW_CDATA_SECTION,null)},Zn=function(o){return o instanceof w&&(typeof o.nodeName!="string"||typeof o.textContent!="string"||typeof o.removeChild!="function"||!(o.attributes instanceof h)||typeof o.removeAttribute!="function"||typeof o.setAttribute!="function"||typeof o.namespaceURI!="string"||typeof o.insertBefore!="function"||typeof o.hasChildNodes!="function")},sa=function(o){return typeof u=="function"&&o instanceof u};function Jt(d,o,g){ha(d,T=>{T.call(t,o,g,jn)})}const Mr=function(o){let g=null;if(Jt(we.beforeSanitizeElements,o,null),Zn(o))return at(o),!0;const T=ze(o.nodeName);if(Jt(we.uponSanitizeElement,o,{tagName:T,allowedTags:De}),or&&o.hasChildNodes()&&!sa(o.firstElementChild)&&nt(/<[/\w!]/g,o.innerHTML)&&nt(/<[/\w!]/g,o.textContent)||or&&o.namespaceURI===Dt&&T==="style"&&sa(o.firstElementChild)||o.nodeType===ga.progressingInstruction||or&&o.nodeType===ga.comment&&nt(/<[/\w]/g,o.data))return at(o),!0;if(Gt[T]||!(wt.tagCheck instanceof Function&&wt.tagCheck(T))&&!De[T]){if(!Gt[T]&&Ba(T)&&(de.tagNameCheck instanceof RegExp&&nt(de.tagNameCheck,T)||de.tagNameCheck instanceof Function&&de.tagNameCheck(T)))return!1;if(Dr&&!Pe[T]){const H=Q(o)||o.parentNode,q=R(o)||o.childNodes;if(q&&H){const K=q.length;for(let ke=K-1;ke>=0;--ke){const Ge=L(q[ke],!0);H.insertBefore(Ge,P(o))}}}return at(o),!0}return o instanceof c&&!$a(o)||(T==="noscript"||T==="noembed"||T==="noframes")&&nt(/<\/no(script|embed|frames)/i,o.innerHTML)?(at(o),!0):(Rn&&o.nodeType===ga.text&&(g=o.textContent,ha([Te,ye,kt],H=>{g=zr(g,H," ")}),o.textContent!==g&&(va(t.removed,{element:o.cloneNode()}),o.textContent=g)),Jt(we.afterSanitizeElements,o,null),!1)},Dn=function(o,g,T){if(Wt[g]||pt&&(g==="id"||g==="name")&&(T in n||T in Lr))return!1;const H=Fe[g]||wt.attributeCheck instanceof Function&&wt.attributeCheck(g,o);if(!(jt&&!Wt[g]&&nt(Tn,g))){if(!(An&&nt(En,g))){if(!H||Wt[g]){if(!(Ba(o)&&(de.tagNameCheck instanceof RegExp&&nt(de.tagNameCheck,o)||de.tagNameCheck instanceof Function&&de.tagNameCheck(o))&&(de.attributeNameCheck instanceof RegExp&&nt(de.attributeNameCheck,g)||de.attributeNameCheck instanceof Function&&de.attributeNameCheck(g,o))||g==="is"&&de.allowCustomizedBuiltInElements&&(de.tagNameCheck instanceof RegExp&&nt(de.tagNameCheck,T)||de.tagNameCheck instanceof Function&&de.tagNameCheck(T))))return!1}else if(!ta[g]){if(!nt(Sn,zr(T,qt,""))){if(!((g==="src"||g==="xlink:href"||g==="href")&&o!=="script"&&vl(T,"data:")===0&&cr[o])){if(!(ue&&!nt(At,zr(T,qt,"")))){if(T)return!1}}}}}}return!0},Ua=X({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Ba=function(o){return!Ua[Ta(o)]&&nt(Bn,o)},Ha=function(o){Jt(we.beforeSanitizeAttributes,o,null);const{attributes:g}=o;if(!g||Zn(o))return;const T={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Fe,forceKeepAttr:void 0};let H=g.length;for(;H--;){const q=g[H],{name:K,namespaceURI:ke,value:Ge}=q,Je=ze(K),Yn=Ge;let Ie=K==="value"?Yn:hf(Yn);if(T.attrName=Je,T.attrValue=Ie,T.keepAttr=!0,T.forceKeepAttr=void 0,Jt(we.uponSanitizeAttribute,o,T),Ie=T.attrValue,Cr&&(Je==="id"||Je==="name")&&vl(Ie,Kr)!==0&&(Vt(K,o),Ie=Kr+Ie),or&&nt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ie)){Vt(K,o);continue}if(Je==="attributename"&&hl(Ie,"href")){Vt(K,o);continue}if(T.forceKeepAttr)continue;if(!T.keepAttr){Vt(K,o);continue}if(!je&&nt(/\/>/i,Ie)){Vt(K,o);continue}Rn&&ha([Te,ye,kt],Wa=>{Ie=zr(Ie,Wa," ")});const Ga=ze(o.nodeName);if(!Dn(Ga,Je,Ie)){Vt(K,o);continue}if(C&&typeof E=="object"&&typeof E.getAttributeType=="function"&&!ke)switch(E.getAttributeType(Ga,Je)){case"TrustedHTML":{Ie=C.createHTML(Ie);break}case"TrustedScriptURL":{Ie=C.createScriptURL(Ie);break}}if(Ie!==Yn)try{ke?o.setAttributeNS(ke,K,Ie):o.setAttribute(K,Ie),Zn(o)?at(o):pl(t.removed)}catch{Vt(K,o)}}Jt(we.afterSanitizeAttributes,o,null)},qa=function(o){let g=null;const T=Or(o);for(Jt(we.beforeSanitizeShadowDOM,o,null);g=T.nextNode();)Jt(we.uponSanitizeShadowNode,g,null),Mr(g),Ha(g),g.content instanceof s&&qa(g.content);Jt(we.afterSanitizeShadowDOM,o,null)};return t.sanitize=function(d){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},g=null,T=null,H=null,q=null;if(na=!d,na&&(d=""),typeof d!="string"&&!sa(d)&&(d=bf(d),typeof d!="string"))throw Va("dirty is not a string, aborting");if(!t.isSupported)return d;if(Jr||ia(o),t.removed=[],typeof d=="string"&&(qn=!1),qn){const Ge=d.nodeName;if(typeof Ge=="string"){const Je=ze(Ge);if(!De[Je]||Gt[Je])throw Va("root node is forbidden and cannot be sanitized in-place")}}else if(d instanceof u)g=dr(""),T=g.ownerDocument.importNode(d,!0),T.nodeType===ga.element&&T.nodeName==="BODY"||T.nodeName==="HTML"?g=T:g.appendChild(T);else{if(!Hn&&!Rn&&!Ct&&d.indexOf("<")===-1)return C&&Rr?C.createHTML(d):d;if(g=dr(d),!g)return Hn?null:Rr?oe:""}g&&Qr&&at(g.firstChild);const K=Or(qn?d:g);for(;H=K.nextNode();)Mr(H),Ha(H),H.content instanceof s&&qa(H.content);if(qn)return d;if(Hn){if(Rn){g.normalize();let Ge=g.innerHTML;ha([Te,ye,kt],Je=>{Ge=zr(Ge,Je," ")}),g.innerHTML=Ge}if(Cn)for(q=Xe.call(g.ownerDocument);g.firstChild;)q.appendChild(g.firstChild);else q=g;return(Fe.shadowroot||Fe.shadowrootmode)&&(q=be.call(i,q,!0)),q}let ke=Ct?g.outerHTML:g.innerHTML;return Ct&&De["!doctype"]&&g.ownerDocument&&g.ownerDocument.doctype&&g.ownerDocument.doctype.name&&nt(Co,g.ownerDocument.doctype.name)&&(ke=" -`+ke),Rn&&ha([Te,ye,kt],Ge=>{ke=zr(ke,Ge," ")}),C&&Rr?C.createHTML(ke):ke},t.setConfig=function(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ia(d),Jr=!0},t.clearConfig=function(){jn=null,Jr=!1},t.isValidAttribute=function(d,o,g){jn||ia({});const T=ze(d),H=ze(o);return Dn(T,H,g)},t.addHook=function(d,o){typeof o=="function"&&va(we[d],o)},t.removeHook=function(d,o){if(o!==void 0){const g=df(we[d],o);return g===-1?void 0:pf(we[d],g,1)[0]}return pl(we[d])},t.removeHooks=function(d){we[d]=[]},t.removeAllHooks=function(){we=xl()},t}var Of=Do();function os(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Ar=os();function Io(e){Ar=e}var vr={exec:()=>null};function le(e,t=""){let n=typeof e=="string"?e:e.source,i={replace:(a,s)=>{let l=typeof s=="string"?s:s.source;return l=l.replace(ut.caret,"$1"),n=n.replace(a,l),i},getRegex:()=>new RegExp(n,t)};return i}var Mf=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Nf=/^(?:[ \t]*(?:\n|$))+/,Pf=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,zf=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Pa=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Ff=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,cs=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Lo=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Oo=le(Lo).replace(/bull/g,cs).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),$f=le(Lo).replace(/bull/g,cs).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),us=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Uf=/^[^\n]+/,fs=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Bf=le(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",fs).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Hf=le(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,cs).getRegex(),ui="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ds=/|$))/,qf=le("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",ds).replace("tag",ui).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Mo=le(us).replace("hr",Pa).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ui).getRegex(),Gf=le(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Mo).getRegex(),ps={blockquote:Gf,code:Pf,def:Bf,fences:zf,heading:Ff,hr:Pa,html:qf,lheading:Oo,list:Hf,newline:Nf,paragraph:Mo,table:vr,text:Uf},Tl=le("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Pa).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ui).getRegex(),Wf={...ps,lheading:$f,table:Tl,paragraph:le(us).replace("hr",Pa).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Tl).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ui).getRegex()},jf={...ps,html:le(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ds).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:vr,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:le(us).replace("hr",Pa).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",Oo).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Zf=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Yf=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,No=/^( {2,}|\\)\n(?!\s*$)/,Xf=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Mf?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),zo=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,ed=le(zo,"u").replace(/punct/g,Vr).getRegex(),td=le(zo,"u").replace(/punct/g,Po).getRegex(),Fo="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",nd=le(Fo,"gu").replace(/notPunctSpace/g,hs).replace(/punctSpace/g,fi).replace(/punct/g,Vr).getRegex(),rd=le(Fo,"gu").replace(/notPunctSpace/g,Qf).replace(/punctSpace/g,Jf).replace(/punct/g,Po).getRegex(),ad=le("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,hs).replace(/punctSpace/g,fi).replace(/punct/g,Vr).getRegex(),id=le(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Vr).getRegex(),sd="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",ld=le(sd,"gu").replace(/notPunctSpace/g,hs).replace(/punctSpace/g,fi).replace(/punct/g,Vr).getRegex(),od=le(/\\(punct)/,"gu").replace(/punct/g,Vr).getRegex(),cd=le(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ud=le(ds).replace("(?:-->|$)","-->").getRegex(),fd=le("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",ud).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ri=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,dd=le(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",ri).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),$o=le(/^!?\[(label)\]\[(ref)\]/).replace("label",ri).replace("ref",fs).getRegex(),Uo=le(/^!?\[(ref)\](?:\[\])?/).replace("ref",fs).getRegex(),pd=le("reflink|nolink(?!\\()","g").replace("reflink",$o).replace("nolink",Uo).getRegex(),El=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,vs={_backpedal:vr,anyPunctuation:od,autolink:cd,blockSkip:Kf,br:No,code:Yf,del:vr,delLDelim:vr,delRDelim:vr,emStrongLDelim:ed,emStrongRDelimAst:nd,emStrongRDelimUnd:ad,escape:Zf,link:dd,nolink:Uo,punctuation:Vf,reflink:$o,reflinkSearch:pd,tag:fd,text:Xf,url:vr},hd={...vs,link:le(/^!?\[(label)\]\((.*?)\)/).replace("label",ri).getRegex(),reflink:le(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ri).getRegex()},Zi={...vs,emStrongRDelimAst:rd,emStrongLDelim:td,delLDelim:id,delRDelim:ld,url:le(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",El).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:le(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},Sl=e=>_d[e];function bn(e,t){if(t){if(ut.escapeTest.test(e))return e.replace(ut.escapeReplace,Sl)}else if(ut.escapeTestNoEncode.test(e))return e.replace(ut.escapeReplaceNoEncode,Sl);return e}function Al(e){try{e=encodeURI(e).replace(ut.percentDecode,"%")}catch{return null}return e}function Rl(e,t){let n=e.replace(ut.findPipe,(s,l,u)=>{let c=!1,f=l;for(;--f>=0&&u[f]==="\\";)c=!c;return c?"|":" |"}),i=n.split(ut.splitPipe),a=0;if(i[0].trim()||i.shift(),i.length>0&&!i.at(-1)?.trim()&&i.pop(),t)if(i.length>t)i.splice(t);else for(;i.length0?-2:-1}function md(e,t=0){let n=t,i="";for(let a of e)if(a===" "){let s=4-n%4;i+=" ".repeat(s),n+=s}else i+=a,n++;return i}function Cl(e,t,n,i,a){let s=t.href,l=t.title||null,u=e[1].replace(a.other.outputLinkReplace,"$1");i.state.inLink=!0;let c={type:e[0].charAt(0)==="!"?"image":"link",raw:n,href:s,title:l,text:u,tokens:i.inlineTokens(u)};return i.state.inLink=!1,c}function bd(e,t,n){let i=e.match(n.other.indentCodeCompensation);if(i===null)return t;let a=i[1];return t.split(` -`).map(s=>{let l=s.match(n.other.beginningSpace);if(l===null)return s;let[u]=l;return u.length>=a.length?s.slice(a.length):s}).join(` -`)}var ai=class{options;rules;lexer;constructor(e){this.options=e||Ar}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:ba(n,` -`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],i=bd(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:i}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let i=ba(n,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(n=i.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:ba(t[0],` -`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=ba(t[0],` -`).split(` -`),i="",a="",s=[];for(;n.length>0;){let l=!1,u=[],c;for(c=0;c1,a={type:"list",raw:"",ordered:i,start:i?+n.slice(0,-1):"",loose:!1,items:[]};n=i?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=i?n:"[*+-]");let s=this.rules.other.listItemRegex(n),l=!1;for(;e;){let c=!1,f="",h="";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;f=t[0],e=e.substring(f.length);let w=md(t[2].split(` -`,1)[0],t[1].length),b=e.split(` -`,1)[0],E=!w.trim(),x=0;if(this.options.pedantic?(x=2,h=w.trimStart()):E?x=t[1].length+1:(x=w.search(this.rules.other.nonSpaceChar),x=x>4?1:x,h=w.slice(x),x+=t[1].length),E&&this.rules.other.blankLine.test(b)&&(f+=b+` -`,e=e.substring(b.length+1),c=!0),!c){let L=this.rules.other.nextBulletRegex(x),S=this.rules.other.hrRegex(x),P=this.rules.other.fencesBeginRegex(x),R=this.rules.other.headingBeginRegex(x),Q=this.rules.other.htmlBeginRegex(x),C=this.rules.other.blockquoteBeginRegex(x);for(;e;){let oe=e.split(` -`,1)[0],he;if(b=oe,this.options.pedantic?(b=b.replace(this.rules.other.listReplaceNesting," "),he=b):he=b.replace(this.rules.other.tabCharGlobal," "),P.test(b)||R.test(b)||Q.test(b)||C.test(b)||L.test(b)||S.test(b))break;if(he.search(this.rules.other.nonSpaceChar)>=x||!b.trim())h+=` -`+he.slice(x);else{if(E||w.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||P.test(w)||R.test(w)||S.test(w))break;h+=` -`+b}E=!b.trim(),f+=oe+` -`,e=e.substring(oe.length+1),w=he.slice(x)}}a.loose||(l?a.loose=!0:this.rules.other.doubleBlankLine.test(f)&&(l=!0)),a.items.push({type:"list_item",raw:f,task:!!this.options.gfm&&this.rules.other.listIsTask.test(h),loose:!1,text:h,tokens:[]}),a.raw+=f}let u=a.items.at(-1);if(u)u.raw=u.raw.trimEnd(),u.text=u.text.trimEnd();else return;a.raw=a.raw.trimEnd();for(let c of a.items){if(this.lexer.state.top=!1,c.tokens=this.lexer.blockTokens(c.text,[]),c.task){if(c.text=c.text.replace(this.rules.other.listReplaceTask,""),c.tokens[0]?.type==="text"||c.tokens[0]?.type==="paragraph"){c.tokens[0].raw=c.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),c.tokens[0].text=c.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let h=this.lexer.inlineQueue.length-1;h>=0;h--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[h].src)){this.lexer.inlineQueue[h].src=this.lexer.inlineQueue[h].src.replace(this.rules.other.listReplaceTask,"");break}}let f=this.rules.other.listTaskCheckbox.exec(c.raw);if(f){let h={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};c.checked=h.checked,a.loose?c.tokens[0]&&["paragraph","text"].includes(c.tokens[0].type)&&"tokens"in c.tokens[0]&&c.tokens[0].tokens?(c.tokens[0].raw=h.raw+c.tokens[0].raw,c.tokens[0].text=h.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(h)):c.tokens.unshift({type:"paragraph",raw:h.raw,text:h.raw,tokens:[h]}):c.tokens.unshift(h)}}if(!a.loose){let f=c.tokens.filter(w=>w.type==="space"),h=f.length>0&&f.some(w=>this.rules.other.anyLine.test(w.raw));a.loose=h}}if(a.loose)for(let c of a.items){c.loose=!0;for(let f of c.tokens)f.type==="text"&&(f.type="paragraph")}return a}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:i,title:a}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=Rl(t[1]),i=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),a=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(` -`):[],s={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===i.length){for(let l of i)this.rules.other.tableAlignRight.test(l)?s.align.push("right"):this.rules.other.tableAlignCenter.test(l)?s.align.push("center"):this.rules.other.tableAlignLeft.test(l)?s.align.push("left"):s.align.push(null);for(let l=0;l({text:u,tokens:this.lexer.inline(u),header:!1,align:s.align[c]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let n=t[1].trim();return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===` -`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=ba(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=gd(t[2],"()");if(s===-2)return;if(s>-1){let l=(t[0].indexOf("!")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,l).trim(),t[3]=""}}let i=t[2],a="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],a=s[3])}else a=t[3]?t[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?i=i.slice(1):i=i.slice(1,-1)),Cl(t,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=t[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return Cl(n,a,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!(!i||!i[1]&&!i[2]&&!i[3]&&!i[4]||i[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[3])||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,l,u=a,c=0,f=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(f.lastIndex=0,t=t.slice(-1*e.length+a);(i=f.exec(t))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(l=[...s].length,i[3]||i[4]){u+=l;continue}else if((i[5]||i[6])&&a%3&&!((a+l)%3)){c+=l;continue}if(u-=l,u>0)continue;l=Math.min(l,l+u+c);let h=[...i[0]][0].length,w=e.slice(0,a+i.index+h+l);if(Math.min(a,l)%2){let E=w.slice(1,-1);return{type:"em",raw:w,text:E,tokens:this.lexer.inlineTokens(E)}}let b=w.slice(2,-2);return{type:"strong",raw:w,text:b,tokens:this.lexer.inlineTokens(b)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return i&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t,n=""){let i=this.rules.inline.delLDelim.exec(e);if(i&&(!i[1]||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,l,u=a,c=this.rules.inline.delRDelim;for(c.lastIndex=0,t=t.slice(-1*e.length+a);(i=c.exec(t))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s||(l=[...s].length,l!==a))continue;if(i[3]||i[4]){u+=l;continue}if(u-=l,u>0)continue;l=Math.min(l,l+u);let f=[...i[0]][0].length,h=e.slice(0,a+i.index+f+l),w=h.slice(a,-a);return{type:"del",raw:h,text:w,tokens:this.lexer.inlineTokens(w)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,i;return t[2]==="@"?(n=t[1],i="mailto:"+n):(n=t[1],i=n),{type:"link",raw:t[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,i;if(t[2]==="@")n=t[0],i="mailto:"+n;else{let a;do a=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(a!==t[0]);n=t[0],t[1]==="www."?i="http://"+t[0]:i=t[0]}return{type:"link",raw:t[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}},tn=class Yi{tokens;options;state;inlineQueue;tokenizer;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Ar,this.options.tokenizer=this.options.tokenizer||new ai,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let n={other:ut,block:Qa.normal,inline:ma.normal};this.options.pedantic?(n.block=Qa.pedantic,n.inline=ma.pedantic):this.options.gfm&&(n.block=Qa.gfm,this.options.breaks?n.inline=ma.breaks:n.inline=ma.gfm),this.tokenizer.rules=n}static get rules(){return{block:Qa,inline:ma}}static lex(t,n){return new Yi(n).lex(t)}static lexInline(t,n){return new Yi(n).inlineTokens(t)}lex(t){t=t.replace(ut.carriageReturn,` -`),this.blockTokens(t,this.tokens);for(let n=0;n(a=l.call({lexer:this},t,n))?(t=t.substring(a.raw.length),n.push(a),!0):!1))continue;if(a=this.tokenizer.space(t)){t=t.substring(a.raw.length);let l=n.at(-1);a.raw.length===1&&l!==void 0?l.raw+=` -`:n.push(a);continue}if(a=this.tokenizer.code(t)){t=t.substring(a.raw.length);let l=n.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=(l.raw.endsWith(` -`)?"":` -`)+a.raw,l.text+=` -`+a.text,this.inlineQueue.at(-1).src=l.text):n.push(a);continue}if(a=this.tokenizer.fences(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.heading(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.hr(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.blockquote(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.list(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.html(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.def(t)){t=t.substring(a.raw.length);let l=n.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=(l.raw.endsWith(` -`)?"":` -`)+a.raw,l.text+=` -`+a.raw,this.inlineQueue.at(-1).src=l.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title},n.push(a));continue}if(a=this.tokenizer.table(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.lheading(t)){t=t.substring(a.raw.length),n.push(a);continue}let s=t;if(this.options.extensions?.startBlock){let l=1/0,u=t.slice(1),c;this.options.extensions.startBlock.forEach(f=>{c=f.call({lexer:this},u),typeof c=="number"&&c>=0&&(l=Math.min(l,c))}),l<1/0&&l>=0&&(s=t.substring(0,l+1))}if(this.state.top&&(a=this.tokenizer.paragraph(s))){let l=n.at(-1);i&&l?.type==="paragraph"?(l.raw+=(l.raw.endsWith(` -`)?"":` -`)+a.raw,l.text+=` -`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):n.push(a),i=s.length!==t.length,t=t.substring(a.raw.length);continue}if(a=this.tokenizer.text(t)){t=t.substring(a.raw.length);let l=n.at(-1);l?.type==="text"?(l.raw+=(l.raw.endsWith(` -`)?"":` -`)+a.raw,l.text+=` -`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):n.push(a);continue}if(t){let l="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){this.tokenizer.lexer=this;let i=t,a=null;if(this.tokens.links){let c=Object.keys(this.tokens.links);if(c.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)c.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(i))!==null;)i=i.slice(0,a.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s;for(;(a=this.tokenizer.rules.inline.blockSkip.exec(i))!==null;)s=a[2]?a[2].length:0,i=i.slice(0,a.index+s)+"["+"a".repeat(a[0].length-s-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=this.options.hooks?.emStrongMask?.call({lexer:this},i)??i;let l=!1,u="";for(;t;){l||(u=""),l=!1;let c;if(this.options.extensions?.inline?.some(h=>(c=h.call({lexer:this},t,n))?(t=t.substring(c.raw.length),n.push(c),!0):!1))continue;if(c=this.tokenizer.escape(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.tag(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.link(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(c.raw.length);let h=n.at(-1);c.type==="text"&&h?.type==="text"?(h.raw+=c.raw,h.text+=c.text):n.push(c);continue}if(c=this.tokenizer.emStrong(t,i,u)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.codespan(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.br(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.del(t,i,u)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.autolink(t)){t=t.substring(c.raw.length),n.push(c);continue}if(!this.state.inLink&&(c=this.tokenizer.url(t))){t=t.substring(c.raw.length),n.push(c);continue}let f=t;if(this.options.extensions?.startInline){let h=1/0,w=t.slice(1),b;this.options.extensions.startInline.forEach(E=>{b=E.call({lexer:this},w),typeof b=="number"&&b>=0&&(h=Math.min(h,b))}),h<1/0&&h>=0&&(f=t.substring(0,h+1))}if(c=this.tokenizer.inlineText(f)){t=t.substring(c.raw.length),c.raw.slice(-1)!=="_"&&(u=c.raw.slice(-1)),l=!0;let h=n.at(-1);h?.type==="text"?(h.raw+=c.raw,h.text+=c.text):n.push(c);continue}if(t){let h="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return n}},ii=class{options;parser;constructor(e){this.options=e||Ar}space(e){return""}code({text:e,lang:t,escaped:n}){let i=(t||"").match(ut.notSpaceStart)?.[0],a=e.replace(ut.endingNewline,"")+` -`;return i?'
'+(n?a:bn(a,!0))+`
-`:"
"+(n?a:bn(a,!0))+`
-`}blockquote({tokens:e}){return`
-${this.parser.parse(e)}
-`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)} -`}hr(e){return`
-`}list(e){let t=e.ordered,n=e.start,i="";for(let l=0;l -`+i+" -`}listitem(e){return`
  • ${this.parser.parse(e.tokens)}
  • -`}checkbox({checked:e}){return" '}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    -`}table(e){let t="",n="";for(let a=0;a${i}`),` - -`+t+` -`+i+`
    -`}tablerow({text:e}){return` -${e} -`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+` -`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${bn(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){let i=this.parser.parseInline(n),a=Al(e);if(a===null)return i;e=a;let s='
    ",s}image({href:e,title:t,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=Al(e);if(a===null)return bn(n);e=a;let s=`${bn(n)}{let l=a[s].flat(1/0);n=n.concat(this.walkTokens(l,t))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=t.renderers[a.name];s?t.renderers[a.name]=function(...l){let u=a.renderer.apply(this,l);return u===!1&&(u=s.apply(this,l)),u}:t.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=t[a.level];s?s.unshift(a.tokenizer):t[a.level]=[a.tokenizer],a.start&&(a.level==="block"?t.startBlock?t.startBlock.push(a.start):t.startBlock=[a.start]:a.level==="inline"&&(t.startInline?t.startInline.push(a.start):t.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(t.childTokens[a.name]=a.childTokens)}),i.extensions=t),n.renderer){let a=this.defaults.renderer||new ii(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let l=s,u=n.renderer[l],c=a[l];a[l]=(...f)=>{let h=u.apply(a,f);return h===!1&&(h=c.apply(a,f)),h||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new ai(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let l=s,u=n.tokenizer[l],c=a[l];a[l]=(...f)=>{let h=u.apply(a,f);return h===!1&&(h=c.apply(a,f)),h}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new Ea;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let l=s,u=n.hooks[l],c=a[l];Ea.passThroughHooks.has(s)?a[l]=f=>{if(this.defaults.async&&Ea.passThroughHooksRespectAsync.has(s))return(async()=>{let w=await u.call(a,f);return c.call(a,w)})();let h=u.call(a,f);return c.call(a,h)}:a[l]=(...f)=>{if(this.defaults.async)return(async()=>{let w=await u.apply(a,f);return w===!1&&(w=await c.apply(a,f)),w})();let h=u.apply(a,f);return h===!1&&(h=c.apply(a,f)),h}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(l){let u=[];return u.push(s.call(this,l)),a&&(u=u.concat(a.call(this,l))),u}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return tn.lex(e,t??this.defaults)}parser(e,t){return nn.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let l=a.hooks?await a.hooks.preprocess(t):t,u=await(a.hooks?await a.hooks.provideLexer(e):e?tn.lex:tn.lexInline)(l,a),c=a.hooks?await a.hooks.processAllTokens(u):u;a.walkTokens&&await Promise.all(this.walkTokens(c,a.walkTokens));let f=await(a.hooks?await a.hooks.provideParser(e):e?nn.parse:nn.parseInline)(c,a);return a.hooks?await a.hooks.postprocess(f):f})().catch(s);try{a.hooks&&(t=a.hooks.preprocess(t));let l=(a.hooks?a.hooks.provideLexer(e):e?tn.lex:tn.lexInline)(t,a);a.hooks&&(l=a.hooks.processAllTokens(l)),a.walkTokens&&this.walkTokens(l,a.walkTokens);let u=(a.hooks?a.hooks.provideParser(e):e?nn.parse:nn.parseInline)(l,a);return a.hooks&&(u=a.hooks.postprocess(u)),u}catch(l){return s(l)}}}onError(e,t){return n=>{if(n.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+bn(n.message+"",!0)+"
    ";return t?Promise.resolve(i):i}if(t)return Promise.reject(n);throw n}}},Tr=new kd;function ge(e,t){return Tr.parse(e,t)}ge.options=ge.setOptions=function(e){return Tr.setOptions(e),ge.defaults=Tr.defaults,Io(ge.defaults),ge};ge.getDefaults=os;ge.defaults=Ar;ge.use=function(...e){return Tr.use(...e),ge.defaults=Tr.defaults,Io(ge.defaults),ge};ge.walkTokens=function(e,t){return Tr.walkTokens(e,t)};ge.parseInline=Tr.parseInline;ge.Parser=nn;ge.parser=nn.parse;ge.Renderer=ii;ge.TextRenderer=_s;ge.Lexer=tn;ge.lexer=tn.lex;ge.Tokenizer=ai;ge.Hooks=Ea;ge.parse=ge;ge.options;ge.setOptions;ge.use;ge.walkTokens;ge.parseInline;nn.parse;tn.lex;function Fr(e){return Of.sanitize(ge.parse(e,{async:!1}))}function gn(e){return new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit"}).format(new Date(e))}var wd=M(''),yd=M(`
    cc
    ClickClack OpenClaw workspace chat

    Welcome back.

    Workspace chat for the OpenClaw crew. Sign in with the GitHub account that's a member of the org.

    Limited to active members of the OpenClaw org.

    `),xd=M(''),Td=M('
    '),Ed=M('
    '),Sd=M(''),Ad=M(''),Rd=M(''),Cd=M(''),Dd=M(''),Id=M(''),Ld=M(''),Od=M(''),Md=M(''),Nd=M(''),Pd=M('

    '),zd=M('

    '),Fd=M('

    ClickClack

    '),$d=M(''),Ud=M(''),Bd=M(''),Hd=M('
    '),qd=M('
    Send a message in Markdown — code fences, lists, links all work. Threads open from any message.
    '),Gd=M('
    '),Wd=M(''),jd=M(" "),Zd=M(' '),Yd=M(' '),Xd=M(''),Vd=M(''),Jd=M('',2),Qd=M(' '),Kd=M('
    '),ep=M('
    '),tp=M('
    ',1),np=M(''),rp=M('
    GIFs
    '),ap=M(''),ip=M('
    '),sp=M('
    Replying to
    '),lp=M(''),op=M(" "),cp=M(''),up=M('',2),fp=M(' '),dp=M('
    '),pp=M(''),hp=M(" "),vp=M(' '),_p=M(' '),gp=M(''),mp=M(''),bp=M('',2),kp=M(' '),wp=M('
    '),yp=M('
    '),xp=M('
    Replying to
    '),Tp=M('

    Thread

    ',1),Ep=M(''),Sp=M(" "),Ap=M(''),Rp=M(''),Cp=M(''),Dp=M('

    Profile

    Active
    Contact information
    Handle
    User ID
    About

    ',1),Ip=M('
    No thread open Hover any message and tap the bubble to keep side conversations tidy.
    '),Lp=M(''),Op=M("

    "),Mp=M(''),Np=M(''),Pp=M('

    Enter to send · Shift+Enter for newline · Markdown supported
    ',1);function zp(e,t){Ji(t,!1);const n=Z(),i=Z(),a=Z(),s=Z(),l=Z(),u=Z(),c=Z();let f=Z(null),h=Z([]),w=Z([]),b=Z([]),E=Z([]),x=Z([]),L=Z(""),S=Z(""),P=Z(""),R=Z(null),Q=Z(null),C=Z(null),oe=Z(null),he=Z(""),Ce=Z(""),Xe=Z(""),Ve=Z(""),be=Z(""),we=Z(""),Te=Z([]),ye=Z(null),kt=Z(!1),Tn=Z(!1),En=Z(""),At=Z(""),qt=Z(""),Bn=Z(""),Sn=Z(""),De=Z(!1),Rt=Z("loading"),Fe=Z(!1),on=null,de=Z(!1),Gt,Wt=Z(null),wt=Z(!1),An=Z(!1),jt=Z(!1),ue=Z(null),je=Z(null);const Rn=[{title:"Ship it",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYjJ1bm1meHE4N2x3bnN0djJkMWtjNGc5bXYzZDFiOHBsbG16M3F0ZSZlcD12MV9naWZzX3NlYXJjaCZjdD1n/l0HlHFRbmaZtBRhXG/giphy.gif",tags:["ship","launch","done"]},{title:"Approved",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExazBpbzJ6ODZ3bXQ3OHBvNGJidWZoajc0cHV6YnVub3MzZ3c1a2Z2dSZlcD12MV9naWZzX3NlYXJjaCZjdD1n/111ebonMs90YLu/giphy.gif",tags:["yes","approved","nice"]},{title:"Deploy dance",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExY3NkaTVmZW9ydWNnZnl0ZWQ5aHQyeGNrd2k3NG4wZWNqYzNmd3k1ZCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/GeimqsH0TLDt4tScGw/giphy.gif",tags:["deploy","dance","celebrate"]},{title:"Looking",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYWZ3emE0dm5mN2h0bGVsY2w0OXBodGd2cGJlNDRiZXo1YWNtdWRmZyZlcD12MV9naWZzX3NlYXJjaCZjdD1n/26n6WywJyh39n1pBu/giphy.gif",tags:["search","looking","debug"]},{title:"Typing faster",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExOWFlbnJnbnIzbHYxcDIzdXZ3NGF3N2FocHNvMmR5enU3bHpycHBlZSZlcD12MV9naWZzX3NlYXJjaCZjdD1n/13HgwGsXF0aiGY/giphy.gif",tags:["typing","code","work"]},{title:"Tiny victory",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExdjJ2b2tqNmF4dG16NjE0eXhuc3h5bTlvamgwNTR0Zmd6ZjhtM2JuaSZlcD12MV9naWZzX3NlYXJjaCZjdD1n/3o7abKhOpu0NwenH3O/giphy.gif",tags:["win","victory","celebrate"]}];Eo(()=>{or()}),sf(()=>{const d=on;on=null,m(de,!1),d?.close(),Gt&&window.clearTimeout(Gt)});async function or(){try{const d=await tt("/api/me");m(f,d.user),await Qr(),m(Rt,"ready")}catch(d){if(d instanceof So&&(d.status===401||d.status===403)){m(Fe,!0),m(Rt,"auth");return}m(Rt,d instanceof Error?d.message:"Could not load ClickClack")}}function Ct(){r(f)&&(m(At,r(f).display_name),m(qt,r(f).handle?`@${r(f).handle}`:""),m(Bn,r(f).avatar_url),m(Sn,""),m(De,!1),m(Tn,!0))}async function Jr(){m(Sn,""),m(De,!1);try{const d=await tt("/api/me",{method:"PATCH",body:JSON.stringify({display_name:r(At),handle:r(qt),avatar_url:r(Bn)})});m(f,d.user),m(E,r(E).map(o=>o.author?.id===r(f)?.id?{...o,author:d.user}:o)),m(x,r(x).map(o=>o.author?.id===r(f)?.id?{...o,author:d.user}:o)),r(R)?.author?.id===r(f).id&&m(R,{...r(R),author:d.user}),m(Sn,"Saved"),m(Tn,!1)}catch(d){m(Sn,d instanceof Error?d.message:"Could not save profile"),m(De,!0)}}async function Qr(){const d=await tt("/api/workspaces");m(h,d.workspaces),m(L,r(L)||r(h)[0]?.id||""),await Cn(),await Gn(),r(h).length===0&&m(Rt,"create a workspace"),Zt()}async function Hn(){if(!r(Xe).trim())return;const d=await tt("/api/workspaces",{method:"POST",body:JSON.stringify({name:r(Xe)})});m(Xe,""),m(wt,!1),m(h,[...r(h),d.workspace]),m(L,d.workspace.id),await Cn(),await Gn(),Zt()}async function Cn(){if(!r(L))return;const d=await tt(`/api/workspaces/${r(L)}/channels`);m(w,d.channels),m(S,r(w).find(o=>o.id===r(S))?.id||r(w)[0]?.id||""),m(R,null),m(C,null),m(x,[]),await pt()}async function Rr(){if(!r(L)||!r(Ve).trim())return;const d=await tt(`/api/workspaces/${r(L)}/channels`,{method:"POST",body:JSON.stringify({name:r(Ve),kind:"public"})});m(Ve,""),m(w,[...r(w),d.channel]),m(S,d.channel.id),m(P,""),await pt()}async function pt(){if(r(P)){const o=await tt(`/api/dms/${r(P)}/messages`);m(E,o.messages),await Cr();return}if(!r(S)){m(E,[]);return}const d=await tt(`/api/channels/${r(S)}/messages`);m(E,d.messages),await Cr()}async function Cr(){await Ui(),r(Wt)&&xu(Wt,r(Wt).scrollTop=r(Wt).scrollHeight)}async function Kr(){const d=r(he).trim();if(!d)return;if(!r(S)&&!r(P)){m(Rt,"pick or create a channel");return}const o=r(P)?"dm":"channel",g=r(ue)&&r(je)===o?r(ue):null;m(he,"");const T=r(P)?`/api/dms/${r(P)}/messages`:`/api/channels/${r(S)}/messages`,H={body:d};g&&(H.quoted_message_id=g.id);const q=await tt(T,{method:"POST",body:JSON.stringify(H)});let K=q.message;if(g&&Pe(),r(ye)){const ke=r(ye);await tt(`/api/messages/${q.message.id}/attachments`,{method:"POST",body:JSON.stringify({upload_id:ke.id})}),m(ye,null),K={...K,attachments:[...K.attachments||[],ke]}}r(E).some(ke=>ke.id===K.id)?m(E,r(E).map(ke=>ke.id===K.id?K:ke)):m(E,[...r(E),K]),await Cr()}async function Dr(d){m(C,null),m(R,d);const o=await tt(`/api/messages/${d.id}/thread`);m(R,o.root),m(x,o.replies),m(Q,o.thread_state)}async function qn(){const d=r(Ce).trim();if(!d||!r(R))return;const o=r(ue)&&r(je)==="thread"?r(ue):null;m(Ce,"");const g={body:d};o&&(g.quoted_message_id=o.id);const T=await tt(`/api/messages/${r(R).id}/thread/replies`,{method:"POST",body:JSON.stringify(g)});o&&Pe(),r(x).some(H=>H.id===T.message.id)||m(x,[...r(x),T.message]),m(Q,T.thread_state)}function cn(d,o){m(ue,d),m(je,o)}function Pe(){m(ue,null),m(je,null)}function un(d,o=120){if(!d)return"";const g=d.replace(/\s+/g," ").trim();return g.length>o?g.slice(0,o-1)+"…":g}function cr(d){return d.quoted_author?.display_name||"Unknown"}async function ea(d){const o=d.quoted_message_id;if(!o)return;await Ui();const g=document.querySelector(`[data-message-id="${CSS.escape(o)}"]`);g&&(g.scrollIntoView({behavior:"smooth",block:"center"}),g.classList.add("highlight"),window.setTimeout(()=>g.classList.remove("highlight"),1500))}async function ta(){if(!r(L)||!r(we).trim()){m(Te,[]);return}const d=await tt(`/api/search?workspace_id=${encodeURIComponent(r(L))}&q=${encodeURIComponent(r(we).trim())}`);m(Te,d.results)}async function za(d){const o=d.currentTarget,g=o.files?.[0];if(!g||!r(L))return;const T=new FormData;T.set("workspace_id",r(L)),T.set("file",g);const H=await tt("/api/uploads",{method:"POST",body:T});m(ye,H.upload),o.value=""}async function Gn(){if(!r(L))return;const d=await tt(`/api/dms?workspace_id=${r(L)}`);m(b,d.conversations)}async function Ir(){if(!r(L)||!r(be).trim())return;const d=await tt("/api/dms",{method:"POST",body:JSON.stringify({workspace_id:r(L),member_ids:[r(be).trim()]})});m(be,""),m(b,[...r(b),d.conversation]),m(P,d.conversation.id),m(S,""),m(R,null),m(C,null),await pt()}async function Dt(d){if(!r(L)||!d)return;const o=r(b).find(T=>T.members.some(H=>H.id===d));if(o){m(P,o.id),m(S,""),m(R,null),m(C,null),await pt();return}const g=await tt("/api/dms",{method:"POST",body:JSON.stringify({workspace_id:r(L),member_ids:[d]})});m(b,[...r(b),g.conversation]),m(P,g.conversation.id),m(S,""),m(R,null),m(C,null),await pt()}function Zt(){Gt&&window.clearTimeout(Gt);const d=on;if(on=null,m(de,!1),d?.close(),!r(L))return;const o=localStorage.getItem(`clickclack:${r(L)}:cursor`)||"",g=new URL("/api/realtime/ws",window.location.href);g.protocol=window.location.protocol==="https:"?"wss:":"ws:",g.searchParams.set("workspace_id",r(L)),o&&g.searchParams.set("after_cursor",o);const T=new WebSocket(g);on=T,T.addEventListener("open",()=>{on===T&&m(de,!0)}),T.addEventListener("message",H=>{const q=JSON.parse(String(H.data));q.cursor&&localStorage.setItem(`clickclack:${r(L)}:cursor`,q.cursor),na(q)}),T.addEventListener("close",()=>{on===T&&(m(de,!1),Gt=window.setTimeout(Zt,1200))})}async function na(d){if((d.type==="channel.created"||d.type==="channel.updated")&&d.workspace_id===r(L)){await Cn();return}(d.channel_id===r(S)||d.payload.direct_conversation_id===r(P))&&(d.type==="message.created"||d.type==="message.updated"||d.type==="message.deleted")&&await pt();const o=d.payload.root_message_id||d.payload.message_id;r(R)&&o===r(R).id&&await Dr(r(R))}function ra(d){const o=d.trim();if(!o)return"?";const g=o.split(/\s+/);return g.length>=2?(g[0][0]+g[1][0]).toUpperCase():o.slice(0,2).toUpperCase()}function Yt(d){if(!d)return"?";const o=d.trim();return o?o[0].toUpperCase():"?"}function It(d){return d?`@${d}`:""}function Wn(d){return d.members.find(o=>o.id!==r(f)?.id)||d.members[0]}function di(d,o,g){const T=new Map;for(const H of o)for(const q of H.members)q.id&&q.id!==g&&T.set(q.id,q);for(const H of[...d].reverse()){const q=H.author;q?.id&&q.id!==g&&T.set(q.id,q)}return[...T.values()].slice(0,12)}function ur(d){return r(b).find(o=>o.members.some(g=>g.id===d))}function aa(d){d&&(m(R,null),m(C,d))}function Xt(d){let o=0;for(let g=0;g>>0;return o%360}function ze(d){const o=new Date(d),g=new Date,T=new Date;T.setDate(g.getDate()-1);const H=(q,K)=>q.getFullYear()===K.getFullYear()&&q.getMonth()===K.getMonth()&&q.getDate()===K.getDate();return H(o,g)?"Today":H(o,T)?"Yesterday":new Intl.DateTimeFormat(void 0,{weekday:"long",month:"long",day:"numeric"}).format(o)}function jn(d){const o=[];let g="",T="",H=0;for(const q of d){const K=new Date(q.created_at),ke=K.toDateString(),Ge=q.author?.id||q.author_id||"local",Je=ke!==g,Yn=Ge!==T,Ie=K.getTime()-H>300*1e3;Je||Yn||Ie||o.length===0?o.push({key:q.id,dayLabel:Je?ze(q.created_at):null,messages:[q],authorName:q.author?.display_name||"Local User",authorHandle:q.author?.handle||"",authorAvatarURL:q.author?.avatar_url||"",authorID:Ge,timestamp:q.created_at}):o[o.length-1].messages.push(q),g=ke,T=Ge,H=K.getTime()}return o}function Lr(d){const o=d.members.filter(T=>T.id!==r(f)?.id);return(o.length>0?o:d.members).map(T=>T.display_name).join(", ")}function Fa(d){if(d.key==="Escape"&&r(ue)&&r(je)!=="thread"){d.preventDefault(),Pe();return}d.key==="Enter"&&!d.shiftKey&&(d.preventDefault(),Kr())}function ia(d){if(d.key==="Escape"&&r(ue)&&r(je)==="thread"){d.preventDefault(),Pe();return}d.key==="Enter"&&!d.shiftKey&&(d.preventDefault(),qn())}function qe(d){return`/api/uploads/${encodeURIComponent(d.id)}`}function fr(d,o){m(oe,{url:d,title:o})}function $a(d){const o=d.target;o instanceof HTMLImageElement&&o.closest(".markdown")&&(d.preventDefault(),fr(o.currentSrc||o.src,o.alt||"Image"))}function at(d){return d.content_type.startsWith("image/")}function Vt(d){return d.content_type.startsWith("video/")}function dr(d){return d<1024?`${d} B`:d<1024*1024?`${Math.round(d/1024)} KB`:`${(d/(1024*1024)).toFixed(1)} MB`}function Or(d){const o=r(he)&&!r(he).endsWith(` -`)?` -`:"";m(he,`${r(he)}${o}${d}`)}function Zn(d,o=d){Or(`${d}${d==="```"?` -code -`:"text"}${o}`)}function sa(d,o){Or(`![${o}](${d})`),m(kt,!1),m(En,"")}function Jt(d){return r(R)?.id===d.id?"Open":"Thread"}function Mr(){r(je)==="thread"&&Pe(),m(R,null),m(C,null),m(x,[])}function Dn(){m(oe,null),m(Tn,!1)}vn(()=>(r(h),r(L)),()=>{m(n,r(h).find(d=>d.id===r(L)))}),vn(()=>(r(w),r(S)),()=>{m(i,r(w).find(d=>d.id===r(S)))}),vn(()=>(r(b),r(P)),()=>{m(a,r(b).find(d=>d.id===r(P)))}),vn(()=>(r(R),r(C)),()=>{m(s,r(R)!==null||r(C)!==null)}),vn(()=>r(E),()=>{m(l,jn(r(E)))}),vn(()=>(r(E),r(b),r(f)),()=>{m(u,di(r(E),r(b),r(f)?.id||""))}),vn(()=>(r(je),r(ue),r(E)),()=>{r(je)==="channel"&&r(ue)&&!r(E).some(d=>d.id===r(ue)?.id)&&Pe()}),vn(()=>(r(je),r(ue),r(E)),()=>{r(je)==="dm"&&r(ue)&&!r(E).some(d=>d.id===r(ue)?.id)&&Pe()}),vn(()=>(r(je),r(ue),r(R),r(x)),()=>{r(je)==="thread"&&r(ue)&&r(R)&&r(ue).id!==r(R).id&&!r(x).some(d=>d.id===r(ue)?.id)&&Pe()}),vn(()=>r(En),()=>{m(c,Rn.filter(d=>{const o=r(En).trim().toLowerCase();return!o||d.title.toLowerCase().includes(o)||d.tags.some(g=>g.includes(o))}))}),Lu(),To();var Ua=ya();xo("1oa2eo8",d=>{var o=wd();A(d,o)}),Kn("keydown",Fi,d=>{d.key==="Escape"&&Dn()});var Ba=Fn(Ua);{var Ha=d=>{var o=yd();A(d,o)},qa=d=>{var o=Pp(),g=Fn(o);let T;var H=p(g),q=p(H);{var K=y=>{var k=ot("×");A(y,k)},ke=y=>{var k=xd();A(y,k)};W(q,y=>{r(jt)?y(K):y(ke,-1)})}var Ge=_(H,2),Je=_(p(Ge),4),Yn=p(Je);Et(Yn,1,()=>r(h),y=>y.id,(y,k)=>{var $=Td();let j;var re=p($),ne=p(re),J=p(ne);N(ae=>{j=Tt($,1,"guild-wrap",null,j,{active:r(k).id===r(L)}),z(re,"title",(r(k),v(()=>r(k).name))),D(J,ae)},[()=>(r(k),v(()=>ra(r(k).name)))]),G("click",re,async()=>{m(L,r(k).id),await Cn(),await Gn(),Zt()}),A(y,$)});var Ie=_(Yn,2),Ga=_(Je,2);{var Wa=y=>{var k=Ed(),$=p(k);Kn("submit",k,j=>{j.preventDefault(),Hn()}),_n($,()=>r(Xe),j=>m(Xe,j)),A(y,k)};W(Ga,y=>{r(wt)&&y(Wa)})}var gs=_(Ge,2),ms=p(gs),bs=p(ms),ks=p(bs),Bo=p(ks),ws=_(ks,2);let ys;var Ho=p(ws),ja=_(bs,2),qo=p(ja),Go=p(qo),xs=_(ms,2),Ts=p(xs),Es=_(p(Ts),2),Ss=p(Es);Et(Ss,1,()=>r(w),y=>y.id,(y,k)=>{var $=Sd();let j;var re=_(p($),2),ne=p(re);N(()=>{j=Tt($,1,"nav-item channel",null,j,{active:r(k).id===r(S)&&!r(P)}),D(ne,(r(k),v(()=>r(k).name)))}),G("click",$,async()=>{m(S,r(k).id),m(P,""),m(R,null),m(C,null),m(jt,!1),await pt()}),A(y,$)});var Wo=_(Ss,2);{var jo=y=>{var k=Ad();A(y,k)};W(Wo,y=>{r(w),v(()=>r(w).length===0)&&y(jo)})}var As=_(Es,2),Zo=p(As),Rs=_(Ts,2),Cs=_(p(Rs),2),Ds=p(Cs);Et(Ds,1,()=>r(b),y=>y.id,(y,k)=>{var $=Cd();let j;var re=p($),ne=p(re);{var J=F=>{var Y=Rd();N(Le=>z(Y,"src",Le),[()=>(r(k),v(()=>Wn(r(k))?.avatar_url))]),A(F,Y)},ae=Jn(()=>(r(k),v(()=>Wn(r(k))?.avatar_url))),U=F=>{var Y=ot();N(Le=>D(Y,Le),[()=>(r(k),v(()=>Yt(Wn(r(k))?.display_name)))]),A(F,Y)};W(ne,F=>{r(ae)?F(J):F(U,-1)})}var fe=_(re,2),Ee=p(fe);N((F,Y)=>{j=Tt($,1,"nav-item dm",null,j,{active:r(k).id===r(P)}),zn(re,`--hue: ${F??""}deg`),D(Ee,Y)},[()=>(r(k),v(()=>Xt(Wn(r(k))?.id||r(k).id))),()=>(r(k),v(()=>Lr(r(k))))]),G("click",$,async()=>{m(P,r(k).id),m(S,""),m(R,null),m(C,null),m(jt,!1),await pt()}),A(y,$)});var Yo=_(Ds,2);{var Xo=y=>{var k=Dd();A(y,k)};W(Yo,y=>{r(b),v(()=>r(b).length===0)&&y(Xo)})}var Is=_(Cs,2),Vo=p(Is),Jo=_(Rs,2),Qo=_(p(Jo),2),Ls=p(Qo);Et(Ls,1,()=>r(u),y=>y.id,(y,k)=>{const $=ns(()=>(r(k),v(()=>ur(r(k).id))));var j=Ld();let re;var ne=p(j),J=p(ne);{var ae=F=>{var Y=Id();N(()=>z(Y,"src",(r(k),v(()=>r(k).avatar_url)))),A(F,Y)},U=F=>{var Y=ot();N(Le=>D(Y,Le),[()=>(r(k),v(()=>Yt(r(k).display_name)))]),A(F,Y)};W(J,F=>{r(k),v(()=>r(k).avatar_url)?F(ae):F(U,-1)})}var fe=_(ne,2),Ee=p(fe);N(F=>{re=Tt(j,1,"nav-item dm",null,re,{active:r($)?.id===r(P)||r(C)?.id===r(k).id}),zn(ne,`--hue: ${F??""}deg`),D(Ee,(r(k),v(()=>r(k).display_name)))},[()=>(r(k),v(()=>Xt(r(k).id)))]),G("click",j,async()=>{r($)?(m(P,r($).id),m(S,""),m(R,null),m(C,null),m(jt,!1),await pt()):aa(r(k))}),A(y,j)});var Ko=_(Ls,2);{var ec=y=>{var k=Od();A(y,k)};W(Ko,y=>{r(u),v(()=>r(u).length===0)&&y(ec)})}var tc=_(xs,2);{var nc=y=>{var k=Nd(),$=p(k),j=p($);{var re=F=>{var Y=Md();N(()=>z(Y,"src",(r(f),v(()=>r(f).avatar_url)))),A(F,Y)},ne=F=>{var Y=ot();N(Le=>D(Y,Le),[()=>(r(f),v(()=>Yt(r(f).display_name)))]),A(F,Y)};W(j,F=>{r(f),v(()=>r(f).avatar_url)?F(re):F(ne,-1)})}var J=_($,2),ae=p(J),U=p(ae),fe=_(ae,2),Ee=p(fe);N((F,Y,Le)=>{z(k,"aria-label",F),zn($,`--hue: ${Y??""}deg`),D(U,(r(f),v(()=>r(f).display_name))),D(Ee,Le)},[()=>(r(f),v(()=>`Account settings for ${r(f).display_name} ${It(r(f).handle)}`)),()=>(r(f),v(()=>Xt(r(f).id))),()=>(r(f),r(de),v(()=>r(f).handle?It(r(f).handle):r(de)?"Active":"Reconnecting…"))]),G("click",k,Ct),G("contextmenu",k,F=>{F.preventDefault(),Ct()}),A(y,k)};W(tc,y=>{r(f)&&y(nc)})}var Os=_(gs,2),Ms=p(Os),Ns=p(Ms),Ps=p(Ns);{var rc=y=>{var k=Pd(),$=p(k);N(j=>D($,j),[()=>(r(a),v(()=>`@${Lr(r(a))}`))]),A(y,k)},ac=y=>{var k=zd(),$=p(k);N(()=>D($,(r(i),v(()=>`#${r(i).name}`)))),A(y,k)},ic=y=>{var k=Fd();A(y,k)};W(Ps,y=>{r(a)?y(rc):r(i)?y(ac,1):y(ic,-1)})}var sc=_(Ps,4),lc=p(sc),pi=_(Ns,2),zs=_(p(pi),2),oc=_(zs,2);{var cc=y=>{var k=$d();G("click",k,()=>{m(we,""),m(Te,[])}),A(y,k)};W(oc,y=>{r(we)&&y(cc)})}var uc=_(pi,2),la=p(uc);let Fs;var fc=_(la,2),$s=_(Ms,2);{var dc=y=>{var k=Hd(),$=p(k),j=p($),re=p(j),ne=_(j,2),J=_($,2);Et(J,1,()=>r(Te),ae=>ae.message.id,(ae,U)=>{var fe=Bd(),Ee=p(fe),F=p(Ee);{var Y=Se=>{var Ze=Ud();N(()=>z(Ze,"src",(r(U),v(()=>r(U).message.author.avatar_url)))),A(Se,Ze)},Le=Se=>{var Ze=ot();N(fn=>D(Ze,fn),[()=>(r(U),v(()=>Yt(r(U).message.author?.display_name)))]),A(Se,Ze)};W(F,Se=>{r(U),v(()=>r(U).message.author?.avatar_url)?Se(Y):Se(Le,-1)})}var Lt=_(Ee,2),Ot=p(Lt),Qt=p(Ot),Kt=p(Qt),In=_(Qt,2),pe=p(In),B=_(Ot,2),Qe=p(B);N((Se,Ze)=>{zn(Ee,`--hue: ${Se??""}deg`),D(Kt,(r(U),v(()=>r(U).message.author?.display_name||"Local User"))),D(pe,Ze),D(Qe,(r(U),v(()=>r(U).message.body)))},[()=>(r(U),v(()=>Xt(r(U).message.author?.id||r(U).message.author_id||"x"))),()=>(mn(gn),r(U),v(()=>gn(r(U).message.created_at)))]),G("click",fe,async()=>{m(Te,[]),r(U).message.channel_id&&(m(S,r(U).message.channel_id),m(P,""),await pt()),r(U).message.direct_conversation_id&&(m(P,r(U).message.direct_conversation_id),m(S,""),await pt())}),A(ae,fe)}),N(()=>D(re,`${r(Te),v(()=>r(Te).length)??""} ${r(Te),v(()=>r(Te).length===1?"result":"results")??""}`)),G("click",ne,()=>{m(Te,[])}),A(y,k)};W($s,y=>{r(Te),v(()=>r(Te).length>0)&&y(dc)})}var Za=_($s,2),Us=p(Za);{var pc=y=>{var k=qd(),$=p(k),j=p($);{var re=F=>{var Y=ot("@");A(F,Y)},ne=F=>{var Y=ot("#");A(F,Y)};W(j,F=>{r(a)?F(re):F(ne,-1)})}var J=_($,2),ae=p(J);{var U=F=>{var Y=ot();N(Le=>D(Y,`This is the start of your conversation with ${Le??""}.`),[()=>(r(a),v(()=>Lr(r(a))))]),A(F,Y)},fe=F=>{var Y=ot();N(()=>D(Y,`Welcome to #${r(i),v(()=>r(i).name)??""}!`)),A(F,Y)},Ee=F=>{var Y=ot("Pick a channel to get started.");A(F,Y)};W(ae,F=>{r(a)?F(U):r(i)?F(fe,1):F(Ee,-1)})}A(y,k)};W(Us,y=>{r(E),v(()=>r(E).length===0)&&y(pc)})}var hc=_(Us,2);Et(hc,1,()=>r(l),y=>y.key,(y,k)=>{var $=tp(),j=Fn($);{var re=pe=>{var B=Gd(),Qe=p(B),Se=p(Qe);N(()=>D(Se,(r(k),v(()=>r(k).dayLabel)))),A(pe,B)};W(j,pe=>{r(k),v(()=>r(k).dayLabel)&&pe(re)})}var ne=_(j,2),J=p(ne),ae=p(J);{var U=pe=>{var B=Wd();N(()=>z(B,"src",(r(k),v(()=>r(k).authorAvatarURL)))),A(pe,B)},fe=pe=>{var B=ot();N(Qe=>D(B,Qe),[()=>(r(k),v(()=>Yt(r(k).authorName)))]),A(pe,B)};W(ae,pe=>{r(k),v(()=>r(k).authorAvatarURL)?pe(U):pe(fe,-1)})}var Ee=_(J,2),F=p(Ee),Y=p(F),Le=p(Y),Lt=_(Y,2);{var Ot=pe=>{var B=jd(),Qe=p(B);N(Se=>D(Qe,Se),[()=>(r(k),v(()=>It(r(k).authorHandle)))]),A(pe,B)};W(Lt,pe=>{r(k),v(()=>r(k).authorHandle)&&pe(Ot)})}var Qt=_(Lt,2),Kt=p(Qt),In=_(F,2);Et(In,3,()=>(r(k),v(()=>r(k).messages)),pe=>pe.id,(pe,B,Qe)=>{var Se=ep();let Ze;var fn=p(Se),Xn=p(fn),Ln=_(fn,2),me=p(Ln);{var Ke=V=>{var I=Xd();let Ae;var O=_(p(I),2),ht=p(O),en=p(ht),ie=_(ht,2);{var ve=We=>{var yt=Zd(),xe=p(yt);N(_e=>D(xe,_e),[()=>(r(B),v(()=>un(r(B).quoted_body_snapshot)))]),A(We,yt)},vt=We=>{var yt=Yd(),xe=p(yt);N(_e=>D(xe,`[original deleted] ${_e??""}`),[()=>(r(B),v(()=>un(r(B).quoted_body_snapshot)))]),A(We,yt)};W(ie,We=>{r(B),v(()=>r(B).quoted_message_id)?We(ve):We(vt,-1)})}N((We,yt)=>{Ae=Tt(I,1,"quote-block",null,Ae,{dangling:!r(B).quoted_message_id}),I.disabled=(r(B),v(()=>!r(B).quoted_message_id)),z(I,"aria-label",We),D(en,yt)},[()=>(r(B),v(()=>r(B).quoted_message_id?`Jump to quoted message from ${cr(r(B))}`:"Original message was deleted")),()=>(r(B),v(()=>cr(r(B))))]),G("click",I,()=>ea(r(B))),A(V,I)};W(me,V=>{r(B),v(()=>r(B).quoted_message_id||r(B).quoted_body_snapshot)&&V(Ke)})}var Mt=_(me,2);Ti(Mt,()=>(mn(Fr),r(B),v(()=>Fr(r(B).body))),!0);var On=_(Mt,2);{var oa=V=>{var I=Kd();Et(I,5,()=>(r(B),v(()=>r(B).attachments)),Ae=>Ae.id,(Ae,O)=>{var ht=ya(),en=Fn(ht);{var ie=xe=>{var _e=Vd(),Oe=p(_e),et=_(Oe,2),st=p(et);N(_t=>{z(_e,"aria-label",(r(O),v(()=>`Open image ${r(O).filename}`))),z(Oe,"src",_t),z(Oe,"alt",(r(O),v(()=>r(O).filename))),D(st,(r(O),v(()=>r(O).filename)))},[()=>(r(O),v(()=>qe(r(O))))]),G("click",_e,()=>fr(qe(r(O)),r(O).filename)),A(xe,_e)},ve=Jn(()=>(r(O),v(()=>at(r(O))))),vt=xe=>{var _e=Jd(),Oe=p(_e),et=p(Oe),st=_(Oe,2),_t=p(st);N((Mn,dn)=>{z(Oe,"aria-label",(r(O),v(()=>r(O).filename))),z(et,"src",Mn),z(et,"type",(r(O),v(()=>r(O).content_type))),z(st,"href",dn),D(_t,(r(O),v(()=>r(O).filename)))},[()=>(r(O),v(()=>qe(r(O)))),()=>(r(O),v(()=>qe(r(O))))]),A(xe,_e)},We=Jn(()=>(r(O),v(()=>Vt(r(O))))),yt=xe=>{var _e=Qd(),Oe=_(p(_e),2),et=p(Oe),st=p(et),_t=_(et,2),Mn=p(_t);N((dn,ua)=>{z(_e,"href",dn),D(st,(r(O),v(()=>r(O).filename))),D(Mn,ua)},[()=>(r(O),v(()=>qe(r(O)))),()=>(r(O),v(()=>dr(r(O).byte_size)))]),A(xe,_e)};W(en,xe=>{r(ve)?xe(ie):r(We)?xe(vt,1):xe(yt,-1)})}A(Ae,ht)}),A(V,I)};W(On,V=>{r(B),v(()=>r(B).attachments?.length)&&V(oa)})}var ca=_(Ln,2),Vn=p(ca),Nr=_(Vn,2);N((V,I)=>{Ze=Tt(Se,1,"message-row",null,Ze,{selected:r(R)?.id===r(B).id}),z(Se,"data-message-id",(r(B),v(()=>r(B).id))),D(Xn,V),z(Nr,"data-tooltip",I)},[()=>(mn(r(Qe)),mn(gn),r(B),v(()=>r(Qe)===0?"":gn(r(B).created_at))),()=>(r(B),v(()=>Jt(r(B))))]),G("click",Vn,()=>cn(r(B),r(P)?"dm":"channel")),G("click",Nr,()=>Dr(r(B))),A(pe,Se)}),N((pe,B)=>{zn(J,`--hue: ${pe??""}deg`),z(J,"aria-label",(r(k),v(()=>`View profile for ${r(k).authorName}`))),D(Le,(r(k),v(()=>r(k).authorName))),D(Kt,B)},[()=>(r(k),v(()=>Xt(r(k).authorID))),()=>(mn(gn),r(k),v(()=>gn(r(k).timestamp)))]),G("click",J,()=>aa(r(k).messages[0]?.author)),G("click",Y,()=>aa(r(k).messages[0]?.author)),A(y,$)}),af(Za,y=>m(Wt,y),()=>r(Wt));var Bs=_(Za,2),Hs=p(Bs),qs=p(Hs),Gs=_(qs,2),hi=_(Gs,2),vc=p(hi);vc.textContent="<>";var vi=_(hi,2),_c=p(vi);_c.textContent="{}";var Ws=_(vi,2),js=_(Ws,2);let Zs;var Ys=_(Hs,2);{var gc=y=>{var k=rp(),$=p(k),j=_(p($),2),re=_($,2);Et(re,5,()=>r(c),ne=>ne.url,(ne,J)=>{var ae=np(),U=p(ae),fe=_(U,2),Ee=p(fe);N(()=>{z(U,"src",(r(J),v(()=>r(J).url))),z(U,"alt",(r(J),v(()=>r(J).title))),D(Ee,(r(J),v(()=>r(J).title)))}),G("click",ae,()=>sa(r(J).url,r(J).title)),A(ne,ae)}),_n(j,()=>r(En),ne=>m(En,ne)),A(y,k)};W(Ys,y=>{r(kt)&&y(gc)})}var Xs=_(Ys,2);{var mc=y=>{var k=ip(),$=_(p(k),2);{var j=U=>{var fe=ap();N(Ee=>{z(fe,"src",Ee),z(fe,"alt",(r(ye),v(()=>r(ye).filename)))},[()=>(r(ye),v(()=>qe(r(ye))))]),A(U,fe)},re=Jn(()=>(r(ye),v(()=>at(r(ye)))));W($,U=>{r(re)&&U(j)})}var ne=_($,2),J=p(ne),ae=_(ne,2);N(U=>D(J,`${r(ye),v(()=>r(ye).filename)??""} · ${U??""}`),[()=>(r(ye),v(()=>dr(r(ye).byte_size)))]),G("click",ae,()=>m(ye,null)),A(y,k)};W(Xs,y=>{r(ye)&&y(mc)})}var Vs=_(Xs,2);{var bc=y=>{var k=sp(),$=_(p(k),2),j=p($),re=_(p(j)),ne=p(re),J=_(j,2),ae=p(J),U=_($,2);N(fe=>{D(ne,(r(ue),v(()=>r(ue).author?.display_name||"Local User"))),D(ae,fe)},[()=>(r(ue),v(()=>un(r(ue).body)))]),G("click",U,Pe),A(y,k)};W(Vs,y=>{r(ue)&&r(je)===(r(P)?"dm":"channel")&&y(bc)})}var kc=_(Vs,2),Js=p(kc),wc=p(Js),Ya=_(Js,2),yc=_(Ya,2),_i=_(Os,2);let Qs;var xc=p(_i);{var Tc=y=>{var k=Tp(),$=Fn(k),j=p($),re=_(p(j),2),ne=p(re),J=_(j,2),ae=_($,2),U=p(ae),fe=p(U),Ee=p(fe);{var F=V=>{var I=lp();N(()=>z(I,"src",(r(R),v(()=>r(R).author.avatar_url)))),A(V,I)},Y=V=>{var I=ot();N(Ae=>D(I,Ae),[()=>(r(R),v(()=>Yt(r(R).author?.display_name)))]),A(V,I)};W(Ee,V=>{r(R),v(()=>r(R).author?.avatar_url)?V(F):V(Y,-1)})}var Le=_(fe,2),Lt=p(Le),Ot=p(Lt),Qt=p(Ot),Kt=_(Ot,2);{var In=V=>{var I=op(),Ae=p(I);N(O=>D(Ae,O),[()=>(r(R),v(()=>It(r(R).author.handle)))]),A(V,I)};W(Kt,V=>{r(R),v(()=>r(R).author?.handle)&&V(In)})}var pe=_(Kt,2),B=p(pe),Qe=_(pe,2),Se=_(Lt,2);Ti(Se,()=>(mn(Fr),r(R),v(()=>Fr(r(R).body))),!0);var Ze=_(Se,2);{var fn=V=>{var I=dp();Et(I,5,()=>(r(R),v(()=>r(R).attachments)),Ae=>Ae.id,(Ae,O)=>{var ht=ya(),en=Fn(ht);{var ie=xe=>{var _e=cp(),Oe=p(_e),et=_(Oe,2),st=p(et);N(_t=>{z(_e,"aria-label",(r(O),v(()=>`Open image ${r(O).filename}`))),z(Oe,"src",_t),z(Oe,"alt",(r(O),v(()=>r(O).filename))),D(st,(r(O),v(()=>r(O).filename)))},[()=>(r(O),v(()=>qe(r(O))))]),G("click",_e,()=>fr(qe(r(O)),r(O).filename)),A(xe,_e)},ve=Jn(()=>(r(O),v(()=>at(r(O))))),vt=xe=>{var _e=up(),Oe=p(_e),et=p(Oe),st=_(Oe,2),_t=p(st);N((Mn,dn)=>{z(Oe,"aria-label",(r(O),v(()=>r(O).filename))),z(et,"src",Mn),z(et,"type",(r(O),v(()=>r(O).content_type))),z(st,"href",dn),D(_t,(r(O),v(()=>r(O).filename)))},[()=>(r(O),v(()=>qe(r(O)))),()=>(r(O),v(()=>qe(r(O))))]),A(xe,_e)},We=Jn(()=>(r(O),v(()=>Vt(r(O))))),yt=xe=>{var _e=fp(),Oe=_(p(_e),2),et=p(Oe),st=p(et),_t=_(et,2),Mn=p(_t);N((dn,ua)=>{z(_e,"href",dn),D(st,(r(O),v(()=>r(O).filename))),D(Mn,ua)},[()=>(r(O),v(()=>qe(r(O)))),()=>(r(O),v(()=>dr(r(O).byte_size)))]),A(xe,_e)};W(en,xe=>{r(ve)?xe(ie):r(We)?xe(vt,1):xe(yt,-1)})}A(Ae,ht)}),A(V,I)};W(Ze,V=>{r(R),v(()=>r(R).attachments?.length)&&V(fn)})}var Xn=_(U,2),Ln=p(Xn),me=p(Ln),Ke=_(Xn,2);Et(Ke,5,()=>r(x),V=>V.id,(V,I)=>{var Ae=yp(),O=p(Ae),ht=p(O);{var en=$e=>{var Ue=pp();N(()=>z(Ue,"src",(r(I),v(()=>r(I).author.avatar_url)))),A($e,Ue)},ie=$e=>{var Ue=ot();N(pn=>D(Ue,pn),[()=>(r(I),v(()=>Yt(r(I).author?.display_name)))]),A($e,Ue)};W(ht,$e=>{r(I),v(()=>r(I).author?.avatar_url)?$e(en):$e(ie,-1)})}var ve=_(O,2),vt=p(ve),We=p(vt),yt=p(We),xe=_(We,2);{var _e=$e=>{var Ue=hp(),pn=p(Ue);N(se=>D(pn,se),[()=>(r(I),v(()=>It(r(I).author.handle)))]),A($e,Ue)};W(xe,$e=>{r(I),v(()=>r(I).author?.handle)&&$e(_e)})}var Oe=_(xe,2),et=p(Oe),st=_(Oe,2),_t=_(vt,2);{var Mn=$e=>{var Ue=gp();let pn;var se=_(p(Ue),2),fa=p(se),gi=p(fa),mi=_(fa,2);{var bi=hn=>{var Nn=vp(),xt=p(Nn);N(lt=>D(xt,lt),[()=>(r(I),v(()=>un(r(I).quoted_body_snapshot)))]),A(hn,Nn)},ki=hn=>{var Nn=_p(),xt=p(Nn);N(lt=>D(xt,`[original deleted] ${lt??""}`),[()=>(r(I),v(()=>un(r(I).quoted_body_snapshot)))]),A(hn,Nn)};W(mi,hn=>{r(I),v(()=>r(I).quoted_message_id)?hn(bi):hn(ki,-1)})}N((hn,Nn)=>{pn=Tt(Ue,1,"quote-block",null,pn,{dangling:!r(I).quoted_message_id}),Ue.disabled=(r(I),v(()=>!r(I).quoted_message_id)),z(Ue,"aria-label",hn),D(gi,Nn)},[()=>(r(I),v(()=>r(I).quoted_message_id?`Jump to quoted message from ${cr(r(I))}`:"Original message was deleted")),()=>(r(I),v(()=>cr(r(I))))]),G("click",Ue,()=>ea(r(I))),A($e,Ue)};W(_t,$e=>{r(I),v(()=>r(I).quoted_message_id||r(I).quoted_body_snapshot)&&$e(Mn)})}var dn=_(_t,2);Ti(dn,()=>(mn(Fr),r(I),v(()=>Fr(r(I).body))),!0);var ua=_(dn,2);{var Dc=$e=>{var Ue=wp();Et(Ue,5,()=>(r(I),v(()=>r(I).attachments)),pn=>pn.id,(pn,se)=>{var fa=ya(),gi=Fn(fa);{var mi=xt=>{var lt=mp(),Pn=p(lt),pr=_(Pn,2),Pr=p(pr);N(da=>{z(lt,"aria-label",(r(se),v(()=>`Open image ${r(se).filename}`))),z(Pn,"src",da),z(Pn,"alt",(r(se),v(()=>r(se).filename))),D(Pr,(r(se),v(()=>r(se).filename)))},[()=>(r(se),v(()=>qe(r(se))))]),G("click",lt,()=>fr(qe(r(se)),r(se).filename)),A(xt,lt)},bi=Jn(()=>(r(se),v(()=>at(r(se))))),ki=xt=>{var lt=bp(),Pn=p(lt),pr=p(Pn),Pr=_(Pn,2),da=p(Pr);N((wi,yi)=>{z(Pn,"aria-label",(r(se),v(()=>r(se).filename))),z(pr,"src",wi),z(pr,"type",(r(se),v(()=>r(se).content_type))),z(Pr,"href",yi),D(da,(r(se),v(()=>r(se).filename)))},[()=>(r(se),v(()=>qe(r(se)))),()=>(r(se),v(()=>qe(r(se))))]),A(xt,lt)},hn=Jn(()=>(r(se),v(()=>Vt(r(se))))),Nn=xt=>{var lt=kp(),Pn=_(p(lt),2),pr=p(Pn),Pr=p(pr),da=_(pr,2),wi=p(da);N((yi,Ic)=>{z(lt,"href",yi),D(Pr,(r(se),v(()=>r(se).filename))),D(wi,Ic)},[()=>(r(se),v(()=>qe(r(se)))),()=>(r(se),v(()=>dr(r(se).byte_size)))]),A(xt,lt)};W(gi,xt=>{r(bi)?xt(mi):r(hn)?xt(ki,1):xt(Nn,-1)})}A(pn,fa)}),A($e,Ue)};W(ua,$e=>{r(I),v(()=>r(I).attachments?.length)&&$e(Dc)})}N(($e,Ue)=>{z(Ae,"data-message-id",(r(I),v(()=>r(I).id))),zn(O,`--hue: ${$e??""}deg`),D(yt,(r(I),v(()=>r(I).author?.display_name||"Local User"))),D(et,Ue)},[()=>(r(I),v(()=>Xt(r(I).author?.id||r(I).author_id||"x"))),()=>(mn(gn),r(I),v(()=>gn(r(I).created_at)))]),G("click",st,()=>cn(r(I),"thread")),A(V,Ae)});var Mt=_(ae,2),On=p(Mt);{var oa=V=>{var I=xp(),Ae=_(p(I),2),O=p(Ae),ht=_(p(O)),en=p(ht),ie=_(O,2),ve=p(ie),vt=_(Ae,2);N(We=>{D(en,(r(ue),v(()=>r(ue).author?.display_name||"Local User"))),D(ve,We)},[()=>(r(ue),v(()=>un(r(ue).body)))]),G("click",vt,Pe),A(V,I)};W(On,V=>{r(ue)&&r(je)==="thread"&&V(oa)})}var ca=_(On,2),Vn=p(ca),Nr=_(Vn,2);N((V,I,Ae)=>{D(ne,`${r(Q),r(x),v(()=>r(Q)?.reply_count??r(x).length)??""} ${r(Q),r(x),v(()=>(r(Q)?.reply_count??r(x).length)===1?"reply":"replies")??""}`),z(U,"data-message-id",(r(R),v(()=>r(R).id))),zn(fe,`--hue: ${V??""}deg`),D(Qt,(r(R),v(()=>r(R).author?.display_name||"Local User"))),D(B,I),D(me,`${r(x),v(()=>r(x).length)??""} ${r(x),v(()=>r(x).length===1?"reply":"replies")??""}`),Nr.disabled=Ae},[()=>(r(R),v(()=>Xt(r(R).author?.id||r(R).author_id||"x"))),()=>(mn(gn),r(R),v(()=>gn(r(R).created_at))),()=>(r(Ce),v(()=>!r(Ce).trim()))]),G("click",J,()=>{Mr()}),G("pointerup",ae,$a),G("click",Qe,()=>r(R)&&cn(r(R),"thread")),Kn("submit",Mt,V=>{V.preventDefault(),qn()}),G("keydown",Vn,ia),_n(Vn,()=>r(Ce),V=>m(Ce,V)),A(y,k)},Ec=y=>{var k=Dp(),$=Fn(k),j=p($),re=_(p(j),2),ne=p(re),J=_(j,2),ae=_($,2),U=p(ae),fe=p(U),Ee=p(fe);{var F=ie=>{var ve=Ep();N(()=>z(ve,"src",(r(C),v(()=>r(C).avatar_url)))),A(ie,ve)},Y=ie=>{var ve=ot();N(vt=>D(ve,vt),[()=>(r(C),v(()=>Yt(r(C).display_name)))]),A(ie,ve)};W(Ee,ie=>{r(C),v(()=>r(C).avatar_url)?ie(F):ie(Y,-1)})}var Le=_(U,2),Lt=p(Le),Ot=p(Lt),Qt=p(Ot),Kt=p(Qt),In=_(Qt,2);{var pe=ie=>{var ve=Sp(),vt=p(ve);N(We=>D(vt,We),[()=>(r(C),v(()=>It(r(C).handle)))]),A(ie,ve)};W(In,ie=>{r(C),v(()=>r(C).handle)&&ie(pe)})}var B=_(Ot,2);{var Qe=ie=>{var ve=Ap();G("click",ve,Ct),A(ie,ve)};W(B,ie=>{r(f),r(C),v(()=>r(f)?.id===r(C).id)&&ie(Qe)})}var Se=_(Lt,4),Ze=p(Se);{var fn=ie=>{var ve=Rp();G("click",ve,()=>Dt(r(C)?.id||"")),A(ie,ve)};W(Ze,ie=>{r(f),r(C),v(()=>r(f)?.id!==r(C).id)&&ie(fn)})}var Xn=_(Ze,2),Ln=_(Se,2),me=p(Ln),Ke=_(p(me),2);{var Mt=ie=>{var ve=Cp();G("click",ve,Ct),A(ie,ve)};W(Ke,ie=>{r(f),r(C),v(()=>r(f)?.id===r(C).id)&&ie(Mt)})}var On=_(me,2),oa=_(p(On),2),ca=_(p(oa),2),Vn=p(ca),Nr=_(On,2),V=_(p(Nr),2),I=_(p(V),2),Ae=p(I),O=_(Ln,2),ht=_(p(O),2),en=p(ht);N((ie,ve)=>{D(ne,(r(C),v(()=>r(C).display_name))),zn(U,`--hue: ${ie??""}deg`),D(Kt,(r(C),v(()=>r(C).display_name))),D(Vn,ve),D(Ae,(r(C),v(()=>r(C).id))),D(en,`Member of ${r(n),v(()=>r(n)?.name||"this workspace")??""}. Click Message to keep the conversation in your sidebar.`)},[()=>(r(C),v(()=>Xt(r(C).id))),()=>(r(C),v(()=>r(C).handle?It(r(C).handle):"No handle set"))]),G("click",J,Mr),G("click",Xn,()=>m(Rt,"status messages are coming soon")),A(y,k)},Sc=y=>{var k=Ip();A(y,k)};W(xc,y=>{r(R)?y(Tc):r(C)?y(Ec,1):y(Sc,-1)})}var Ks=_(g,2);{var Ac=y=>{var k=Mp(),$=p(k),j=_($,2),re=p(j),ne=_(p(re),2),J=_(re,2),ae=p(J),U=p(ae),fe=p(U);{var Ee=me=>{var Ke=Lp();N(()=>z(Ke,"src",r(Bn))),A(me,Ke)},F=me=>{var Ke=ot();N(Mt=>D(Ke,Mt),[()=>(r(At),v(()=>Yt(r(At))))]),A(me,Ke)};W(fe,me=>{r(Bn)?me(Ee):me(F,-1)})}var Y=_(U,2),Le=p(Y),Lt=p(Le),Ot=_(Le,2),Qt=p(Ot),Kt=_(ae,2),In=_(p(Kt),2),pe=_(Kt,2),B=_(p(pe),2),Qe=_(pe,2),Se=_(p(Qe),2),Ze=_(Qe,2);{var fn=me=>{var Ke=Op();let Mt;var On=p(Ke);N(()=>{Mt=Tt(Ke,1,"profile-status",null,Mt,{error:r(De)}),D(On,r(Sn))}),A(me,Ke)};W(Ze,me=>{r(Sn)&&me(fn)})}var Xn=_(Ze,2),Ln=p(Xn);N((me,Ke)=>{zn(U,`--hue: ${me??""}deg`),D(Lt,(r(At),r(f),v(()=>r(At)||r(f).display_name))),D(Qt,Ke)},[()=>(r(f),v(()=>Xt(r(f).id))),()=>(r(qt),r(f),v(()=>r(qt)||It(r(f).handle)||"No handle set"))]),G("click",$,Dn),G("click",ne,Dn),Kn("submit",J,me=>{me.preventDefault(),Jr()}),_n(In,()=>r(At),me=>m(At,me)),_n(B,()=>r(qt),me=>m(qt,me)),_n(Se,()=>r(Bn),me=>m(Bn,me)),G("click",Ln,Dn),A(y,k)};W(Ks,y=>{r(Tn)&&r(f)&&y(Ac)})}var Rc=_(Ks,2);{var Cc=y=>{var k=Np(),$=p(k),j=_($,2),re=p(j),ne=p(re),J=p(ne),ae=_(ne,2),U=p(ae),fe=_(U,2),Ee=_(re,2),F=p(Ee);N(()=>{D(J,(r(oe),v(()=>r(oe).title))),z(U,"href",(r(oe),v(()=>r(oe).url))),z(F,"src",(r(oe),v(()=>r(oe).url))),z(F,"alt",(r(oe),v(()=>r(oe).title)))}),G("click",$,Dn),G("click",fe,Dn),A(y,k)};W(Rc,y=>{r(oe)&&y(Cc)})}N((y,k)=>{T=Tt(g,1,"shell",null,T,{"nav-open":r(jt),"sidebar-collapsed":r(An),"thread-open":r(s)}),D(Bo,(r(n),v(()=>r(n)?.name||"Pick a workspace"))),ys=Tt(ws,1,"presence",null,ys,{online:r(de)}),D(Ho,r(de)?"Connected":r(Rt)),z(ja,"aria-label",r(An)?"Expand sidebar":"Collapse sidebar"),z(ja,"title",r(An)?"Expand sidebar":"Collapse sidebar"),z(Go,"d",r(An)?"m9 6 6 6-6 6":"m15 6-6 6 6 6"),D(lc,(r(n),v(()=>r(n)?.name||"no workspace"))),z(la,"title",r(R)?"Close thread":"Open a message thread"),z(la,"aria-label",r(R)?"Close thread":"Open a message thread"),Fs=Tt(la,1,"",null,Fs,{active:r(s)}),Zs=Tt(js,1,"",null,Zs,{active:r(kt)}),z(Ya,"placeholder",y),yc.disabled=k,Qs=Tt(_i,1,"thread",null,Qs,{open:r(s)}),z(_i,"aria-label",r(C)?"Profile pane":"Thread pane")},[()=>(r(a),r(i),v(()=>r(a)?`Message ${Lr(r(a))}`:r(i)?`Message #${r(i).name}`:"Pick a channel to start")),()=>(r(he),v(()=>!r(he).trim()))]),G("click",H,()=>m(jt,!r(jt))),G("click",Ie,()=>m(wt,!r(wt))),G("click",ja,()=>m(An,!r(An))),Kn("submit",As,y=>{y.preventDefault(),Rr()}),_n(Zo,()=>r(Ve),y=>m(Ve,y)),Kn("submit",Is,y=>{y.preventDefault(),Ir()}),_n(Vo,()=>r(be),y=>m(be,y)),Kn("submit",pi,y=>{y.preventDefault(),ta()}),_n(zs,()=>r(we),y=>m(we,y)),G("click",la,()=>{r(s)?Mr():m(Rt,"pick a message to open its thread")}),G("click",fc,()=>m(Rt,"no pinned items")),G("pointerup",Za,$a),Kn("submit",Bs,y=>{y.preventDefault(),Kr()}),G("click",qs,()=>Zn("**")),G("click",Gs,()=>Zn("_")),G("click",hi,()=>Zn("`")),G("click",vi,()=>Zn("```","\n```")),G("click",Ws,()=>Or("[label](https://)")),G("click",js,()=>m(kt,!r(kt))),G("change",wc,za),G("keydown",Ya,Fa),_n(Ya,()=>r(he),y=>m(he,y)),A(d,o)};W(Ba,d=>{r(Fe)?d(Ha):d(qa,-1)})}A(e,Ua),Qi()}Uu(["click","contextmenu","pointerup","change","keydown"]);var Fp=M(' ',1),$p=M("

    "),Up=M(`

    Self-hostable chat. Serious tool. Mild brine.

    ClickClack

    A single-binary chat app for teams, communities, bots, and agents: - Slack-style threads, durable realtime, OpenAPI, SQLite, and a CLI that - can drive the whole thing from a shell.

    What it is

    Chat infrastructure that stays boring when the socket drops.

    WebSocket is the pipe. The database is the truth. Every durable message, - thread reply, reaction, and channel update can be recovered over HTTP with - a cursor, so clients and agents can reconnect without drama.

    Agent path

    A friendly CLI, no LLM baked in.

    External agents, CI jobs, and humans use the same public API as the web - app. Tokens and workspace defaults are scoped per server, so switching - hosts does not leak credentials or stale IDs.

     

    Destinations

    Product at the root. Docs and app where people expect them.

    `);function Bp(e,t){Ji(t,!1);const n="https://docs.clickclack.chat",i=["localhost","127.0.0.1","::1"].includes(window.location.hostname)?"/app":"https://app.clickclack.chat",a="https://github.com/openclaw/clickclack",s=[["Single binary","Go server, embedded Svelte app, embedded migrations, local SQLite and uploads."],["Threads that recover","Slack-style one-level threads with durable event replay after reconnects."],["Agent-friendly","A CLI, OpenAPI contract, TypeScript SDK, webhooks, and slash-command shapes."],["Self-host first","SQLite is the default, not the demo. Postgres can arrive behind the store layer."]],l=["clickclack serve --data ./data","clickclack login --magic-token mgt_...",'clickclack send --channel general "deploy started"',"clickclack threads reply msg_... --stdin {var ye=Fp();oo(()=>{Kl.title="ClickClack - Self-hostable chat with claws"}),A(Te,ye)});var c=p(u),f=_(p(c),2),h=_(p(f),2),w=p(h);z(w,"href",n);var b=_(w,2),E=_(b,2);z(E,"href",a);var x=_(f,2),L=_(p(x),6),S=p(L),P=_(S,2);z(P,"href",n);var R=_(P,2);z(R,"href",a);var Q=_(c,4);Et(Q,5,()=>s,Yu,(Te,ye)=>{var kt=$p(),Tn=p(kt),En=p(Tn),At=_(Tn,2),qt=p(At);N(()=>{D(En,r(ye)[0]),D(qt,r(ye)[1])}),A(Te,kt)});var C=_(Q,2),oe=_(p(C),2),he=p(oe),Ce=_(C,2),Xe=_(p(Ce),2),Ve=_(p(Xe),2);z(Ve,"href",n);var be=_(Ve,2),we=_(be,2);z(we,"href",a),N(Te=>{z(b,"href",i),z(S,"href",i),D(he,Te),z(be,"href",i)},[()=>l.join(` -`)]),A(e,u),Qi()}function Hp(e){const t=window.location.pathname,i=window.location.hostname.startsWith("app.")||t==="/app"||t.startsWith("/app/");var a=ya(),s=Fn(a);{var l=c=>{zp(c,{})},u=c=>{Bp(c,{})};W(s,c=>{i?c(l):c(u,-1)})}A(e,a)}Gu(Hp,{target:document.getElementById("app")}); diff --git a/apps/api/internal/webassets/dist/assets/index-Ci-0jUjM.js b/apps/api/internal/webassets/dist/assets/index-Ci-0jUjM.js new file mode 100644 index 0000000..435e204 --- /dev/null +++ b/apps/api/internal/webassets/dist/assets/index-Ci-0jUjM.js @@ -0,0 +1,72 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))s(a);new MutationObserver(a=>{for(const i of a)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&s(l)}).observe(document,{childList:!0,subtree:!0});function n(a){const i={};return a.integrity&&(i.integrity=a.integrity),a.referrerPolicy&&(i.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?i.credentials="include":a.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(a){if(a.ep)return;a.ep=!0;const i=n(a);fetch(a.href,i)}})();const Xc=!1;var Wl=Array.isArray,Vc=Array.prototype.indexOf,Vr=Array.prototype.includes,vs=Array.from,Kc=Object.defineProperty,La=Object.getOwnPropertyDescriptor,jl=Object.getOwnPropertyDescriptors,Jc=Object.prototype,Qc=Array.prototype,ui=Object.getPrototypeOf,hl=Object.isExtensible;const eu=()=>{};function tu(e){return e()}function js(e){for(var t=0;t{e=s,t=a});return{promise:n,resolve:e,reject:t}}const dt=2,Kr=4,za=8,Yl=1<<24,Mn=16,mn=32,ur=64,Zs=128,Yt=512,Ye=1024,ct=2048,bn=4096,bt=8192,Xt=16384,Ir=32768,Ys=1<<25,Jr=65536,Xs=1<<17,Xl=1<<18,Lr=1<<19,Vl=1<<20,On=1<<25,Sr=65536,us=1<<21,Ma=1<<22,or=1<<23,Xr=Symbol("$state"),nu=Symbol(""),Kn=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function Kl(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function ru(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function au(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function su(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function iu(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function lu(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ou(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function cu(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function uu(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function fu(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function du(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const pu=1,hu=2,Jl=4,vu=8,_u=16,gu=1,mu=2,tt=Symbol(),Ql="http://www.w3.org/1999/xhtml",bu="http://www.w3.org/2000/svg",ku="http://www.w3.org/1998/Math/MathML";function wu(){console.warn("https://svelte.dev/e/derived_inert")}function yu(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function eo(e){return e===this.v}function to(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function no(e){return!to(e,this.v)}let $a=!1,xu=!1;function Tu(){$a=!0}let De=null;function Qr(e){De=e}function fi(e,t=!1,n){De={p:De,i:!1,c:null,e:null,s:e,x:null,r:ne,l:$a&&!t?{s:null,u:null,$:[]}:null}}function di(e){var t=De,n=t.e;if(n!==null){t.e=null;for(var s of n)To(s)}return t.i=!0,De=t.p,{}}function Fa(){return!$a||De!==null&&De.l===null}let wr=[];function ro(){var e=wr;wr=[],js(e)}function cr(e){if(wr.length===0&&!Da){var t=wr;queueMicrotask(()=>{t===wr&&ro()})}wr.push(e)}function Eu(){for(;wr.length>0;)ro()}function ao(e){var t=ne;if(t===null)return fe.f|=or,e;if((t.f&Ir)===0&&(t.f&Kr)===0)throw e;ir(e,t)}function ir(e,t){for(;t!==null;){if((t.f&Zs)!==0){if((t.f&Ir)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Su=-7169;function Fe(e,t){e.f=e.f&Su|t}function pi(e){(e.f&Yt)!==0||e.deps===null?Fe(e,Ye):Fe(e,bn)}function so(e){if(e!==null)for(const t of e)(t.f&dt)===0||(t.f&Sr)===0||(t.f^=Sr,so(t.deps))}function io(e,t,n){(e.f&ct)!==0?t.add(e):(e.f&bn)!==0&&n.add(e),so(e.deps),Fe(e,Ye)}const br=new Set;let te=null,_n=null,Vs=null,Da=!1,Ps=!1,Yr=null,os=null;var vl=0;let Au=1;class fr{id=Au++;current=new Map;previous=new Map;#n=new Set;#o=new Set;#e=new Set;#a=new Map;#r=new Map;#s=null;#t=[];#i=[];#c=new Set;#u=new Set;#l=new Map;#d=new Set;is_fork=!1;#h=!1;#p=new Set;#f(){return this.is_fork||this.#r.size>0}#g(){for(const s of this.#p)for(const a of s.#r.keys()){for(var t=!1,n=a;n.parent!==null;){if(this.#l.has(n)){t=!0;break}n=n.parent}if(!t)return!0}return!1}skip_effect(t){this.#l.has(t)||this.#l.set(t,{d:[],m:[]}),this.#d.delete(t)}unskip_effect(t,n=s=>this.schedule(s)){var s=this.#l.get(t);if(s){this.#l.delete(t);for(var a of s.d)Fe(a,ct),n(a);for(a of s.m)Fe(a,bn),n(a)}this.#d.add(t)}#v(){if(vl++>1e3&&(br.delete(this),Cu()),!this.#f()){for(const c of this.#c)this.#u.delete(c),Fe(c,ct),this.schedule(c);for(const c of this.#u)Fe(c,bn),this.schedule(c)}const t=this.#t;this.#t=[],this.apply();var n=Yr=[],s=[],a=os=[];for(const c of t)try{this.#m(c,n,s)}catch(o){throw co(c),o}if(te=null,a.length>0){var i=fr.ensure();for(const c of a)i.schedule(c)}if(Yr=null,os=null,this.#f()||this.#g()){this.#_(s),this.#_(n);for(const[c,o]of this.#l)oo(c,o)}else{this.#a.size===0&&br.delete(this),this.#c.clear(),this.#u.clear();for(const c of this.#n)c(this);this.#n.clear(),_l(s),_l(n),this.#s?.resolve()}var l=te;if(this.#t.length>0){const c=l??=this;c.#t.push(...this.#t.filter(o=>!c.#t.includes(o)))}l!==null&&(br.add(l),l.#v())}#m(t,n,s){t.f^=Ye;for(var a=t.first;a!==null;){var i=a.f,l=(i&(mn|ur))!==0,c=l&&(i&Ye)!==0,o=c||(i&bt)!==0||this.#l.has(a);if(!o&&a.fn!==null){l?a.f^=Ye:(i&Kr)!==0?n.push(a):ra(a)&&((i&Mn)!==0&&this.#u.add(a),Rr(a));var f=a.first;if(f!==null){a=f;continue}}for(;a!==null;){var h=a.next;if(h!==null){a=h;break}a=a.parent}}}#_(t){for(var n=0;n!this.current.has(w));if(a.length===0)t&&h.discard();else if(n.length>0){if(t)for(const w of this.#d)h.unskip_effect(w,m=>{(m.f&(Mn|Ma))!==0?h.schedule(m):h.#_([m])});h.activate();var i=new Set,l=new Map;for(var c of n)lo(c,a,i,l);l=new Map;var o=[...h.current.keys()].filter(w=>this.current.has(w)?this.current.get(w)[0]!==w:!0);for(const w of this.#i)(w.f&(Xt|bt|Xs))===0&&hi(w,o,l)&&((w.f&(Ma|Mn))!==0?(Fe(w,ct),h.schedule(w)):h.#c.add(w));if(h.#t.length>0){h.apply();for(var f of h.#t)h.#m(f,[],[]);h.#t=[]}h.deactivate()}}for(const h of br)h.#p.has(this)&&(h.#p.delete(this),h.#p.size===0&&!h.#f()&&(h.activate(),h.#v()))}increment(t,n){let s=this.#a.get(n)??0;if(this.#a.set(n,s+1),t){let a=this.#r.get(n)??0;this.#r.set(n,a+1)}}decrement(t,n,s){let a=this.#a.get(n)??0;if(a===1?this.#a.delete(n):this.#a.set(n,a-1),t){let i=this.#r.get(n)??0;i===1?this.#r.delete(n):this.#r.set(n,i-1)}this.#h||s||(this.#h=!0,cr(()=>{this.#h=!1,this.flush()}))}transfer_effects(t,n){for(const s of t)this.#c.add(s);for(const s of n)this.#u.add(s);t.clear(),n.clear()}oncommit(t){this.#n.add(t)}ondiscard(t){this.#o.add(t)}on_fork_commit(t){this.#e.add(t)}run_fork_commit_callbacks(){for(const t of this.#e)t(this);this.#e.clear()}settled(){return(this.#s??=Zl()).promise}static ensure(){if(te===null){const t=te=new fr;Ps||(br.add(te),Da||cr(()=>{te===t&&t.flush()}))}return te}apply(){{_n=null;return}}schedule(t){if(Vs=t,t.b?.is_pending&&(t.f&(Kr|za|Yl))!==0&&(t.f&Ir)===0){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var s=n.f;if(Yr!==null&&n===ne&&(fe===null||(fe.f&dt)===0))return;if((s&(ur|mn))!==0){if((s&Ye)===0)return;n.f^=Ye}}this.#t.push(n)}}function Ru(e){var t=Da;Da=!0;try{for(var n;;){if(Eu(),te===null)return n;te.flush()}}finally{Da=t}}function Cu(){try{ou()}catch(e){ir(e,Vs)}}let Vn=null;function _l(e){var t=e.length;if(t!==0){for(var n=0;n0)){xr.clear();for(const a of Vn){if((a.f&(Xt|bt))!==0)continue;const i=[a];let l=a.parent;for(;l!==null;)Vn.has(l)&&(Vn.delete(l),i.push(l)),l=l.parent;for(let c=i.length-1;c>=0;c--){const o=i[c];(o.f&(Xt|bt))===0&&Rr(o)}}Vn.clear()}}Vn=null}}function lo(e,t,n,s){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const a of e.reactions){const i=a.f;(i&dt)!==0?lo(a,t,n,s):(i&(Ma|Mn))!==0&&(i&ct)===0&&hi(a,t,s)&&(Fe(a,ct),vi(a))}}function hi(e,t,n){const s=n.get(e);if(s!==void 0)return s;if(e.deps!==null)for(const a of e.deps){if(Vr.call(t,a))return!0;if((a.f&dt)!==0&&hi(a,t,n))return n.set(a,!0),!0}return n.set(e,!1),!1}function vi(e){te.schedule(e)}function oo(e,t){if(!((e.f&mn)!==0&&(e.f&Ye)!==0)){(e.f&ct)!==0?t.d.push(e):(e.f&bn)!==0&&t.m.push(e),Fe(e,Ye);for(var n=e.first;n!==null;)oo(n,t),n=n.next}}function co(e){Fe(e,Ye);for(var t=e.first;t!==null;)co(t),t=t.next}function Iu(e){let t=0,n=Ar(0),s;return()=>{mi()&&(r(n),na(()=>(t===0&&(s=v(()=>e(()=>Oa(n)))),t+=1,()=>{cr(()=>{t-=1,t===0&&(s?.(),s=void 0,Oa(n))})})))}}var Lu=Jr|Lr;function Du(e,t,n,s){new Ou(e,t,n,s)}class Ou{parent;is_pending=!1;transform_error;#n;#o=null;#e;#a;#r;#s=null;#t=null;#i=null;#c=null;#u=0;#l=0;#d=!1;#h=new Set;#p=new Set;#f=null;#g=Iu(()=>(this.#f=Ar(this.#u),()=>{this.#f=null}));constructor(t,n,s,a){this.#n=t,this.#e=n,this.#a=i=>{var l=ne;l.b=this,l.f|=Zs,s(i)},this.parent=ne.b,this.transform_error=a??this.parent?.transform_error??(i=>i),this.#r=ms(()=>{this.#b()},Lu)}#v(){try{this.#s=Zt(()=>this.#a(this.#n))}catch(t){this.error(t)}}#m(t){const n=this.#e.failed;n&&(this.#i=Zt(()=>{n(this.#n,()=>t,()=>()=>{})}))}#_(){const t=this.#e.pending;t&&(this.is_pending=!0,this.#t=Zt(()=>t(this.#n)),cr(()=>{var n=this.#c=document.createDocumentFragment(),s=Nn();n.append(s),this.#s=this.#w(()=>Zt(()=>this.#a(s))),this.#l===0&&(this.#n.before(n),this.#c=null,Tr(this.#t,()=>{this.#t=null}),this.#k(te))}))}#b(){try{if(this.is_pending=this.has_pending_snippet(),this.#l=0,this.#u=0,this.#s=Zt(()=>{this.#a(this.#n)}),this.#l>0){var t=this.#c=document.createDocumentFragment();wi(this.#s,t);const n=this.#e.pending;this.#t=Zt(()=>n(this.#n))}else this.#k(te)}catch(n){this.error(n)}}#k(t){this.is_pending=!1,t.transfer_effects(this.#h,this.#p)}defer_effect(t){io(t,this.#h,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#e.pending}#w(t){var n=ne,s=fe,a=De;Jt(this.#r),Kt(this.#r),Qr(this.#r.ctx);try{return fr.ensure(),t()}catch(i){return ao(i),null}finally{Jt(n),Kt(s),Qr(a)}}#y(t,n){if(!this.has_pending_snippet()){this.parent&&this.parent.#y(t,n);return}this.#l+=t,this.#l===0&&(this.#k(n),this.#t&&Tr(this.#t,()=>{this.#t=null}),this.#c&&(this.#n.before(this.#c),this.#c=null))}update_pending_count(t,n){this.#y(t,n),this.#u+=t,!(!this.#f||this.#d)&&(this.#d=!0,cr(()=>{this.#d=!1,this.#f&&ea(this.#f,this.#u)}))}get_effect_pending(){return this.#g(),r(this.#f)}error(t){if(!this.#e.onerror&&!this.#e.failed)throw t;te?.is_fork?(this.#s&&te.skip_effect(this.#s),this.#t&&te.skip_effect(this.#t),this.#i&&te.skip_effect(this.#i),te.on_fork_commit(()=>{this.#x(t)})):this.#x(t)}#x(t){this.#s&&(At(this.#s),this.#s=null),this.#t&&(At(this.#t),this.#t=null),this.#i&&(At(this.#i),this.#i=null);var n=this.#e.onerror;let s=this.#e.failed;var a=!1,i=!1;const l=()=>{if(a){yu();return}a=!0,i&&du(),this.#i!==null&&Tr(this.#i,()=>{this.#i=null}),this.#w(()=>{this.#b()})},c=o=>{try{i=!0,n?.(o,l),i=!1}catch(f){ir(f,this.#r&&this.#r.parent)}s&&(this.#i=this.#w(()=>{try{return Zt(()=>{var f=ne;f.b=this,f.f|=Zs,s(this.#n,()=>o,()=>l)})}catch(f){return ir(f,this.#r.parent),null}}))};cr(()=>{var o;try{o=this.transform_error(t)}catch(f){ir(f,this.#r&&this.#r.parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(c,f=>ir(f,this.#r&&this.#r.parent)):c(o)})}}function Mu(e,t,n,s){const a=Fa()?_s:_i;var i=e.filter(m=>!m.settled);if(n.length===0&&i.length===0){s(t.map(a));return}var l=ne,c=Nu(),o=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(m=>m.promise)):null;function f(m){c();try{s(m)}catch(E){(l.f&Xt)===0&&ir(E,l)}fs()}if(n.length===0){o.then(()=>f(t.map(a)));return}var h=uo();function w(){Promise.all(n.map(m=>Pu(m))).then(m=>f([...t.map(a),...m])).catch(m=>ir(m,l)).finally(()=>h())}o?o.then(()=>{c(),w(),fs()}):w()}function Nu(){var e=ne,t=fe,n=De,s=te;return function(i=!0){Jt(e),Kt(t),Qr(n),i&&(e.f&Xt)===0&&(s?.activate(),s?.apply())}}function fs(e=!0){Jt(null),Kt(null),Qr(null),e&&te?.deactivate()}function uo(){var e=ne,t=e.b,n=te,s=t.is_rendered();return t.update_pending_count(1,n),n.increment(s,e),(a=!1)=>{t.update_pending_count(-1,n),n.decrement(s,e,a)}}function _s(e){var t=dt|ct;return ne!==null&&(ne.f|=Lr),{ctx:De,deps:null,effects:null,equals:eo,f:t,fn:e,reactions:null,rv:0,v:tt,wv:0,parent:ne,ac:null}}function Pu(e,t,n){let s=ne;s===null&&ru();var a=void 0,i=Ar(tt),l=!fe,c=new Map;return Xu(()=>{var o=ne,f=Zl();a=f.promise;try{Promise.resolve(e()).then(f.resolve,f.reject).finally(fs)}catch(E){f.reject(E),fs()}var h=te;if(l){if((o.f&Ir)!==0)var w=uo();if(s.b.is_rendered())c.get(h)?.reject(Kn),c.delete(h);else{for(const E of c.values())E.reject(Kn);c.clear()}c.set(h,f)}const m=(E,T=void 0)=>{if(w){var D=T===Kn;w(D)}if(!(T===Kn||(o.f&Xt)!==0)){if(h.activate(),T)i.f|=or,ea(i,T);else{(i.f&or)!==0&&(i.f^=or),ea(i,E);for(const[S,$]of c){if(c.delete(S),S===h)break;$.reject(Kn)}}h.deactivate()}};f.promise.then(m,E=>m(null,E||"unknown"))}),xo(()=>{for(const o of c.values())o.reject(Kn)}),new Promise(o=>{function f(h){function w(){h===a?o(i):f(a)}h.then(w,w)}f(a)})}function rr(e){const t=_s(e);return Io(t),t}function _i(e){const t=_s(e);return t.equals=no,t}function zu(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;nr(e))),t}function g(e,t,n=!1){fe!==null&&(!gn||(fe.f&Xs)!==0)&&Fa()&&(fe.f&(dt|Mn|Ma|Xs))!==0&&(Vt===null||!Vr.call(Vt,e))&&fu();let s=n?Ea(t):t;return ea(e,s,os)}function ea(e,t,n=null){if(!e.equals(t)){xr.set(e,dr?t:e.v);var s=fr.ensure();if(s.capture(e,t),(e.f&dt)!==0){const a=e;(e.f&ct)!==0&&gi(a),_n===null&&pi(a)}e.wv=Do(),vo(e,ct,n),Fa()&&ne!==null&&(ne.f&Ye)!==0&&(ne.f&(mn|ur))===0&&(jt===null?Ku([e]):jt.push(e)),!s.is_fork&&Ks.size>0&&!ho&&Uu()}return t}function Uu(){ho=!1;for(const e of Ks)(e.f&Ye)!==0&&Fe(e,bn),ra(e)&&Rr(e);Ks.clear()}function Oa(e){g(e,e.v+1)}function vo(e,t,n){var s=e.reactions;if(s!==null)for(var a=Fa(),i=s.length,l=0;l{if(Er===i)return c();var o=fe,f=Er;Kt(null),bl(i);var h=c();return Kt(o),bl(f),h};return s&&n.set("length",ar(e.length)),new Proxy(e,{defineProperty(c,o,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&cu();var h=n.get(o);return h===void 0?l(()=>{var w=ar(f.value);return n.set(o,w),w}):g(h,f.value,!0),!0},deleteProperty(c,o){var f=n.get(o);if(f===void 0){if(o in c){const h=l(()=>ar(tt));n.set(o,h),Oa(a)}}else g(f,tt),Oa(a);return!0},get(c,o,f){if(o===Xr)return e;var h=n.get(o),w=o in c;if(h===void 0&&(!w||La(c,o)?.writable)&&(h=l(()=>{var E=Ea(w?c[o]:tt),T=ar(E);return T}),n.set(o,h)),h!==void 0){var m=r(h);return m===tt?void 0:m}return Reflect.get(c,o,f)},getOwnPropertyDescriptor(c,o){var f=Reflect.getOwnPropertyDescriptor(c,o);if(f&&"value"in f){var h=n.get(o);h&&(f.value=r(h))}else if(f===void 0){var w=n.get(o),m=w?.v;if(w!==void 0&&m!==tt)return{enumerable:!0,configurable:!0,value:m,writable:!0}}return f},has(c,o){if(o===Xr)return!0;var f=n.get(o),h=f!==void 0&&f.v!==tt||Reflect.has(c,o);if(f!==void 0||ne!==null&&(!h||La(c,o)?.writable)){f===void 0&&(f=l(()=>{var m=h?Ea(c[o]):tt,E=ar(m);return E}),n.set(o,f));var w=r(f);if(w===tt)return!1}return h},set(c,o,f,h){var w=n.get(o),m=o in c;if(s&&o==="length")for(var E=f;Ear(tt)),n.set(E+"",T))}if(w===void 0)(!m||La(c,o)?.writable)&&(w=l(()=>ar(void 0)),g(w,Ea(f)),n.set(o,w));else{m=w.v!==tt;var D=l(()=>Ea(f));g(w,D)}var S=Reflect.getOwnPropertyDescriptor(c,o);if(S?.set&&S.set.call(h,f),!m){if(s&&typeof o=="string"){var $=n.get("length"),R=Number(o);Number.isInteger(R)&&R>=$.v&&g($,R+1)}Oa(a)}return!0},ownKeys(c){r(a);var o=Reflect.ownKeys(c).filter(w=>{var m=n.get(w);return m===void 0||m.v!==tt});for(var[f,h]of n)h.v!==tt&&!(f in c)&&o.push(f);return o},setPrototypeOf(){uu()}})}var Js,_o,go,mo,bo;function Hu(){if(Js===void 0){Js=window,_o=document,go=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;mo=La(t,"firstChild").get,bo=La(t,"nextSibling").get,hl(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),hl(n)&&(n.__t=void 0)}}function Nn(e=""){return document.createTextNode(e)}function lr(e){return mo.call(e)}function Ua(e){return bo.call(e)}function p(e,t){return lr(e)}function Xn(e,t=!1){{var n=lr(e);return n instanceof Comment&&n.data===""?Ua(n):n}}function _(e,t=1,n=!1){let s=e;for(;t--;)s=Ua(s);return s}function Bu(e){e.textContent=""}function ko(){return!1}function wo(e,t,n){return document.createElementNS(t??Ql,e,void 0)}let gl=!1;function qu(){gl||(gl=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function gs(e){var t=fe,n=ne;Kt(null),Jt(null);try{return e()}finally{Kt(t),Jt(n)}}function Gu(e,t,n,s=n){e.addEventListener(t,()=>gs(n));const a=e.__on_r;a?e.__on_r=()=>{a(),s(!0)}:e.__on_r=()=>s(!0),qu()}function yo(e){ne===null&&(fe===null&&lu(),iu()),dr&&su()}function Wu(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Pn(e,t){var n=ne;n!==null&&(n.f&bt)!==0&&(e|=bt);var s={ctx:De,deps:null,nodes:null,f:e|ct|Yt,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};te?.register_created_effect(s);var a=s;if((e&Kr)!==0)Yr!==null?Yr.push(s):fr.ensure().schedule(s);else if(t!==null){try{Rr(s)}catch(l){throw At(s),l}a.deps===null&&a.teardown===null&&a.nodes===null&&a.first===a.last&&(a.f&Lr)===0&&(a=a.first,(e&Mn)!==0&&(e&Jr)!==0&&a!==null&&(a.f|=Jr))}if(a!==null&&(a.parent=n,n!==null&&Wu(a,n),fe!==null&&(fe.f&dt)!==0&&(e&ur)===0)){var i=fe;(i.effects??=[]).push(a)}return s}function mi(){return fe!==null&&!gn}function xo(e){const t=Pn(za,null);return Fe(t,Ye),t.teardown=e,t}function Qs(e){yo();var t=ne.f,n=!fe&&(t&mn)!==0&&(t&Ir)===0;if(n){var s=De;(s.e??=[]).push(e)}else return To(e)}function To(e){return Pn(Kr|Vl,e)}function ju(e){return yo(),Pn(za|Vl,e)}function Zu(e){fr.ensure();const t=Pn(ur|Lr,e);return(n={})=>new Promise(s=>{n.outro?Tr(t,()=>{At(t),s(void 0)}):(At(t),s(void 0))})}function Na(e){return Pn(Kr,e)}function Rn(e,t){var n=De,s={effect:null,ran:!1,deps:e};n.l.$.push(s),s.effect=na(()=>{if(e(),!s.ran){s.ran=!0;var a=ne;try{Jt(a.parent),v(t)}finally{Jt(a)}}})}function Yu(){var e=De;na(()=>{for(var t of e.l.$){t.deps();var n=t.effect;(n.f&Ye)!==0&&n.deps!==null&&Fe(n,bn),ra(n)&&Rr(n),t.ran=!1}})}function Xu(e){return Pn(Ma|Lr,e)}function na(e,t=0){return Pn(za|t,e)}function z(e,t=[],n=[],s=[]){Mu(s,t,n,a=>{Pn(za,()=>e(...a.map(r)))})}function ms(e,t=0){var n=Pn(Mn|t,e);return n}function Zt(e){return Pn(mn|Lr,e)}function Eo(e){var t=e.teardown;if(t!==null){const n=dr,s=fe;ml(!0),Kt(null);try{t.call(null)}finally{ml(n),Kt(s)}}}function bi(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const a=n.ac;a!==null&&gs(()=>{a.abort(Kn)});var s=n.next;(n.f&ur)!==0?n.parent=null:At(n,t),n=s}}function Vu(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&mn)===0&&At(t),t=n}}function At(e,t=!0){var n=!1;(t||(e.f&Xl)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(So(e.nodes.start,e.nodes.end),n=!0),Fe(e,Ys),bi(e,t&&!n),Pa(e,0);var s=e.nodes&&e.nodes.t;if(s!==null)for(const i of s)i.stop();Eo(e),e.f^=Ys,e.f|=Xt;var a=e.parent;a!==null&&a.first!==null&&Ao(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function So(e,t){for(;e!==null;){var n=e===t?null:Ua(e);e.remove(),e=n}}function Ao(e){var t=e.parent,n=e.prev,s=e.next;n!==null&&(n.next=s),s!==null&&(s.prev=n),t!==null&&(t.first===e&&(t.first=s),t.last===e&&(t.last=n))}function Tr(e,t,n=!0){var s=[];Ro(e,s,!0);var a=()=>{n&&At(e),t&&t()},i=s.length;if(i>0){var l=()=>--i||a();for(var c of s)c.out(l)}else a()}function Ro(e,t,n){if((e.f&bt)===0){e.f^=bt;var s=e.nodes&&e.nodes.t;if(s!==null)for(const c of s)(c.is_global||n)&&t.push(c);for(var a=e.first;a!==null;){var i=a.next;if((a.f&ur)===0){var l=(a.f&Jr)!==0||(a.f&mn)!==0&&(e.f&Mn)!==0;Ro(a,t,l?n:!1)}a=i}}}function ki(e){Co(e,!0)}function Co(e,t){if((e.f&bt)!==0){e.f^=bt,(e.f&Ye)===0&&(Fe(e,ct),fr.ensure().schedule(e));for(var n=e.first;n!==null;){var s=n.next,a=(n.f&Jr)!==0||(n.f&mn)!==0;Co(n,a?t:!1),n=s}var i=e.nodes&&e.nodes.t;if(i!==null)for(const l of i)(l.is_global||t)&&l.in()}}function wi(e,t){if(e.nodes)for(var n=e.nodes.start,s=e.nodes.end;n!==null;){var a=n===s?null:Ua(n);t.append(n),n=a}}let cs=!1,dr=!1;function ml(e){dr=e}let fe=null,gn=!1;function Kt(e){fe=e}let ne=null;function Jt(e){ne=e}let Vt=null;function Io(e){fe!==null&&(Vt===null?Vt=[e]:Vt.push(e))}let St=null,Pt=0,jt=null;function Ku(e){jt=e}let Lo=1,yr=0,Er=yr;function bl(e){Er=e}function Do(){return++Lo}function ra(e){var t=e.f;if((t&ct)!==0)return!0;if(t&dt&&(e.f&=~Sr),(t&bn)!==0){for(var n=e.deps,s=n.length,a=0;ae.wv)return!0}(t&Yt)!==0&&_n===null&&Fe(e,Ye)}return!1}function Oo(e,t,n=!0){var s=e.reactions;if(s!==null&&!(Vt!==null&&Vr.call(Vt,e)))for(var a=0;a{e.ac.abort(Kn)}),e.ac=null);try{e.f|=us;var h=e.fn,w=h();e.f|=Ir;var m=e.deps,E=te?.is_fork;if(St!==null){var T;if(E||Pa(e,Pt),m!==null&&Pt>0)for(m.length=Pt+St.length,T=0;Tn?.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?cr(()=>{t.addEventListener(e,a,s)}):t.addEventListener(e,a,s),a}function Cn(e,t,n,s,a){var i={capture:s,passive:a},l=tf(e,t,n,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&xo(()=>{t.removeEventListener(e,l,i)})}function W(e,t,n){(t[Sa]??={})[e]=n}function nf(e){for(var t=0;t{throw S});throw m}}finally{e[Sa]=t,delete e.currentTarget,Kt(h),Jt(w)}}}const rf=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function af(e){return rf?.createHTML(e)??e}function sf(e){var t=wo("template");return t.innerHTML=af(e.replaceAll("","")),t.content}function ta(e,t){var n=ne;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function M(e,t){var n=(t&gu)!==0,s=(t&mu)!==0,a,i=!e.startsWith("");return()=>{a===void 0&&(a=sf(i?e:""+e),n||(a=lr(a)));var l=s||go?document.importNode(a,!0):a.cloneNode(!0);if(n){var c=lr(l),o=l.lastChild;ta(c,o)}else ta(l,l);return l}}function _t(e=""){{var t=Nn(e+"");return ta(t,t),t}}function Aa(){var e=document.createDocumentFragment(),t=document.createComment(""),n=Nn();return e.append(t,n),ta(t,n),e}function A(e,t){e!==null&&e.before(t)}function L(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function lf(e,t){return of(e,t)}const as=new Map;function of(e,{target:t,anchor:n,props:s={},events:a,context:i,intro:l=!0,transformError:c}){Hu();var o=void 0,f=Zu(()=>{var h=n??t.appendChild(Nn());Du(h,{pending:()=>{}},E=>{fi({});var T=De;i&&(T.c=i),a&&(s.$$events=a),o=e(E,s)||{},di()},c);var w=new Set,m=E=>{for(var T=0;T{for(var E of w)for(const S of[t,document]){var T=as.get(S),D=T.get(E);--D==0?(S.removeEventListener(E,ri),T.delete(E),T.size===0&&as.delete(S)):T.set(E,D)}ni.delete(m),h!==n&&h.parentNode?.removeChild(h)}});return cf.set(o,f),o}let cf=new WeakMap;class uf{anchor;#n=new Map;#o=new Map;#e=new Map;#a=new Set;#r=!0;constructor(t,n=!0){this.anchor=t,this.#r=n}#s=t=>{if(this.#n.has(t)){var n=this.#n.get(t),s=this.#o.get(n);if(s)ki(s),this.#a.delete(n);else{var a=this.#e.get(n);a&&(this.#o.set(n,a.effect),this.#e.delete(n),a.fragment.lastChild.remove(),this.anchor.before(a.fragment),s=a.effect)}for(const[i,l]of this.#n){if(this.#n.delete(i),i===t)break;const c=this.#e.get(l);c&&(At(c.effect),this.#e.delete(l))}for(const[i,l]of this.#o){if(i===n||this.#a.has(i))continue;const c=()=>{if(Array.from(this.#n.values()).includes(i)){var f=document.createDocumentFragment();wi(l,f),f.append(Nn()),this.#e.set(i,{effect:l,fragment:f})}else At(l);this.#a.delete(i),this.#o.delete(i)};this.#r||!s?(this.#a.add(i),Tr(l,c,!1)):c()}}};#t=t=>{this.#n.delete(t);const n=Array.from(this.#n.values());for(const[s,a]of this.#e)n.includes(s)||(At(a.effect),this.#e.delete(s))};ensure(t,n){var s=te,a=ko();if(n&&!this.#o.has(t)&&!this.#e.has(t))if(a){var i=document.createDocumentFragment(),l=Nn();i.append(l),this.#e.set(t,{effect:Zt(()=>n(l)),fragment:i})}else this.#o.set(t,Zt(()=>n(this.anchor)));if(this.#n.set(s,t),a){for(const[c,o]of this.#o)c===t?s.unskip_effect(o):s.skip_effect(o);for(const[c,o]of this.#e)c===t?s.unskip_effect(o.effect):s.skip_effect(o.effect);s.oncommit(this.#s),s.ondiscard(this.#t)}else this.#s(s)}}function j(e,t,n=!1){var s=new uf(e),a=n?Jr:0;function i(l,c){s.ensure(l,c)}ms(()=>{var l=!1;t((c,o=0)=>{l=!0,i(o,c)}),l||i(-1,null)},a)}function ff(e,t){return t}function df(e,t,n){for(var s=[],a=t.length,i,l=t.length,c=0;c{if(i){if(i.pending.delete(w),i.done.add(w),i.pending.size===0){var m=e.outrogroups;ai(e,vs(i.done)),m.delete(i),m.size===0&&(e.outrogroups=null)}}else l-=1},!1)}if(l===0){var o=s.length===0&&n!==null;if(o){var f=n,h=f.parentNode;Bu(h),h.append(f),e.items.clear()}ai(e,t,!o)}else i={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(i)}function ai(e,t,n=!0){var s;if(e.pending.size>0){s=new Set;for(const l of e.pending.values())for(const c of l)s.add(e.items.get(c).e)}for(var a=0;a{var ee=n();return Wl(ee)?ee:ee==null?[]:vs(ee)}),m,E=new Map,T=!0;function D(ee){(R.effect.f&Xt)===0&&(R.pending.delete(ee),R.fallback=h,pf(R,m,l,t,s),h!==null&&(m.length===0?(h.f&On)===0?ki(h):(h.f^=On,Ra(h,null,l)):Tr(h,()=>{h=null})))}function S(ee){R.pending.delete(ee)}var $=ms(()=>{m=r(w);for(var ee=m.length,C=new Set,le=te,he=ko(),Ae=0;Aei(l)):(h=Zt(()=>i(wl??=Nn())),h.f|=On)),ee>C.size&&au(),!T)if(E.set(le,C),he){for(const[Te,Re]of c)C.has(Te)||le.skip_effect(Re.e);le.oncommit(D),le.ondiscard(S)}else D(le);r(w)}),R={effect:$,items:c,pending:E,outrogroups:null,fallback:h};T=!1}function ma(e){for(;e!==null&&(e.f&mn)===0;)e=e.next;return e}function pf(e,t,n,s,a){var i=(s&vu)!==0,l=t.length,c=e.items,o=ma(e.effect.first),f,h=null,w,m=[],E=[],T,D,S,$;if(i)for($=0;$0){var rt=(s&Jl)!==0&&l===0?n:null;if(i){for($=0;${if(w!==void 0)for(S of w)S.nodes?.a?.apply()})}function hf(e,t,n,s,a,i,l,c){var o=(l&pu)!==0?(l&_u)===0?Z(n,!1,!1):Ar(n):null,f=(l&hu)!==0?Ar(a):null;return{v:o,i:f,e:Zt(()=>(i(t,o??n,f??a,c),()=>{e.delete(s)}))}}function Ra(e,t,n){if(e.nodes)for(var s=e.nodes.start,a=e.nodes.end,i=t&&(t.f&On)===0?t.nodes.start:n;s!==null;){var l=Ua(s);if(i.before(s),s===a)return;s=l}}function sr(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function zs(e,t,n=!1,s=!1,a=!1,i=!1){var l=e,c="";if(n)var o=e;z(()=>{var f=ne;if(c!==(c=t()??"")){if(n){f.nodes=null,o.innerHTML=c,c!==""&&ta(lr(o),o.lastChild);return}if(f.nodes!==null&&(So(f.nodes.start,f.nodes.end),f.nodes=null),c!==""){var h=s?bu:a?ku:void 0,w=wo(s?"svg":a?"math":"template",h);w.innerHTML=c;var m=s||a?w:w.content;if(ta(lr(m),m.lastChild),s||a)for(;lr(m);)l.before(lr(m));else l.before(m)}}})}function $o(e,t){var n;n=document.head.appendChild(Nn()),ms(()=>t(n),Xl|Lr)}function yl(e,t,n){Na(()=>{var s=v(()=>t(e,n?.())||{});if(n&&s?.update){var a=!1,i={};na(()=>{var l=n();pn(l),a&&to(i,l)&&(i=l,s.update(l))}),a=!0}if(s?.destroy)return()=>s.destroy()})}const xl=[...` +\r\f \v\uFEFF`];function vf(e,t,n){var s=e==null?"":""+e;if(n){for(var a of Object.keys(n))if(n[a])s=s?s+" "+a:a;else if(s.length)for(var i=a.length,l=0;(l=s.indexOf(a,l))>=0;){var c=l+i;(l===0||xl.includes(s[l-1]))&&(c===s.length||xl.includes(s[c]))?s=(l===0?"":s.substring(0,l))+s.substring(c+1):l=c}}return s===""?null:s}function _f(e,t){return e==null?null:String(e)}function Mt(e,t,n,s,a,i){var l=e.__className;if(l!==n||l===void 0){var c=vf(n,s,i);c==null?e.removeAttribute("class"):e.className=c,e.__className=n}else if(i&&a!==i)for(var o in i){var f=!!i[o];(a==null||f!==!!a[o])&&e.classList.toggle(o,f)}return i}function Yn(e,t,n,s){var a=e.__style;if(a!==t){var i=_f(t);i==null?e.removeAttribute("style"):e.style.cssText=i,e.__style=t}return s}const gf=Symbol("is custom element"),mf=Symbol("is html");function F(e,t,n,s){var a=bf(e);a[t]!==(a[t]=n)&&(t==="loading"&&(e[nu]=n),n==null?e.removeAttribute(t):typeof n!="string"&&kf(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function bf(e){return e.__attributes??={[gf]:e.nodeName.includes("-"),[mf]:e.namespaceURI===Ql}}var Tl=new Map;function kf(e){var t=e.getAttribute("is")||e.nodeName,n=Tl.get(t);if(n)return n;Tl.set(t,n=[]);for(var s,a=e,i=Element.prototype;i!==a;){s=jl(a);for(var l in s)s[l].set&&n.push(l);a=ui(a)}return n}function In(e,t,n=t){var s=new WeakSet;Gu(e,"input",async a=>{var i=a?e.defaultValue:e.value;if(i=$s(e)?Fs(i):i,n(i),te!==null&&s.add(te),await ei(),i!==(i=t())){var l=e.selectionStart,c=e.selectionEnd,o=e.value.length;if(e.value=i??"",c!==null){var f=e.value.length;l===c&&c===o&&f>o?(e.selectionStart=f,e.selectionEnd=f):(e.selectionStart=l,e.selectionEnd=Math.min(c,f))}}}),v(t)==null&&e.value&&(n($s(e)?Fs(e.value):e.value),te!==null&&s.add(te)),na(()=>{var a=t();if(e===document.activeElement){var i=te;if(s.has(i))return}$s(e)&&a===Fs(e.value)||e.type==="date"&&!a&&!e.value||a!==e.value&&(e.value=a??"")})}function $s(e){var t=e.type;return t==="number"||t==="range"}function Fs(e){return e===""?null:+e}function El(e,t){return e===t||e?.[Xr]===t}function Us(e={},t,n,s){var a=De.r,i=ne;return Na(()=>{var l,c;return na(()=>{l=c,c=[],v(()=>{e!==n(...c)&&(t(e,...c),l&&El(n(...l),e)&&t(null,...l))})}),()=>{let o=i;for(;o!==a&&o.parent!==null&&o.parent.f&Ys;)o=o.parent;const f=()=>{c&&El(n(...c),e)&&t(null,...c)},h=o.teardown;o.teardown=()=>{f(),h?.()}}}),e}function Fo(e=!1){const t=De,n=t.l.u;if(!n)return;let s=()=>pn(t.s);if(e){let a=0,i={};const l=_s(()=>{let c=!1;const o=t.s;for(const f in o)o[f]!==i[f]&&(i[f]=o[f],c=!0);return c&&a++,a});s=()=>r(l)}n.b.length&&ju(()=>{Sl(t,s),js(n.b)}),Qs(()=>{const a=v(()=>n.m.map(tu));return()=>{for(const i of a)typeof i=="function"&&i()}}),n.a.length&&Qs(()=>{Sl(t,s),js(n.a)})}function Sl(e,t){if(e.l.s)for(const n of e.l.s)r(n);t()}function Uo(e){De===null&&Kl(),$a&&De.l!==null?yf(De).m.push(e):Qs(()=>{const t=v(e);if(typeof t=="function")return t})}function wf(e){De===null&&Kl(),Uo(()=>()=>v(e))}function yf(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const xf="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(xf);Tu();class Ho extends Error{constructor(t,n){super(n),this.status=t}status}async function lt(e,t={}){const n=new Headers(t.headers);n.set("Accept","application/json"),t.body&&!(t.body instanceof FormData)&&n.set("Content-Type","application/json");const s=await fetch(e,{...t,headers:n});if(!s.ok)throw new Ho(s.status,await s.text());return s.json()}const{entries:Bo,setPrototypeOf:Al,isFrozen:Tf,getPrototypeOf:Ef,getOwnPropertyDescriptor:Sf}=Object;let{freeze:kt,seal:Qt,create:jr}=Object,{apply:si,construct:ii}=typeof Reflect<"u"&&Reflect;kt||(kt=function(t){return t});Qt||(Qt=function(t){return t});si||(si=function(t,n){for(var s=arguments.length,a=new Array(s>2?s-2:0),i=2;i1?n-1:0),a=1;a"u"?null:Xe(BigInt.prototype.toString),Dl=typeof Symbol>"u"?null:Xe(Symbol.prototype.toString),$e=Xe(Object.prototype.hasOwnProperty),wa=Xe(Object.prototype.toString),ot=Xe(RegExp.prototype.test),ss=Df(TypeError);function Xe(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,s=new Array(n>1?n-1:0),a=1;a2&&arguments[2]!==void 0?arguments[2]:Ca;if(Al&&Al(e,null),!gt(t))return e;let s=t.length;for(;s--;){let a=t[s];if(typeof a=="string"){const i=n(a);i!==a&&(Tf(t)||(t[s]=i),a=i)}e[a]=!0}return e}function Of(e){for(let t=0;t/gm),Uf=Qt(/\$\{[\w\W]*/gm),Hf=Qt(/^data-[\-\w.\u00B7-\uFFFF]+$/),Bf=Qt(/^aria-[\-\w]+$/),qo=Qt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),qf=Qt(/^(?:\w+script|data):/i),Gf=Qt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Go=Qt(/^html$/i),Wf=Qt(/^[a-z][.\w]*(-[.\w]+)+$/i);var zl=Object.freeze({__proto__:null,ARIA_ATTR:Bf,ATTR_WHITESPACE:Gf,CUSTOM_ELEMENT:Wf,DATA_ATTR:Hf,DOCTYPE_NAME:Go,ERB_EXPR:Ff,IS_ALLOWED_URI:qo,IS_SCRIPT_OR_DATA:qf,MUSTACHE_EXPR:$f,TMPLIT_EXPR:Uf});const ya={element:1,text:3,progressingInstruction:7,comment:8,document:9},jf=function(){return typeof window>"u"?null:window},Zf=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let s=null;const a="data-tt-policy-suffix";n&&n.hasAttribute(a)&&(s=n.getAttribute(a));const i="dompurify"+(s?"#"+s:"");try{return t.createPolicy(i,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},$l=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Wo(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:jf();const t=q=>Wo(q);if(t.version="3.4.2",t.removed=[],!e||!e.document||e.document.nodeType!==ya.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e;const s=n,a=s.currentScript,{DocumentFragment:i,HTMLTemplateElement:l,Node:c,Element:o,NodeFilter:f,NamedNodeMap:h=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:w,DOMParser:m,trustedTypes:E}=e,T=o.prototype,D=Zr(T,"cloneNode"),S=Zr(T,"remove"),$=Zr(T,"nextSibling"),R=Zr(T,"childNodes"),ee=Zr(T,"parentNode");if(typeof l=="function"){const q=n.createElement("template");q.content&&q.content.ownerDocument&&(n=q.content.ownerDocument)}let C,le="";const{implementation:he,createNodeIterator:Ae,createDocumentFragment:nt,getElementsByTagName:rt}=n,{importNode:xe}=s;let Te=$l();t.isSupported=typeof Bo=="function"&&typeof ee=="function"&&he&&he.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Re,ERB_EXPR:Ee,TMPLIT_EXPR:Rt,DATA_ATTR:kn,ARIA_ATTR:zn,IS_SCRIPT_OR_DATA:zt,ATTR_WHITESPACE:en,CUSTOM_ELEMENT:Jn}=zl;let{IS_ALLOWED_URI:$n}=zl,Oe=null;const $t=K({},[...Ol,...Bs,...qs,...Gs,...Ml]);let Ue=null;const wn=K({},[...Nl,...Ws,...Pl,...is]);let ve=Object.seal(jr(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),tn=null,nn=null;const Ct=Object.seal(jr(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Fn=!0,rn=!0,de=!1,Je=!0,Ft=!1,an=!0,Me=!1,sa=!1,ia=!1,sn=!1,Or=!1,Mr=!1,Ba=!0,pr=!1;const qa="user-content-";let pt=!0,Un=!1,Hn={},It=null;const Nr=K({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Pr=null;const Ga=K({},["audio","video","img","source","image","track"]);let la=null;const Wa=K({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),zr="http://www.w3.org/1998/Math/MathML",$r="http://www.w3.org/2000/svg",Ut="http://www.w3.org/1999/xhtml";let Qn=Ut,oa=!1,ca=null;const ws=K({},[zr,$r,Ut],Hs);let wt=K({},["mi","mo","mn","ms","mtext"]),Fr=K({},["annotation-xml"]);const er=K({},["title","style","font","a","script"]);let yn=null;const ja=["application/xhtml+xml","text/html"],ys="text/html";let He=null,xn=null;const xs=n.createElement("form"),Za=function(u){return u instanceof RegExp||u instanceof Function},tr=function(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(xn&&xn===u)return;(!u||typeof u!="object")&&(u={}),u=Et(u),yn=ja.indexOf(u.PARSER_MEDIA_TYPE)===-1?ys:u.PARSER_MEDIA_TYPE,He=yn==="application/xhtml+xml"?Hs:Ca,Oe=$e(u,"ALLOWED_TAGS")&>(u.ALLOWED_TAGS)?K({},u.ALLOWED_TAGS,He):$t,Ue=$e(u,"ALLOWED_ATTR")&>(u.ALLOWED_ATTR)?K({},u.ALLOWED_ATTR,He):wn,ca=$e(u,"ALLOWED_NAMESPACES")&>(u.ALLOWED_NAMESPACES)?K({},u.ALLOWED_NAMESPACES,Hs):ws,la=$e(u,"ADD_URI_SAFE_ATTR")&>(u.ADD_URI_SAFE_ATTR)?K(Et(Wa),u.ADD_URI_SAFE_ATTR,He):Wa,Pr=$e(u,"ADD_DATA_URI_TAGS")&>(u.ADD_DATA_URI_TAGS)?K(Et(Ga),u.ADD_DATA_URI_TAGS,He):Ga,It=$e(u,"FORBID_CONTENTS")&>(u.FORBID_CONTENTS)?K({},u.FORBID_CONTENTS,He):Nr,tn=$e(u,"FORBID_TAGS")&>(u.FORBID_TAGS)?K({},u.FORBID_TAGS,He):Et({}),nn=$e(u,"FORBID_ATTR")&>(u.FORBID_ATTR)?K({},u.FORBID_ATTR,He):Et({}),Hn=$e(u,"USE_PROFILES")?u.USE_PROFILES&&typeof u.USE_PROFILES=="object"?Et(u.USE_PROFILES):u.USE_PROFILES:!1,Fn=u.ALLOW_ARIA_ATTR!==!1,rn=u.ALLOW_DATA_ATTR!==!1,de=u.ALLOW_UNKNOWN_PROTOCOLS||!1,Je=u.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ft=u.SAFE_FOR_TEMPLATES||!1,an=u.SAFE_FOR_XML!==!1,Me=u.WHOLE_DOCUMENT||!1,sn=u.RETURN_DOM||!1,Or=u.RETURN_DOM_FRAGMENT||!1,Mr=u.RETURN_TRUSTED_TYPE||!1,ia=u.FORCE_BODY||!1,Ba=u.SANITIZE_DOM!==!1,pr=u.SANITIZE_NAMED_PROPS||!1,pt=u.KEEP_CONTENT!==!1,Un=u.IN_PLACE||!1,$n=Nf(u.ALLOWED_URI_REGEXP)?u.ALLOWED_URI_REGEXP:qo,Qn=typeof u.NAMESPACE=="string"?u.NAMESPACE:Ut,wt=$e(u,"MATHML_TEXT_INTEGRATION_POINTS")&&u.MATHML_TEXT_INTEGRATION_POINTS&&typeof u.MATHML_TEXT_INTEGRATION_POINTS=="object"?Et(u.MATHML_TEXT_INTEGRATION_POINTS):K({},["mi","mo","mn","ms","mtext"]),Fr=$e(u,"HTML_INTEGRATION_POINTS")&&u.HTML_INTEGRATION_POINTS&&typeof u.HTML_INTEGRATION_POINTS=="object"?Et(u.HTML_INTEGRATION_POINTS):K({},["annotation-xml"]);const x=$e(u,"CUSTOM_ELEMENT_HANDLING")&&u.CUSTOM_ELEMENT_HANDLING&&typeof u.CUSTOM_ELEMENT_HANDLING=="object"?Et(u.CUSTOM_ELEMENT_HANDLING):jr(null);if(ve=jr(null),$e(x,"tagNameCheck")&&Za(x.tagNameCheck)&&(ve.tagNameCheck=x.tagNameCheck),$e(x,"attributeNameCheck")&&Za(x.attributeNameCheck)&&(ve.attributeNameCheck=x.attributeNameCheck),$e(x,"allowCustomizedBuiltInElements")&&typeof x.allowCustomizedBuiltInElements=="boolean"&&(ve.allowCustomizedBuiltInElements=x.allowCustomizedBuiltInElements),Ft&&(rn=!1),Or&&(sn=!0),Hn&&(Oe=K({},Ml),Ue=jr(null),Hn.html===!0&&(K(Oe,Ol),K(Ue,Nl)),Hn.svg===!0&&(K(Oe,Bs),K(Ue,Ws),K(Ue,is)),Hn.svgFilters===!0&&(K(Oe,qs),K(Ue,Ws),K(Ue,is)),Hn.mathMl===!0&&(K(Oe,Gs),K(Ue,Pl),K(Ue,is))),Ct.tagCheck=null,Ct.attributeCheck=null,$e(u,"ADD_TAGS")&&(typeof u.ADD_TAGS=="function"?Ct.tagCheck=u.ADD_TAGS:gt(u.ADD_TAGS)&&(Oe===$t&&(Oe=Et(Oe)),K(Oe,u.ADD_TAGS,He))),$e(u,"ADD_ATTR")&&(typeof u.ADD_ATTR=="function"?Ct.attributeCheck=u.ADD_ATTR:gt(u.ADD_ATTR)&&(Ue===wn&&(Ue=Et(Ue)),K(Ue,u.ADD_ATTR,He))),$e(u,"ADD_URI_SAFE_ATTR")&>(u.ADD_URI_SAFE_ATTR)&&K(la,u.ADD_URI_SAFE_ATTR,He),$e(u,"FORBID_CONTENTS")&>(u.FORBID_CONTENTS)&&(It===Nr&&(It=Et(It)),K(It,u.FORBID_CONTENTS,He)),$e(u,"ADD_FORBID_CONTENTS")&>(u.ADD_FORBID_CONTENTS)&&(It===Nr&&(It=Et(It)),K(It,u.ADD_FORBID_CONTENTS,He)),pt&&(Oe["#text"]=!0),Me&&K(Oe,["html","head","body"]),Oe.table&&(K(Oe,["tbody"]),delete tn.tbody),u.TRUSTED_TYPES_POLICY){if(typeof u.TRUSTED_TYPES_POLICY.createHTML!="function")throw ss('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof u.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw ss('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=u.TRUSTED_TYPES_POLICY,le=C.createHTML("")}else C===void 0&&(C=Zf(E,a)),C!==null&&typeof le=="string"&&(le=C.createHTML(""));kt&&kt(u),xn=u},Ya=K({},[...Bs,...qs,...Pf]),Xa=K({},[...Gs,...zf]),ln=function(u){let x=ee(u);(!x||!x.tagName)&&(x={namespaceURI:Qn,tagName:"template"});const N=Ca(u.tagName),_e=Ca(x.tagName);return ca[u.namespaceURI]?u.namespaceURI===$r?x.namespaceURI===Ut?N==="svg":x.namespaceURI===zr?N==="svg"&&(_e==="annotation-xml"||wt[_e]):!!Ya[N]:u.namespaceURI===zr?x.namespaceURI===Ut?N==="math":x.namespaceURI===$r?N==="math"&&Fr[_e]:!!Xa[N]:u.namespaceURI===Ut?x.namespaceURI===$r&&!Fr[_e]||x.namespaceURI===zr&&!wt[_e]?!1:!Xa[N]&&(er[N]||!Ya[N]):!!(yn==="application/xhtml+xml"&&ca[u.namespaceURI]):!1},qe=function(u){ka(t.removed,{element:u});try{ee(u).removeChild(u)}catch{S(u)}},Ht=function(u,x){try{ka(t.removed,{attribute:x.getAttributeNode(u),from:x})}catch{ka(t.removed,{attribute:null,from:x})}if(x.removeAttribute(u),u==="is")if(sn||Or)try{qe(x)}catch{}else try{x.setAttribute(u,"")}catch{}},Va=function(u){let x=null,N=null;if(ia)u=""+u;else{const Ne=Cl(u,/^[\r\n\t ]+/);N=Ne&&Ne[0]}yn==="application/xhtml+xml"&&Qn===Ut&&(u=''+u+"");const _e=C?C.createHTML(u):u;if(Qn===Ut)try{x=new m().parseFromString(_e,yn)}catch{}if(!x||!x.documentElement){x=he.createDocument(Qn,"template",null);try{x.documentElement.innerHTML=oa?le:_e}catch{}}const Be=x.body||x.documentElement;return u&&N&&Be.insertBefore(n.createTextNode(N),Be.childNodes[0]||null),Qn===Ut?rt.call(x,Me?"html":"body")[0]:Me?x.documentElement:Be},Ka=function(u){return Ae.call(u.ownerDocument||u,u,f.SHOW_ELEMENT|f.SHOW_COMMENT|f.SHOW_TEXT|f.SHOW_PROCESSING_INSTRUCTION|f.SHOW_CDATA_SECTION,null)},hr=function(u){return u instanceof w&&(typeof u.nodeName!="string"||typeof u.textContent!="string"||typeof u.removeChild!="function"||!(u.attributes instanceof h)||typeof u.removeAttribute!="function"||typeof u.setAttribute!="function"||typeof u.namespaceURI!="string"||typeof u.insertBefore!="function"||typeof u.hasChildNodes!="function")},Lt=function(u){return typeof c=="function"&&u instanceof c};function on(q,u,x){ba(q,N=>{N.call(t,u,x,xn)})}const Ja=function(u){let x=null;if(on(Te.beforeSanitizeElements,u,null),hr(u))return qe(u),!0;const N=He(u.nodeName);if(on(Te.uponSanitizeElement,u,{tagName:N,allowedTags:Oe}),an&&u.hasChildNodes()&&!Lt(u.firstElementChild)&&ot(/<[/\w!]/g,u.innerHTML)&&ot(/<[/\w!]/g,u.textContent)||an&&u.namespaceURI===Ut&&N==="style"&&Lt(u.firstElementChild)||u.nodeType===ya.progressingInstruction||an&&u.nodeType===ya.comment&&ot(/<[/\w]/g,u.data))return qe(u),!0;if(tn[N]||!(Ct.tagCheck instanceof Function&&Ct.tagCheck(N))&&!Oe[N]){if(!tn[N]&&Qa(N)&&(ve.tagNameCheck instanceof RegExp&&ot(ve.tagNameCheck,N)||ve.tagNameCheck instanceof Function&&ve.tagNameCheck(N)))return!1;if(pt&&!It[N]){const _e=ee(u)||u.parentNode,Be=R(u)||u.childNodes;if(Be&&_e){const Ne=Be.length;for(let ut=Ne-1;ut>=0;--ut){const ft=D(Be[ut],!0);_e.insertBefore(ft,$(u))}}}return qe(u),!0}return u instanceof o&&!ln(u)||(N==="noscript"||N==="noembed"||N==="noframes")&&ot(/<\/no(script|embed|frames)/i,u.innerHTML)?(qe(u),!0):(Ft&&u.nodeType===ya.text&&(x=u.textContent,ba([Re,Ee,Rt],_e=>{x=Gr(x,_e," ")}),u.textContent!==x&&(ka(t.removed,{element:u.cloneNode()}),u.textContent=x)),on(Te.afterSanitizeElements,u,null),!1)},vr=function(u,x,N){if(nn[x]||Ba&&(x==="id"||x==="name")&&(N in n||N in xs))return!1;const _e=Ue[x]||Ct.attributeCheck instanceof Function&&Ct.attributeCheck(x,u);if(!(rn&&!nn[x]&&ot(kn,x))){if(!(Fn&&ot(zn,x))){if(!_e||nn[x]){if(!(Qa(u)&&(ve.tagNameCheck instanceof RegExp&&ot(ve.tagNameCheck,u)||ve.tagNameCheck instanceof Function&&ve.tagNameCheck(u))&&(ve.attributeNameCheck instanceof RegExp&&ot(ve.attributeNameCheck,x)||ve.attributeNameCheck instanceof Function&&ve.attributeNameCheck(x,u))||x==="is"&&ve.allowCustomizedBuiltInElements&&(ve.tagNameCheck instanceof RegExp&&ot(ve.tagNameCheck,N)||ve.tagNameCheck instanceof Function&&ve.tagNameCheck(N))))return!1}else if(!la[x]){if(!ot($n,Gr(N,en,""))){if(!((x==="src"||x==="xlink:href"||x==="href")&&u!=="script"&&Il(N,"data:")===0&&Pr[u])){if(!(de&&!ot(zt,Gr(N,en,"")))){if(N)return!1}}}}}}return!0},Ts=K({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Qa=function(u){return!Ts[Ca(u)]&&ot(Jn,u)},Ve=function(u){on(Te.beforeSanitizeAttributes,u,null);const{attributes:x}=u;if(!x||hr(u))return;const N={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ue,forceKeepAttr:void 0};let _e=x.length;for(;_e--;){const Be=x[_e],{name:Ne,namespaceURI:ut,value:ft}=Be,Qe=He(Ne),Ur=ft;let Ge=Ne==="value"?Ur:Cf(Ur);if(N.attrName=Qe,N.attrValue=Ge,N.keepAttr=!0,N.forceKeepAttr=void 0,on(Te.uponSanitizeAttribute,u,N),Ge=N.attrValue,pr&&(Qe==="id"||Qe==="name")&&Il(Ge,qa)!==0&&(Ht(Ne,u),Ge=qa+Ge),an&&ot(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ge)){Ht(Ne,u);continue}if(Qe==="attributename"&&Cl(Ge,"href")){Ht(Ne,u);continue}if(N.forceKeepAttr)continue;if(!N.keepAttr){Ht(Ne,u);continue}if(!Je&&ot(/\/>/i,Ge)){Ht(Ne,u);continue}Ft&&ba([Re,Ee,Rt],ts=>{Ge=Gr(Ge,ts," ")});const es=He(u.nodeName);if(!vr(es,Qe,Ge)){Ht(Ne,u);continue}if(C&&typeof E=="object"&&typeof E.getAttributeType=="function"&&!ut)switch(E.getAttributeType(es,Qe)){case"TrustedHTML":{Ge=C.createHTML(Ge);break}case"TrustedScriptURL":{Ge=C.createScriptURL(Ge);break}}if(Ge!==Ur)try{ut?u.setAttributeNS(ut,Ne,Ge):u.setAttribute(Ne,Ge),hr(u)?qe(u):Rl(t.removed)}catch{Ht(Ne,u)}}on(Te.afterSanitizeAttributes,u,null)},_r=function(u){let x=null;const N=Ka(u);for(on(Te.beforeSanitizeShadowDOM,u,null);x=N.nextNode();)on(Te.uponSanitizeShadowNode,x,null),Ja(x),Ve(x),x.content instanceof i&&_r(x.content);on(Te.afterSanitizeShadowDOM,u,null)};return t.sanitize=function(q){let u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},x=null,N=null,_e=null,Be=null;if(oa=!q,oa&&(q=""),typeof q!="string"&&!Lt(q)&&(q=Mf(q),typeof q!="string"))throw ss("dirty is not a string, aborting");if(!t.isSupported)return q;if(sa||tr(u),t.removed=[],typeof q=="string"&&(Un=!1),Un){const ft=q.nodeName;if(typeof ft=="string"){const Qe=He(ft);if(!Oe[Qe]||tn[Qe])throw ss("root node is forbidden and cannot be sanitized in-place")}}else if(q instanceof c)x=Va(""),N=x.ownerDocument.importNode(q,!0),N.nodeType===ya.element&&N.nodeName==="BODY"||N.nodeName==="HTML"?x=N:x.appendChild(N);else{if(!sn&&!Ft&&!Me&&q.indexOf("<")===-1)return C&&Mr?C.createHTML(q):q;if(x=Va(q),!x)return sn?null:Mr?le:""}x&&ia&&qe(x.firstChild);const Ne=Ka(Un?q:x);for(;_e=Ne.nextNode();)Ja(_e),Ve(_e),_e.content instanceof i&&_r(_e.content);if(Un)return q;if(sn){if(Ft){x.normalize();let ft=x.innerHTML;ba([Re,Ee,Rt],Qe=>{ft=Gr(ft,Qe," ")}),x.innerHTML=ft}if(Or)for(Be=nt.call(x.ownerDocument);x.firstChild;)Be.appendChild(x.firstChild);else Be=x;return(Ue.shadowroot||Ue.shadowrootmode)&&(Be=xe.call(s,Be,!0)),Be}let ut=Me?x.outerHTML:x.innerHTML;return Me&&Oe["!doctype"]&&x.ownerDocument&&x.ownerDocument.doctype&&x.ownerDocument.doctype.name&&ot(Go,x.ownerDocument.doctype.name)&&(ut=" +`+ut),Ft&&ba([Re,Ee,Rt],ft=>{ut=Gr(ut,ft," ")}),C&&Mr?C.createHTML(ut):ut},t.setConfig=function(){let q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};tr(q),sa=!0},t.clearConfig=function(){xn=null,sa=!1},t.isValidAttribute=function(q,u,x){xn||tr({});const N=He(q),_e=He(u);return vr(N,_e,x)},t.addHook=function(q,u){typeof u=="function"&&ka(Te[q],u)},t.removeHook=function(q,u){if(u!==void 0){const x=Af(Te[q],u);return x===-1?void 0:Rf(Te[q],x,1)[0]}return Rl(Te[q])},t.removeHooks=function(q){Te[q]=[]},t.removeAllHooks=function(){Te=$l()},t}var Yf=Wo();function yi(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Dr=yi();function jo(e){Dr=e}var kr={exec:()=>null};function ue(e,t=""){let n=typeof e=="string"?e:e.source,s={replace:(a,i)=>{let l=typeof i=="string"?i:i.source;return l=l.replace(mt.caret,"$1"),n=n.replace(a,l),s},getRegex:()=>new RegExp(n,t)};return s}var Xf=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Vf=/^(?:[ \t]*(?:\n|$))+/,Kf=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Jf=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ha=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Qf=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,xi=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Zo=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Yo=ue(Zo).replace(/bull/g,xi).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),ed=ue(Zo).replace(/bull/g,xi).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Ti=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,td=/^[^\n]+/,Ei=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,nd=ue(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Ei).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),rd=ue(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,xi).getRegex(),bs="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Si=/|$))/,ad=ue("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Si).replace("tag",bs).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Xo=ue(Ti).replace("hr",Ha).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",bs).getRegex(),sd=ue(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Xo).getRegex(),Ai={blockquote:sd,code:Kf,def:nd,fences:Jf,heading:Qf,hr:Ha,html:ad,lheading:Yo,list:rd,newline:Vf,paragraph:Xo,table:kr,text:td},Fl=ue("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ha).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",bs).getRegex(),id={...Ai,lheading:ed,table:Fl,paragraph:ue(Ti).replace("hr",Ha).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Fl).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",bs).getRegex()},ld={...Ai,html:ue(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Si).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:kr,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:ue(Ti).replace("hr",Ha).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Yo).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},od=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,cd=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Vo=/^( {2,}|\\)\n(?!\s*$)/,ud=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Xf?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Jo=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,vd=ue(Jo,"u").replace(/punct/g,aa).getRegex(),_d=ue(Jo,"u").replace(/punct/g,Ko).getRegex(),Qo="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",gd=ue(Qo,"gu").replace(/notPunctSpace/g,Ri).replace(/punctSpace/g,ks).replace(/punct/g,aa).getRegex(),md=ue(Qo,"gu").replace(/notPunctSpace/g,pd).replace(/punctSpace/g,dd).replace(/punct/g,Ko).getRegex(),bd=ue("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Ri).replace(/punctSpace/g,ks).replace(/punct/g,aa).getRegex(),kd=ue(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,aa).getRegex(),wd="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",yd=ue(wd,"gu").replace(/notPunctSpace/g,Ri).replace(/punctSpace/g,ks).replace(/punct/g,aa).getRegex(),xd=ue(/\\(punct)/,"gu").replace(/punct/g,aa).getRegex(),Td=ue(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Ed=ue(Si).replace("(?:-->|$)","-->").getRegex(),Sd=ue("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",Ed).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ds=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Ad=ue(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",ds).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),ec=ue(/^!?\[(label)\]\[(ref)\]/).replace("label",ds).replace("ref",Ei).getRegex(),tc=ue(/^!?\[(ref)\](?:\[\])?/).replace("ref",Ei).getRegex(),Rd=ue("reflink|nolink(?!\\()","g").replace("reflink",ec).replace("nolink",tc).getRegex(),Ul=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Ci={_backpedal:kr,anyPunctuation:xd,autolink:Td,blockSkip:hd,br:Vo,code:cd,del:kr,delLDelim:kr,delRDelim:kr,emStrongLDelim:vd,emStrongRDelimAst:gd,emStrongRDelimUnd:bd,escape:od,link:Ad,nolink:tc,punctuation:fd,reflink:ec,reflinkSearch:Rd,tag:Sd,text:ud,url:kr},Cd={...Ci,link:ue(/^!?\[(label)\]\((.*?)\)/).replace("label",ds).getRegex(),reflink:ue(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ds).getRegex()},li={...Ci,emStrongRDelimAst:md,emStrongLDelim:_d,delLDelim:kd,delRDelim:yd,url:ue(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Ul).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:ue(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},Hl=e=>Ld[e];function Dn(e,t){if(t){if(mt.escapeTest.test(e))return e.replace(mt.escapeReplace,Hl)}else if(mt.escapeTestNoEncode.test(e))return e.replace(mt.escapeReplaceNoEncode,Hl);return e}function Bl(e){try{e=encodeURI(e).replace(mt.percentDecode,"%")}catch{return null}return e}function ql(e,t){let n=e.replace(mt.findPipe,(i,l,c)=>{let o=!1,f=l;for(;--f>=0&&c[f]==="\\";)o=!o;return o?"|":" |"}),s=n.split(mt.splitPipe),a=0;if(s[0].trim()||s.shift(),s.length>0&&!s.at(-1)?.trim()&&s.pop(),t)if(s.length>t)s.splice(t);else for(;s.length0?-2:-1}function Od(e,t=0){let n=t,s="";for(let a of e)if(a===" "){let i=4-n%4;s+=" ".repeat(i),n+=i}else s+=a,n++;return s}function Gl(e,t,n,s,a){let i=t.href,l=t.title||null,c=e[1].replace(a.other.outputLinkReplace,"$1");s.state.inLink=!0;let o={type:e[0].charAt(0)==="!"?"image":"link",raw:n,href:i,title:l,text:c,tokens:s.inlineTokens(c)};return s.state.inLink=!1,o}function Md(e,t,n){let s=e.match(n.other.indentCodeCompensation);if(s===null)return t;let a=s[1];return t.split(` +`).map(i=>{let l=i.match(n.other.beginningSpace);if(l===null)return i;let[c]=l;return c.length>=a.length?i.slice(a.length):i}).join(` +`)}var ps=class{options;rules;lexer;constructor(e){this.options=e||Dr}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:Ta(n,` +`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],s=Md(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:s}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let s=Ta(n,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(n=s.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:Ta(t[0],` +`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=Ta(t[0],` +`).split(` +`),s="",a="",i=[];for(;n.length>0;){let l=!1,c=[],o;for(o=0;o1,a={type:"list",raw:"",ordered:s,start:s?+n.slice(0,-1):"",loose:!1,items:[]};n=s?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=s?n:"[*+-]");let i=this.rules.other.listItemRegex(n),l=!1;for(;e;){let o=!1,f="",h="";if(!(t=i.exec(e))||this.rules.block.hr.test(e))break;f=t[0],e=e.substring(f.length);let w=Od(t[2].split(` +`,1)[0],t[1].length),m=e.split(` +`,1)[0],E=!w.trim(),T=0;if(this.options.pedantic?(T=2,h=w.trimStart()):E?T=t[1].length+1:(T=w.search(this.rules.other.nonSpaceChar),T=T>4?1:T,h=w.slice(T),T+=t[1].length),E&&this.rules.other.blankLine.test(m)&&(f+=m+` +`,e=e.substring(m.length+1),o=!0),!o){let D=this.rules.other.nextBulletRegex(T),S=this.rules.other.hrRegex(T),$=this.rules.other.fencesBeginRegex(T),R=this.rules.other.headingBeginRegex(T),ee=this.rules.other.htmlBeginRegex(T),C=this.rules.other.blockquoteBeginRegex(T);for(;e;){let le=e.split(` +`,1)[0],he;if(m=le,this.options.pedantic?(m=m.replace(this.rules.other.listReplaceNesting," "),he=m):he=m.replace(this.rules.other.tabCharGlobal," "),$.test(m)||R.test(m)||ee.test(m)||C.test(m)||D.test(m)||S.test(m))break;if(he.search(this.rules.other.nonSpaceChar)>=T||!m.trim())h+=` +`+he.slice(T);else{if(E||w.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||$.test(w)||R.test(w)||S.test(w))break;h+=` +`+m}E=!m.trim(),f+=le+` +`,e=e.substring(le.length+1),w=he.slice(T)}}a.loose||(l?a.loose=!0:this.rules.other.doubleBlankLine.test(f)&&(l=!0)),a.items.push({type:"list_item",raw:f,task:!!this.options.gfm&&this.rules.other.listIsTask.test(h),loose:!1,text:h,tokens:[]}),a.raw+=f}let c=a.items.at(-1);if(c)c.raw=c.raw.trimEnd(),c.text=c.text.trimEnd();else return;a.raw=a.raw.trimEnd();for(let o of a.items){if(this.lexer.state.top=!1,o.tokens=this.lexer.blockTokens(o.text,[]),o.task){if(o.text=o.text.replace(this.rules.other.listReplaceTask,""),o.tokens[0]?.type==="text"||o.tokens[0]?.type==="paragraph"){o.tokens[0].raw=o.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),o.tokens[0].text=o.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let h=this.lexer.inlineQueue.length-1;h>=0;h--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[h].src)){this.lexer.inlineQueue[h].src=this.lexer.inlineQueue[h].src.replace(this.rules.other.listReplaceTask,"");break}}let f=this.rules.other.listTaskCheckbox.exec(o.raw);if(f){let h={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};o.checked=h.checked,a.loose?o.tokens[0]&&["paragraph","text"].includes(o.tokens[0].type)&&"tokens"in o.tokens[0]&&o.tokens[0].tokens?(o.tokens[0].raw=h.raw+o.tokens[0].raw,o.tokens[0].text=h.raw+o.tokens[0].text,o.tokens[0].tokens.unshift(h)):o.tokens.unshift({type:"paragraph",raw:h.raw,text:h.raw,tokens:[h]}):o.tokens.unshift(h)}}if(!a.loose){let f=o.tokens.filter(w=>w.type==="space"),h=f.length>0&&f.some(w=>this.rules.other.anyLine.test(w.raw));a.loose=h}}if(a.loose)for(let o of a.items){o.loose=!0;for(let f of o.tokens)f.type==="text"&&(f.type="paragraph")}return a}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),s=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:s,title:a}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=ql(t[1]),s=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),a=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(` +`):[],i={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===s.length){for(let l of s)this.rules.other.tableAlignRight.test(l)?i.align.push("right"):this.rules.other.tableAlignCenter.test(l)?i.align.push("center"):this.rules.other.tableAlignLeft.test(l)?i.align.push("left"):i.align.push(null);for(let l=0;l({text:c,tokens:this.lexer.inline(c),header:!1,align:i.align[o]})));return i}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let n=t[1].trim();return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===` +`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let i=Ta(n.slice(0,-1),"\\");if((n.length-i.length)%2===0)return}else{let i=Dd(t[2],"()");if(i===-2)return;if(i>-1){let l=(t[0].indexOf("!")===0?5:4)+t[1].length+i;t[2]=t[2].substring(0,i),t[0]=t[0].substring(0,l).trim(),t[3]=""}}let s=t[2],a="";if(this.options.pedantic){let i=this.rules.other.pedanticHrefTitle.exec(s);i&&(s=i[1],a=i[3])}else a=t[3]?t[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?s=s.slice(1):s=s.slice(1,-1)),Gl(t,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let s=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=t[s.toLowerCase()];if(!a){let i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return Gl(n,a,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let s=this.rules.inline.emStrongLDelim.exec(e);if(!(!s||!s[1]&&!s[2]&&!s[3]&&!s[4]||s[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(s[1]||s[3])||!n||this.rules.inline.punctuation.exec(n))){let a=[...s[0]].length-1,i,l,c=a,o=0,f=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(f.lastIndex=0,t=t.slice(-1*e.length+a);(s=f.exec(t))!==null;){if(i=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!i)continue;if(l=[...i].length,s[3]||s[4]){c+=l;continue}else if((s[5]||s[6])&&a%3&&!((a+l)%3)){o+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c+o);let h=[...s[0]][0].length,w=e.slice(0,a+s.index+h+l);if(Math.min(a,l)%2){let E=w.slice(1,-1);return{type:"em",raw:w,text:E,tokens:this.lexer.inlineTokens(E)}}let m=w.slice(2,-2);return{type:"strong",raw:w,text:m,tokens:this.lexer.inlineTokens(m)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," "),s=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return s&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t,n=""){let s=this.rules.inline.delLDelim.exec(e);if(s&&(!s[1]||!n||this.rules.inline.punctuation.exec(n))){let a=[...s[0]].length-1,i,l,c=a,o=this.rules.inline.delRDelim;for(o.lastIndex=0,t=t.slice(-1*e.length+a);(s=o.exec(t))!==null;){if(i=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!i||(l=[...i].length,l!==a))continue;if(s[3]||s[4]){c+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c);let f=[...s[0]][0].length,h=e.slice(0,a+s.index+f+l),w=h.slice(a,-a);return{type:"del",raw:h,text:w,tokens:this.lexer.inlineTokens(w)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,s;return t[2]==="@"?(n=t[1],s="mailto:"+n):(n=t[1],s=n),{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,s;if(t[2]==="@")n=t[0],s="mailto:"+n;else{let a;do a=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(a!==t[0]);n=t[0],t[1]==="www."?s="http://"+t[0]:s=t[0]}return{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}},hn=class oi{tokens;options;state;inlineQueue;tokenizer;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Dr,this.options.tokenizer=this.options.tokenizer||new ps,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let n={other:mt,block:ls.normal,inline:xa.normal};this.options.pedantic?(n.block=ls.pedantic,n.inline=xa.pedantic):this.options.gfm&&(n.block=ls.gfm,this.options.breaks?n.inline=xa.breaks:n.inline=xa.gfm),this.tokenizer.rules=n}static get rules(){return{block:ls,inline:xa}}static lex(t,n){return new oi(n).lex(t)}static lexInline(t,n){return new oi(n).inlineTokens(t)}lex(t){t=t.replace(mt.carriageReturn,` +`),this.blockTokens(t,this.tokens);for(let n=0;n(a=l.call({lexer:this},t,n))?(t=t.substring(a.raw.length),n.push(a),!0):!1))continue;if(a=this.tokenizer.space(t)){t=t.substring(a.raw.length);let l=n.at(-1);a.raw.length===1&&l!==void 0?l.raw+=` +`:n.push(a);continue}if(a=this.tokenizer.code(t)){t=t.substring(a.raw.length);let l=n.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=(l.raw.endsWith(` +`)?"":` +`)+a.raw,l.text+=` +`+a.text,this.inlineQueue.at(-1).src=l.text):n.push(a);continue}if(a=this.tokenizer.fences(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.heading(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.hr(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.blockquote(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.list(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.html(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.def(t)){t=t.substring(a.raw.length);let l=n.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=(l.raw.endsWith(` +`)?"":` +`)+a.raw,l.text+=` +`+a.raw,this.inlineQueue.at(-1).src=l.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title},n.push(a));continue}if(a=this.tokenizer.table(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.lheading(t)){t=t.substring(a.raw.length),n.push(a);continue}let i=t;if(this.options.extensions?.startBlock){let l=1/0,c=t.slice(1),o;this.options.extensions.startBlock.forEach(f=>{o=f.call({lexer:this},c),typeof o=="number"&&o>=0&&(l=Math.min(l,o))}),l<1/0&&l>=0&&(i=t.substring(0,l+1))}if(this.state.top&&(a=this.tokenizer.paragraph(i))){let l=n.at(-1);s&&l?.type==="paragraph"?(l.raw+=(l.raw.endsWith(` +`)?"":` +`)+a.raw,l.text+=` +`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):n.push(a),s=i.length!==t.length,t=t.substring(a.raw.length);continue}if(a=this.tokenizer.text(t)){t=t.substring(a.raw.length);let l=n.at(-1);l?.type==="text"?(l.raw+=(l.raw.endsWith(` +`)?"":` +`)+a.raw,l.text+=` +`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):n.push(a);continue}if(t){let l="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){this.tokenizer.lexer=this;let s=t,a=null;if(this.tokens.links){let o=Object.keys(this.tokens.links);if(o.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!==null;)o.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(s))!==null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!==null;)i=a[2]?a[2].length:0,s=s.slice(0,a.index+i)+"["+"a".repeat(a[0].length-i-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);s=this.options.hooks?.emStrongMask?.call({lexer:this},s)??s;let l=!1,c="";for(;t;){l||(c=""),l=!1;let o;if(this.options.extensions?.inline?.some(h=>(o=h.call({lexer:this},t,n))?(t=t.substring(o.raw.length),n.push(o),!0):!1))continue;if(o=this.tokenizer.escape(t)){t=t.substring(o.raw.length),n.push(o);continue}if(o=this.tokenizer.tag(t)){t=t.substring(o.raw.length),n.push(o);continue}if(o=this.tokenizer.link(t)){t=t.substring(o.raw.length),n.push(o);continue}if(o=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(o.raw.length);let h=n.at(-1);o.type==="text"&&h?.type==="text"?(h.raw+=o.raw,h.text+=o.text):n.push(o);continue}if(o=this.tokenizer.emStrong(t,s,c)){t=t.substring(o.raw.length),n.push(o);continue}if(o=this.tokenizer.codespan(t)){t=t.substring(o.raw.length),n.push(o);continue}if(o=this.tokenizer.br(t)){t=t.substring(o.raw.length),n.push(o);continue}if(o=this.tokenizer.del(t,s,c)){t=t.substring(o.raw.length),n.push(o);continue}if(o=this.tokenizer.autolink(t)){t=t.substring(o.raw.length),n.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(t))){t=t.substring(o.raw.length),n.push(o);continue}let f=t;if(this.options.extensions?.startInline){let h=1/0,w=t.slice(1),m;this.options.extensions.startInline.forEach(E=>{m=E.call({lexer:this},w),typeof m=="number"&&m>=0&&(h=Math.min(h,m))}),h<1/0&&h>=0&&(f=t.substring(0,h+1))}if(o=this.tokenizer.inlineText(f)){t=t.substring(o.raw.length),o.raw.slice(-1)!=="_"&&(c=o.raw.slice(-1)),l=!0;let h=n.at(-1);h?.type==="text"?(h.raw+=o.raw,h.text+=o.text):n.push(o);continue}if(t){let h="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return n}},hs=class{options;parser;constructor(e){this.options=e||Dr}space(e){return""}code({text:e,lang:t,escaped:n}){let s=(t||"").match(mt.notSpaceStart)?.[0],a=e.replace(mt.endingNewline,"")+` +`;return s?'
    '+(n?a:Dn(a,!0))+`
    +`:"
    "+(n?a:Dn(a,!0))+`
    +`}blockquote({tokens:e}){return`
    +${this.parser.parse(e)}
    +`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)} +`}hr(e){return`
    +`}list(e){let t=e.ordered,n=e.start,s="";for(let l=0;l +`+s+" +`}listitem(e){return`
  • ${this.parser.parse(e.tokens)}
  • +`}checkbox({checked:e}){return" '}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    +`}table(e){let t="",n="";for(let a=0;a${s}`),` + +`+t+` +`+s+`
    +`}tablerow({text:e}){return` +${e} +`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+` +`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${Dn(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){let s=this.parser.parseInline(n),a=Bl(e);if(a===null)return s;e=a;let i='
    ",i}image({href:e,title:t,text:n,tokens:s}){s&&(n=this.parser.parseInline(s,this.parser.textRenderer));let a=Bl(e);if(a===null)return Dn(n);e=a;let i=`${Dn(n)}{let l=a[i].flat(1/0);n=n.concat(this.walkTokens(l,t))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let s={...n};if(s.async=this.defaults.async||s.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let i=t.renderers[a.name];i?t.renderers[a.name]=function(...l){let c=a.renderer.apply(this,l);return c===!1&&(c=i.apply(this,l)),c}:t.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let i=t[a.level];i?i.unshift(a.tokenizer):t[a.level]=[a.tokenizer],a.start&&(a.level==="block"?t.startBlock?t.startBlock.push(a.start):t.startBlock=[a.start]:a.level==="inline"&&(t.startInline?t.startInline.push(a.start):t.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(t.childTokens[a.name]=a.childTokens)}),s.extensions=t),n.renderer){let a=this.defaults.renderer||new hs(this.defaults);for(let i in n.renderer){if(!(i in a))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;let l=i,c=n.renderer[l],o=a[l];a[l]=(...f)=>{let h=c.apply(a,f);return h===!1&&(h=o.apply(a,f)),h||""}}s.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new ps(this.defaults);for(let i in n.tokenizer){if(!(i in a))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;let l=i,c=n.tokenizer[l],o=a[l];a[l]=(...f)=>{let h=c.apply(a,f);return h===!1&&(h=o.apply(a,f)),h}}s.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new Ia;for(let i in n.hooks){if(!(i in a))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;let l=i,c=n.hooks[l],o=a[l];Ia.passThroughHooks.has(i)?a[l]=f=>{if(this.defaults.async&&Ia.passThroughHooksRespectAsync.has(i))return(async()=>{let w=await c.call(a,f);return o.call(a,w)})();let h=c.call(a,f);return o.call(a,h)}:a[l]=(...f)=>{if(this.defaults.async)return(async()=>{let w=await c.apply(a,f);return w===!1&&(w=await o.apply(a,f)),w})();let h=c.apply(a,f);return h===!1&&(h=o.apply(a,f)),h}}s.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,i=n.walkTokens;s.walkTokens=function(l){let c=[];return c.push(i.call(this,l)),a&&(c=c.concat(a.call(this,l))),c}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return hn.lex(e,t??this.defaults)}parser(e,t){return vn.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let s={...n},a={...this.defaults,...s},i=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&s.async===!1)return i(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return i(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let l=a.hooks?await a.hooks.preprocess(t):t,c=await(a.hooks?await a.hooks.provideLexer(e):e?hn.lex:hn.lexInline)(l,a),o=a.hooks?await a.hooks.processAllTokens(c):c;a.walkTokens&&await Promise.all(this.walkTokens(o,a.walkTokens));let f=await(a.hooks?await a.hooks.provideParser(e):e?vn.parse:vn.parseInline)(o,a);return a.hooks?await a.hooks.postprocess(f):f})().catch(i);try{a.hooks&&(t=a.hooks.preprocess(t));let l=(a.hooks?a.hooks.provideLexer(e):e?hn.lex:hn.lexInline)(t,a);a.hooks&&(l=a.hooks.processAllTokens(l)),a.walkTokens&&this.walkTokens(l,a.walkTokens);let c=(a.hooks?a.hooks.provideParser(e):e?vn.parse:vn.parseInline)(l,a);return a.hooks&&(c=a.hooks.postprocess(c)),c}catch(l){return i(l)}}}onError(e,t){return n=>{if(n.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let s="

    An error occurred:

    "+Dn(n.message+"",!0)+"
    ";return t?Promise.resolve(s):s}if(t)return Promise.reject(n);throw n}}},Cr=new Nd;function we(e,t){return Cr.parse(e,t)}we.options=we.setOptions=function(e){return Cr.setOptions(e),we.defaults=Cr.defaults,jo(we.defaults),we};we.getDefaults=yi;we.defaults=Dr;we.use=function(...e){return Cr.use(...e),we.defaults=Cr.defaults,jo(we.defaults),we};we.walkTokens=function(e,t){return Cr.walkTokens(e,t)};we.parseInline=Cr.parseInline;we.Parser=vn;we.parser=vn.parse;we.Renderer=hs;we.TextRenderer=Ii;we.Lexer=hn;we.lexer=hn.lex;we.Tokenizer=ps;we.Hooks=Ia;we.parse=we;we.options;we.setOptions;we.use;we.walkTokens;we.parseInline;vn.parse;hn.lex;function Wr(e){return Yf.sanitize(we.parse(e,{async:!1,breaks:!0,gfm:!0}))}function Ln(e){return new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit"}).format(new Date(e))}var Pd=M(''),zd=M(`
    cc
    ClickClack OpenClaw workspace chat

    Welcome back.

    Workspace chat for the OpenClaw crew. Sign in with the GitHub account that's a member of the org.

    Limited to active members of the OpenClaw org.

    `),$d=M(''),Fd=M('
    '),Ud=M('
    '),Hd=M(''),Bd=M(''),qd=M(''),Gd=M(''),Wd=M(''),jd=M(''),Zd=M(''),Yd=M(''),Xd=M(''),Vd=M(''),Kd=M('

    '),Jd=M('

    '),Qd=M('

    ClickClack

    '),ep=M(''),tp=M(''),np=M(''),rp=M('
    '),ap=M('
    Send a message in Markdown — code fences, lists, links all work. Threads open from any message.
    '),sp=M('
    '),ip=M(''),lp=M(" "),op=M(' '),cp=M(' '),up=M(''),fp=M(''),dp=M('',2),pp=M(' '),hp=M('
    '),vp=M('
    '),_p=M('
    ',1),gp=M(''),mp=M('
    GIFs
    '),bp=M(''),kp=M('
    '),wp=M('
    Replying to
    '),yp=M(''),xp=M(" "),Tp=M(''),Ep=M('',2),Sp=M(' '),Ap=M('
    '),Rp=M(''),Cp=M(" "),Ip=M(' '),Lp=M(' '),Dp=M(''),Op=M(''),Mp=M('',2),Np=M(' '),Pp=M('
    '),zp=M('
    '),$p=M('
    Replying to
    '),Fp=M('

    Thread

    ',1),Up=M(''),Hp=M(" "),Bp=M(''),qp=M(''),Gp=M(''),Wp=M('

    Profile

    Active
    Contact information
    Handle
    User ID
    About

    ',1),jp=M('
    No thread open Hover any message and tap the bubble to keep side conversations tidy.
    '),Zp=M(''),Yp=M("

    "),Xp=M(''),Vp=M(''),Kp=M('

    Enter to send · Shift+Enter for newline · Markdown supported
    ',1);function Jp(e,t){fi(t,!1);const n=Z(),s=Z(),a=Z(),i=Z(),l=Z(),c=Z(),o=Z();let f=Z(null),h=Z([]),w=Z([]),m=Z([]),E=Z([]),T=Z([]),D=Z(""),S=Z(""),$=Z(""),R=Z(null),ee=Z(null),C=Z(null),le=Z(null),he=Z(""),Ae=Z(""),nt=Z(""),rt=Z(""),xe=Z(""),Te=Z(""),Re=Z([]),Ee=Z(null),Rt=Z(!1),kn=Z(!1),zn=Z(""),zt=Z(""),en=Z(""),Jn=Z(""),$n=Z(""),Oe=Z(!1),$t=Z("loading"),Ue=Z(!1),wn=null,ve=Z(!1),tn,nn=Z(null),Ct=Z(!1),Fn=Z(!1),rn=Z(!1),de=Z(null),Je=Z(null),Ft=Z(null),an=Z(null),Me=Z("message");const sa=[{title:"Ship it",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYjJ1bm1meHE4N2x3bnN0djJkMWtjNGc5bXYzZDFiOHBsbG16M3F0ZSZlcD12MV9naWZzX3NlYXJjaCZjdD1n/l0HlHFRbmaZtBRhXG/giphy.gif",tags:["ship","launch","done"]},{title:"Approved",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExazBpbzJ6ODZ3bXQ3OHBvNGJidWZoajc0cHV6YnVub3MzZ3c1a2Z2dSZlcD12MV9naWZzX3NlYXJjaCZjdD1n/111ebonMs90YLu/giphy.gif",tags:["yes","approved","nice"]},{title:"Deploy dance",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExY3NkaTVmZW9ydWNnZnl0ZWQ5aHQyeGNrd2k3NG4wZWNqYzNmd3k1ZCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/GeimqsH0TLDt4tScGw/giphy.gif",tags:["deploy","dance","celebrate"]},{title:"Looking",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYWZ3emE0dm5mN2h0bGVsY2w0OXBodGd2cGJlNDRiZXo1YWNtdWRmZyZlcD12MV9naWZzX3NlYXJjaCZjdD1n/26n6WywJyh39n1pBu/giphy.gif",tags:["search","looking","debug"]},{title:"Typing faster",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExOWFlbnJnbnIzbHYxcDIzdXZ3NGF3N2FocHNvMmR5enU3bHpycHBlZSZlcD12MV9naWZzX3NlYXJjaCZjdD1n/13HgwGsXF0aiGY/giphy.gif",tags:["typing","code","work"]},{title:"Tiny victory",url:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExdjJ2b2tqNmF4dG16NjE0eXhuc3h5bTlvamgwNTR0Zmd6ZjhtM2JuaSZlcD12MV9naWZzX3NlYXJjaCZjdD1n/3o7abKhOpu0NwenH3O/giphy.gif",tags:["win","victory","celebrate"]}];Uo(()=>{ia()}),wf(()=>{const d=wn;wn=null,g(ve,!1),d?.close(),tn&&window.clearTimeout(tn)});async function ia(){try{const d=await lt("/api/me");g(f,d.user),await Mr(),g($t,"ready")}catch(d){if(d instanceof Ho&&(d.status===401||d.status===403)){g(Ue,!0),g($t,"auth");return}g($t,d instanceof Error?d.message:"Could not load ClickClack")}}function sn(){r(f)&&(g(zt,r(f).display_name),g(en,r(f).handle?`@${r(f).handle}`:""),g(Jn,r(f).avatar_url),g($n,""),g(Oe,!1),g(kn,!0))}async function Or(){g($n,""),g(Oe,!1);try{const d=await lt("/api/me",{method:"PATCH",body:JSON.stringify({display_name:r(zt),handle:r(en),avatar_url:r(Jn)})});g(f,d.user),g(E,r(E).map(b=>b.author?.id===r(f)?.id?{...b,author:d.user}:b)),g(T,r(T).map(b=>b.author?.id===r(f)?.id?{...b,author:d.user}:b)),r(R)?.author?.id===r(f).id&&g(R,{...r(R),author:d.user}),g($n,"Saved"),g(kn,!1)}catch(d){g($n,d instanceof Error?d.message:"Could not save profile"),g(Oe,!0)}}async function Mr(){const d=await lt("/api/workspaces");g(h,d.workspaces),g(D,r(D)||r(h)[0]?.id||""),await pr(),await xn(),r(h).length===0&&g($t,"create a workspace"),tr()}async function Ba(){if(!r(nt).trim())return;const d=await lt("/api/workspaces",{method:"POST",body:JSON.stringify({name:r(nt)})});g(nt,""),g(Ct,!1),g(h,[...r(h),d.workspace]),g(D,d.workspace.id),await pr(),await xn(),tr()}async function pr(){if(!r(D))return;const d=await lt(`/api/workspaces/${r(D)}/channels`);g(w,d.channels),g(S,r(w).find(b=>b.id===r(S))?.id||r(w)[0]?.id||""),g(R,null),g(C,null),g(Me,"message"),g(T,[]),await pt()}async function qa(){if(!r(D)||!r(rt).trim())return;const d=await lt(`/api/workspaces/${r(D)}/channels`,{method:"POST",body:JSON.stringify({name:r(rt),kind:"public"})});g(rt,""),g(w,[...r(w),d.channel]),g(S,d.channel.id),g($,""),await pt()}async function pt(){if(r($)){const b=await lt(`/api/dms/${r($)}/messages`);g(E,b.messages),await Un();return}if(!r(S)){g(E,[]);return}const d=await lt(`/api/channels/${r(S)}/messages`);g(E,d.messages),await Un()}async function Un(){await ei(),r(nn)&&Fu(nn,r(nn).scrollTop=r(nn).scrollHeight)}async function Hn(){const d=r(he).trim();if(!d)return;if(!r(S)&&!r($)){g($t,"pick or create a channel");return}const b=r($)?"dm":"channel",P=r(de)&&r(Je)===b?r(de):null;g(he,"");const J=r($)?`/api/dms/${r($)}/messages`:`/api/channels/${r(S)}/messages`,me={body:d};P&&(me.quoted_message_id=P.id);const re=await lt(J,{method:"POST",body:JSON.stringify(me)});let We=re.message;if(P&&wt(),r(Ee)){const Bt=r(Ee);await lt(`/api/messages/${re.message.id}/attachments`,{method:"POST",body:JSON.stringify({upload_id:Bt.id})}),g(Ee,null),We={...We,attachments:[...We.attachments||[],Bt]}}r(E).some(Bt=>Bt.id===We.id)?g(E,r(E).map(Bt=>Bt.id===We.id?We:Bt)):g(E,[...r(E),We]),await Un()}async function It(d){g(C,null),g(R,d),g(Me,"thread");const b=await lt(`/api/messages/${d.id}/thread`);g(R,b.root),g(T,b.replies),g(ee,b.thread_state)}async function Nr(){const d=r(Ae).trim();if(!d||!r(R))return;const b=r(de)&&r(Je)==="thread"?r(de):null;g(Ae,"");const P={body:d};b&&(P.quoted_message_id=b.id);const J=await lt(`/api/messages/${r(R).id}/thread/replies`,{method:"POST",body:JSON.stringify(P)});b&&wt(),r(T).some(me=>me.id===J.message.id)||g(T,[...r(T),J.message]),g(ee,J.thread_state)}function Pr(d,b){g(de,d),g(Je,b),g(Me,b==="thread"?"thread":"message")}const Ga=new Set(["button","checkbox","combobox","link","listbox","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","option","radio","radiogroup","slider","spinbutton","switch","tab","tablist","textbox","tree","treeitem"]),la=new Set(["INPUT","TEXTAREA","SELECT","BUTTON","A","DETAILS","SUMMARY","VIDEO","AUDIO"]);function Wa(){return r(le)!==null||r(kn)}function zr(d){if(!d)return!1;if(d.isContentEditable)return!0;if(d instanceof HTMLInputElement){const b=(d.type||"text").toLowerCase();return b!=="checkbox"&&b!=="radio"&&b!=="button"&&b!=="submit"&&b!=="reset"&&b!=="file"}return d instanceof HTMLTextAreaElement}function $r(d){if(!d||Ut(d))return!1;if(la.has(d.tagName))return!0;const b=d.getAttribute("role");if(b&&Ga.has(b))return!0;const P=d.getAttribute("tabindex");return!!(P!==null&&P!=="-1"&&d.hasAttribute("aria-keyshortcuts"))}function Ut(d){if(!d.closest(".messages, .thread"))return!1;if(d instanceof HTMLButtonElement||d instanceof HTMLAnchorElement)return!0;const b=d.getAttribute("role");return b==="button"||b==="link"}function Qn(){const d=typeof window<"u"?window.getSelection():null;if(!d||d.isCollapsed||d.rangeCount===0)return!1;const b=d.getRangeAt(0).commonAncestorContainer;return b?!!(b.nodeType===Node.ELEMENT_NODE?b:b.parentElement)?.closest(".messages, .thread, .markdown"):!1}function oa(d){if(r(Ue)||Wa()||d.defaultPrevented||d.isComposing||d.keyCode===229||d.ctrlKey||d.metaKey||d.altKey||d.key.length!==1||Qn())return!1;const b=document.activeElement;return!(b===r(Ft)||b===r(an)||zr(b)||$r(b))}function ca(d){if(!oa(d))return;const b=ws();if(!b||b.disabled||b.readOnly)return;d.key===" "&&d.preventDefault(),b.focus({preventScroll:!0});const P=b.value.length;if(b.setSelectionRange(P,P),d.key===" "){const J=b.selectionStart??P,me=b.selectionEnd??P;b.setRangeText(" ",J,me,"end"),b.dispatchEvent(new Event("input",{bubbles:!0}))}}function ws(){return r(Me)==="thread"&&r(R)&&r(an)?r(an):r(Ft)}function wt(){g(de,null),g(Je,null)}function Fr(d,b){const P=()=>{const re=d.style.height;d.style.height="auto";const We=`${d.scrollHeight}px`;re!==We?d.style.height=We:d.style.height=re},J=()=>P(),me=()=>P();return requestAnimationFrame(P),d.addEventListener("input",J),window.addEventListener("resize",me),{update(){requestAnimationFrame(P)},destroy(){d.removeEventListener("input",J),window.removeEventListener("resize",me)}}}function er(d,b=120){if(!d)return"";const P=d.replace(/\s+/g," ").trim();return P.length>b?P.slice(0,b-1)+"…":P}function yn(d){return d.quoted_author?.display_name||"Unknown"}async function ja(d){const b=d.quoted_message_id;if(!b)return;await ei();const P=document.querySelector(`[data-message-id="${CSS.escape(b)}"]`);P&&(P.scrollIntoView({behavior:"smooth",block:"center"}),P.classList.add("highlight"),window.setTimeout(()=>P.classList.remove("highlight"),1500))}async function ys(){if(!r(D)||!r(Te).trim()){g(Re,[]);return}const d=await lt(`/api/search?workspace_id=${encodeURIComponent(r(D))}&q=${encodeURIComponent(r(Te).trim())}`);g(Re,d.results)}async function He(d){const b=d.currentTarget,P=b.files?.[0];if(!P||!r(D))return;const J=new FormData;J.set("workspace_id",r(D)),J.set("file",P);const me=await lt("/api/uploads",{method:"POST",body:J});g(Ee,me.upload),b.value=""}async function xn(){if(!r(D))return;const d=await lt(`/api/dms?workspace_id=${r(D)}`);g(m,d.conversations)}async function xs(){if(!r(D)||!r(xe).trim())return;const d=await lt("/api/dms",{method:"POST",body:JSON.stringify({workspace_id:r(D),member_ids:[r(xe).trim()]})});g(xe,""),g(m,[...r(m),d.conversation]),g($,d.conversation.id),g(S,""),g(R,null),g(C,null),g(Me,"message"),await pt()}async function Za(d){if(!r(D)||!d)return;const b=r(m).find(J=>J.members.some(me=>me.id===d));if(b){g($,b.id),g(S,""),g(R,null),g(C,null),g(Me,"message"),await pt();return}const P=await lt("/api/dms",{method:"POST",body:JSON.stringify({workspace_id:r(D),member_ids:[d]})});g(m,[...r(m),P.conversation]),g($,P.conversation.id),g(S,""),g(R,null),g(C,null),g(Me,"message"),await pt()}function tr(){tn&&window.clearTimeout(tn);const d=wn;if(wn=null,g(ve,!1),d?.close(),!r(D))return;const b=localStorage.getItem(`clickclack:${r(D)}:cursor`)||"",P=new URL("/api/realtime/ws",window.location.href);P.protocol=window.location.protocol==="https:"?"wss:":"ws:",P.searchParams.set("workspace_id",r(D)),b&&P.searchParams.set("after_cursor",b);const J=new WebSocket(P);wn=J,J.addEventListener("open",()=>{wn===J&&g(ve,!0)}),J.addEventListener("message",me=>{const re=JSON.parse(String(me.data));re.cursor&&localStorage.setItem(`clickclack:${r(D)}:cursor`,re.cursor),Ya(re)}),J.addEventListener("close",()=>{wn===J&&(g(ve,!1),tn=window.setTimeout(tr,1200))})}async function Ya(d){if((d.type==="channel.created"||d.type==="channel.updated")&&d.workspace_id===r(D)){await pr();return}(d.channel_id===r(S)||d.payload.direct_conversation_id===r($))&&(d.type==="message.created"||d.type==="message.updated"||d.type==="message.deleted")&&await pt();const b=d.payload.root_message_id||d.payload.message_id;r(R)&&b===r(R).id&&await It(r(R))}function Xa(d){const b=d.trim();if(!b)return"?";const P=b.split(/\s+/);return P.length>=2?(P[0][0]+P[1][0]).toUpperCase():b.slice(0,2).toUpperCase()}function ln(d){if(!d)return"?";const b=d.trim();return b?b[0].toUpperCase():"?"}function qe(d){return d?`@${d}`:""}function Ht(d){return d.members.find(b=>b.id!==r(f)?.id)||d.members[0]}function Va(d,b,P){const J=new Map;for(const me of b)for(const re of me.members)re.id&&re.id!==P&&J.set(re.id,re);for(const me of[...d].reverse()){const re=me.author;re?.id&&re.id!==P&&J.set(re.id,re)}return[...J.values()].slice(0,12)}function Ka(d){return r(m).find(b=>b.members.some(P=>P.id===d))}function hr(d){d&&(g(R,null),g(C,d))}function Lt(d){let b=0;for(let P=0;P>>0;return b%360}function on(d){const b=new Date(d),P=new Date,J=new Date;J.setDate(P.getDate()-1);const me=(re,We)=>re.getFullYear()===We.getFullYear()&&re.getMonth()===We.getMonth()&&re.getDate()===We.getDate();return me(b,P)?"Today":me(b,J)?"Yesterday":new Intl.DateTimeFormat(void 0,{weekday:"long",month:"long",day:"numeric"}).format(b)}function Ja(d){const b=[];let P="",J="",me=0;for(const re of d){const We=new Date(re.created_at),Bt=We.toDateString(),Hr=re.author?.id||re.author_id||"local",ua=Bt!==P,ns=Hr!==J,Es=We.getTime()-me>300*1e3;ua||ns||Es||b.length===0?b.push({key:re.id,dayLabel:ua?on(re.created_at):null,messages:[re],authorName:re.author?.display_name||"Local User",authorHandle:re.author?.handle||"",authorAvatarURL:re.author?.avatar_url||"",authorID:Hr,timestamp:re.created_at}):b[b.length-1].messages.push(re),P=Bt,J=Hr,me=We.getTime()}return b}function vr(d){const b=d.members.filter(J=>J.id!==r(f)?.id);return(b.length>0?b:d.members).map(J=>J.display_name).join(", ")}function Ts(d){if(d.key==="Escape"&&r(de)&&r(Je)!=="thread"){d.preventDefault(),wt();return}d.key==="Enter"&&!d.shiftKey&&(d.preventDefault(),Hn())}function Qa(d){if(d.key==="Escape"&&r(de)&&r(Je)==="thread"){d.preventDefault(),wt();return}d.key==="Enter"&&!d.shiftKey&&(d.preventDefault(),Nr())}function Ve(d){return`/api/uploads/${encodeURIComponent(d.id)}`}function _r(d,b){g(le,{url:d,title:b})}function q(d){const b=d.target;b instanceof HTMLImageElement&&b.closest(".markdown")&&(d.preventDefault(),_r(b.currentSrc||b.src,b.alt||"Image"))}function u(d){return d.content_type.startsWith("image/")}function x(d){return d.content_type.startsWith("video/")}function N(d){return d<1024?`${d} B`:d<1024*1024?`${Math.round(d/1024)} KB`:`${(d/(1024*1024)).toFixed(1)} MB`}function _e(d){const b=r(he)&&!r(he).endsWith(` +`)?` +`:"";g(he,`${r(he)}${b}${d}`)}function Be(d,b=d){_e(`${d}${d==="```"?` +code +`:"text"}${b}`)}function Ne(d,b){_e(`![${b}](${d})`),g(Rt,!1),g(zn,"")}function ut(d){return r(R)?.id===d.id?"Open":"Thread"}function ft(){r(Je)==="thread"&&wt(),g(R,null),g(C,null),g(Me,"message"),g(T,[])}function Qe(){g(le,null),g(kn,!1)}Rn(()=>(r(h),r(D)),()=>{g(n,r(h).find(d=>d.id===r(D)))}),Rn(()=>(r(w),r(S)),()=>{g(s,r(w).find(d=>d.id===r(S)))}),Rn(()=>(r(m),r($)),()=>{g(a,r(m).find(d=>d.id===r($)))}),Rn(()=>(r(R),r(C)),()=>{g(i,r(R)!==null||r(C)!==null)}),Rn(()=>r(E),()=>{g(l,Ja(r(E)))}),Rn(()=>(r(E),r(m),r(f)),()=>{g(c,Va(r(E),r(m),r(f)?.id||""))}),Rn(()=>(r(Je),r(de),r(E)),()=>{r(Je)==="channel"&&r(de)&&!r(E).some(d=>d.id===r(de)?.id)&&wt()}),Rn(()=>(r(Je),r(de),r(E)),()=>{r(Je)==="dm"&&r(de)&&!r(E).some(d=>d.id===r(de)?.id)&&wt()}),Rn(()=>(r(Je),r(de),r(R),r(T)),()=>{r(Je)==="thread"&&r(de)&&r(R)&&r(de).id!==r(R).id&&!r(T).some(d=>d.id===r(de)?.id)&&wt()}),Rn(()=>r(zn),()=>{g(o,sa.filter(d=>{const b=r(zn).trim().toLowerCase();return!b||d.title.toLowerCase().includes(b)||d.tags.some(P=>P.includes(b))}))}),Yu(),Fo();var Ur=Aa();$o("1oa2eo8",d=>{var b=Pd();A(d,b)}),Cn("keydown",Js,d=>{d.key==="Escape"&&Qe(),ca(d)});var Ge=Xn(Ur);{var es=d=>{var b=zd();A(d,b)},ts=d=>{var b=Kp(),P=Xn(b);let J;var me=p(P),re=p(me);{var We=y=>{var k=_t("×");A(y,k)},Bt=y=>{var k=$d();A(y,k)};j(re,y=>{r(rn)?y(We):y(Bt,-1)})}var Hr=_(me,2),ua=_(p(Hr),4),ns=p(ua);Nt(ns,1,()=>r(h),y=>y.id,(y,k)=>{var H=Fd();let Y;var se=p(H),ae=p(se),Q=p(ae);z(ie=>{Y=Mt(H,1,"guild-wrap",null,Y,{active:r(k).id===r(D)}),F(se,"title",(r(k),v(()=>r(k).name))),L(Q,ie)},[()=>(r(k),v(()=>Xa(r(k).name)))]),W("click",se,async()=>{g(D,r(k).id),await pr(),await xn(),tr()}),A(y,H)});var Es=_(ns,2),nc=_(ua,2);{var rc=y=>{var k=Ud(),H=p(k);Cn("submit",k,Y=>{Y.preventDefault(),Ba()}),In(H,()=>r(nt),Y=>g(nt,Y)),A(y,k)};j(nc,y=>{r(Ct)&&y(rc)})}var Li=_(Hr,2),Di=p(Li),Oi=p(Di),Mi=p(Oi),ac=p(Mi),Ni=_(Mi,2);let Pi;var sc=p(Ni),rs=_(Oi,2),ic=p(rs),lc=p(ic),zi=_(Di,2),$i=p(zi),Fi=_(p($i),2),Ui=p(Fi);Nt(Ui,1,()=>r(w),y=>y.id,(y,k)=>{var H=Hd();let Y;var se=_(p(H),2),ae=p(se);z(()=>{Y=Mt(H,1,"nav-item channel",null,Y,{active:r(k).id===r(S)&&!r($)}),L(ae,(r(k),v(()=>r(k).name)))}),W("click",H,async()=>{g(S,r(k).id),g($,""),g(R,null),g(C,null),g(Me,"message"),g(rn,!1),await pt()}),A(y,H)});var oc=_(Ui,2);{var cc=y=>{var k=Bd();A(y,k)};j(oc,y=>{r(w),v(()=>r(w).length===0)&&y(cc)})}var Hi=_(Fi,2),uc=p(Hi),Bi=_($i,2),qi=_(p(Bi),2),Gi=p(qi);Nt(Gi,1,()=>r(m),y=>y.id,(y,k)=>{var H=Gd();let Y;var se=p(H),ae=p(se);{var Q=U=>{var X=qd();z(Pe=>F(X,"src",Pe),[()=>(r(k),v(()=>Ht(r(k))?.avatar_url))]),A(U,X)},ie=rr(()=>(r(k),v(()=>Ht(r(k))?.avatar_url))),B=U=>{var X=_t();z(Pe=>L(X,Pe),[()=>(r(k),v(()=>ln(Ht(r(k))?.display_name)))]),A(U,X)};j(ae,U=>{r(ie)?U(Q):U(B,-1)})}var pe=_(se,2),Ce=p(pe);z((U,X)=>{Y=Mt(H,1,"nav-item dm",null,Y,{active:r(k).id===r($)}),Yn(se,`--hue: ${U??""}deg`),L(Ce,X)},[()=>(r(k),v(()=>Lt(Ht(r(k))?.id||r(k).id))),()=>(r(k),v(()=>vr(r(k))))]),W("click",H,async()=>{g($,r(k).id),g(S,""),g(R,null),g(C,null),g(Me,"message"),g(rn,!1),await pt()}),A(y,H)});var fc=_(Gi,2);{var dc=y=>{var k=Wd();A(y,k)};j(fc,y=>{r(m),v(()=>r(m).length===0)&&y(dc)})}var Wi=_(qi,2),pc=p(Wi),hc=_(Bi,2),vc=_(p(hc),2),ji=p(vc);Nt(ji,1,()=>r(c),y=>y.id,(y,k)=>{const H=_i(()=>(r(k),v(()=>Ka(r(k).id))));var Y=Zd();let se;var ae=p(Y),Q=p(ae);{var ie=U=>{var X=jd();z(()=>F(X,"src",(r(k),v(()=>r(k).avatar_url)))),A(U,X)},B=U=>{var X=_t();z(Pe=>L(X,Pe),[()=>(r(k),v(()=>ln(r(k).display_name)))]),A(U,X)};j(Q,U=>{r(k),v(()=>r(k).avatar_url)?U(ie):U(B,-1)})}var pe=_(ae,2),Ce=p(pe);z(U=>{se=Mt(Y,1,"nav-item dm",null,se,{active:r(H)?.id===r($)||r(C)?.id===r(k).id}),Yn(ae,`--hue: ${U??""}deg`),L(Ce,(r(k),v(()=>r(k).display_name)))},[()=>(r(k),v(()=>Lt(r(k).id)))]),W("click",Y,async()=>{r(H)?(g($,r(H).id),g(S,""),g(R,null),g(C,null),g(Me,"message"),g(rn,!1),await pt()):hr(r(k))}),A(y,Y)});var _c=_(ji,2);{var gc=y=>{var k=Yd();A(y,k)};j(_c,y=>{r(c),v(()=>r(c).length===0)&&y(gc)})}var mc=_(zi,2);{var bc=y=>{var k=Vd(),H=p(k),Y=p(H);{var se=U=>{var X=Xd();z(()=>F(X,"src",(r(f),v(()=>r(f).avatar_url)))),A(U,X)},ae=U=>{var X=_t();z(Pe=>L(X,Pe),[()=>(r(f),v(()=>ln(r(f).display_name)))]),A(U,X)};j(Y,U=>{r(f),v(()=>r(f).avatar_url)?U(se):U(ae,-1)})}var Q=_(H,2),ie=p(Q),B=p(ie),pe=_(ie,2),Ce=p(pe);z((U,X,Pe)=>{F(k,"aria-label",U),Yn(H,`--hue: ${X??""}deg`),L(B,(r(f),v(()=>r(f).display_name))),L(Ce,Pe)},[()=>(r(f),v(()=>`Account settings for ${r(f).display_name} ${qe(r(f).handle)}`)),()=>(r(f),v(()=>Lt(r(f).id))),()=>(r(f),r(ve),v(()=>r(f).handle?qe(r(f).handle):r(ve)?"Active":"Reconnecting…"))]),W("click",k,sn),W("contextmenu",k,U=>{U.preventDefault(),sn()}),A(y,k)};j(mc,y=>{r(f)&&y(bc)})}var Zi=_(Li,2),Yi=p(Zi),Xi=p(Yi),Vi=p(Xi);{var kc=y=>{var k=Kd(),H=p(k);z(Y=>L(H,Y),[()=>(r(a),v(()=>`@${vr(r(a))}`))]),A(y,k)},wc=y=>{var k=Jd(),H=p(k);z(()=>L(H,(r(s),v(()=>`#${r(s).name}`)))),A(y,k)},yc=y=>{var k=Qd();A(y,k)};j(Vi,y=>{r(a)?y(kc):r(s)?y(wc,1):y(yc,-1)})}var xc=_(Vi,4),Tc=p(xc),Ss=_(Xi,2),Ki=_(p(Ss),2),Ec=_(Ki,2);{var Sc=y=>{var k=ep();W("click",k,()=>{g(Te,""),g(Re,[])}),A(y,k)};j(Ec,y=>{r(Te)&&y(Sc)})}var Ac=_(Ss,2),fa=p(Ac);let Ji;var Rc=_(fa,2),Qi=_(Yi,2);{var Cc=y=>{var k=rp(),H=p(k),Y=p(H),se=p(Y),ae=_(Y,2),Q=_(H,2);Nt(Q,1,()=>r(Re),ie=>ie.message.id,(ie,B)=>{var pe=np(),Ce=p(pe),U=p(Ce);{var X=Ie=>{var et=tp();z(()=>F(et,"src",(r(B),v(()=>r(B).message.author.avatar_url)))),A(Ie,et)},Pe=Ie=>{var et=_t();z(Tn=>L(et,Tn),[()=>(r(B),v(()=>ln(r(B).message.author?.display_name)))]),A(Ie,et)};j(U,Ie=>{r(B),v(()=>r(B).message.author?.avatar_url)?Ie(X):Ie(Pe,-1)})}var qt=_(Ce,2),Gt=p(qt),cn=p(Gt),un=p(cn),Bn=_(cn,2),ge=p(Bn),G=_(Gt,2),at=p(G);z((Ie,et)=>{Yn(Ce,`--hue: ${Ie??""}deg`),L(un,(r(B),v(()=>r(B).message.author?.display_name||"Local User"))),L(ge,et),L(at,(r(B),v(()=>r(B).message.body)))},[()=>(r(B),v(()=>Lt(r(B).message.author?.id||r(B).message.author_id||"x"))),()=>(pn(Ln),r(B),v(()=>Ln(r(B).message.created_at)))]),W("click",pe,async()=>{g(Re,[]),r(B).message.channel_id&&(g(S,r(B).message.channel_id),g($,""),await pt()),r(B).message.direct_conversation_id&&(g($,r(B).message.direct_conversation_id),g(S,""),await pt())}),A(ie,pe)}),z(()=>L(se,`${r(Re),v(()=>r(Re).length)??""} ${r(Re),v(()=>r(Re).length===1?"result":"results")??""}`)),W("click",ae,()=>{g(Re,[])}),A(y,k)};j(Qi,y=>{r(Re),v(()=>r(Re).length>0)&&y(Cc)})}var da=_(Qi,2),el=p(da);{var Ic=y=>{var k=ap(),H=p(k),Y=p(H);{var se=U=>{var X=_t("@");A(U,X)},ae=U=>{var X=_t("#");A(U,X)};j(Y,U=>{r(a)?U(se):U(ae,-1)})}var Q=_(H,2),ie=p(Q);{var B=U=>{var X=_t();z(Pe=>L(X,`This is the start of your conversation with ${Pe??""}.`),[()=>(r(a),v(()=>vr(r(a))))]),A(U,X)},pe=U=>{var X=_t();z(()=>L(X,`Welcome to #${r(s),v(()=>r(s).name)??""}!`)),A(U,X)},Ce=U=>{var X=_t("Pick a channel to get started.");A(U,X)};j(ie,U=>{r(a)?U(B):r(s)?U(pe,1):U(Ce,-1)})}A(y,k)};j(el,y=>{r(E),v(()=>r(E).length===0)&&y(Ic)})}var Lc=_(el,2);Nt(Lc,1,()=>r(l),y=>y.key,(y,k)=>{var H=_p(),Y=Xn(H);{var se=ge=>{var G=sp(),at=p(G),Ie=p(at);z(()=>L(Ie,(r(k),v(()=>r(k).dayLabel)))),A(ge,G)};j(Y,ge=>{r(k),v(()=>r(k).dayLabel)&&ge(se)})}var ae=_(Y,2),Q=p(ae),ie=p(Q);{var B=ge=>{var G=ip();z(()=>F(G,"src",(r(k),v(()=>r(k).authorAvatarURL)))),A(ge,G)},pe=ge=>{var G=_t();z(at=>L(G,at),[()=>(r(k),v(()=>ln(r(k).authorName)))]),A(ge,G)};j(ie,ge=>{r(k),v(()=>r(k).authorAvatarURL)?ge(B):ge(pe,-1)})}var Ce=_(Q,2),U=p(Ce),X=p(U),Pe=p(X),qt=_(X,2);{var Gt=ge=>{var G=lp(),at=p(G);z(Ie=>L(at,Ie),[()=>(r(k),v(()=>qe(r(k).authorHandle)))]),A(ge,G)};j(qt,ge=>{r(k),v(()=>r(k).authorHandle)&&ge(Gt)})}var cn=_(qt,2),un=p(cn),Bn=_(U,2);Nt(Bn,3,()=>(r(k),v(()=>r(k).messages)),ge=>ge.id,(ge,G,at)=>{var Ie=vp();let et;var Tn=p(Ie),nr=p(Tn),qn=_(Tn,2),ye=p(qn);{var st=V=>{var I=up();let Le;var O=_(p(I),2),yt=p(O),dn=p(yt),oe=_(yt,2);{var be=Ke=>{var Dt=op(),Se=p(Dt);z(ke=>L(Se,ke),[()=>(r(G),v(()=>er(r(G).quoted_body_snapshot)))]),A(Ke,Dt)},xt=Ke=>{var Dt=cp(),Se=p(Dt);z(ke=>L(Se,`[original deleted] ${ke??""}`),[()=>(r(G),v(()=>er(r(G).quoted_body_snapshot)))]),A(Ke,Dt)};j(oe,Ke=>{r(G),v(()=>r(G).quoted_message_id)?Ke(be):Ke(xt,-1)})}z((Ke,Dt)=>{Le=Mt(I,1,"quote-block",null,Le,{dangling:!r(G).quoted_message_id}),I.disabled=(r(G),v(()=>!r(G).quoted_message_id)),F(I,"aria-label",Ke),L(dn,Dt)},[()=>(r(G),v(()=>r(G).quoted_message_id?`Jump to quoted message from ${yn(r(G))}`:"Original message was deleted")),()=>(r(G),v(()=>yn(r(G))))]),W("click",I,()=>ja(r(G))),A(V,I)};j(ye,V=>{r(G),v(()=>r(G).quoted_message_id||r(G).quoted_body_snapshot)&&V(st)})}var Wt=_(ye,2);zs(Wt,()=>(pn(Wr),r(G),v(()=>Wr(r(G).body))),!0);var Gn=_(Wt,2);{var pa=V=>{var I=hp();Nt(I,5,()=>(r(G),v(()=>r(G).attachments)),Le=>Le.id,(Le,O)=>{var yt=Aa(),dn=Xn(yt);{var oe=Se=>{var ke=fp(),ze=p(ke),it=_(ze,2),ht=p(it);z(Tt=>{F(ke,"aria-label",(r(O),v(()=>`Open image ${r(O).filename}`))),F(ze,"src",Tt),F(ze,"alt",(r(O),v(()=>r(O).filename))),L(ht,(r(O),v(()=>r(O).filename)))},[()=>(r(O),v(()=>Ve(r(O))))]),W("click",ke,()=>_r(Ve(r(O)),r(O).filename)),A(Se,ke)},be=rr(()=>(r(O),v(()=>u(r(O))))),xt=Se=>{var ke=dp(),ze=p(ke),it=p(ze),ht=_(ze,2),Tt=p(ht);z((Wn,En)=>{F(ze,"aria-label",(r(O),v(()=>r(O).filename))),F(it,"src",Wn),F(it,"type",(r(O),v(()=>r(O).content_type))),F(ht,"href",En),L(Tt,(r(O),v(()=>r(O).filename)))},[()=>(r(O),v(()=>Ve(r(O)))),()=>(r(O),v(()=>Ve(r(O))))]),A(Se,ke)},Ke=rr(()=>(r(O),v(()=>x(r(O))))),Dt=Se=>{var ke=pp(),ze=_(p(ke),2),it=p(ze),ht=p(it),Tt=_(it,2),Wn=p(Tt);z((En,va)=>{F(ke,"href",En),L(ht,(r(O),v(()=>r(O).filename))),L(Wn,va)},[()=>(r(O),v(()=>Ve(r(O)))),()=>(r(O),v(()=>N(r(O).byte_size)))]),A(Se,ke)};j(dn,Se=>{r(be)?Se(oe):r(Ke)?Se(xt,1):Se(Dt,-1)})}A(Le,yt)}),A(V,I)};j(Gn,V=>{r(G),v(()=>r(G).attachments?.length)&&V(pa)})}var ha=_(qn,2),fn=p(ha),Br=_(fn,2);z((V,I)=>{et=Mt(Ie,1,"message-row",null,et,{selected:r(R)?.id===r(G).id}),F(Ie,"data-message-id",(r(G),v(()=>r(G).id))),L(nr,V),F(Br,"data-tooltip",I)},[()=>(pn(r(at)),pn(Ln),r(G),v(()=>r(at)===0?"":Ln(r(G).created_at))),()=>(r(G),v(()=>ut(r(G))))]),W("click",fn,()=>Pr(r(G),r($)?"dm":"channel")),W("click",Br,()=>It(r(G))),A(ge,Ie)}),z((ge,G)=>{Yn(Q,`--hue: ${ge??""}deg`),F(Q,"aria-label",(r(k),v(()=>`View profile for ${r(k).authorName}`))),L(Pe,(r(k),v(()=>r(k).authorName))),L(un,G)},[()=>(r(k),v(()=>Lt(r(k).authorID))),()=>(pn(Ln),r(k),v(()=>Ln(r(k).timestamp)))]),W("click",Q,()=>hr(r(k).messages[0]?.author)),W("click",X,()=>hr(r(k).messages[0]?.author)),A(y,H)}),Us(da,y=>g(nn,y),()=>r(nn));var tl=_(da,2),nl=p(tl),rl=p(nl),al=_(rl,2),As=_(al,2),Dc=p(As);Dc.textContent="<>";var Rs=_(As,2),Oc=p(Rs);Oc.textContent="{}";var sl=_(Rs,2),il=_(sl,2);let ll;var ol=_(nl,2);{var Mc=y=>{var k=mp(),H=p(k),Y=_(p(H),2),se=_(H,2);Nt(se,5,()=>r(o),ae=>ae.url,(ae,Q)=>{var ie=gp(),B=p(ie),pe=_(B,2),Ce=p(pe);z(()=>{F(B,"src",(r(Q),v(()=>r(Q).url))),F(B,"alt",(r(Q),v(()=>r(Q).title))),L(Ce,(r(Q),v(()=>r(Q).title)))}),W("click",ie,()=>Ne(r(Q).url,r(Q).title)),A(ae,ie)}),In(Y,()=>r(zn),ae=>g(zn,ae)),A(y,k)};j(ol,y=>{r(Rt)&&y(Mc)})}var cl=_(ol,2);{var Nc=y=>{var k=kp(),H=_(p(k),2);{var Y=B=>{var pe=bp();z(Ce=>{F(pe,"src",Ce),F(pe,"alt",(r(Ee),v(()=>r(Ee).filename)))},[()=>(r(Ee),v(()=>Ve(r(Ee))))]),A(B,pe)},se=rr(()=>(r(Ee),v(()=>u(r(Ee)))));j(H,B=>{r(se)&&B(Y)})}var ae=_(H,2),Q=p(ae),ie=_(ae,2);z(B=>L(Q,`${r(Ee),v(()=>r(Ee).filename)??""} · ${B??""}`),[()=>(r(Ee),v(()=>N(r(Ee).byte_size)))]),W("click",ie,()=>g(Ee,null)),A(y,k)};j(cl,y=>{r(Ee)&&y(Nc)})}var ul=_(cl,2);{var Pc=y=>{var k=wp(),H=_(p(k),2),Y=p(H),se=_(p(Y)),ae=p(se),Q=_(Y,2),ie=p(Q),B=_(H,2);z(pe=>{L(ae,(r(de),v(()=>r(de).author?.display_name||"Local User"))),L(ie,pe)},[()=>(r(de),v(()=>er(r(de).body)))]),W("click",B,wt),A(y,k)};j(ul,y=>{r(de)&&r(Je)===(r($)?"dm":"channel")&&y(Pc)})}var zc=_(ul,2),fl=p(zc),$c=p(fl),gr=_(fl,2);Us(gr,y=>g(Ft,y),()=>r(Ft)),Na(()=>In(gr,()=>r(he),y=>g(he,y))),yl(gr,(y,k)=>Fr?.(y),()=>r(he));var Fc=_(gr,2),Cs=_(Zi,2);let dl;var Uc=p(Cs);{var Hc=y=>{var k=Fp(),H=Xn(k),Y=p(H),se=_(p(Y),2),ae=p(se),Q=_(Y,2),ie=_(H,2),B=p(ie),pe=p(B),Ce=p(pe);{var U=V=>{var I=yp();z(()=>F(I,"src",(r(R),v(()=>r(R).author.avatar_url)))),A(V,I)},X=V=>{var I=_t();z(Le=>L(I,Le),[()=>(r(R),v(()=>ln(r(R).author?.display_name)))]),A(V,I)};j(Ce,V=>{r(R),v(()=>r(R).author?.avatar_url)?V(U):V(X,-1)})}var Pe=_(pe,2),qt=p(Pe),Gt=p(qt),cn=p(Gt),un=_(Gt,2);{var Bn=V=>{var I=xp(),Le=p(I);z(O=>L(Le,O),[()=>(r(R),v(()=>qe(r(R).author.handle)))]),A(V,I)};j(un,V=>{r(R),v(()=>r(R).author?.handle)&&V(Bn)})}var ge=_(un,2),G=p(ge),at=_(ge,2),Ie=_(qt,2);zs(Ie,()=>(pn(Wr),r(R),v(()=>Wr(r(R).body))),!0);var et=_(Ie,2);{var Tn=V=>{var I=Ap();Nt(I,5,()=>(r(R),v(()=>r(R).attachments)),Le=>Le.id,(Le,O)=>{var yt=Aa(),dn=Xn(yt);{var oe=Se=>{var ke=Tp(),ze=p(ke),it=_(ze,2),ht=p(it);z(Tt=>{F(ke,"aria-label",(r(O),v(()=>`Open image ${r(O).filename}`))),F(ze,"src",Tt),F(ze,"alt",(r(O),v(()=>r(O).filename))),L(ht,(r(O),v(()=>r(O).filename)))},[()=>(r(O),v(()=>Ve(r(O))))]),W("click",ke,()=>_r(Ve(r(O)),r(O).filename)),A(Se,ke)},be=rr(()=>(r(O),v(()=>u(r(O))))),xt=Se=>{var ke=Ep(),ze=p(ke),it=p(ze),ht=_(ze,2),Tt=p(ht);z((Wn,En)=>{F(ze,"aria-label",(r(O),v(()=>r(O).filename))),F(it,"src",Wn),F(it,"type",(r(O),v(()=>r(O).content_type))),F(ht,"href",En),L(Tt,(r(O),v(()=>r(O).filename)))},[()=>(r(O),v(()=>Ve(r(O)))),()=>(r(O),v(()=>Ve(r(O))))]),A(Se,ke)},Ke=rr(()=>(r(O),v(()=>x(r(O))))),Dt=Se=>{var ke=Sp(),ze=_(p(ke),2),it=p(ze),ht=p(it),Tt=_(it,2),Wn=p(Tt);z((En,va)=>{F(ke,"href",En),L(ht,(r(O),v(()=>r(O).filename))),L(Wn,va)},[()=>(r(O),v(()=>Ve(r(O)))),()=>(r(O),v(()=>N(r(O).byte_size)))]),A(Se,ke)};j(dn,Se=>{r(be)?Se(oe):r(Ke)?Se(xt,1):Se(Dt,-1)})}A(Le,yt)}),A(V,I)};j(et,V=>{r(R),v(()=>r(R).attachments?.length)&&V(Tn)})}var nr=_(B,2),qn=p(nr),ye=p(qn),st=_(nr,2);Nt(st,5,()=>r(T),V=>V.id,(V,I)=>{var Le=zp(),O=p(Le),yt=p(O);{var dn=je=>{var Ze=Rp();z(()=>F(Ze,"src",(r(I),v(()=>r(I).author.avatar_url)))),A(je,Ze)},oe=je=>{var Ze=_t();z(Sn=>L(Ze,Sn),[()=>(r(I),v(()=>ln(r(I).author?.display_name)))]),A(je,Ze)};j(yt,je=>{r(I),v(()=>r(I).author?.avatar_url)?je(dn):je(oe,-1)})}var be=_(O,2),xt=p(be),Ke=p(xt),Dt=p(Ke),Se=_(Ke,2);{var ke=je=>{var Ze=Cp(),Sn=p(Ze);z(ce=>L(Sn,ce),[()=>(r(I),v(()=>qe(r(I).author.handle)))]),A(je,Ze)};j(Se,je=>{r(I),v(()=>r(I).author?.handle)&&je(ke)})}var ze=_(Se,2),it=p(ze),ht=_(ze,2),Tt=_(xt,2);{var Wn=je=>{var Ze=Dp();let Sn;var ce=_(p(Ze),2),_a=p(ce),Is=p(_a),Ls=_(_a,2);{var Ds=An=>{var jn=Ip(),Ot=p(jn);z(vt=>L(Ot,vt),[()=>(r(I),v(()=>er(r(I).quoted_body_snapshot)))]),A(An,jn)},Os=An=>{var jn=Lp(),Ot=p(jn);z(vt=>L(Ot,`[original deleted] ${vt??""}`),[()=>(r(I),v(()=>er(r(I).quoted_body_snapshot)))]),A(An,jn)};j(Ls,An=>{r(I),v(()=>r(I).quoted_message_id)?An(Ds):An(Os,-1)})}z((An,jn)=>{Sn=Mt(Ze,1,"quote-block",null,Sn,{dangling:!r(I).quoted_message_id}),Ze.disabled=(r(I),v(()=>!r(I).quoted_message_id)),F(Ze,"aria-label",An),L(Is,jn)},[()=>(r(I),v(()=>r(I).quoted_message_id?`Jump to quoted message from ${yn(r(I))}`:"Original message was deleted")),()=>(r(I),v(()=>yn(r(I))))]),W("click",Ze,()=>ja(r(I))),A(je,Ze)};j(Tt,je=>{r(I),v(()=>r(I).quoted_message_id||r(I).quoted_body_snapshot)&&je(Wn)})}var En=_(Tt,2);zs(En,()=>(pn(Wr),r(I),v(()=>Wr(r(I).body))),!0);var va=_(En,2);{var Zc=je=>{var Ze=Pp();Nt(Ze,5,()=>(r(I),v(()=>r(I).attachments)),Sn=>Sn.id,(Sn,ce)=>{var _a=Aa(),Is=Xn(_a);{var Ls=Ot=>{var vt=Op(),Zn=p(vt),mr=_(Zn,2),qr=p(mr);z(ga=>{F(vt,"aria-label",(r(ce),v(()=>`Open image ${r(ce).filename}`))),F(Zn,"src",ga),F(Zn,"alt",(r(ce),v(()=>r(ce).filename))),L(qr,(r(ce),v(()=>r(ce).filename)))},[()=>(r(ce),v(()=>Ve(r(ce))))]),W("click",vt,()=>_r(Ve(r(ce)),r(ce).filename)),A(Ot,vt)},Ds=rr(()=>(r(ce),v(()=>u(r(ce))))),Os=Ot=>{var vt=Mp(),Zn=p(vt),mr=p(Zn),qr=_(Zn,2),ga=p(qr);z((Ms,Ns)=>{F(Zn,"aria-label",(r(ce),v(()=>r(ce).filename))),F(mr,"src",Ms),F(mr,"type",(r(ce),v(()=>r(ce).content_type))),F(qr,"href",Ns),L(ga,(r(ce),v(()=>r(ce).filename)))},[()=>(r(ce),v(()=>Ve(r(ce)))),()=>(r(ce),v(()=>Ve(r(ce))))]),A(Ot,vt)},An=rr(()=>(r(ce),v(()=>x(r(ce))))),jn=Ot=>{var vt=Np(),Zn=_(p(vt),2),mr=p(Zn),qr=p(mr),ga=_(mr,2),Ms=p(ga);z((Ns,Yc)=>{F(vt,"href",Ns),L(qr,(r(ce),v(()=>r(ce).filename))),L(Ms,Yc)},[()=>(r(ce),v(()=>Ve(r(ce)))),()=>(r(ce),v(()=>N(r(ce).byte_size)))]),A(Ot,vt)};j(Is,Ot=>{r(Ds)?Ot(Ls):r(An)?Ot(Os,1):Ot(jn,-1)})}A(Sn,_a)}),A(je,Ze)};j(va,je=>{r(I),v(()=>r(I).attachments?.length)&&je(Zc)})}z((je,Ze)=>{F(Le,"data-message-id",(r(I),v(()=>r(I).id))),Yn(O,`--hue: ${je??""}deg`),L(Dt,(r(I),v(()=>r(I).author?.display_name||"Local User"))),L(it,Ze)},[()=>(r(I),v(()=>Lt(r(I).author?.id||r(I).author_id||"x"))),()=>(pn(Ln),r(I),v(()=>Ln(r(I).created_at)))]),W("click",ht,()=>Pr(r(I),"thread")),A(V,Le)});var Wt=_(ie,2),Gn=p(Wt);{var pa=V=>{var I=$p(),Le=_(p(I),2),O=p(Le),yt=_(p(O)),dn=p(yt),oe=_(O,2),be=p(oe),xt=_(Le,2);z(Ke=>{L(dn,(r(de),v(()=>r(de).author?.display_name||"Local User"))),L(be,Ke)},[()=>(r(de),v(()=>er(r(de).body)))]),W("click",xt,wt),A(V,I)};j(Gn,V=>{r(de)&&r(Je)==="thread"&&V(pa)})}var ha=_(Gn,2),fn=p(ha);Us(fn,V=>g(an,V),()=>r(an)),Na(()=>In(fn,()=>r(Ae),V=>g(Ae,V))),yl(fn,(V,I)=>Fr?.(V),()=>r(Ae));var Br=_(fn,2);z((V,I,Le)=>{L(ae,`${r(ee),r(T),v(()=>r(ee)?.reply_count??r(T).length)??""} ${r(ee),r(T),v(()=>(r(ee)?.reply_count??r(T).length)===1?"reply":"replies")??""}`),F(B,"data-message-id",(r(R),v(()=>r(R).id))),Yn(pe,`--hue: ${V??""}deg`),L(cn,(r(R),v(()=>r(R).author?.display_name||"Local User"))),L(G,I),L(ye,`${r(T),v(()=>r(T).length)??""} ${r(T),v(()=>r(T).length===1?"reply":"replies")??""}`),Br.disabled=Le},[()=>(r(R),v(()=>Lt(r(R).author?.id||r(R).author_id||"x"))),()=>(pn(Ln),r(R),v(()=>Ln(r(R).created_at))),()=>(r(Ae),v(()=>!r(Ae).trim()))]),W("click",Q,()=>{ft()}),W("pointerdown",ie,()=>g(Me,"thread")),W("pointerup",ie,q),W("click",at,()=>r(R)&&Pr(r(R),"thread")),Cn("submit",Wt,V=>{V.preventDefault(),Nr()}),Cn("focus",fn,()=>g(Me,"thread")),W("keydown",fn,Qa),A(y,k)},Bc=y=>{var k=Wp(),H=Xn(k),Y=p(H),se=_(p(Y),2),ae=p(se),Q=_(Y,2),ie=_(H,2),B=p(ie),pe=p(B),Ce=p(pe);{var U=oe=>{var be=Up();z(()=>F(be,"src",(r(C),v(()=>r(C).avatar_url)))),A(oe,be)},X=oe=>{var be=_t();z(xt=>L(be,xt),[()=>(r(C),v(()=>ln(r(C).display_name)))]),A(oe,be)};j(Ce,oe=>{r(C),v(()=>r(C).avatar_url)?oe(U):oe(X,-1)})}var Pe=_(B,2),qt=p(Pe),Gt=p(qt),cn=p(Gt),un=p(cn),Bn=_(cn,2);{var ge=oe=>{var be=Hp(),xt=p(be);z(Ke=>L(xt,Ke),[()=>(r(C),v(()=>qe(r(C).handle)))]),A(oe,be)};j(Bn,oe=>{r(C),v(()=>r(C).handle)&&oe(ge)})}var G=_(Gt,2);{var at=oe=>{var be=Bp();W("click",be,sn),A(oe,be)};j(G,oe=>{r(f),r(C),v(()=>r(f)?.id===r(C).id)&&oe(at)})}var Ie=_(qt,4),et=p(Ie);{var Tn=oe=>{var be=qp();W("click",be,()=>Za(r(C)?.id||"")),A(oe,be)};j(et,oe=>{r(f),r(C),v(()=>r(f)?.id!==r(C).id)&&oe(Tn)})}var nr=_(et,2),qn=_(Ie,2),ye=p(qn),st=_(p(ye),2);{var Wt=oe=>{var be=Gp();W("click",be,sn),A(oe,be)};j(st,oe=>{r(f),r(C),v(()=>r(f)?.id===r(C).id)&&oe(Wt)})}var Gn=_(ye,2),pa=_(p(Gn),2),ha=_(p(pa),2),fn=p(ha),Br=_(Gn,2),V=_(p(Br),2),I=_(p(V),2),Le=p(I),O=_(qn,2),yt=_(p(O),2),dn=p(yt);z((oe,be)=>{L(ae,(r(C),v(()=>r(C).display_name))),Yn(B,`--hue: ${oe??""}deg`),L(un,(r(C),v(()=>r(C).display_name))),L(fn,be),L(Le,(r(C),v(()=>r(C).id))),L(dn,`Member of ${r(n),v(()=>r(n)?.name||"this workspace")??""}. Click Message to keep the conversation in your sidebar.`)},[()=>(r(C),v(()=>Lt(r(C).id))),()=>(r(C),v(()=>r(C).handle?qe(r(C).handle):"No handle set"))]),W("click",Q,ft),W("click",nr,()=>g($t,"status messages are coming soon")),A(y,k)},qc=y=>{var k=jp();A(y,k)};j(Uc,y=>{r(R)?y(Hc):r(C)?y(Bc,1):y(qc,-1)})}var pl=_(P,2);{var Gc=y=>{var k=Xp(),H=p(k),Y=_(H,2),se=p(Y),ae=_(p(se),2),Q=_(se,2),ie=p(Q),B=p(ie),pe=p(B);{var Ce=ye=>{var st=Zp();z(()=>F(st,"src",r(Jn))),A(ye,st)},U=ye=>{var st=_t();z(Wt=>L(st,Wt),[()=>(r(zt),v(()=>ln(r(zt))))]),A(ye,st)};j(pe,ye=>{r(Jn)?ye(Ce):ye(U,-1)})}var X=_(B,2),Pe=p(X),qt=p(Pe),Gt=_(Pe,2),cn=p(Gt),un=_(ie,2),Bn=_(p(un),2),ge=_(un,2),G=_(p(ge),2),at=_(ge,2),Ie=_(p(at),2),et=_(at,2);{var Tn=ye=>{var st=Yp();let Wt;var Gn=p(st);z(()=>{Wt=Mt(st,1,"profile-status",null,Wt,{error:r(Oe)}),L(Gn,r($n))}),A(ye,st)};j(et,ye=>{r($n)&&ye(Tn)})}var nr=_(et,2),qn=p(nr);z((ye,st)=>{Yn(B,`--hue: ${ye??""}deg`),L(qt,(r(zt),r(f),v(()=>r(zt)||r(f).display_name))),L(cn,st)},[()=>(r(f),v(()=>Lt(r(f).id))),()=>(r(en),r(f),v(()=>r(en)||qe(r(f).handle)||"No handle set"))]),W("click",H,Qe),W("click",ae,Qe),Cn("submit",Q,ye=>{ye.preventDefault(),Or()}),In(Bn,()=>r(zt),ye=>g(zt,ye)),In(G,()=>r(en),ye=>g(en,ye)),In(Ie,()=>r(Jn),ye=>g(Jn,ye)),W("click",qn,Qe),A(y,k)};j(pl,y=>{r(kn)&&r(f)&&y(Gc)})}var Wc=_(pl,2);{var jc=y=>{var k=Vp(),H=p(k),Y=_(H,2),se=p(Y),ae=p(se),Q=p(ae),ie=_(ae,2),B=p(ie),pe=_(B,2),Ce=_(se,2),U=p(Ce);z(()=>{L(Q,(r(le),v(()=>r(le).title))),F(B,"href",(r(le),v(()=>r(le).url))),F(U,"src",(r(le),v(()=>r(le).url))),F(U,"alt",(r(le),v(()=>r(le).title)))}),W("click",H,Qe),W("click",pe,Qe),A(y,k)};j(Wc,y=>{r(le)&&y(jc)})}z((y,k)=>{J=Mt(P,1,"shell",null,J,{"nav-open":r(rn),"sidebar-collapsed":r(Fn),"thread-open":r(i)}),L(ac,(r(n),v(()=>r(n)?.name||"Pick a workspace"))),Pi=Mt(Ni,1,"presence",null,Pi,{online:r(ve)}),L(sc,r(ve)?"Connected":r($t)),F(rs,"aria-label",r(Fn)?"Expand sidebar":"Collapse sidebar"),F(rs,"title",r(Fn)?"Expand sidebar":"Collapse sidebar"),F(lc,"d",r(Fn)?"m9 6 6 6-6 6":"m15 6-6 6 6 6"),L(Tc,(r(n),v(()=>r(n)?.name||"no workspace"))),F(fa,"title",r(R)?"Close thread":"Open a message thread"),F(fa,"aria-label",r(R)?"Close thread":"Open a message thread"),Ji=Mt(fa,1,"",null,Ji,{active:r(i)}),ll=Mt(il,1,"",null,ll,{active:r(Rt)}),F(gr,"placeholder",y),Fc.disabled=k,dl=Mt(Cs,1,"thread",null,dl,{open:r(i)}),F(Cs,"aria-label",r(C)?"Profile pane":"Thread pane")},[()=>(r(a),r(s),v(()=>r(a)?`Message ${vr(r(a))}`:r(s)?`Message #${r(s).name}`:"Pick a channel to start")),()=>(r(he),v(()=>!r(he).trim()))]),W("click",me,()=>g(rn,!r(rn))),W("click",Es,()=>g(Ct,!r(Ct))),W("click",rs,()=>g(Fn,!r(Fn))),Cn("submit",Hi,y=>{y.preventDefault(),qa()}),In(uc,()=>r(rt),y=>g(rt,y)),Cn("submit",Wi,y=>{y.preventDefault(),xs()}),In(pc,()=>r(xe),y=>g(xe,y)),Cn("submit",Ss,y=>{y.preventDefault(),ys()}),In(Ki,()=>r(Te),y=>g(Te,y)),W("click",fa,()=>{r(i)?ft():g($t,"pick a message to open its thread")}),W("click",Rc,()=>g($t,"no pinned items")),W("pointerdown",da,()=>g(Me,"message")),W("pointerup",da,q),Cn("submit",tl,y=>{y.preventDefault(),Hn()}),W("click",rl,()=>Be("**")),W("click",al,()=>Be("_")),W("click",As,()=>Be("`")),W("click",Rs,()=>Be("```","\n```")),W("click",sl,()=>_e("[label](https://)")),W("click",il,()=>g(Rt,!r(Rt))),W("change",$c,He),Cn("focus",gr,()=>g(Me,"message")),W("keydown",gr,Ts),A(d,b)};j(Ge,d=>{r(Ue)?d(es):d(ts,-1)})}A(e,Ur),di()}nf(["click","contextmenu","pointerdown","pointerup","change","keydown"]);var Qp=M(' ',1),eh=M("

    "),th=M(`

    Self-hostable chat. Serious tool. Mild brine.

    ClickClack

    A single-binary chat app for teams, communities, bots, and agents: + Slack-style threads, durable realtime, OpenAPI, SQLite, and a CLI that + can drive the whole thing from a shell.

    What it is

    Chat infrastructure that stays boring when the socket drops.

    WebSocket is the pipe. The database is the truth. Every durable message, + thread reply, reaction, and channel update can be recovered over HTTP with + a cursor, so clients and agents can reconnect without drama.

    Agent path

    A friendly CLI, no LLM baked in.

    External agents, CI jobs, and humans use the same public API as the web + app. Tokens and workspace defaults are scoped per server, so switching + hosts does not leak credentials or stale IDs.

     

    Destinations

    Product at the root. Docs and app where people expect them.

    `);function nh(e,t){fi(t,!1);const n="https://docs.clickclack.chat",s=["localhost","127.0.0.1","::1"].includes(window.location.hostname)?"/app":"https://app.clickclack.chat",a="https://github.com/openclaw/clickclack",i=[["Single binary","Go server, embedded Svelte app, embedded migrations, local SQLite and uploads."],["Threads that recover","Slack-style one-level threads with durable event replay after reconnects."],["Agent-friendly","A CLI, OpenAPI contract, TypeScript SDK, webhooks, and slash-command shapes."],["Self-host first","SQLite is the default, not the demo. Postgres can arrive behind the store layer."]],l=["clickclack serve --data ./data","clickclack login --magic-token mgt_...",'clickclack send --channel general "deploy started"',"clickclack threads reply msg_... --stdin {var Ee=Qp();Na(()=>{_o.title="ClickClack - Self-hostable chat with claws"}),A(Re,Ee)});var o=p(c),f=_(p(o),2),h=_(p(f),2),w=p(h);F(w,"href",n);var m=_(w,2),E=_(m,2);F(E,"href",a);var T=_(f,2),D=_(p(T),6),S=p(D),$=_(S,2);F($,"href",n);var R=_($,2);F(R,"href",a);var ee=_(o,4);Nt(ee,5,()=>i,ff,(Re,Ee)=>{var Rt=eh(),kn=p(Rt),zn=p(kn),zt=_(kn,2),en=p(zt);z(()=>{L(zn,r(Ee)[0]),L(en,r(Ee)[1])}),A(Re,Rt)});var C=_(ee,2),le=_(p(C),2),he=p(le),Ae=_(C,2),nt=_(p(Ae),2),rt=_(p(nt),2);F(rt,"href",n);var xe=_(rt,2),Te=_(xe,2);F(Te,"href",a),z(Re=>{F(m,"href",s),F(S,"href",s),L(he,Re),F(xe,"href",s)},[()=>l.join(` +`)]),A(e,c),di()}function rh(e){const t=window.location.pathname,s=window.location.hostname.startsWith("app.")||t==="/app"||t.startsWith("/app/");var a=Aa(),i=Xn(a);{var l=o=>{Jp(o,{})},c=o=>{nh(o,{})};j(i,o=>{s?o(l):o(c,-1)})}A(e,a)}lf(rh,{target:document.getElementById("app")}); diff --git a/apps/api/internal/webassets/dist/assets/index-ocU3Zi-h.css b/apps/api/internal/webassets/dist/assets/index-DnVRnSi7.css similarity index 67% rename from apps/api/internal/webassets/dist/assets/index-ocU3Zi-h.css rename to apps/api/internal/webassets/dist/assets/index-DnVRnSi7.css index 66fb051..5bd09c7 100644 --- a/apps/api/internal/webassets/dist/assets/index-ocU3Zi-h.css +++ b/apps/api/internal/webassets/dist/assets/index-DnVRnSi7.css @@ -1 +1 @@ -.product-site{min-height:100vh;background:#f7f3ea;color:#151716;font-family:Avenir Next,Segoe UI,ui-sans-serif,system-ui,sans-serif}.product-site a{color:inherit;text-decoration:none}.hero{position:relative;display:grid;min-height:clamp(680px,92vh,920px);overflow:hidden;isolation:isolate;background:linear-gradient(90deg,#0c1f23c7,#0c1f232e 62%,#0c1f23b3),#103033;color:#fff8ee}.hero:after{position:absolute;inset:auto 0 0;height:22vh;min-height:130px;background:linear-gradient(0deg,#f7f3ea 8%,#f7f3ea00);content:"";z-index:-1}.hero:before{position:absolute;inset:0 38% 0 0;background:linear-gradient(90deg,#081c1efa,#081c1e00);content:"";z-index:-1}.hero-bg{position:absolute;inset:0 0 0 clamp(260px,28vw,460px);display:grid;grid-template-columns:92px minmax(360px,1fr) minmax(260px,28vw);gap:18px;padding:102px clamp(18px,5vw,70px) 80px;opacity:.36;z-index:-2}.workspace-rail,.timeline-preview,.thread-preview{border:1px solid rgba(255,248,238,.24);background:#fff8ee1f;box-shadow:0 28px 90px #0000003d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.workspace-rail{display:grid;align-content:start;gap:14px;padding:16px}.workspace-rail span{display:grid;place-items:center;min-height:54px;border-radius:8px;background:#fff8ee2e;color:#fff8ee;font-weight:900;text-transform:uppercase}.timeline-preview{align-self:stretch;padding:clamp(18px,3vw,34px)}.preview-top{display:flex;justify-content:space-between;margin-bottom:48px;color:#b9ddd9;font-weight:800}.preview-top strong{color:#7ce0b5}.timeline-preview article,.thread-preview{max-width:720px;margin:0 0 18px;border-radius:8px;background:#fff8ee29;padding:18px}.timeline-preview b,.thread-preview span{color:#ff8a70}.timeline-preview p,.thread-preview p{margin:6px 0 0;color:#fff8ee;font-size:clamp(17px,1.8vw,24px)}.timeline-preview code{border-radius:5px;background:#0c1f2394;padding:2px 5px}.thread-line{margin-left:clamp(0px,8vw,130px)}.thread-preview{align-self:center;min-height:260px}.product-nav{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px clamp(18px,5vw,70px);font-weight:800}.product-nav>div{display:flex;gap:clamp(14px,3vw,34px)}.brand-lockup{display:inline-flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:#ff6f55;color:#151716;font-weight:950;text-transform:uppercase}.hero-copy{position:relative;z-index:2;align-self:center;width:min(780px,calc(100vw - 36px));padding:0 clamp(18px,5vw,70px) 16vh}.eyebrow,.section-kicker{margin:0 0 14px;color:#ffb09f;font-size:13px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.hero h1,.product-band h2{margin:0;letter-spacing:0}.hero h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(66px,13vw,152px);font-weight:900;line-height:.9}.lede{width:min(680px,100%);margin:26px 0 0;color:#fff3df;font-size:clamp(20px,2.2vw,31px);line-height:1.18}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:8px;padding:0 18px;font-weight:950}.primary-action{background:#ff6f55;color:#151716}.secondary-action{border:1px solid rgba(255,248,238,.42);color:#fff8ee}.product-band{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr);gap:clamp(28px,6vw,90px);padding:clamp(58px,8vw,112px) clamp(18px,5vw,70px)}.product-band h2{max-width:720px;font-size:clamp(34px,5vw,74px);line-height:.96}.product-band p{margin:0;color:#3f4743;font-size:clamp(18px,2.1vw,27px);line-height:1.34}.intro-band{padding-top:0}.intro-band .section-kicker,.cli-band .section-kicker,.docs-band .section-kicker{color:#b84632}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #c8c0b2}.feature-grid article{min-height:250px;border-right:1px solid #c8c0b2;padding:clamp(22px,3vw,40px)}.feature-grid article:nth-child(2n){background:#e8f0e9}.feature-grid article:last-child{border-right:0}.feature-grid h3{margin:0 0 44px;font-size:24px}.feature-grid p{margin:0;color:#48504c;line-height:1.45}.cli-band{background:#162a2d;color:#fff8ee}.cli-band p{color:#c9d8d4}.cli-band pre{overflow:auto;align-self:start;margin:0;border:1px solid rgba(255,248,238,.18);border-radius:8px;background:#071314;color:#bdf1dc;padding:clamp(18px,3vw,32px);line-height:1.7}.docs-band{background:#fffaf0}.destination-list{display:grid;gap:12px}.destination-list a{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #cbc2b3;padding:18px 0;font-size:clamp(21px,3vw,40px);font-weight:900}.destination-list span{color:#6f7772;font-size:15px;font-weight:700;text-align:right}@media(prefers-color-scheme:dark){.product-site{background:#101616;color:#fff8ee}.hero:after{background:linear-gradient(0deg,#101616 8%,#10161600)}.product-band p,.feature-grid p,.destination-list span{color:#bac7c3}.feature-grid{border-color:#34413e}.feature-grid article{border-color:#34413e}.feature-grid article:nth-child(2n),.docs-band{background:#182221}}@media(max-width:900px){.hero:before{inset-right:0}.hero-bg{inset:0;grid-template-columns:58px minmax(0,1fr);padding-top:90px;opacity:.38}.thread-preview{display:none}.product-band,.feature-grid{grid-template-columns:1fr}.feature-grid article,.feature-grid article:last-child{min-height:0;border-right:0;border-bottom:1px solid #c8c0b2}}@media(max-width:620px){.product-nav{align-items:flex-start;flex-direction:column}.hero{min-height:760px}.hero-bg{grid-template-columns:1fr;opacity:.42}.workspace-rail{display:none}.hero-copy{padding-bottom:90px}.destination-list a{flex-direction:column}.destination-list span{text-align:left}}:root{color-scheme:light dark;font-family:Inter,SF Pro Text,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"ss01","cv11";--rail: #e9e1d7;--bg: #f7f3ed;--panel: #fffaf2;--panel-2: #efe7dc;--panel-3: #e4dbcf;--hover: rgba(16, 32, 39, .05);--hover-strong: rgba(16, 32, 39, .08);--line: rgba(16, 32, 39, .1);--line-strong: rgba(16, 32, 39, .16);--text: #22201d;--text-strong: #11100e;--muted: #6f675f;--muted-2: #958b80;--accent: #dd5d45;--accent-2: #006d77;--accent-soft: rgba(221, 93, 69, .16);--accent-glow: 0 0 0 1px rgba(221, 93, 69, .28), 0 8px 30px -12px rgba(221, 93, 69, .45);--success: #168b51;--warn: #f5b050;--danger: #c84343;--shadow: 0 24px 60px -24px rgba(16, 32, 39, .32);--radius-sm: 6px;--radius: 8px;--radius-lg: 14px;--radius-xl: 18px;background:var(--bg);color:var(--text)}@media(prefers-color-scheme:dark){:root{--rail: #0d0e12;--bg: #131419;--panel: #1a1b22;--panel-2: #20222b;--panel-3: #272a35;--hover: rgba(255, 255, 255, .04);--hover-strong: rgba(255, 255, 255, .07);--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .12);--text: #e7e9ee;--text-strong: #ffffff;--muted: #8a8f9c;--muted-2: #5d626d;--accent: #6f7eff;--accent-2: #5666ee;--accent-soft: rgba(111, 126, 255, .18);--accent-glow: 0 0 0 1px rgba(111, 126, 255, .4), 0 8px 30px -12px rgba(111, 126, 255, .6);--success: #2ecc71;--warn: #f5b050;--danger: #ff6b6b;--shadow: 0 24px 60px -20px rgba(0, 0, 0, .6)}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:radial-gradient(1000px 600px at 0% 0%,rgba(111,126,255,.08),transparent 60%),radial-gradient(900px 700px at 100% 100%,rgba(255,130,200,.05),transparent 60%),var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}input,textarea{background:transparent;border:0;outline:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#ffffff1f;background-clip:content-box}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:32px;background:radial-gradient(700px 500px at 30% 20%,rgba(111,126,255,.18),transparent 60%),radial-gradient(700px 500px at 80% 90%,rgba(255,110,196,.12),transparent 60%),var(--bg)}.auth-panel{display:grid;gap:22px;width:min(100%,440px);border:1px solid var(--line-strong);border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffff0a,#fff0) var(--panel);box-shadow:var(--shadow);padding:36px}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand .mark{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--accent),#b46cff);color:#fff;font-weight:800;letter-spacing:-.02em;box-shadow:0 10px 24px -8px #6f7effb3}.auth-brand .brand-text strong{display:block;color:var(--text-strong);letter-spacing:-.01em}.auth-brand .brand-text span{display:block;color:var(--muted);font-size:12px}.auth-copy{display:grid;gap:8px;margin-top:8px}.auth-copy h1{margin:0;font-size:28px;letter-spacing:-.02em;color:var(--text-strong)}.auth-copy p{margin:0;color:var(--muted);line-height:1.5}.github-login{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;border-radius:12px;background:#0d1117;color:#fff;font-weight:600;text-decoration:none;border:1px solid #2b2f36;transition:transform 80ms ease,background .12s ease,border-color .12s ease}.github-login:hover{background:#161b22;border-color:#3f4750;transform:translateY(-1px)}.auth-foot{margin:0;color:var(--muted-2);font-size:12px;text-align:center}.shell{display:grid;grid-template-columns:72px 260px minmax(0,1fr) 0;height:100vh;min-height:100vh;overflow:hidden;transition:grid-template-columns .22s cubic-bezier(.2,.8,.2,1)}.shell.thread-open{grid-template-columns:72px 260px minmax(0,1fr) minmax(340px,28vw)}.shell.sidebar-collapsed{grid-template-columns:72px 0 minmax(0,1fr) 0}.shell.sidebar-collapsed.thread-open{grid-template-columns:72px 0 minmax(0,1fr) minmax(340px,28vw)}.guild-rail{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 0;background:var(--rail);border-right:1px solid var(--line);overflow-y:auto;position:relative}.guild-rail .guild{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--panel-2);color:var(--text);border:0;font-weight:700;font-size:14px;letter-spacing:-.02em;position:relative;transition:border-radius .14s ease,background .12s ease,transform .12s ease;box-shadow:0 1px #ffffff0a inset}.guild-rail .guild:hover{border-radius:12px;background:var(--accent);color:#fff;box-shadow:0 8px 24px -10px #6f7eff99}.guild-rail .guild.home{background:linear-gradient(135deg,var(--accent),#b46cff);color:#fff;font-weight:800}.guild-rail .guild.home:hover{border-radius:12px;filter:brightness(1.1)}.guild-rail .guild.add{background:transparent;color:var(--success);border:1px dashed rgba(46,204,113,.4)}.guild-rail .guild.add:hover{background:#2ecc711f;color:#fff;border-style:solid;border-color:var(--success)}.guild-divider{width:36px;height:1px;background:var(--line-strong);margin:4px 0}.guild-list{display:flex;flex-direction:column;align-items:center;gap:8px}.guild-wrap{position:relative}.guild-wrap:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%) scaleY(.2);width:4px;height:28px;border-radius:0 4px 4px 0;background:var(--text-strong);opacity:0;transition:opacity .14s ease,transform .14s ease}.guild-wrap:hover:before{opacity:.6;transform:translateY(-50%) scaleY(.5)}.guild-wrap.active:before{opacity:1;transform:translateY(-50%) scaleY(1)}.guild-wrap.active .guild{border-radius:14px;background:var(--accent);color:#fff}.guild-create{position:absolute;left:100%;top:14px;margin-left:8px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);padding:8px;box-shadow:var(--shadow);z-index:20}.guild-create input{height:32px;padding:0 10px;width:200px;border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text)}.sidebar{display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--panel);border-right:1px solid var(--line);overflow:hidden;min-width:0;transition:opacity .16s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;transform:translate(-14px)}.workspace-header{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;min-height:60px}.sidebar-collapse{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;background:var(--panel-2);color:var(--muted);transition:color .12s ease,background .12s ease,transform .12s ease}.sidebar-collapse:hover{background:var(--panel-3);color:var(--text-strong);transform:translate(-1px)}.workspace-name{display:flex;flex-direction:column;gap:2px;min-width:0}.workspace-name strong{color:var(--text-strong);letter-spacing:-.01em;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-name .presence{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.workspace-name .presence:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted-2)}.workspace-name .presence.online{color:var(--success)}.workspace-name .presence.online:before{background:var(--success);box-shadow:0 0 0 3px #2ecc712e}.sidebar-scroll{overflow-y:auto;padding:12px 8px 16px}.nav-section+.nav-section{margin-top:12px}.section-title{display:flex;align-items:center;gap:6px;width:100%;border:0;background:transparent;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.04em;padding:6px 8px;border-radius:var(--radius-sm)}.section-title:hover{color:var(--text);background:var(--hover)}.section-title .caret{font-size:10px;opacity:.7}.section-title .label{flex:1;text-align:left}.section-title .add-button{width:18px;height:18px;border-radius:4px;display:grid;place-items:center;font-size:14px;font-weight:700;background:#ffffff0f;color:var(--text)}.section-title:hover .add-button{background:var(--accent);color:#fff}.nav-list{display:flex;flex-direction:column;gap:1px;margin-top:4px}.nav-item{display:flex;align-items:center;gap:8px;width:100%;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);text-align:left;padding:6px 10px;min-height:30px;transition:background .1s ease,color .1s ease}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--text-strong)}.nav-item .hash{color:var(--muted);font-weight:600;width:14px;text-align:center}.nav-item.active .hash{color:var(--accent)}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.nav-empty{margin:4px 8px;color:var(--muted-2);font-size:12px}.dm-avatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;background:linear-gradient(135deg,hsl(var(--hue, 220deg) 70% 55%),hsl(calc(var(--hue, 220deg) + 40deg) 70% 45%));flex-shrink:0;overflow:hidden}.dm-avatar img,.avatar img{width:100%;height:100%;display:block;object-fit:cover}.presence-dot{width:8px;height:8px;border-radius:50%;background:var(--muted-2);flex-shrink:0}.presence-dot.active{background:var(--success);box-shadow:0 0 0 2px var(--panel)}.inline-create{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin:6px 4px 2px}.inline-create input{width:100%;min-width:0;height:30px;padding:0 10px;border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text);border:1px solid var(--line)}.inline-create input:focus{border-color:var(--accent);background:var(--panel-3)}.inline-create button.ghost,button.ghost{width:30px;height:30px;border:0;border-radius:var(--radius-sm);background:var(--panel-3);color:var(--muted);font-weight:600;padding:0;font-size:14px;display:grid;place-items:center}.inline-create button.ghost:hover{background:var(--accent);color:#fff}.user-card{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:var(--panel-2);border-top:1px solid var(--line);border-right:0;border-bottom:0;border-left:0;color:inherit;text-align:left;cursor:pointer;transition:background .12s ease}.user-card:hover{background:var(--panel-3)}.user-card .dm-avatar{width:28px;height:28px;font-size:12px}.user-card .user-meta{flex:1;min-width:0}.user-card .user-meta strong{display:block;color:var(--text-strong);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card .user-meta span{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline{display:flex;flex-direction:column;min-width:0;background:var(--bg);overflow:hidden}.timeline>*{min-width:0;flex-shrink:0}.timeline>.messages{flex:1 1 0;min-height:0}.topbar{display:flex;align-items:center;gap:14px;padding:12px 20px;min-height:60px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),var(--bg)}.topbar-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.topbar-title h1{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title h1.with-glyph:first-letter{color:var(--muted);margin-right:1px}.topbar-divider{width:1px;height:18px;background:var(--line-strong);margin:0 6px}.topbar-meta{margin:0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search{display:flex;align-items:center;gap:8px;width:min(280px,30vw);height:34px;padding:0 10px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);color:var(--muted);transition:border-color .12s ease,background .12s ease}.search:focus-within{border-color:var(--accent);background:var(--panel-2);color:var(--text)}.search input{flex:1;min-width:0;height:100%;color:var(--text)}.search input::placeholder{color:var(--muted)}.search-clear{width:18px;height:18px;border-radius:50%;border:0;background:var(--panel-3);color:var(--muted);display:grid;place-items:center;font-size:14px;line-height:1}.search-clear:hover{background:var(--accent);color:#fff}.search-submit{height:22px;padding:0 8px;border:0;border-radius:5px;background:var(--accent-soft);color:var(--accent);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.search-submit:hover{background:var(--accent);color:#fff}.topbar-actions{display:inline-flex;align-items:center;gap:6px}.topbar-actions button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);transition:background .12s ease,color .12s ease,border-color .12s ease,transform 80ms ease}.topbar-actions button:hover,.topbar-actions button.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent)}.topbar-actions button:active{transform:translateY(1px)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.search-results{display:flex;flex-direction:column;gap:2px;padding:10px 14px 14px;border-bottom:1px solid var(--line);background:var(--panel);max-height:280px;overflow-y:auto}.search-results-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px 8px}.search-results-head strong{color:var(--text-strong);font-size:13px}.search-results-head button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:4px 8px;border-radius:var(--radius-sm)}.search-results-head button:hover{background:var(--hover);color:var(--text)}.search-result{display:flex;align-items:flex-start;gap:10px;border:0;background:transparent;color:var(--text);padding:8px;border-radius:var(--radius-sm);text-align:left}.search-result:hover{background:var(--hover)}.search-result .dm-avatar{width:30px;height:30px;font-size:13px}.search-result-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.search-result-body>div{display:flex;align-items:baseline;gap:8px}.search-result-body strong{color:var(--text-strong);font-size:13px}.search-result-body time{color:var(--muted);font-size:11px}.search-result-body span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages{overflow-y:auto;padding:16px 4px 24px;scroll-behavior:smooth}.empty{display:grid;place-items:center;align-content:center;text-align:center;gap:10px;min-height:50vh;padding:48px 24px}.empty-icon{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--accent),#b46cff);color:#fff;display:grid;place-items:center;font-size:26px;font-weight:800;box-shadow:0 18px 40px -16px #6f7effb3}.empty strong{color:var(--text-strong);font-size:18px;letter-spacing:-.01em}.empty span{color:var(--muted);max-width:380px;line-height:1.5}.day-divider{display:flex;align-items:center;gap:12px;margin:18px 18px 8px;position:sticky;top:0;z-index:1;pointer-events:none}.day-divider:before,.day-divider:after{content:"";flex:1;height:1px;background:var(--line)}.day-divider span{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.message-group{display:grid;grid-template-columns:56px minmax(0,1fr);padding:8px 18px;position:relative}.message-group:hover{background:var(--hover)}.avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;background:linear-gradient(135deg,hsl(var(--hue, 220deg) 70% 55%),hsl(calc(var(--hue, 220deg) + 40deg) 70% 45%));box-shadow:0 6px 20px -10px #0009;margin-top:2px;overflow:hidden}.avatar-button{position:relative;z-index:2;border:0;padding:0;cursor:pointer;transition:transform .1s ease,box-shadow .12s ease,filter .12s ease}.avatar-button:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 10px 24px -12px #000c}.avatar.small{width:30px;height:30px;font-size:12px;border-radius:10px}.avatar.large{width:56px;height:56px;border-radius:16px;font-size:18px;margin:0}.group-body{min-width:0}.group-body>header{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.group-body>header strong{color:var(--text-strong);font-size:14.5px;letter-spacing:-.005em;font-weight:700}.author-name{border:0;background:transparent;color:var(--text-strong);padding:0;border-radius:4px;font-size:14.5px;letter-spacing:0;font-weight:700}.author-name:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.group-body>header time{color:var(--muted);font-size:11px}.group-body>header span{color:var(--muted);font-size:12px}.message-row{margin-left:-56px;padding:1px 0 1px 56px;position:relative;border-radius:0;transition:background 80ms ease}.message-row:not(:first-child){margin-top:1px}.message-row:hover{background:var(--hover-strong)}.message-row.selected{background:var(--accent-soft)}.message-row.selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.row-stamp{position:absolute;left:8px;top:4px;font-size:10px;color:var(--muted-2);opacity:0;font-variant-numeric:tabular-nums}.message-row:hover .row-stamp{opacity:1}.message-content{min-width:0}.message-actions{display:flex;align-items:flex-start;gap:4px;opacity:0;transform:translateY(-50%);position:absolute;right:8px;top:0;background:var(--panel);border:1px solid var(--line-strong);border-radius:8px;padding:2px;box-shadow:var(--shadow);transition:opacity .1s ease,transform .1s ease}.message-row:hover .message-actions,.message-row.selected .message-actions{opacity:1}.message-actions button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--muted)}.message-actions button:hover{background:var(--hover-strong);color:var(--text-strong)}.markdown{line-height:1.5;color:var(--text);font-size:14.5px;overflow-wrap:anywhere;word-break:break-word}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:0}.markdown p+p,.markdown ul,.markdown ol,.markdown blockquote,.markdown pre{margin-top:6px}.markdown a{color:var(--accent);text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown code{background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.markdown pre{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;overflow-x:auto}.markdown pre code{background:transparent;border:0;padding:0}.markdown blockquote{border-left:3px solid var(--accent);margin:0;padding:4px 0 4px 12px;color:var(--muted)}.markdown ul,.markdown ol{padding-left:22px}.markdown img{max-width:100%;max-height:360px;border-radius:var(--radius);margin-top:6px;border:1px solid var(--line);object-fit:contain;background:var(--panel);cursor:zoom-in}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,280px));gap:8px;margin-top:8px}.attachment-grid.compact{grid-template-columns:minmax(0,1fr)}.image-attachment,.video-attachment,.file-attachment{color:inherit;text-decoration:none}.image-attachment,.video-attachment{position:relative;display:block;width:100%;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:0 12px 30px -24px #000c;text-align:left;cursor:zoom-in;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.image-attachment:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));transform:translateY(-1px);box-shadow:0 16px 36px -26px #000000e6}.video-attachment{cursor:default}.image-attachment img{display:block;width:100%;max-height:320px;object-fit:cover}.video-attachment video{display:block;width:100%;max-height:360px;background:#05070d}.image-attachment span{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);padding:4px 8px;border-radius:999px;background:#00000094;color:#fff;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.video-attachment a{display:block;padding:8px 10px;color:var(--muted);font-size:12px;text-decoration:none;background:var(--panel-2)}.video-attachment a:hover{color:var(--text-strong)}.file-attachment{display:flex;align-items:center;gap:10px;max-width:360px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.file-attachment:hover{border-color:var(--line-strong);background:var(--panel-2)}.file-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-weight:800}.file-attachment strong,.file-attachment small{display:block}.file-attachment strong{color:var(--text-strong);font-size:13px}.file-attachment small{color:var(--muted);font-size:11px}.composer{padding:10px 18px 18px;background:var(--bg);display:grid;gap:0;position:relative}.composer-toolbar{display:inline-flex;align-items:center;gap:4px;width:100%;padding:6px 8px;border:1px solid var(--line);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:color-mix(in srgb,var(--panel-2) 72%,var(--panel));box-shadow:none}.composer-toolbar button{min-width:30px;height:28px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:800;transition:background .1s ease,color .1s ease,transform 80ms ease}.composer-toolbar button:hover,.composer-toolbar button.active{background:var(--accent-soft);color:var(--accent)}.composer-toolbar button:active{transform:translateY(1px)}.gif-picker{margin-top:8px;margin-bottom:8px;width:min(520px,calc(100vw - 40px));border:1px solid var(--line-strong);border-radius:16px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:var(--shadow);padding:10px;animation:picker-in .16s cubic-bezier(.2,.8,.2,1)}.gif-picker-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:2px 2px 10px}.gif-picker-head strong{color:var(--text-strong);font-size:13px}.gif-picker-head input{min-width:0;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2)}.gif-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:240px;overflow-y:auto}.gif-grid button{position:relative;overflow:hidden;aspect-ratio:4 / 3;border:0;border-radius:12px;background:var(--panel-2);color:#fff;padding:0;box-shadow:inset 0 0 0 1px var(--line);transition:transform .12s ease,box-shadow .12s ease}.gif-grid button:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 2px var(--accent),0 14px 30px -22px #000c}.gif-grid img{width:100%;height:100%;display:block;object-fit:cover}.gif-grid span{position:absolute;left:6px;right:6px;bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:#0000008f;padding:4px 7px;font-size:10.5px;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes picker-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.composer-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:6px;padding:10px 8px 8px 10px;background:var(--panel);border:1px solid var(--line-strong);border-radius:0 0 var(--radius-lg) var(--radius-lg);transition:border-color .12s ease,box-shadow .12s ease}.composer:focus-within .composer-toolbar,.composer-row:focus-within{border-color:var(--accent)}.composer-row:focus-within{box-shadow:var(--accent-glow)}.composer-icon{width:36px;height:36px;display:grid;place-items:center;color:var(--muted);border-radius:10px;cursor:pointer;transition:background .12s ease,color .12s ease}.composer-icon:hover{background:var(--hover-strong);color:var(--text-strong)}.composer-icon input[type=file]{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.composer textarea,.reply-composer textarea{width:100%;height:36px;min-height:36px;max-height:160px;padding:8px 4px;resize:none;color:var(--text);line-height:1.45;font-size:14.5px;align-self:end;overflow:auto}.composer textarea::placeholder,.reply-composer textarea::placeholder{color:var(--muted)}.send{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--accent);color:#fff;transition:background .12s ease,transform 80ms ease,opacity .12s ease}.send:hover:not(:disabled){background:var(--accent-2);transform:translateY(-1px)}.send:disabled{background:var(--panel-3);color:var(--muted-2);cursor:not-allowed}.composer-attachment{margin-top:8px;margin-bottom:8px;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font-size:13px;width:fit-content}.attachment-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.pending-image{width:42px;height:32px;object-fit:cover;border-radius:7px;border:1px solid var(--line);background:var(--panel-2)}.attachment-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-remove{width:18px;height:18px;border:0;background:transparent;color:var(--muted);border-radius:50%;font-size:14px;line-height:1}.attachment-remove:hover{background:var(--danger);color:#fff}.composer-hint{color:var(--muted-2);font-size:11px;padding:7px 4px 0}.composer-hint kbd{display:inline-block;background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;color:var(--text)}.thread{display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--panel);border-left:1px solid var(--line);min-width:0;overflow:hidden;opacity:0;transform:translate(28px);pointer-events:none;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.thread.open{opacity:1;transform:translate(0);pointer-events:auto}.thread>header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;min-height:60px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),var(--panel)}.thread>header p,.thread>header strong{margin:0}.thread>header p{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.thread>header strong{display:block;color:var(--text-strong);font-size:14px}.thread .close{width:28px;height:28px;border:0;border-radius:50%;background:var(--panel-2);color:var(--muted);font-size:18px;line-height:1}.thread .close:hover{background:var(--panel-3);color:var(--text-strong)}.thread-scroll{overflow-y:auto;padding:12px 16px}.thread-root{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.thread-divider{display:flex;align-items:center;gap:10px;margin:14px 0 10px}.thread-divider:before,.thread-divider:after{content:"";flex:1;height:1px;background:var(--line)}.thread-divider span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.reply-list{display:flex;flex-direction:column;gap:10px}.reply{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:6px;border-radius:var(--radius-sm)}.reply:hover{background:var(--hover)}.reply-composer{padding:10px 14px 14px;background:var(--panel);border-top:1px solid var(--line)}.reply-composer .composer-row{border-radius:var(--radius-lg)}.thread-empty{display:grid;place-items:center;align-content:center;gap:8px;padding:32px 24px;text-align:center;grid-row:span 3}.thread-icon{width:56px;height:56px;border-radius:16px;background:var(--panel-2);color:var(--muted);display:grid;place-items:center}.thread-empty strong{color:var(--text-strong);font-size:15px}.thread-empty span{color:var(--muted);font-size:13px;max-width:260px;line-height:1.5}.profile-pane{overflow-y:auto}.profile-hero{min-height:210px;display:grid;place-items:end center;padding:28px 20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.24)),linear-gradient(135deg,hsl(var(--hue, 220deg) 76% 58%),hsl(calc(var(--hue, 220deg) + 54deg) 74% 38%));border-bottom:1px solid var(--line)}.profile-avatar{width:min(240px,70%);aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:16px;background:#ffffff2e;color:#fff;font-size:clamp(48px,12vw,88px);font-weight:800;box-shadow:0 26px 60px -30px #000000e6}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-pane-body{display:grid;gap:18px;padding:18px 16px 22px}.profile-pane-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-pane-title h2{margin:0;color:var(--text-strong);font-size:22px;letter-spacing:0}.profile-pane-title span{display:block;margin-top:3px;color:var(--muted);font-size:13px}.text-action{border:0;border-radius:6px;background:transparent;color:var(--accent);font-size:13px;font-weight:700;padding:4px 6px}.text-action:hover{background:var(--accent-soft)}.profile-presence{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:14px}.profile-actions-row{display:flex;gap:8px;flex-wrap:wrap}.profile-actions-row .primary-action,.profile-actions-row .ghost-action{min-width:110px}.profile-info{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.profile-info header{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-info header strong{color:var(--text-strong);font-size:14px}.profile-info-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center}.info-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:800}.profile-info-row small,.profile-info-row span{display:block}.profile-info-row small{color:var(--muted);font-size:11px}.profile-info-row span{color:var(--text);font-size:13px;overflow-wrap:anywhere}.profile-note{margin:0;color:var(--muted);line-height:1.5;font-size:13px}.modal-scrim{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#05080f8a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.modal-backdrop{position:absolute;inset:0;border:0;background:transparent}.profile-modal{position:relative;z-index:1;width:min(480px,100%);border:1px solid var(--line-strong);border-radius:14px;background:var(--panel);color:var(--text);box-shadow:var(--shadow);overflow:hidden}.profile-modal>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--panel-2)}.profile-modal p{margin:0 0 3px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.profile-modal h2{margin:0;color:var(--text-strong);font-size:20px;letter-spacing:0}.profile-modal>header button{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:22px}.profile-modal>header button:hover{background:var(--hover);color:var(--text-strong)}.profile-form{display:grid;gap:14px;padding:20px}.profile-preview{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2)}.profile-preview strong,.profile-preview span{display:block}.profile-preview strong{color:var(--text-strong);font-size:15px}.profile-preview span{color:var(--muted);font-size:13px}.field{display:grid;gap:6px}.field span{color:var(--muted);font-size:12px;font-weight:700}.field input{width:100%;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text)}.field input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px var(--accent-soft)}.profile-status{color:var(--success);font-size:12px}.profile-status.error{color:var(--danger)}.profile-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.ghost-action,.primary-action{height:36px;padding:0 14px;border-radius:var(--radius-sm);font-weight:700}.ghost-action{border:1px solid var(--line);background:var(--panel);color:var(--text)}.primary-action{border:0;background:var(--accent);color:#fff}.ghost-action:hover{background:var(--hover)}.primary-action:hover{filter:brightness(1.04)}.image-viewer-scrim{padding:28px;background:#000000c7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.image-viewer{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);max-height:min(86vh,900px);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#07090f;color:#fff;box-shadow:0 34px 90px -34px #000000f2;animation:picker-in .15s cubic-bezier(.2,.8,.2,1)}.image-viewer>header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:10px 12px 10px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0a}.image-viewer>header strong{min-width:0;overflow:hidden;color:#fff;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.image-viewer>header div{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.image-viewer>header a{height:30px;display:inline-flex;align-items:center;padding:0 10px;border-radius:7px;background:#ffffff14;color:#fff;font-size:12px;font-weight:700;text-decoration:none}.image-viewer>header a:hover{background:#ffffff24}.image-viewer>header button{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#ffffffc7;font-size:22px;line-height:1}.image-viewer>header button:hover{background:#ffffff1f;color:#fff}.image-viewer-stage{display:grid;place-items:center;min-height:0;padding:18px}.image-viewer-stage img{display:block;max-width:100%;max-height:calc(86vh - 96px);object-fit:contain;border-radius:8px;background:#ffffff0a}.mobile-nav-toggle{display:none;position:fixed;top:14px;left:14px;z-index:30;width:38px;height:38px;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel);color:var(--text);font-size:22px;line-height:1}.mobile-nav-toggle .bars{display:grid;gap:3px}.mobile-nav-toggle .bars i{display:block;width:16px;height:2px;background:currentColor;border-radius:2px}@media(max-width:1180px){.shell{grid-template-columns:72px 240px minmax(0,1fr)}.shell.sidebar-collapsed,.shell.sidebar-collapsed.thread-open{grid-template-columns:72px 0 minmax(0,1fr)}.thread{position:fixed;inset:0 0 0 auto;width:min(420px,100vw);box-shadow:var(--shadow);transform:translate(100%);transition:transform .18s ease;z-index:4;border-left:1px solid var(--line-strong)}.thread.open{transform:translate(0)}}@media(max-width:820px){.mobile-nav-toggle{display:grid;place-items:center}.shell,.shell.thread-open,.shell.sidebar-collapsed,.shell.sidebar-collapsed.thread-open{grid-template-columns:1fr}.sidebar-collapsed .sidebar{opacity:1;pointer-events:auto;transform:translate(-100%)}.guild-rail,.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;transform:translate(-100%);transition:transform .18s ease}.guild-rail{width:72px}.sidebar{left:72px;width:260px}.nav-open .guild-rail,.nav-open .sidebar{transform:translate(0)}.topbar{padding-left:64px}.search{width:180px}}@media(max-width:520px){.search,.topbar-meta,.topbar-divider{display:none}}.message-row.highlight,.thread-root.highlight,.reply.highlight{animation:quote-flash 1.4s ease-out}@keyframes quote-flash{0%{background:#6366f138}to{background:transparent}}.quote-block{display:inline-flex;align-items:stretch;gap:.5rem;margin:0 0 .35rem;padding:.25rem .5rem .25rem 0;background:transparent;border:0;border-radius:6px;color:inherit;cursor:pointer;text-align:left;max-width:100%;font:inherit}.quote-block:hover:not(:disabled){background:#6366f114}.quote-block:disabled{cursor:default;opacity:.75}.quote-block .quote-bar{width:3px;align-self:stretch;background:var(--accent, #6366f1);border-radius:2px;flex:0 0 3px}.quote-block .quote-content{display:flex;flex-direction:column;gap:.1rem;min-width:0}.quote-block .quote-author{font-size:.78rem;font-weight:600;color:var(--accent, #6366f1)}.quote-block .quote-snippet{font-size:.85rem;color:var(--text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56ch}.quote-block .quote-snippet.muted{font-style:italic;opacity:.75}.quote-preview{display:flex;align-items:stretch;gap:.5rem;padding:.4rem .5rem;margin-bottom:.4rem;background:#6366f114;border-left:3px solid var(--accent, #6366f1);border-radius:6px;font-size:.85rem}.quote-preview .quote-bar{display:none}.quote-preview-body{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.quote-preview-label{font-size:.75rem;color:var(--text-muted, #6b7280)}.quote-preview-snippet{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text, inherit)}.quote-preview-clear{background:transparent;border:0;color:var(--text-muted, #6b7280);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .25rem}.quote-preview-clear:hover{color:var(--text, inherit)}.reply-quote-btn{position:relative;margin-left:auto;background:transparent;border:0;color:var(--text-muted, #6b7280);cursor:pointer;font-size:.95rem;padding:0 .3rem;opacity:0;transition:opacity .15s}.reply:hover .reply-quote-btn,.thread-root:hover .reply-quote-btn,.reply-quote-btn:focus-visible{opacity:1}.reply-quote-btn:hover{color:var(--accent, #6366f1)}.tooltip{position:relative}.tooltip:before,.reply-quote-btn:before{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 12px);z-index:20;transform:translate(-50%,4px) scale(.96);padding:.42rem .62rem;border-radius:9px;background:#3a3a44;color:#f4f4f7;box-shadow:0 10px 28px #00000047;font-size:.78rem;font-weight:700;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.tooltip:after,.reply-quote-btn:after{content:"";position:absolute;left:50%;bottom:calc(100% + 5px);z-index:20;width:12px;height:12px;border-radius:2px;background:#3a3a44;transform:translate(-50%,4px) rotate(45deg) scale(.9);opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.tooltip:hover:before,.tooltip:focus-visible:before,.reply-quote-btn:hover:before,.reply-quote-btn:focus-visible:before,.tooltip:hover:after,.tooltip:focus-visible:after,.reply-quote-btn:hover:after,.reply-quote-btn:focus-visible:after{opacity:1;transform:translate(-50%) scale(1)}.tooltip:hover:after,.tooltip:focus-visible:after,.reply-quote-btn:hover:after,.reply-quote-btn:focus-visible:after{transform:translate(-50%) rotate(45deg) scale(1)} +.product-site{min-height:100vh;background:#f7f3ea;color:#151716;font-family:Avenir Next,Segoe UI,ui-sans-serif,system-ui,sans-serif}.product-site a{color:inherit;text-decoration:none}.hero{position:relative;display:grid;min-height:clamp(680px,92vh,920px);overflow:hidden;isolation:isolate;background:linear-gradient(90deg,#0c1f23c7,#0c1f232e 62%,#0c1f23b3),#103033;color:#fff8ee}.hero:after{position:absolute;inset:auto 0 0;height:22vh;min-height:130px;background:linear-gradient(0deg,#f7f3ea 8%,#f7f3ea00);content:"";z-index:-1}.hero:before{position:absolute;inset:0 38% 0 0;background:linear-gradient(90deg,#081c1efa,#081c1e00);content:"";z-index:-1}.hero-bg{position:absolute;inset:0 0 0 clamp(260px,28vw,460px);display:grid;grid-template-columns:92px minmax(360px,1fr) minmax(260px,28vw);gap:18px;padding:102px clamp(18px,5vw,70px) 80px;opacity:.36;z-index:-2}.workspace-rail,.timeline-preview,.thread-preview{border:1px solid rgba(255,248,238,.24);background:#fff8ee1f;box-shadow:0 28px 90px #0000003d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.workspace-rail{display:grid;align-content:start;gap:14px;padding:16px}.workspace-rail span{display:grid;place-items:center;min-height:54px;border-radius:8px;background:#fff8ee2e;color:#fff8ee;font-weight:900;text-transform:uppercase}.timeline-preview{align-self:stretch;padding:clamp(18px,3vw,34px)}.preview-top{display:flex;justify-content:space-between;margin-bottom:48px;color:#b9ddd9;font-weight:800}.preview-top strong{color:#7ce0b5}.timeline-preview article,.thread-preview{max-width:720px;margin:0 0 18px;border-radius:8px;background:#fff8ee29;padding:18px}.timeline-preview b,.thread-preview span{color:#ff8a70}.timeline-preview p,.thread-preview p{margin:6px 0 0;color:#fff8ee;font-size:clamp(17px,1.8vw,24px)}.timeline-preview code{border-radius:5px;background:#0c1f2394;padding:2px 5px}.thread-line{margin-left:clamp(0px,8vw,130px)}.thread-preview{align-self:center;min-height:260px}.product-nav{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px clamp(18px,5vw,70px);font-weight:800}.product-nav>div{display:flex;gap:clamp(14px,3vw,34px)}.brand-lockup{display:inline-flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:#ff6f55;color:#151716;font-weight:950;text-transform:uppercase}.hero-copy{position:relative;z-index:2;align-self:center;width:min(780px,calc(100vw - 36px));padding:0 clamp(18px,5vw,70px) 16vh}.eyebrow,.section-kicker{margin:0 0 14px;color:#ffb09f;font-size:13px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.hero h1,.product-band h2{margin:0;letter-spacing:0}.hero h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(66px,13vw,152px);font-weight:900;line-height:.9}.lede{width:min(680px,100%);margin:26px 0 0;color:#fff3df;font-size:clamp(20px,2.2vw,31px);line-height:1.18}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:8px;padding:0 18px;font-weight:950}.primary-action{background:#ff6f55;color:#151716}.secondary-action{border:1px solid rgba(255,248,238,.42);color:#fff8ee}.product-band{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr);gap:clamp(28px,6vw,90px);padding:clamp(58px,8vw,112px) clamp(18px,5vw,70px)}.product-band h2{max-width:720px;font-size:clamp(34px,5vw,74px);line-height:.96}.product-band p{margin:0;color:#3f4743;font-size:clamp(18px,2.1vw,27px);line-height:1.34}.intro-band{padding-top:0}.intro-band .section-kicker,.cli-band .section-kicker,.docs-band .section-kicker{color:#b84632}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #c8c0b2}.feature-grid article{min-height:250px;border-right:1px solid #c8c0b2;padding:clamp(22px,3vw,40px)}.feature-grid article:nth-child(2n){background:#e8f0e9}.feature-grid article:last-child{border-right:0}.feature-grid h3{margin:0 0 44px;font-size:24px}.feature-grid p{margin:0;color:#48504c;line-height:1.45}.cli-band{background:#162a2d;color:#fff8ee}.cli-band p{color:#c9d8d4}.cli-band pre{overflow:auto;align-self:start;margin:0;border:1px solid rgba(255,248,238,.18);border-radius:8px;background:#071314;color:#bdf1dc;padding:clamp(18px,3vw,32px);line-height:1.7}.docs-band{background:#fffaf0}.destination-list{display:grid;gap:12px}.destination-list a{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #cbc2b3;padding:18px 0;font-size:clamp(21px,3vw,40px);font-weight:900}.destination-list span{color:#6f7772;font-size:15px;font-weight:700;text-align:right}@media(prefers-color-scheme:dark){.product-site{background:#101616;color:#fff8ee}.hero:after{background:linear-gradient(0deg,#101616 8%,#10161600)}.product-band p,.feature-grid p,.destination-list span{color:#bac7c3}.feature-grid{border-color:#34413e}.feature-grid article{border-color:#34413e}.feature-grid article:nth-child(2n),.docs-band{background:#182221}}@media(max-width:900px){.hero:before{inset-right:0}.hero-bg{inset:0;grid-template-columns:58px minmax(0,1fr);padding-top:90px;opacity:.38}.thread-preview{display:none}.product-band,.feature-grid{grid-template-columns:1fr}.feature-grid article,.feature-grid article:last-child{min-height:0;border-right:0;border-bottom:1px solid #c8c0b2}}@media(max-width:620px){.product-nav{align-items:flex-start;flex-direction:column}.hero{min-height:760px}.hero-bg{grid-template-columns:1fr;opacity:.42}.workspace-rail{display:none}.hero-copy{padding-bottom:90px}.destination-list a{flex-direction:column}.destination-list span{text-align:left}}:root{color-scheme:light dark;font-family:Inter,SF Pro Text,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"ss01","cv11";--rail: #e9e1d7;--bg: #f7f3ed;--panel: #fffaf2;--panel-2: #efe7dc;--panel-3: #e4dbcf;--hover: rgba(16, 32, 39, .05);--hover-strong: rgba(16, 32, 39, .08);--line: rgba(16, 32, 39, .1);--line-strong: rgba(16, 32, 39, .16);--text: #22201d;--text-strong: #11100e;--muted: #6f675f;--muted-2: #958b80;--accent: #dd5d45;--accent-2: #006d77;--accent-soft: rgba(221, 93, 69, .16);--accent-glow: 0 0 0 1px rgba(221, 93, 69, .28), 0 8px 30px -12px rgba(221, 93, 69, .45);--success: #168b51;--warn: #f5b050;--danger: #c84343;--shadow: 0 24px 60px -24px rgba(16, 32, 39, .32);--radius-sm: 6px;--radius: 8px;--radius-lg: 14px;--radius-xl: 18px;background:var(--bg);color:var(--text)}@media(prefers-color-scheme:dark){:root{--rail: #0d0e12;--bg: #131419;--panel: #1a1b22;--panel-2: #20222b;--panel-3: #272a35;--hover: rgba(255, 255, 255, .04);--hover-strong: rgba(255, 255, 255, .07);--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .12);--text: #e7e9ee;--text-strong: #ffffff;--muted: #8a8f9c;--muted-2: #5d626d;--accent: #6f7eff;--accent-2: #5666ee;--accent-soft: rgba(111, 126, 255, .18);--accent-glow: 0 0 0 1px rgba(111, 126, 255, .4), 0 8px 30px -12px rgba(111, 126, 255, .6);--success: #2ecc71;--warn: #f5b050;--danger: #ff6b6b;--shadow: 0 24px 60px -20px rgba(0, 0, 0, .6)}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:radial-gradient(1000px 600px at 0% 0%,rgba(111,126,255,.08),transparent 60%),radial-gradient(900px 700px at 100% 100%,rgba(255,130,200,.05),transparent 60%),var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}input,textarea{background:transparent;border:0;outline:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#ffffff1f;background-clip:content-box}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:32px;background:radial-gradient(700px 500px at 30% 20%,rgba(111,126,255,.18),transparent 60%),radial-gradient(700px 500px at 80% 90%,rgba(255,110,196,.12),transparent 60%),var(--bg)}.auth-panel{display:grid;gap:22px;width:min(100%,440px);border:1px solid var(--line-strong);border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffff0a,#fff0) var(--panel);box-shadow:var(--shadow);padding:36px}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand .mark{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,var(--accent),#b46cff);color:#fff;font-weight:800;letter-spacing:-.02em;box-shadow:0 10px 24px -8px #6f7effb3}.auth-brand .brand-text strong{display:block;color:var(--text-strong);letter-spacing:-.01em}.auth-brand .brand-text span{display:block;color:var(--muted);font-size:12px}.auth-copy{display:grid;gap:8px;margin-top:8px}.auth-copy h1{margin:0;font-size:28px;letter-spacing:-.02em;color:var(--text-strong)}.auth-copy p{margin:0;color:var(--muted);line-height:1.5}.github-login{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;border-radius:12px;background:#0d1117;color:#fff;font-weight:600;text-decoration:none;border:1px solid #2b2f36;transition:transform 80ms ease,background .12s ease,border-color .12s ease}.github-login:hover{background:#161b22;border-color:#3f4750;transform:translateY(-1px)}.auth-foot{margin:0;color:var(--muted-2);font-size:12px;text-align:center}.shell{display:grid;grid-template-columns:72px 260px minmax(0,1fr) 0;height:100vh;min-height:100vh;overflow:hidden;transition:grid-template-columns .22s cubic-bezier(.2,.8,.2,1)}.shell.thread-open{grid-template-columns:72px 260px minmax(0,1fr) minmax(340px,28vw)}.shell.sidebar-collapsed{grid-template-columns:72px 0 minmax(0,1fr) 0}.shell.sidebar-collapsed.thread-open{grid-template-columns:72px 0 minmax(0,1fr) minmax(340px,28vw)}.guild-rail{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 0;background:var(--rail);border-right:1px solid var(--line);overflow-y:auto;position:relative}.guild-rail .guild{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--panel-2);color:var(--text);border:0;font-weight:700;font-size:14px;letter-spacing:-.02em;position:relative;transition:border-radius .14s ease,background .12s ease,transform .12s ease;box-shadow:0 1px #ffffff0a inset}.guild-rail .guild:hover{border-radius:12px;background:var(--accent);color:#fff;box-shadow:0 8px 24px -10px #6f7eff99}.guild-rail .guild.home{background:linear-gradient(135deg,var(--accent),#b46cff);color:#fff;font-weight:800}.guild-rail .guild.home:hover{border-radius:12px;filter:brightness(1.1)}.guild-rail .guild.add{background:transparent;color:var(--success);border:1px dashed rgba(46,204,113,.4)}.guild-rail .guild.add:hover{background:#2ecc711f;color:#fff;border-style:solid;border-color:var(--success)}.guild-divider{width:36px;height:1px;background:var(--line-strong);margin:4px 0}.guild-list{display:flex;flex-direction:column;align-items:center;gap:8px}.guild-wrap{position:relative}.guild-wrap:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%) scaleY(.2);width:4px;height:28px;border-radius:0 4px 4px 0;background:var(--text-strong);opacity:0;transition:opacity .14s ease,transform .14s ease}.guild-wrap:hover:before{opacity:.6;transform:translateY(-50%) scaleY(.5)}.guild-wrap.active:before{opacity:1;transform:translateY(-50%) scaleY(1)}.guild-wrap.active .guild{border-radius:14px;background:var(--accent);color:#fff}.guild-create{position:absolute;left:100%;top:14px;margin-left:8px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);padding:8px;box-shadow:var(--shadow);z-index:20}.guild-create input{height:32px;padding:0 10px;width:200px;border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text)}.sidebar{display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--panel);border-right:1px solid var(--line);overflow:hidden;min-width:0;transition:opacity .16s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;transform:translate(-14px)}.workspace-header{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;min-height:60px}.sidebar-collapse{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;background:var(--panel-2);color:var(--muted);transition:color .12s ease,background .12s ease,transform .12s ease}.sidebar-collapse:hover{background:var(--panel-3);color:var(--text-strong);transform:translate(-1px)}.workspace-name{display:flex;flex-direction:column;gap:2px;min-width:0}.workspace-name strong{color:var(--text-strong);letter-spacing:-.01em;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-name .presence{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.workspace-name .presence:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted-2)}.workspace-name .presence.online{color:var(--success)}.workspace-name .presence.online:before{background:var(--success);box-shadow:0 0 0 3px #2ecc712e}.sidebar-scroll{overflow-y:auto;padding:12px 8px 16px}.nav-section+.nav-section{margin-top:12px}.section-title{display:flex;align-items:center;gap:6px;width:100%;border:0;background:transparent;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.04em;padding:6px 8px;border-radius:var(--radius-sm)}.section-title:hover{color:var(--text);background:var(--hover)}.section-title .caret{font-size:10px;opacity:.7}.section-title .label{flex:1;text-align:left}.section-title .add-button{width:18px;height:18px;border-radius:4px;display:grid;place-items:center;font-size:14px;font-weight:700;background:#ffffff0f;color:var(--text)}.section-title:hover .add-button{background:var(--accent);color:#fff}.nav-list{display:flex;flex-direction:column;gap:1px;margin-top:4px}.nav-item{display:flex;align-items:center;gap:8px;width:100%;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);text-align:left;padding:6px 10px;min-height:30px;transition:background .1s ease,color .1s ease}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--text-strong)}.nav-item .hash{color:var(--muted);font-weight:600;width:14px;text-align:center}.nav-item.active .hash{color:var(--accent)}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.nav-empty{margin:4px 8px;color:var(--muted-2);font-size:12px}.dm-avatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;background:linear-gradient(135deg,hsl(var(--hue, 220deg) 70% 55%),hsl(calc(var(--hue, 220deg) + 40deg) 70% 45%));flex-shrink:0;overflow:hidden}.dm-avatar img,.avatar img{width:100%;height:100%;display:block;object-fit:cover}.presence-dot{width:8px;height:8px;border-radius:50%;background:var(--muted-2);flex-shrink:0}.presence-dot.active{background:var(--success);box-shadow:0 0 0 2px var(--panel)}.inline-create{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin:6px 4px 2px}.inline-create input{width:100%;min-width:0;height:30px;padding:0 10px;border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text);border:1px solid var(--line)}.inline-create input:focus{border-color:var(--accent);background:var(--panel-3)}.inline-create button.ghost,button.ghost{width:30px;height:30px;border:0;border-radius:var(--radius-sm);background:var(--panel-3);color:var(--muted);font-weight:600;padding:0;font-size:14px;display:grid;place-items:center}.inline-create button.ghost:hover{background:var(--accent);color:#fff}.user-card{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:var(--panel-2);border-top:1px solid var(--line);border-right:0;border-bottom:0;border-left:0;color:inherit;text-align:left;cursor:pointer;transition:background .12s ease}.user-card:hover{background:var(--panel-3)}.user-card .dm-avatar{width:28px;height:28px;font-size:12px}.user-card .user-meta{flex:1;min-width:0}.user-card .user-meta strong{display:block;color:var(--text-strong);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card .user-meta span{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline{display:flex;flex-direction:column;min-width:0;background:var(--bg);overflow:hidden}.timeline>*{min-width:0;flex-shrink:0}.timeline>.messages{flex:1 1 0;min-height:0}.topbar{display:flex;align-items:center;gap:14px;padding:12px 20px;min-height:60px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),var(--bg)}.topbar-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.topbar-title h1{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title h1.with-glyph:first-letter{color:var(--muted);margin-right:1px}.topbar-divider{width:1px;height:18px;background:var(--line-strong);margin:0 6px}.topbar-meta{margin:0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search{display:flex;align-items:center;gap:8px;width:min(280px,30vw);height:34px;padding:0 10px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);color:var(--muted);transition:border-color .12s ease,background .12s ease}.search:focus-within{border-color:var(--accent);background:var(--panel-2);color:var(--text)}.search input{flex:1;min-width:0;height:100%;color:var(--text)}.search input::placeholder{color:var(--muted)}.search-clear{width:18px;height:18px;border-radius:50%;border:0;background:var(--panel-3);color:var(--muted);display:grid;place-items:center;font-size:14px;line-height:1}.search-clear:hover{background:var(--accent);color:#fff}.search-submit{height:22px;padding:0 8px;border:0;border-radius:5px;background:var(--accent-soft);color:var(--accent);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.search-submit:hover{background:var(--accent);color:#fff}.topbar-actions{display:inline-flex;align-items:center;gap:6px}.topbar-actions button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);transition:background .12s ease,color .12s ease,border-color .12s ease,transform 80ms ease}.topbar-actions button:hover,.topbar-actions button.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent)}.topbar-actions button:active{transform:translateY(1px)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.search-results{display:flex;flex-direction:column;gap:2px;padding:10px 14px 14px;border-bottom:1px solid var(--line);background:var(--panel);max-height:280px;overflow-y:auto}.search-results-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px 8px}.search-results-head strong{color:var(--text-strong);font-size:13px}.search-results-head button{border:0;background:transparent;color:var(--muted);font-size:12px;padding:4px 8px;border-radius:var(--radius-sm)}.search-results-head button:hover{background:var(--hover);color:var(--text)}.search-result{display:flex;align-items:flex-start;gap:10px;border:0;background:transparent;color:var(--text);padding:8px;border-radius:var(--radius-sm);text-align:left}.search-result:hover{background:var(--hover)}.search-result .dm-avatar{width:30px;height:30px;font-size:13px}.search-result-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.search-result-body>div{display:flex;align-items:baseline;gap:8px}.search-result-body strong{color:var(--text-strong);font-size:13px}.search-result-body time{color:var(--muted);font-size:11px}.search-result-body span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages{overflow-y:auto;padding:16px 4px 24px;scroll-behavior:smooth}.empty{display:grid;place-items:center;align-content:center;text-align:center;gap:10px;min-height:50vh;padding:48px 24px}.empty-icon{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--accent),#b46cff);color:#fff;display:grid;place-items:center;font-size:26px;font-weight:800;box-shadow:0 18px 40px -16px #6f7effb3}.empty strong{color:var(--text-strong);font-size:18px;letter-spacing:-.01em}.empty span{color:var(--muted);max-width:380px;line-height:1.5}.day-divider{display:flex;align-items:center;gap:12px;margin:18px 18px 8px;position:sticky;top:0;z-index:1;pointer-events:none}.day-divider:before,.day-divider:after{content:"";flex:1;height:1px;background:var(--line)}.day-divider span{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.message-group{display:grid;grid-template-columns:56px minmax(0,1fr);padding:8px 18px;position:relative}.message-group:hover{background:var(--hover)}.avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;background:linear-gradient(135deg,hsl(var(--hue, 220deg) 70% 55%),hsl(calc(var(--hue, 220deg) + 40deg) 70% 45%));box-shadow:0 6px 20px -10px #0009;margin-top:2px;overflow:hidden}.avatar-button{position:relative;z-index:2;border:0;padding:0;cursor:pointer;transition:transform .1s ease,box-shadow .12s ease,filter .12s ease}.avatar-button:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 10px 24px -12px #000c}.avatar.small{width:30px;height:30px;font-size:12px;border-radius:10px}.avatar.large{width:56px;height:56px;border-radius:16px;font-size:18px;margin:0}.group-body{min-width:0}.group-body>header{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.group-body>header strong{color:var(--text-strong);font-size:14.5px;letter-spacing:-.005em;font-weight:700}.author-name{border:0;background:transparent;color:var(--text-strong);padding:0;border-radius:4px;font-size:14.5px;letter-spacing:0;font-weight:700}.author-name:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.group-body>header time{color:var(--muted);font-size:11px}.group-body>header span{color:var(--muted);font-size:12px}.message-row{margin-left:-56px;padding:1px 0 1px 56px;position:relative;border-radius:0;transition:background 80ms ease}.message-row:not(:first-child){margin-top:1px}.message-row:hover{background:var(--hover-strong)}.message-row.selected{background:var(--accent-soft)}.message-row.selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.row-stamp{position:absolute;left:8px;top:4px;font-size:10px;color:var(--muted-2);opacity:0;font-variant-numeric:tabular-nums}.message-row:hover .row-stamp{opacity:1}.message-content{min-width:0}.message-actions{display:flex;align-items:flex-start;gap:4px;opacity:0;transform:translateY(-50%);position:absolute;right:8px;top:0;background:var(--panel);border:1px solid var(--line-strong);border-radius:8px;padding:2px;box-shadow:var(--shadow);transition:opacity .1s ease,transform .1s ease}.message-row:hover .message-actions,.message-row.selected .message-actions{opacity:1}.message-actions button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--muted)}.message-actions button:hover{background:var(--hover-strong);color:var(--text-strong)}.markdown{line-height:1.5;color:var(--text);font-size:14.5px;overflow-wrap:anywhere;word-break:break-word}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:0}.markdown p+p,.markdown ul,.markdown ol,.markdown blockquote,.markdown pre{margin-top:6px}.markdown a{color:var(--accent);text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown code{background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.markdown pre{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;overflow-x:auto}.markdown pre code{background:transparent;border:0;padding:0}.markdown blockquote{border-left:3px solid var(--accent);margin:0;padding:4px 0 4px 12px;color:var(--muted)}.markdown ul,.markdown ol{padding-left:22px}.markdown img{max-width:100%;max-height:360px;border-radius:var(--radius);margin-top:6px;border:1px solid var(--line);object-fit:contain;background:var(--panel);cursor:zoom-in}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,280px));gap:8px;margin-top:8px}.attachment-grid.compact{grid-template-columns:minmax(0,1fr)}.image-attachment,.video-attachment,.file-attachment{color:inherit;text-decoration:none}.image-attachment,.video-attachment{position:relative;display:block;width:100%;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:0 12px 30px -24px #000c;text-align:left;cursor:zoom-in;transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.image-attachment:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));transform:translateY(-1px);box-shadow:0 16px 36px -26px #000000e6}.video-attachment{cursor:default}.image-attachment img{display:block;width:100%;max-height:320px;object-fit:cover}.video-attachment video{display:block;width:100%;max-height:360px;background:#05070d}.image-attachment span{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);padding:4px 8px;border-radius:999px;background:#00000094;color:#fff;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.video-attachment a{display:block;padding:8px 10px;color:var(--muted);font-size:12px;text-decoration:none;background:var(--panel-2)}.video-attachment a:hover{color:var(--text-strong)}.file-attachment{display:flex;align-items:center;gap:10px;max-width:360px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.file-attachment:hover{border-color:var(--line-strong);background:var(--panel-2)}.file-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-weight:800}.file-attachment strong,.file-attachment small{display:block}.file-attachment strong{color:var(--text-strong);font-size:13px}.file-attachment small{color:var(--muted);font-size:11px}.composer{padding:10px 18px 18px;background:var(--bg);display:grid;gap:0;position:relative}.composer-toolbar{display:inline-flex;align-items:center;gap:4px;width:100%;padding:6px 8px;border:1px solid var(--line);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:color-mix(in srgb,var(--panel-2) 72%,var(--panel));box-shadow:none}.composer-toolbar button{min-width:30px;height:28px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:800;transition:background .1s ease,color .1s ease,transform 80ms ease}.composer-toolbar button:hover,.composer-toolbar button.active{background:var(--accent-soft);color:var(--accent)}.composer-toolbar button:active{transform:translateY(1px)}.gif-picker{margin-top:8px;margin-bottom:8px;width:min(520px,calc(100vw - 40px));border:1px solid var(--line-strong);border-radius:16px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:var(--shadow);padding:10px;animation:picker-in .16s cubic-bezier(.2,.8,.2,1)}.gif-picker-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:2px 2px 10px}.gif-picker-head strong{color:var(--text-strong);font-size:13px}.gif-picker-head input{min-width:0;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2)}.gif-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:240px;overflow-y:auto}.gif-grid button{position:relative;overflow:hidden;aspect-ratio:4 / 3;border:0;border-radius:12px;background:var(--panel-2);color:#fff;padding:0;box-shadow:inset 0 0 0 1px var(--line);transition:transform .12s ease,box-shadow .12s ease}.gif-grid button:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 2px var(--accent),0 14px 30px -22px #000c}.gif-grid img{width:100%;height:100%;display:block;object-fit:cover}.gif-grid span{position:absolute;left:6px;right:6px;bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:#0000008f;padding:4px 7px;font-size:10.5px;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes picker-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.composer-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:6px;padding:10px 8px 8px 10px;background:var(--panel);border:1px solid var(--line-strong);border-radius:0 0 var(--radius-lg) var(--radius-lg);transition:border-color .12s ease,box-shadow .12s ease}.composer:focus-within .composer-toolbar,.composer-row:focus-within{border-color:var(--accent)}.composer-row:focus-within{box-shadow:var(--accent-glow)}.composer-icon{width:36px;height:36px;display:grid;place-items:center;color:var(--muted);border-radius:10px;cursor:pointer;transition:background .12s ease,color .12s ease}.composer-icon:hover{background:var(--hover-strong);color:var(--text-strong)}.composer-icon input[type=file]{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.composer textarea,.reply-composer textarea{width:100%;height:auto;min-height:36px;max-height:50vh;padding:8px 4px;resize:none;color:var(--text);line-height:1.45;font-size:14.5px;align-self:end;overflow-y:auto;box-sizing:border-box}.composer textarea::placeholder,.reply-composer textarea::placeholder{color:var(--muted)}.send{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--accent);color:#fff;transition:background .12s ease,transform 80ms ease,opacity .12s ease}.send:hover:not(:disabled){background:var(--accent-2);transform:translateY(-1px)}.send:disabled{background:var(--panel-3);color:var(--muted-2);cursor:not-allowed}.composer-attachment{margin-top:8px;margin-bottom:8px;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font-size:13px;width:fit-content}.attachment-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--accent-soft);color:var(--accent)}.pending-image{width:42px;height:32px;object-fit:cover;border-radius:7px;border:1px solid var(--line);background:var(--panel-2)}.attachment-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-remove{width:18px;height:18px;border:0;background:transparent;color:var(--muted);border-radius:50%;font-size:14px;line-height:1}.attachment-remove:hover{background:var(--danger);color:#fff}.composer-hint{color:var(--muted-2);font-size:11px;padding:7px 4px 0}.composer-hint kbd{display:inline-block;background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;color:var(--text)}.thread{display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--panel);border-left:1px solid var(--line);min-width:0;overflow:hidden;opacity:0;transform:translate(28px);pointer-events:none;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.thread.open{opacity:1;transform:translate(0);pointer-events:auto}.thread>header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;min-height:60px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),var(--panel)}.thread>header p,.thread>header strong{margin:0}.thread>header p{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.thread>header strong{display:block;color:var(--text-strong);font-size:14px}.thread .close{width:28px;height:28px;border:0;border-radius:50%;background:var(--panel-2);color:var(--muted);font-size:18px;line-height:1}.thread .close:hover{background:var(--panel-3);color:var(--text-strong)}.thread-scroll{overflow-y:auto;padding:12px 16px}.thread-root{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.thread-divider{display:flex;align-items:center;gap:10px;margin:14px 0 10px}.thread-divider:before,.thread-divider:after{content:"";flex:1;height:1px;background:var(--line)}.thread-divider span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.reply-list{display:flex;flex-direction:column;gap:10px}.reply{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:6px;border-radius:var(--radius-sm)}.reply:hover{background:var(--hover)}.reply-composer{padding:10px 14px 14px;background:var(--panel);border-top:1px solid var(--line)}.reply-composer .composer-row{border-radius:var(--radius-lg)}.thread-empty{display:grid;place-items:center;align-content:center;gap:8px;padding:32px 24px;text-align:center;grid-row:span 3}.thread-icon{width:56px;height:56px;border-radius:16px;background:var(--panel-2);color:var(--muted);display:grid;place-items:center}.thread-empty strong{color:var(--text-strong);font-size:15px}.thread-empty span{color:var(--muted);font-size:13px;max-width:260px;line-height:1.5}.profile-pane{overflow-y:auto}.profile-hero{min-height:210px;display:grid;place-items:end center;padding:28px 20px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.24)),linear-gradient(135deg,hsl(var(--hue, 220deg) 76% 58%),hsl(calc(var(--hue, 220deg) + 54deg) 74% 38%));border-bottom:1px solid var(--line)}.profile-avatar{width:min(240px,70%);aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:16px;background:#ffffff2e;color:#fff;font-size:clamp(48px,12vw,88px);font-weight:800;box-shadow:0 26px 60px -30px #000000e6}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-pane-body{display:grid;gap:18px;padding:18px 16px 22px}.profile-pane-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-pane-title h2{margin:0;color:var(--text-strong);font-size:22px;letter-spacing:0}.profile-pane-title span{display:block;margin-top:3px;color:var(--muted);font-size:13px}.text-action{border:0;border-radius:6px;background:transparent;color:var(--accent);font-size:13px;font-weight:700;padding:4px 6px}.text-action:hover{background:var(--accent-soft)}.profile-presence{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:14px}.profile-actions-row{display:flex;gap:8px;flex-wrap:wrap}.profile-actions-row .primary-action,.profile-actions-row .ghost-action{min-width:110px}.profile-info{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.profile-info header{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-info header strong{color:var(--text-strong);font-size:14px}.profile-info-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center}.info-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:800}.profile-info-row small,.profile-info-row span{display:block}.profile-info-row small{color:var(--muted);font-size:11px}.profile-info-row span{color:var(--text);font-size:13px;overflow-wrap:anywhere}.profile-note{margin:0;color:var(--muted);line-height:1.5;font-size:13px}.modal-scrim{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#05080f8a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.modal-backdrop{position:absolute;inset:0;border:0;background:transparent}.profile-modal{position:relative;z-index:1;width:min(480px,100%);border:1px solid var(--line-strong);border-radius:14px;background:var(--panel);color:var(--text);box-shadow:var(--shadow);overflow:hidden}.profile-modal>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--panel-2)}.profile-modal p{margin:0 0 3px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.profile-modal h2{margin:0;color:var(--text-strong);font-size:20px;letter-spacing:0}.profile-modal>header button{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:22px}.profile-modal>header button:hover{background:var(--hover);color:var(--text-strong)}.profile-form{display:grid;gap:14px;padding:20px}.profile-preview{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2)}.profile-preview strong,.profile-preview span{display:block}.profile-preview strong{color:var(--text-strong);font-size:15px}.profile-preview span{color:var(--muted);font-size:13px}.field{display:grid;gap:6px}.field span{color:var(--muted);font-size:12px;font-weight:700}.field input{width:100%;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text)}.field input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px var(--accent-soft)}.profile-status{color:var(--success);font-size:12px}.profile-status.error{color:var(--danger)}.profile-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.ghost-action,.primary-action{height:36px;padding:0 14px;border-radius:var(--radius-sm);font-weight:700}.ghost-action{border:1px solid var(--line);background:var(--panel);color:var(--text)}.primary-action{border:0;background:var(--accent);color:#fff}.ghost-action:hover{background:var(--hover)}.primary-action:hover{filter:brightness(1.04)}.image-viewer-scrim{padding:28px;background:#000000c7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.image-viewer{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);max-height:min(86vh,900px);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#07090f;color:#fff;box-shadow:0 34px 90px -34px #000000f2;animation:picker-in .15s cubic-bezier(.2,.8,.2,1)}.image-viewer>header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:10px 12px 10px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0a}.image-viewer>header strong{min-width:0;overflow:hidden;color:#fff;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.image-viewer>header div{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.image-viewer>header a{height:30px;display:inline-flex;align-items:center;padding:0 10px;border-radius:7px;background:#ffffff14;color:#fff;font-size:12px;font-weight:700;text-decoration:none}.image-viewer>header a:hover{background:#ffffff24}.image-viewer>header button{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#ffffffc7;font-size:22px;line-height:1}.image-viewer>header button:hover{background:#ffffff1f;color:#fff}.image-viewer-stage{display:grid;place-items:center;min-height:0;padding:18px}.image-viewer-stage img{display:block;max-width:100%;max-height:calc(86vh - 96px);object-fit:contain;border-radius:8px;background:#ffffff0a}.mobile-nav-toggle{display:none;position:fixed;top:14px;left:14px;z-index:30;width:38px;height:38px;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel);color:var(--text);font-size:22px;line-height:1}.mobile-nav-toggle .bars{display:grid;gap:3px}.mobile-nav-toggle .bars i{display:block;width:16px;height:2px;background:currentColor;border-radius:2px}@media(max-width:1180px){.shell{grid-template-columns:72px 240px minmax(0,1fr)}.shell.sidebar-collapsed,.shell.sidebar-collapsed.thread-open{grid-template-columns:72px 0 minmax(0,1fr)}.thread{position:fixed;inset:0 0 0 auto;width:min(420px,100vw);box-shadow:var(--shadow);transform:translate(100%);transition:transform .18s ease;z-index:4;border-left:1px solid var(--line-strong)}.thread.open{transform:translate(0)}}@media(max-width:820px){.mobile-nav-toggle{display:grid;place-items:center}.shell,.shell.thread-open,.shell.sidebar-collapsed,.shell.sidebar-collapsed.thread-open{grid-template-columns:1fr}.sidebar-collapsed .sidebar{opacity:1;pointer-events:auto;transform:translate(-100%)}.guild-rail,.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;transform:translate(-100%);transition:transform .18s ease}.guild-rail{width:72px}.sidebar{left:72px;width:260px}.nav-open .guild-rail,.nav-open .sidebar{transform:translate(0)}.topbar{padding-left:64px}.search{width:180px}}@media(max-width:520px){.search,.topbar-meta,.topbar-divider{display:none}}.message-row.highlight,.thread-root.highlight,.reply.highlight{animation:quote-flash 1.4s ease-out}@keyframes quote-flash{0%{background:#6366f138}to{background:transparent}}.quote-block{display:inline-flex;align-items:stretch;gap:.5rem;margin:0 0 .35rem;padding:.25rem .5rem .25rem 0;background:transparent;border:0;border-radius:6px;color:inherit;cursor:pointer;text-align:left;max-width:100%;font:inherit}.quote-block:hover:not(:disabled){background:#6366f114}.quote-block:disabled{cursor:default;opacity:.75}.quote-block .quote-bar{width:3px;align-self:stretch;background:var(--accent, #6366f1);border-radius:2px;flex:0 0 3px}.quote-block .quote-content{display:flex;flex-direction:column;gap:.1rem;min-width:0}.quote-block .quote-author{font-size:.78rem;font-weight:600;color:var(--accent, #6366f1)}.quote-block .quote-snippet{font-size:.85rem;color:var(--text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56ch}.quote-block .quote-snippet.muted{font-style:italic;opacity:.75}.quote-preview{display:flex;align-items:stretch;gap:.5rem;padding:.4rem .5rem;margin-bottom:.4rem;background:#6366f114;border-left:3px solid var(--accent, #6366f1);border-radius:6px;font-size:.85rem}.quote-preview .quote-bar{display:none}.quote-preview-body{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.quote-preview-label{font-size:.75rem;color:var(--text-muted, #6b7280)}.quote-preview-snippet{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text, inherit)}.quote-preview-clear{background:transparent;border:0;color:var(--text-muted, #6b7280);font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .25rem}.quote-preview-clear:hover{color:var(--text, inherit)}.reply-quote-btn{position:relative;margin-left:auto;background:transparent;border:0;color:var(--text-muted, #6b7280);cursor:pointer;font-size:.95rem;padding:0 .3rem;opacity:0;transition:opacity .15s}.reply:hover .reply-quote-btn,.thread-root:hover .reply-quote-btn,.reply-quote-btn:focus-visible{opacity:1}.reply-quote-btn:hover{color:var(--accent, #6366f1)}.tooltip{position:relative}.tooltip:before,.reply-quote-btn:before{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 12px);z-index:20;transform:translate(-50%,4px) scale(.96);padding:.42rem .62rem;border-radius:9px;background:#3a3a44;color:#f4f4f7;box-shadow:0 10px 28px #00000047;font-size:.78rem;font-weight:700;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.tooltip:after,.reply-quote-btn:after{content:"";position:absolute;left:50%;bottom:calc(100% + 5px);z-index:20;width:12px;height:12px;border-radius:2px;background:#3a3a44;transform:translate(-50%,4px) rotate(45deg) scale(.9);opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.tooltip:hover:before,.tooltip:focus-visible:before,.reply-quote-btn:hover:before,.reply-quote-btn:focus-visible:before,.tooltip:hover:after,.tooltip:focus-visible:after,.reply-quote-btn:hover:after,.reply-quote-btn:focus-visible:after{opacity:1;transform:translate(-50%) scale(1)}.tooltip:hover:after,.tooltip:focus-visible:after,.reply-quote-btn:hover:after,.reply-quote-btn:focus-visible:after{transform:translate(-50%) rotate(45deg) scale(1)} diff --git a/apps/api/internal/webassets/dist/index.html b/apps/api/internal/webassets/dist/index.html index 73e0da3..5a378db 100644 --- a/apps/api/internal/webassets/dist/index.html +++ b/apps/api/internal/webassets/dist/index.html @@ -4,8 +4,8 @@ ClickClack - - + +
    diff --git a/apps/web/src/ChatApp.svelte b/apps/web/src/ChatApp.svelte index c71a661..7396e43 100644 --- a/apps/web/src/ChatApp.svelte +++ b/apps/web/src/ChatApp.svelte @@ -44,6 +44,9 @@ let mobileNavOpen = false; let replyTarget: Message | null = null; let replyContext: "channel" | "dm" | "thread" | null = null; + let messageInput: HTMLTextAreaElement | null = null; + let replyInput: HTMLTextAreaElement | null = null; + let activeComposerContext: "message" | "thread" = "message"; $: selectedWorkspace = workspaces.find((workspace) => workspace.id === selectedWorkspaceID); $: selectedChannel = channels.find((channel) => channel.id === selectedChannelID); @@ -190,6 +193,7 @@ selectedChannelID = channels.find((channel) => channel.id === selectedChannelID)?.id || channels[0]?.id || ""; selectedThread = null; selectedProfile = null; + activeComposerContext = "message"; replies = []; await loadMessages(); } @@ -267,6 +271,7 @@ async function openThread(message: Message) { selectedProfile = null; selectedThread = message; + activeComposerContext = "thread"; const data = await api<{ root: Message; replies: Message[]; thread_state: ThreadState }>(`/api/messages/${message.id}/thread`); selectedThread = data.root; replies = data.replies; @@ -294,6 +299,110 @@ function setReplyTarget(message: Message, context: "channel" | "dm" | "thread") { replyTarget = message; replyContext = context; + activeComposerContext = context === "thread" ? "thread" : "message"; + } + + const KEY_CONSUMING_ROLES = new Set([ + "button", + "checkbox", + "combobox", + "link", + "listbox", + "menu", + "menubar", + "menuitem", + "menuitemcheckbox", + "menuitemradio", + "option", + "radio", + "radiogroup", + "slider", + "spinbutton", + "switch", + "tab", + "tablist", + "textbox", + "tree", + "treeitem", + ]); + const KEY_CONSUMING_TAGS = new Set(["INPUT", "TEXTAREA", "SELECT", "BUTTON", "A", "DETAILS", "SUMMARY", "VIDEO", "AUDIO"]); + + function isModalOpen(): boolean { + return selectedImage !== null || showProfileSettings; + } + + function isEditableElement(el: HTMLElement | null): boolean { + if (!el) return false; + if (el.isContentEditable) return true; + if (el instanceof HTMLInputElement) { + const t = (el.type || "text").toLowerCase(); + return t !== "checkbox" && t !== "radio" && t !== "button" && t !== "submit" && t !== "reset" && t !== "file"; + } + if (el instanceof HTMLTextAreaElement) return true; + return false; + } + + function consumesKeystrokes(el: HTMLElement | null): boolean { + if (!el) return false; + if (isChatSurfaceAction(el)) return false; + if (KEY_CONSUMING_TAGS.has(el.tagName)) return true; + const role = el.getAttribute("role"); + if (role && KEY_CONSUMING_ROLES.has(role)) return true; + const tabindex = el.getAttribute("tabindex"); + if (tabindex !== null && tabindex !== "-1" && el.hasAttribute("aria-keyshortcuts")) return true; + return false; + } + + function isChatSurfaceAction(el: HTMLElement): boolean { + if (!el.closest(".messages, .thread")) return false; + if (el instanceof HTMLButtonElement || el instanceof HTMLAnchorElement) return true; + const role = el.getAttribute("role"); + return role === "button" || role === "link"; + } + + function hasMessageTextSelection(): boolean { + const sel = typeof window !== "undefined" ? window.getSelection() : null; + if (!sel || sel.isCollapsed || sel.rangeCount === 0) return false; + const node = sel.getRangeAt(0).commonAncestorContainer; + if (!node) return false; + const host = node.nodeType === Node.ELEMENT_NODE ? (node as HTMLElement) : node.parentElement; + return !!host?.closest(".messages, .thread, .markdown"); + } + + function shouldRedirectKeystroke(event: KeyboardEvent): boolean { + if (authRequired) return false; + if (isModalOpen()) return false; + if (event.defaultPrevented) return false; + if (event.isComposing || event.keyCode === 229) return false; + if (event.ctrlKey || event.metaKey || event.altKey) return false; + if (event.key.length !== 1) return false; + if (hasMessageTextSelection()) return false; + const active = document.activeElement as HTMLElement | null; + if (active === messageInput || active === replyInput) return false; + if (isEditableElement(active)) return false; + if (consumesKeystrokes(active)) return false; + return true; + } + + function redirectTypingToComposer(event: KeyboardEvent) { + if (!shouldRedirectKeystroke(event)) return; + const target = activeComposerTarget(); + if (!target || target.disabled || target.readOnly) return; + if (event.key === " ") event.preventDefault(); + target.focus({ preventScroll: true }); + const len = target.value.length; + target.setSelectionRange(len, len); + if (event.key === " ") { + const start = target.selectionStart ?? len; + const end = target.selectionEnd ?? len; + target.setRangeText(" ", start, end, "end"); + target.dispatchEvent(new Event("input", { bubbles: true })); + } + } + + function activeComposerTarget(): HTMLTextAreaElement | null { + if (activeComposerContext === "thread" && selectedThread && replyInput) return replyInput; + return messageInput; } function clearReplyTarget() { @@ -301,6 +410,30 @@ replyContext = null; } + function autoGrow(node: HTMLTextAreaElement, _value: string) { + const resize = () => { + const previous = node.style.height; + node.style.height = "auto"; + const next = `${node.scrollHeight}px`; + if (previous !== next) node.style.height = next; + else node.style.height = previous; + }; + const onInput = () => resize(); + const onWindowResize = () => resize(); + requestAnimationFrame(resize); + node.addEventListener("input", onInput); + window.addEventListener("resize", onWindowResize); + return { + update() { + requestAnimationFrame(resize); + }, + destroy() { + node.removeEventListener("input", onInput); + window.removeEventListener("resize", onWindowResize); + }, + }; + } + function quoteSnippet(text: string | undefined, max = 120): string { if (!text) return ""; const collapsed = text.replace(/\s+/g, " ").trim(); @@ -363,6 +496,7 @@ selectedChannelID = ""; selectedThread = null; selectedProfile = null; + activeComposerContext = "message"; await loadMessages(); } @@ -376,6 +510,7 @@ selectedChannelID = ""; selectedThread = null; selectedProfile = null; + activeComposerContext = "message"; await loadMessages(); return; } @@ -388,6 +523,7 @@ selectedChannelID = ""; selectedThread = null; selectedProfile = null; + activeComposerContext = "message"; await loadMessages(); } @@ -636,6 +772,7 @@ if (replyContext === "thread") clearReplyTarget(); selectedThread = null; selectedProfile = null; + activeComposerContext = "message"; replies = []; } @@ -652,6 +789,7 @@ { if (event.key === "Escape") closeModal(); + redirectTypingToComposer(event); }} /> @@ -778,6 +916,7 @@ selectedDirectID = ""; selectedThread = null; selectedProfile = null; + activeComposerContext = "message"; mobileNavOpen = false; await loadMessages(); }} @@ -816,6 +955,7 @@ selectedChannelID = ""; selectedThread = null; selectedProfile = null; + activeComposerContext = "message"; mobileNavOpen = false; await loadMessages(); }} @@ -864,6 +1004,7 @@ selectedChannelID = ""; selectedThread = null; selectedProfile = null; + activeComposerContext = "message"; mobileNavOpen = false; await loadMessages(); } else { @@ -1029,6 +1170,7 @@ role="log" aria-live="polite" bind:this={messageList} + onpointerdown={() => (activeComposerContext = "message")} onpointerup={handleInlineImagePointerUp} > {#if messages.length === 0} @@ -1246,10 +1388,13 @@ -
    +
    (activeComposerContext = "thread")} + onpointerup={handleInlineImagePointerUp} + >
    {#if selectedThread.author?.avatar_url} @@ -1437,10 +1588,13 @@ {/if}