import{c as n,k as p,m as o,n as u,o as d,v as l,h as m,w as v,x as _,y as b}from"./DxMC-E2z.js";class y{anchor;#t=new Map;#s=new Map;#e=new Map;#i=!0;constructor(e,s=!0){this.anchor=e,this.#i=s}#a=()=>{var e=n;if(this.#t.has(e)){var s=this.#t.get(e),t=this.#s.get(s);if(t)p(t);else{var i=this.#e.get(s);i&&(this.#s.set(s,i.effect),this.#e.delete(s),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),t=i.effect)}for(const[a,f]of this.#t){if(this.#t.delete(a),a===e)break;const c=this.#e.get(f);c&&(o(c.effect),this.#e.delete(f))}for(const[a,f]of this.#s){if(a===s)continue;const c=()=>{if(Array.from(this.#t.values()).includes(a)){var h=document.createDocumentFragment();_(f,h),h.append(d()),this.#e.set(a,{effect:f,fragment:h})}else o(f);this.#s.delete(a)};this.#i||!t?u(f,c,!1):c()}}};#f=e=>{this.#t.delete(e);const s=Array.from(this.#t.values());for(const[t,i]of this.#e)s.includes(t)||(o(i.effect),this.#e.delete(t))};ensure(e,s){var t=n,i=b();if(s&&!this.#s.has(e)&&!this.#e.has(e))if(i){var a=document.createDocumentFragment(),f=d();a.append(f),this.#e.set(e,{effect:l(()=>s(f)),fragment:a})}else this.#s.set(e,l(()=>s(this.anchor)));if(this.#t.set(t,e),i){for(const[c,r]of this.#s)c===e?t.skipped_effects.delete(r):t.skipped_effects.add(r);for(const[c,r]of this.#e)c===e?t.skipped_effects.delete(r.effect):t.skipped_effects.add(r.effect);t.oncommit(this.#a),t.ondiscard(this.#f)}else m&&(this.anchor=v),this.#a()}}export{y as B};